«C чем это едят»: что такое блокчейн
Например, распределенных вычислений, макроэкономики и даже теории игр — методы теории игр находят широкое применение в математическом аппарате криптовалют, стимулируя различные действия участников.
В сегодняшнем материале мы посмотрим, что же такое блокчейн, затронем особенности его работы и совершим небольшой экскурс в историю.
/ изображение DennisM2 PD
Блокчейн представляет собой распределенную учетную книгу записей о событиях в цифровом мире. Ключевой составляющей блокчейна является журнал транзакций, а сами транзакции — это единственный способ изменить состояние реестра.
Транзакция может выполниться либо до конца, либо не выполниться никак («зависание» операции в промежуточном состоянии недопустимо). При этом записи в журнал транзакций могут вноситься только с согласия большинства участников сети.
Важной особенностью журнала транзакций в блокчейне является его неизменность. Это свойство означает, что нельзя незаметно удалить транзакцию из журнала или добавить новую в его середину.
Свойство неизменности достигается за счет приемов криптографии, а не за счет доверия к организации или людям. Два простейших криптографических алгоритма, используемых в блокчейне, — это хеш-функции и электронные подписи, обеспечивающие целостность транзакций и отвечающие за авторизацию.
Хотя блокчейн и является распределенной системой, а формировать транзакции может каждый узел, это не означает, что все участники блокчейн-сети равноправны — почти в любой реализации этой технологии введено распределение ролей на валидаторов (участников, пишущих транзакции в журнал), аудиторов и легких клиентов. Причем, такое разделение справедливо не только для приватных блокчейнов, но и для открытых блокчейнов, например биткойна.
С глобальной точки зрения, блокчейн представляет собой сеть для обработки транзакций с набором правил («протокол»), следуя которым участники могут прийти к общему видению журнала транзакций и установить состояние сети в определенный момент времени. При этом блокчейн децентрализован: даже если существенная часть узлов выпадет из работы на продолжительное время или будет взломана, система все равно продолжит работать.
/ Сеть продолжит работу, даже если часть узлов будет взломана
Децентрализованная, открытая и математически обоснованная природа блокчейна позволяет людям и организациям минимизировать риски взаимодействия между собой и проводить P2P-транзакции, исключая посредников. Еще это положительно сказывается на безопасности.
Классические хакерские атаки, которые способны нанести урон крупным централизованным банковским системам, оказываются нереализуемыми, или во всяком случае мгновенно обнаружимыми, в блокчейн-среде.
Если злоумышленник захочет взломать определенный блок в цепи, то ему придется взломать и все предшествующие ему блоки. При этом модифицировать придется все журналы сети, количество которых может достигать тысяч или даже миллионов (если брать в расчет легкие клиенты).
/ Нельзя изменить историю транзакций, не сделав некорректными все последующие блоки, распределенные по сети
Далее, мы в общих чертах рассмотрим, как работает блокчейн биткойна и как происходит обработка блоков. Чтобы отслеживать все проводимые транзакции в сети, они объединяются в блоки.
Отметим, что блок представляет собой набор цифровых транзакций, которые были сформированы за последние 10 минут (однако стоит добавить, что включение зависит от комиссии в транзакциях и других параметров, поэтому в блок могут входить не все транзакции за последние N минут).
Заголовок блока включает в себя свой хеш, хеш предыдущего блока, хеши транзакций и дополнительную служебную информацию. В системе биткойн первой транзакцией в блоке всегда указывается получение комиссии, которая станет наградой майнеру, решившему блок.
При решении блока транзакций майнеры вычисляют его хеш. Он представляет собой случайную последовательность цифр и букв и является гарантией того, что если в блоке данных изменится хотя бы один бит, каждый узел быстро сможет узнать о попытке фальсификации истории транзакций. Блокчейн биткойна использует алгоритм шифрования SHA-256.
Созданный блок будет принят остальными участниками сети, если числовое значение хеша заголовка равно или ниже определенного числа, величина которого периодически корректируется. Уровень сложности адаптируется к суммарной вычислительной мощности майнеров. Это осуществляется путем обновления порогового значения каждые 2016 блоков, что происходит примерно раз в две недели.
Так как результат хеширования (функции SHA-256) необратим, алгоритма получения желаемого результата не существует — эта операция выполняется случайным перебором. Обычно требуется большое количество пересчетов.
Когда вариант найден, узел рассылает полученный блок другим подключенным узлам, которые проверяют его. Если ошибок нет, то блок считается добавленным в цепочку, а следующий блок включает в свой заголовок его хеш. Таким образом, цепочка блоков содержит историю владения, с которой можно ознакомиться, например, на специализированных сайтах.
Немного истории
Предпосылки для зарождения блокчейна были заложены еще 20–30 лет назад. Этому способствовало появление связанных штампов времени (англ. linked timestamping) — сбора транзакций в блоки и связывания их при помощи хеш-функций, а также распределенных вычислений — принципов построения сетей, устойчивых к падениям и злонамеренному поведению узлов.
Не менее важную роль в этом сыграло появление электронных денег, когда знаменитый криптограф Дэвид Чаум (David Chaum) запустил первое практическое приложение — DigiCash (оно, правда, не получило широкого распространения, в отличие от биткойна).
Первым блокчейном считается криптовалюта биткойн, которая и поныне остается самым популярным блокчейном по экономическим и техническим показателям.
Начало технологии заложил некто Сатоши Накамото (Satoshi Nakamoto), опубликовавший в 2008 году статью о принципах работы биткойна. Сам блокчейн биткойна был заложен в январе 2009 года.
Биткойн уверенно рос в популярности и привел к появлению альтернативных блокчейнов. Альтернативы начала 2010-х (например, Litecoin) строились на основании кода биткойна и мало чем от него отличались. Затем появились криптовалюты с совершенно новой функциональностью. Примером может служить конфиденциальность платежей для Monero и zCash).
К блокчейну весьма активно присматриваются банки. Например, осенью 2016 года Bank of America и Microsoft заявили о разработке финансовой блокчейн-платформы.
В то же время состоялась первая реальная сделка с реальными денежными средствами — израильская компания Wave, банк Британии Barclays и ирландский производитель молочной продукции Ornua провели аккредитив на 100 тыс. долларов. Применение блокчейн-технологии позволило сократить время проведения операции с нескольких недель до четырех часов.
В России блокчейн также находит применение. 21 декабря прошлого года сделку-аккредитив через блокчейн провели «Альфа-Банк» и S7, а ЦБ РФ совместно с крупными банками страны реализовали платформу «Мастерчейн», целью которой является повышение эффективности существующих финансовых систем.
По данным финансово-технологической консультационной фирмы Aite, в 2015 году мировые банки потратили порядка 75 млн долларов на блокчейн-технологии. К 2019 году эта цифра обещает вырасти до 400 млн долларов.
Более того, появилась возможность использовать блокчейн не только для реализации электронных денег, но и для выполнения произвольных распределенных вычислений (смарт-контракты). Идея в том, что за счет выполнения логики на тысячах узлов к ней образуется доверие, основанное на математических законах.
Такие возможности открыли дорогу блокчейну в корпоративную среду. ИТ-гиганты вроде IBM, Intel и Microsoft начали внедрять технологию в свои продукты. Также создаются внутриотраслевые и межотраслевые консорциумы (R3, Hyperledger, PTDL Group), занимающиеся блокчейном и распределенными реестрами.
На технологию обратили внимание и исследователи, которые видят потенциал в различных сферах деятельности: финансовой сфере, здравоохранении, интернете вещей. Появляются все новые и новые игроки, стремящиеся популяризовать использование блокчейна, например, парламент ЕС задумался о реализации выборов в органы государственной власти с его помощью.
Можно с уверенностью сказать, что новые проекты на блокчейне будут основываться на его главных преимуществах — открытости, защищенности, безопасности. Поэтому блокчейн станет хорошим подспорьем для любых сервисов, где пользователей волнуют проблемы мошенничества и сохранности персональных данных.
P.S. В наших следующих постах мы подробнее поговорим о криптографических алгоритмах, используемых в блокчейнах, алгоритмах консенсуса, а также рассмотрим, что такое смарт-контракты и как они используются.
P.P. S. Компания BitFury принимает участие в развитии блокчейна с 2011 года, и мы будем рады делиться последними новостями блокчейн-среды и своими наработками. Если вам интересно, то можете обратить внимание на следующие материалы:
- Безопасность в блокчейне — почему это важно?
- Недостающее звено интернета: 5 фактов о биткойн-блокчейне
- Подтверждение доли и доказательство выполнения работы (PoS vs PoW)
- Смарт-контракты в биткойн-блокчейне