Глава 1
Блокчейн: фундамент для криптовалют (Блокчейн 1.0)
Стек технологий: блокчейн, протокол, валюта
Термин «биткойн» (Bitcoin) может ввести в заблуждение, поскольку биткойном принято считать три разные вещи.
Во-первых, биткойн – это базовая платформа блокчейн-технологии.
Во-вторых, биткойном называется работающий на основе этой базовой технологии протокол, описывающий, как именно происходит перевод активов в цепочке блоков.
В-третьих, биткойн – это цифровая криптовалюта, самая первая и самая популярная из известных на сегодня криптовалют.
В таблице 1–1 показано, чем различаются эти понятия. Нижний уровень – это базовая блокчейн-технология. Блокчейн как цепочка блоков транзакций – это распределенный, общедоступный и совместно используемый всеми узлами сети реестр или журнал записей, содержащий данные о транзакциях. Журнал обновляется майнерами и отслеживается всеми желающими, но при этом никем не контролируется. Он подобен гигантской общедоступной таблице, которая периодически обновляется и подтверждает уникальность цифровых операций перевода денежных средств.
Средним уровнем стека является протокол – пакет программ, который переводит средства путем внесения транзакций в блокчейн (журнал записей). Наконец, третий уровень – это сама валюта под названием «биткойн», в транзакциях и на биржах используется обозначение BTC или Btc. Среди сотни криптовалют биткойн – не только самая первая, но и самая популярная. Среди прочих следует отметить Litecoin, Dogecoin, Ripple, NXT, и Peercoin. Перечень и котировки основных альткойнов можно найти на сайте http://coinmarketcap.com/.
Таблица 1–1. Уровни стека блокчейн-технологий на примере биткойна
Важно понимать, что общая структура любой современной криптовалютной системы формируется всеми тремя уровнями (блокчейн, протокол и валюта). Каждая монета представляет собой одновременно валюту и протокол, она может иметь собственный распределенный журнал записей или использовать распределенный блокчейн биткойна. Например, криптовалюта Litecoin использует Litecoin-протокол, работающий с блокчей-ном Litecoin, – по сути, это клон биткойна, в котором слегка изменены некоторые функции.
Отдельный блокчейн означает, что у монеты имеется собственный децентрализованный журнал записей с такой же структурой и форматом, что и распределенный журнал записей биткойна.
Другие протоколы, например Counterparty, имеют собственную валюту (XCP), но используют блокчейн биткойна, то есть транзакции XCP регистрируются в распределенном журнале записей биткойна. Таблицу с описанием характеристик проекта Crypto 2.0 можно найти по адресу: http://bit.ly/crypto_2_0_comp.
Двойное расходование и задача византийских генералов
Даже если оставить в стороне потенциал использования биткойна и блокчейн-технологии, биткойн, безусловно, является серьезным фундаментальным прорывом в области информатики – результатом 20 лет исследований в области цифровых валют и 40 лет исследований в области криптографии, над которыми работали тысячи ученых всего мира
[23]. Биткойн стал решением давней проблемы цифровых наличных денег – проблемы двойного расходования (double-spend problem). До появления криптографии блокчейна цифровую наличность (digital cash)
[24], как и любой другой цифровой актив, можно было бесконечно копировать – как, например, мы можем сегодня бессчетное количество раз копировать вложение в электронной почте. При этом без специального посредника невозможно было подтвердить, что та или иная партия денег не была уже израсходована ранее. Функцию посредника выполняла доверенная третья сторона: банк или платежная система вроде PayPal, которая хранила журнал записей, гарантирующий, что каждая единица цифровых денег может быть потрачена только один раз, тем самым предотвращая двойное расходование.
Проблема двойного расходования аналогична давно сформулированной математической проблеме – так называемой «Задаче византийских генералов»
[25], суть которой состоит в том, что несколько генералов перед сражением, не доверяя друг другу, должны как-то согласовать свои действия
[26].
Блокчейн решает проблему двойного расходования, объединяя технологию однорангового обмена файлами BitTorrent и шифрование с открытым ключом, тем самым создавая новый вид цифровых денег. Собственность на монеты регистрируется в открытом журнале записей и подтверждается криптографическими протоколами и сообществом майнеров. Блокчейн не требует доверия в том смысле, что в процессе транзакции пользователю нет нужды доверять контрагенту или посреднику. Необходимо лишь доверять системе – программной реализации блокчейн-протокола.