Что лежит в основе Биткоина?

08.08.2022
17 мин
2320
4
Что лежит в основе Биткоина? Заглавный коллаж статьи.

В основе Биткоина лежит технология блокчейн, она представляет собой децентрализованный публичный реестр, в котором хранятся все транзакции. Они тесно взаимосвязаны: блокчейн является основой для Биткоина, а Биткоин, как собственная валюта, обеспечивает стимулирование ресурсов для обеспечения его безопасности.

Согласно техническому документу, Bitcoin — это одноранговая версия электронных денег, которая позволяет отправлять онлайн-платежи от одной стороны к другой. Транзакции не проходят через финансовое учреждение, а значит не нужно прибегать к использованию третьей стороны. 

Как и национальными валютами, им можно оплачивать товары и услуги, но при этом необходимо знать только адрес получателя. Bitcoin  — это псевдо анонимная сеть: транзакции в ней являются общедоступными, каждый их может посмотреть, но адреса напрямую не идентифицируют владельца.

Как улучшенная альтернатива традиционным валютам, Bitcoin имеет ряд преимуществ:

  • Быстрые транзакции. Подтверждение транзакций занимает ~ 10 минут. Для сравнения: через традиционные финансовые учреждения операции в фиате могут занимать до нескольких дней, особенно крупные переводы. При этом не проходить в выходные и праздничные дни, а также в нерабочие часы.
  • Деление. Bitcoin — это цифровой актив, его можно делить на множество частей, одна стомиллионная часть биткоина называется сатоши. Это позволяет осуществлять даже незначительные платежи.
  • Дешёвые транзакции. Транзакции в Биткоине дешевле, чем традиционные банковские переводы.
  • Ограниченность. Количество биткоинов ограниченно, оно никогда не превысит 21 миллион монет. Это делает его дефляционным активом, добыча которого будет завершена примерно в 2140 году. Редкость биткоина приближает его к золоту, поэтому можно услышать как его называют “Цифровым золотом”. 

Майнинг биткоина

Майнинг биткоина — это процесс проверки транзакций и добавления их в блокчейн. Майнеры не контролируют сеть или её правила, они создают новые блоки и проверяют транзакции, вкладывая в это собственные ресурсы: затраты на оборудование, электроэнергию и заработную плату. Транзакции добавляются блоками в хронологическом порядке, гарантируя, что биткоин не будет потрачен дважды. Как только транзакция получит несколько подтверждений, получатель может быть уверен, что деньги переведены. В сети также существуют комиссии, они зависят от того насколько сеть загружена, как правило, они не большие.

Такая сложная комбинация криптографии, распределенных алгоритмов и теории игр, сделали Биткоин прозрачной, открытой, а главное децентрализованной денежной системой, устойчивой к цензуре и мошенничеству.

Криптография и цифровая подпись

Криптография — это методы обеспечения цифровой безопасности и конфиденциальности. Криптография изучает шифрование и дешифрование, хеш-функции, и алгоритмы цифровой подписи. Ею пользуются электронные устройства, для обеспечения конфиденциальности личной информации. И она также является одной из важных составляющих в основе сети Bitcoin.

Bitcoin опирается на две криптографические схемы: цифровые подписи и хеш-функции. Они используются для достижения согласия при проверке и записи транзакции в блокчейн.

Криптографическая хеш-функция — это функция, которая принимает любые данные в качестве ввода и выдает зашифрованные данные в виде строчки из набора букв, символов и цифр. Входные данные для хеш-функции могут изменяться бесконечно, в то время как выходные данные всегда имеют определенную длину.

Алгоритм SHA-256 как работает.
Алгоритм SHA-256 преобразовывает данные любой длины в хэш-функцию фиксированной длинны

Bitcoin использует протокол SHA-256 для хеширования, он неизменно выводит 256 бит данных, независимо от того какой объем вводили. Один и тот же ввод, заданный одной и той же хеш-функции, всегда будет выдавать один и тот же результат.

