Блокчейн от А до Я. Все о технологии десятилетия
Шрифт:
В течение нескольких лет целый ряд исследователей, а также журналисты и критики блокчейна биткойн, убежденные банковским лобби, заявляли, что майнинг биткойнов является безумной тратой энергии [25] . А что в действительности?
Анализ Пьера Нуаза
«Вычислительная мошность обшей сети составляет 500 миллиардов Mhash/s (Мегахеш/сек) (по состоянию на 28 ноября 2015 года). Эффективность оборудования для майнинга может быть оценена примерно в 2000 Мегахеш/день.
Потребляемая мошность сети биткойн в мире, таким образом, оценивается примерно в 250 Мегадж/сек – 250 Мегаватт, то есть эквивалент 100 тысяч домов в США. Для сравнения: в мире существует около 2 миллионов банкоматов, каждый из которых потребляет в среднем 200 ватт, а самые современные модели расходуют всего 70 Вт.
В конечном счете, только банкоматы [не считая сетей и центров обработки данных,
Если к тому же приплюсовать печать банкнот на бумаге высокого качества и их транспортировку в бронированных грузовиках, массовое принятие биткойна в качестве электронных наличных денег позволит уменьшить углеродный след платежных систем в три или четыре раза. При средней стоимости электроэнергии в США в 2015 году в районе 10 центов за киловатт-час мы получим стоимость 150 биткойнов, созданных за час, равную 25 тысячам долларов США, то есть стоимость "производства" одного биткойна равна 167 долларам [около 157 евро) – около половины рыночной иены биткойнов на ту же дату. Разница соответствует экономии в настоящем и будущем, связанной с биткойнами».
25
Автор ссылается на статью «Пропаганда биткойна». Ее оригинал находится по адресуВ ней собраны ложные сведения, опубликованные средствами массовой информации и банками в 2013 году о Bitcoin. – Прим. ред.
Проблема византийских генералов
Определение
Проблема, или теория, византийских генералов – это математическая метафора, в которой рассматривается проблема пересмотра безотказности средств связи и целостности собеседников. Речь идет о том, как и в какой степени можно принимать информацию, источник или канал передачи которой выглядит подозрительно.
Чтобы решить эту проблему, мы должны использовать определенные стратегии (в данном случае – алгоритм). Эта проблема впервые была глубоко проработана в статье «Проблема византийских генералов», опубликованной в 1982 году [26] .
26
Проблема византийских генералов // ACM Transactions on Programming Languages and Systems. 1982. T. 4. N3. Июль.
Блокчейн и проблема византийских генералов
Вот как выглядит проблема: генералы, каждый из которых командует отдельной армией, должны координировать свои действия, чтобы осадить город. Генералы общаются с помощью надежных курьеров, но некоторые из генералов оказались предателями и стремятся к тому, чтобы сорвать план нападения (византийская ошибка, таким образом, представляет собой сбой, заключающийся в предоставлении недостоверной или противоречивой информации). Таким образом, нападение может сорваться, если генералы не придут к консенсусу.
ПРОБЛЕМА ВИЗАНТИЙСКИХ ГЕНЕРАЛОВ
Генералы византийской армии расположились лагерями вокруг осажденного вражеского города. Они могут общаться между собой только посредством передаваемых сообщений и должны выработать план совместного нападения, без чего поражение неизбежно.
Однако некоторые из этих генералов являются предателями, они пытаются сеять панику и замешательство среди остальных. Таким образом, проблема заключается в том, чтобы найти алгоритм, позволяющий честным генералам все же согласовать план баталии.
Таким образом, нужно найти алгоритм, чтобы убедиться, что лояльные генералы смогут все же договориться и согласовать план битвы. Следует координировать доверительные отношения с помощью сообщений, написанных и подписанных (без возможности подделки), которые генералы передают друг другу, делясь намерениями со всеми генералами. Таким образом, мы возвращаемся к консенсусу proof of work.
Технология блокчейна предоставляет первое и, возможно, единственное решение проблемы византийских генералов. Таким образом, вероятно, впервые в истории человечества удается создать и сохранить реестр, открытый для широкой публики и достаточно безопасный для каждого.
Анализ Юбера де Воплана [27]
«Как блокчейн способен установить доверие (теоретически без ошибок) между двумя членами сети, живущими в разных странах? Эта математическая проблема, которая также называется проблемой византийских генералов, заключается в том, чтобы убедиться, что совокупность информационных компонентов, работающих совместно,
Система должна поддерживать свою надежность даже в том случае, если меньшая доля ее составляющих пошлет ложную или вредоносную информацию с целью обойти проверки на двойные затраты (мошенничество). Чтобы решить эту проблему, протокол использует криптографические системы, основанные на децентрализованной системе проверок: решение такой задачи требует использования большой вычислительной мощности компьютеров, предоставляемой майнерами.
Майнеры – это агенты, функция которых заключается в подпитке сети вычислительными мощностями для того, чтобы обеспечить обновление децентрализованной базы данных (в случае биткойна – списка транзакций). Для обновления базы данных майнеры должны подтвердить новые “блоки” посредством дешифровки данных (классическая работа криптографии). Чем больше майнеров, тем труднее присвоить решение.
Таким образом, протокол может стать практически неприкосновенным при условии, что конкуренция сильна в каждом узле сети – это означает, что ни одна группа майнеров не становится большинством».
27
Выдержка из статьи Юбера де Воплана, опубликованной в Finyear.
Алгоритм византийских генералов [28] , или отказоустойчивость
Устойчивость к византийским сбоям, или Byzantine Fault Tolerance (BFT), – это способность системы продолжать функционировать, в ряде случаев в сокращенном объеме, не выходя полностью из строя, когда часть ее компонентов работает неправильно.
Исторически эту систему отказоустойчивости разработали военные во время холодной войны для обеспечения непрерывной работы сложной замкнутой сети, в данном случае сети ARPA [29] .
28
М. Коррейя, Ж. С. Веронезе, Н.Ф. Невес и П. Вериссимо. Византийский консенсус в асинхронной системе передачи сообщений: обзор // International Journal of Critical Computer-Based Systems. 2011. T. 2.
29
Старое название DARPA (Defense Advanced Research Projects Agency), агентство департамента Министерства обороны США, занимающееся новыми военными технологиями и инициативами по ARPAnet.
Говоря языком информатики, поскольку алгоритмы родились не одновременно с технологией блокчейна, а в 1970-х годах, проблема византийских генералов – это абстрактное представление класса программ, активизирующих ряд участников, таких как процессоры в компьютере, компьютеры в сети, роботы на заводе или узлы в цепочке (с блоками или без них).
Таким образом, в области распределенных вычислений, и в частности в блокчейнах, ответные действия на сбои будут обеспечены Paxos [30] и Tendermint [31] – семействами протоколов, позволяющими находить консенсус в сети с ненадежными узлами и, таким образом, способными справляться со сбоями.
30
Paxos (Паксос) – это алгоритм, который добивается консенсуса в распределенных системах, передавая сообщения в два этапа коммуникации.
31
Tendermint – еще один алгоритм консенсуса, устойчивый к проблеме византийских генералов. – Прим. ред.
Определение Tendermint
«Технология блокчейна – это просто переформулирование BFT в более современный контекст с упором на одноранговые сети и криптографическое определение подлинности. Название технологии происходит от способа группирования информации в блоки, каждый блок цепи содержит криптографический хеш предыдущего блока, образуя цепочку. На практике структура данных блоков цепочки оптимизирует концепцию BFT».
Биткойн: майнеры и вознаграждения
В теории все в мире могут быть майнерами, так было при запуске блокчейна. Но на практике при экспоненциальном увеличении числа транзакций майнинг – занятие для предприятий, в основном базирующихся в регионах, где стоимость электроэнергии ниже.
В блокчейне биткойн блок в настоящее время содержит 1000 транзакций с ограничением на размер в 1 мегабайт (средний размер блоков колеблется между 600 и 700 Кб), или около семи транзакций в секунду. Когда майнер собирается подтвердить блок транзакций, он получает 25 новых биткойнов, которые создаются каждые десять минут.