Что же значит весь этот набор слов? Давайте рассмотрим ключевые смысловые единицы.
1. Распределенный: это значит, что реестр хранится не на одном компьютере, а на всех компьютерах сети одновременно. Каждая машина по отдельности отвечает за его обновление и синхронизацию с остальными версиями. Как только один регистратор (в данном случае компьютер) обновляет базу данных и предоставляет доказательство легитимности записи, все остальные устройства вносят то же самое обновление в свои реестры. В результате получается регулярно обновляемая, общепринятая запись без централизованной главной версии.
2. Обновляется только путем присоединения новых записей (append-only): информацию можно добавлять, но не удалять. Это важно, поскольку никто не может вернуться к старым записям и подкорректировать их. То, что однажды было принято и утверждено как истинное, им же и останется. Разночтения здесь невозможны.
3. Доказуемо подписанные: для обмена и управления данными блокчейны используют инфраструктуру открытых ключей (ИОК), где каждый пользователь распоряжается двумя отдельными, но математически связанными последовательностями букв и чисел, или «ключами». Первый — секретный, или «закрытый», ключ — известен только владельцу. Второй — «открытый» ключ — доступен всем пользователям и отображает некую ценную информацию. В системе Биткоина, например, она связана с количеством криптовалюты. Когда пользователь «подписывает» открытый ключ с помощью секретного ключа, эта операция математически доказывает, что он имеет право распоряжаться данными и может перевести их на открытый ключ другого пользователя. В случае Биткоина владелец таким образом пересылает валюту со своего «кошелька» (открытого ключа) на другие кошельки. (Личный ключ можно сравнить с паролем или ПИН-кодом для управления средствами на счете. Аналогия не идеальная, но достаточно близкая.)
4. Непрерывно связанные и криптографически защищенные транзакции: некоторые инструменты из криптографического арсенала используются для отображения записи в реестре определенным способом. Любые транзакции записываются в строго хронологическом порядке с помощью функции хеширования, которая позволяет подтвердить достоверность всей цепочки. В итоге получаются бесконечные цепочки блоков (или «кусочков информации»), чья целостность защищена криптографическим методом. Такая структура обеспечивает высокую степень уверенности в том, что ни одна запись в реестре не будет отклоняться от общей, согласованной версии.
5. Реестр многократно воспроизведен: каждый узел сети хранит свою копию реестра (согласно принципу распределения из пункта 1).
6. Алгоритм консенсуса: программа, которую выполняет каждый компьютер сети, побуждает синхронизировать запись транзакций с другими устройствами. Можно сказать, что узлы сети достигают соглашения по поводу того, какие записи вносить в общий реестр. «Консенсус» — ключевой термин технологии блокчейн, описывающий процесс, в рамках которого каждая отдельная копия реестра согласовывается со всеми остальными и вырабатывается общая для всех версия истины. Суть консенсуса сводится к тому, что любое обновление должно быть подтверждено и одобрено большинством участников.
Ну что, разобрались? Если нет, не пугайтесь — скоро мы проясним все детали.
Важно понять, что общее описание блокчейна не отдает должного блестящим находкам Накамото. В системе Биткоина присутствуют элементы, которые воплотили в жизнь идеал шифропанков — полностью децентрализованную криптовалюту, неподконтрольную ни одному частному лицу, учреждению или консорциуму.
Калифорнийское сообщество шифропанков, которое билось над проблемой децентрализации лет двадцать до появления биткоина, прекрасно знало, что любой системе электронных денег необходим общий реестр для фиксации активов и пассивов пользователей. Он нужен для предотвращения «двойного расходования», то есть мошенничества. Но чтобы система стала полностью децентрализованной, каждый пользователь должен иметь доступ к реестру. Запись транзакций должна быть открытой, с алгоритмом консенсуса, на который нельзя повлиять в одностороннем порядке. Тогда никакая контролирующая инстанция не сможет блокировать, изменять или фильтровать содержимое реестра и он станет неуязвимым для цензуры.
До появления биткоина все попытки достичь этой цели неизменно упирались в неразрешимую дилемму: без контролеров, подтверждающих личность и права того, кто ведет реестр, любой мошенник мог нарушить консенсус, создав множество узлов сети под вымышленными именами. (Чтобы понять, насколько это легко, вспомните бесчисленные фейковые аккаунты в Twitter.) Застолбив сотни узлов сети, злоумышленник отдаст сам себе более 50 процентов голосов и добьется одобрения ложной «двойной транзакции», то есть, например, оплатит покупку несуществующими или уже на что-то потраченными деньгами. Эту проблему можно решить путем создания контролирующей инстанции, которая идентифицировала бы пользователей и авторизовала операции. Но тогда разработчики вернулись бы в исходное положение и не достигли бы великого идеала шифропанков — открытости и отсутствия цензуры.
Новаторское решение Сатоши Накамото, в сущности, опиралось на метод кнута и пряника — систему поощрений и наказаний, которые должны гарантировать честную работу валидаторов. Любой компьютер в любой точке земного шара может подключиться к процессу валидации и в качестве стимула и награды за работу будет получать биткоины, распределяемые по принципу лотереи. Вознаграждение выплачивается каждые 10 минут, как только один из компьютеров успешно добавит новый блок подтвержденных транзакций в блокчейн-реестр. (Эти компьютеры, а также их владельцы называются «майнерами» — от английского слова miner, или золотодобытчик, — потому что в надежде заполучить свою долю биткоинов они словно пускаются в погоню за цифровым золотом. На момент написания книги вознаграждение составляло 12,5 биткоина — 50 тысяч долларов по текущему курсу. Децентрализованный протокол автоматически начисляет эту сумму выбранному майнеру. Кроме того, майнеры получают комиссию за операции, о чем мы поговорим чуть позже.)
Поскольку в системе не предусмотрены ограничения допуска, любой мог попытать счастья и повысить шанс на получение награды, добавив к сети как можно больше узлов. Поэтому Накамото был необходим децентрализованный механизм, который бы помешал майнерам-мошенникам захватить более 50 процентов вычислительных мощностей. С этой целью он потребовал, чтобы каждый вовлеченный компьютер предоставлял «доказательство выполнения работы», то есть решал сложную математическую задачу, предполагающую серьезные вычислительные ресурсы.
Доказательство выполнения работы стоит недешево, поскольку на него уходит много электроэнергии и вычислительных мощностей. Это означает, что, если майнер попытается захватить 51 процент мощностей и контролировать систему консенсуса, ему придется потратить довольно круглую сумму. Благодаря таким функциям, как «коррекция уровня сложности», которая усложняет вычислительные задачи по мере роста общей мощности сети, система Накамото гарантирует, что стоимость так называемой атаки 51 процента на порядки повысится, если взломщик подойдет к порогу контроля над консенсусом. Иными словами, мошенничество и двойная трата в системе Биткоина не запрещены — они просто чрезмерно дороги. На данный момент, согласно оценкам сайта GoBitcoin.io, «контрольный пакет» в сети Биткоин обойдется примерно в 2,2 миллиарда долларов: столько будут стоить компьютерное оборудование и электроэнергия, которые нужны для захвата таких мощностей.