Однако даже малейшее изменение, например одного символа, приведет к изменению всех символов хеша. Это особенно полезное свойство, благодаря которому можно сравнить хеш с момента последней проверки с текущим хешем, и определить изменился файл или нет.

Еще одним важным преимуществом хеш-функции является то, что ее вывод — это случайная односторонняя функция. Это означает, что данные для входа не могут быть предсказуемо сформированы для получения конкретного желаемого результата, а выход не отображает никакой информации о входе. Благодаря этому, хеш можно использовать в качестве привязки к определенной информации, не раскрывая саму информацию, к которой она привязана. Для Биткоина это свойство используется для реализации механизма Proof-of-Work.

Хеш — это большое число, и для того, чтобы майнер мог отправить блок в сеть, хеш блока должен быть ниже определенного порога. Поскольку хеширование — это случайный, непредсказуемый процесс, найти правильный хеш можно только путем интенсивного перебора. Кроме того, хеш-функции обеспечивают необратимость каждой транзакции после включения ее в блок, так как внутри каждого блока строится дерево Меркла.

Дерево Меркла представляет собой хеш-дерево, в котором каждый хеш (ветка) ссылается на предыдущий, и если надо изменить блок, то необходимо поменять все блоки после него. 

Теперь поговорим о цифровых подписях. Цифровая подпись похожа на физическую подпись, она также подтверждает действительность подписываемых данных. Однако она более безопасна и надёжна, её нельзя скопировать и использовать в злонамеренных целях, она уникальна для каждого подписываемого фрагмента данных. Цифровая подпись обеспечивает аутентификацию, то есть получатель может подтвердить, что сообщение пришло от отправителя, отправитель не может отказать в отправке сообщения, а само сообщение не может быть подделано. Цифровая подпись состоит из трех частей: 

  1. Подписываемые данные. Они могут быть любыми: текст, изображение, аудио файл и так далее.
  2. Открытый ключ подписывающего лица. Открытый ключ — это псевдоанонимная форма идентификации, информирующая, что владелец ключа подписал это сообщение.
  3. Сама подпись. Представляет доказательство, что владелец открытого ключа подписал предоставленные данные.

Реализация цифровой подписи подразумевает шифрование с открытым ключом, при котором реализуется пара: открытый и закрытый ключ. Закрытый ключ необходим для создания подписи, но не требуется для ее проверки. Любой может проверить правильность подписи, используя только открытый ключ, подпись и сообщение. Подпись генерируется с использованием хеша подписываемых данных. Таким образом, проверяющие могут быть уверены и в том, что предоставленные данные не изменились с момента их подписания. 

Биткоин реализовал алгоритм цифровой подписи под названием ECDSA, а с обновлением Taproot, протокол использует подписи Schnorr. Взаимодействие между участниками происходят вне блокчейна, но теперь одна подпись может использоваться для расходования всех входов транзакции:

Принцип работы подписи Schnorr. Источник: bitnovosti.com

Благодаря такому подходу транзакции идут напрямую от отправителя к получателю без участия третьей стороны. Хотя майнеры обрабатывают каждую транзакцию, они не могут создать действительные подписи для биткоинов других пользователей и, следовательно, не могут украсть чужие средства.

Проблема Византийских генералов

В отношении денег, проблема доверия сохранялась на протяжении всей истории. Некого компромисса удалось достигнуть, когда в качестве ценного актива стали использовать золото, но оставались споры по поводу его чистоты и веса.

Следующим решением стало создание доверенных органов и передача им ответственности за выпуск денег. Но история фиатных валют полна нарушений. Очевидно, что централизованная система не в состоянии создать и поддерживать актив, которому доверяют. Деньги должны поддаваться проверке, быть устойчивыми к подделке и заслуживать доверия.

Создание децентрализованной сети могло бы стать решением, однако как участники сети могут договориться о конкретной определенной истине, если ни один участник не может подтвердить личность другого? В 1982 году была сформулирована проблема Византийских генералов, она описывает трудности, с которыми сталкиваются участники децентрализованных систем в достижении консенсуса — то есть соглашения, не полагаясь на доверенную центральную сторону. 

