Как сработало одно из самых значительных открытий со времени создания Интернета? Многие говорят и пишут о биткоинах – цена, хакеры, наркотики, сатоши Накамото. Однако редко кто-либо вообще пытается объяснить основные особенности криптовалюты – они описывают его как способ быстрого обогащения, но не объясняют, что дает ему ценность, или как пирамиду, но не упоминают, как технология может использоваться не только как деньги.
Еще реже кто-то упоминает, как работает сеть биткоинов. Банкиры говорят: «Нам нравится блокчейн, но не биткоин». Но что это за система? Каковы его компоненты и почему он построен таким образом? Если человеку удастся понять основные принципы, на которых работает технология, он сможет сам ответить на другие вопросы. Поэтому здесь мы стремимся описать цепочку биткоинов наиболее понятным и подробным образом, с акцентом на то, что, как и почему он работает в системе.
Блокчейн
Биткоины чаще всего сравнивают с бухгалтерской книгой. Причина этого заключается в том, что, как и бухгалтерская книга, она описывает, как активы переносятся с одного счета на другой. На практике, в общем случае, мы можем предположить, что это все, что содержит блокчейн – перемещение биткоинов с одного счета на другой.
Как следует из названия, блокчейн состоит из блоков, которые расположены в хронологическом порядке. Каждый блок содержит транзакции, зарегистрированные в сети биткоинов за последние 10 минут. Можно предположить, что блок является эквивалентом одной страницы в бухгалтерской книге.
Аналогия с бухгалтерской книгой помогает нам визуализировать, как работает блокчейн. Каждые десять минут открывается новая страница, и в ней начинают регистрироваться транзакции, которые происходят в биткоин-сети. Еще через десять минут запускается новая страница, а предыдущая считается завершенной – в нее записываются все новые транзакции, которые происходят после этого. Как и на страницах, каждый новый блок имеет номер в блокчейне, и так же, как в главной книге, блоки располагаются в определенном порядке.
Например, на данный момент система работает с блоком No 379 298. Это означает, что на данный момент блокчейн биткоин состоит из 379 298 блоков, и они содержат все транзакции (от начала системы до на данный момент транзакций примерно 90 миллионов). Это также означает, что все новые транзакции записываются в этом и только в этом новом блоке 379, 298, и все остальные до того, как он будет завершен и не может быть изменен. Когда этот блок будет завершен, он станет новым пиком блокчейна, и работа начнется со следующего блока.
Естественно, после такого описания блокчейна возникают некоторые вопросы: есть ли в блокчейне первый блок?
Да, есть первый блок, и он называется блоком генезиса. Это первый блок, созданный создателями / создателями биткоинов, работающих / и под псевдонимом Сатоши Накамото. Этот блок содержит одну транзакцию с первыми 50 биткоинами, которые появились в обращении и были сгенерированы 3 января 2009 года.
Если блокчейн содержит только транзакции между учетными записями, как вы узнаете, сколько биткоинов имеется в каждой учетной записи? Сохраняются ли где-нибудь записи с балансом в каждом аккаунте?
Блокчейн на самом деле содержит только транзакции между счетами, и нигде в нем нет записей с текущим балансом на каждом счете. Чтобы рассчитать количество биткоинов на каждом счете, достаточно рассчитать сумму всех входящих транзакций и вычесть сумму всех исходящих транзакций. Обычно это рассчитывается автоматически программным обеспечением, используемым каждым пользователем для платежей в биткоинах.
Значит ли это, что биткоин не является анонимным?
Да, блокчейн находится в свободном доступе, и любой может проверить доступность любой учетной записи и всех транзакций в нее и из нее. Единственный фактор, который обеспечивает анонимность в биткоин-сети, – это отсутствие информации о том, кто владеет аккаунтом.
Генерация блоков В сети биткоин есть два основных типа участников – пользователи и копатели.
Пользователи – это те участники сети, которые заказывают новые транзакции. Это все участники, которые просто делают платежи через биткоины. Например, они приказывают системе переводить биткоины с моего счета на счет моего двоюродного брата. Однако, чтобы эта транзакция имела место, кто-то должен включить ее в текущий (последний) блок блокчейна. Эту работу выполняют участники сети второго типа – копатели.
Копатели – те, кто готовит следующий блок для включения в блокчейн. Они собирают все транзакции, совершенные пользователями за последние 10 минут, и группируют их в новый блок, который станет новой вершиной блокчейна. Диггеры – это те, кто поддерживает сеть биткоинов и делает возможным ее существование.
При создании каждого нового блока копатель проверяет, соответствует ли он правилам, установленным сетью биткоинов, что означает:
- блок включает только действительные транзакции;
- блок имеет правильную структуру;
- блок находится в нужном месте в блокчейне;
- и многие другие, которые мы рассмотрим позже.
Копатели используют огромное количество вычислительной мощности и электричества для генерации следующего блока в блокчейне. Все эти ресурсы стоят денег и должны быть оплачены, потому что иначе никто не был бы нанят, чтобы стать копателем. биткоин-сеть решает эту проблему двумя способами: копатели получают оплату за недавно выпущенные биткоины, а также комиссионные за транзакции.
Выпуск новых биткоинов
Естественно, возникает вопрос о том, как биткоины появляются в обращении. Если блокчейн содержит только транзакции между различными учетными записями, то каждый биткоин в обращении должен иметь первичную транзакцию, в которой он впервые появился. Как создаются такие транзакции и не означает ли это, что каждый может создавать биткоины буквально из ниоткуда?
Каждый новый блок в цепочке блоков должен соответствовать строгим правилам, чтобы быть принятым сетью биткоинов. Одно из правил позволяет новому блоку содержать, помимо всех транзакций, совершаемых пользователями сети, дополнительную транзакцию выдачи. Это означает, что блок содержит два типа транзакций:
- стандартные пользовательские транзакции – сообщают о перемещениях существующих биткоинов с одного счета на другой. Каждая из этих транзакций получает в качестве входных данных другие, которые предшествуют ей. Это означает, что расходуются только биткоины, которые ранее были переведены на счет;
- Эмиссия транзакции – выдает новые биткоины, которых до сих пор не было ни в одном аккаунте;
Транзитная транзакция должна соответствовать строго определенным правилам, чтобы быть принятой биткоин-сетью. В каждом блоке может быть только одна эмитирующая транзакция, которая должна включать определенное количество биткоинов. В настоящий момент, например, размер эмиссионной транзакции должен составлять 25 биткоинов.