Проблема Византийских генералов.

Дилемма построена на примере с армией. Есть несколько генералов, которые окружили город с разных сторон. Каждый командует своими войсками, но есть общая стратегия. Генералы должны договориться о том, что они будут делать дальше – атаковать, блокировать город либо отступать. Это и есть консенсус, то есть, принятие общего решения.

Для достижения консенсуса нужны такие условия:

  • Каждый генерал принимает решение, что делать дальше.
  • Принятое решение будет окончательным (его нельзя отменить).
  • Все генералы должны прийти к единому решению и реализовать его одновременно.

Первая проблема на пути консенсуса — это коммуникация. Генералы общаются друг с другом только через курьера. Значит, сообщения могут потеряться, не дойти или фальсифицироваться.

Вторая проблема — злой умысел отдельных участников. Допустим, какой-то генерал отправил ложное сообщение, чтобы обмануть остальных генералов, и это вызовет общий коллапс.

А теперь рассмотрим эту дилемму в контексте блокчейна. Под генералами мы подразумеваем майнеров, в случае с биткоином. Они должны прийти к консенсусу в вопросах текущего состояния блокчейна. В сети нужно, чтобы большинство участников согласились на одно действие и выполнили его. Тогда мы не столкнемся с полным отказом сети.

Биткоин решил эту проблему, установив объективный набор правил для блокчейна. Доказательство работы PoW (Proof-of-Work) – это алгоритм, обеспечивающий безопасность сети.

PoW подразумевает вклад значительных ресурсов в создание блока, а именно заставляет майнеров тратить энергию, для того чтобы выбрать валидные транзакции и следовать правилам, за что они получают вознаграждения.

То есть PoW стимулирует майнеров не рисковать потраченной энергией, пытаясь перехитрить сеть и получить выгоду нечестным путем, а получать вознаграждение за валидацию достоверных блоков и добавление их в блокчейн.

Правила, определяющие какие транзакции являются действительными, а какие нет, объективны, как и система определения того, кто может чеканить (майнить) новые биткоины. После того как блок был добавлен в блокчейн, его невозможно удалить. Если какой-либо участник сети попытается передать ложную информацию, все участники сети признают её объективно недействительной и проигнорируют ее.

Проблема двойного расходования

Двойные расходы — это сценарий, при котором владелец биткоина тратит один и тот же биткоин дважды. Проблема двойного расходования подразумевает собой сложность контроля и предотвращения дублирования цифрового контента. В традиционных финансовых системах эта проблема решалась доверенными третьими сторонами (например, банки и платежные системы, которые контролируются государственными органами). Однако так же как и в отношении проблемы византийских генералов, такой подход к решению вопроса двойных расходов не совершенен. 

Для решения проблемы двойных расходов, Биткоин использует блокчейн. Блокчейн хранится независимо десятками тысяч компьютеров — узлами по всему миру. Каждый полный узел хранит всю историю транзакций, все узлы совместно делятся друг с другом новыми транзакциями и блоками по мере их создания. Благодаря этому, можно проверить что ни одна монета не была потрачена дважды, и все они были намайнены в соответствии с графиком эмиссии.

Все блоки линейны и хронологичны, поскольку каждый блок имеет временную метку. Транзакции считаются окончательными и необратимыми после их совершения. Каждая транзакция, включенная в блокчейн, объективно действительна и считается подтвержденной, а если какая-либо транзакция пытается дважды потратить один и тот же биткоин, она будет отклонена узлами сети. 

В следующей части мы разберем принцип работы сети, как происходит процесс транзакций и для чего нужны ноды и майнеры:

Как вам статья?

4
0

статьи на эту же тему

Топ-5 бесплатных способов ускорить...
avatar Denis Solomyanyuk
15.04.2024
Решения второго уровня для биткоина...
avatar Nikita Tipikin-Holovko
20.03.2024
Халвинг биткоина в 2024 году: когда...
avatar Andrew Makarov
06.03.2024