«Как блокчейн способен установить доверие (теоретически без ошибок) между двумя членами сети, живущими в разных странах? Эта математическая проблема, которая также называется проблемой византийских генералов, заключается в том, чтобы убедиться, что совокупность информационных компонентов, работающих совместно, может справиться с отказами или злонамеренными действиями.
Система должна поддерживать свою надежность даже в том случае, если меньшая доля ее составляющих пошлет ложную или вредоносную информацию с целью обойти проверки на двойные затраты (мошенничество). Чтобы решить эту проблему, протокол использует криптографические системы, основанные на децентрализованной системе проверок: решение такой задачи требует использования большой вычислительной мощности компьютеров, предоставляемой майнерами.
Майнеры – это агенты, функция которых заключается в подпитке сети вычислительными мощностями для того, чтобы обеспечить обновление децентрализованной базы данных (в случае биткойна – списка транзакций). Для обновления базы данных майнеры должны подтвердить новые “блоки” посредством дешифровки данных (классическая работа криптографии). Чем больше майнеров, тем труднее присвоить решение.
Таким образом, протокол может стать практически неприкосновенным при условии, что конкуренция сильна в каждом узле сети – это означает, что ни одна группа майнеров не становится большинством».
Алгоритм византийских генералов[28], или отказоустойчивость
Устойчивость к византийским сбоям, или Byzantine Fault Tolerance (BFT), – это способность системы продолжать функционировать, в ряде случаев в сокращенном объеме, не выходя полностью из строя, когда часть ее компонентов работает неправильно.
Исторически эту систему отказоустойчивости разработали военные во время холодной войны для обеспечения непрерывной работы сложной замкнутой сети, в данном случае сети ARPA[29].
Говоря языком информатики, поскольку алгоритмы родились не одновременно с технологией блокчейна, а в 1970-х годах, проблема византийских генералов – это абстрактное представление класса программ, активизирующих ряд участников, таких как процессоры в компьютере, компьютеры в сети, роботы на заводе или узлы в цепочке (с блоками или без них).
Таким образом, в области распределенных вычислений, и в частности в блокчейнах, ответные действия на сбои будут обеспечены Paxos[30] и Tendermint[31] – семействами протоколов, позволяющими находить консенсус в сети с ненадежными узлами и, таким образом, способными справляться со сбоями.
Определение Tendermint
«Технология блокчейна – это просто переформулирование BFT в более современный контекст с упором на одноранговые сети и криптографическое определение подлинности. Название технологии происходит от способа группирования информации в блоки, каждый блок цепи содержит криптографический хеш предыдущего блока, образуя цепочку. На практике структура данных блоков цепочки оптимизирует концепцию BFT».
Биткойн: майнеры и вознаграждения
В теории все в мире могут быть майнерами, так было при запуске блокчейна. Но на практике при экспоненциальном увеличении числа транзакций майнинг – занятие для предприятий, в основном базирующихся в регионах, где стоимость электроэнергии ниже.
В блокчейне биткойн блок в настоящее время содержит 1000 транзакций с ограничением на размер в 1 мегабайт (средний размер блоков колеблется между 600 и 700 Кб), или около семи транзакций в секунду. Когда майнер собирается подтвердить блок транзакций, он получает 25 новых биткойнов, которые создаются каждые десять минут.
В блокчейне биткойн, существующем с января 2009 года, наградой за решение блока было от 50 биткойнов, но она автоматически уменьшалась в два раза каждые 210 тысяч блоков (около четырех лет): сегодня майнеры получают 12,5 биткойнов за блок с 2021 года 6,75 ВТС и т. д.
Сегодня несколько мегапулов (GHASH. IO, Ant-Pool, BW.COM, F2Pool…) имеют монополию на добычу биткойнов. Достаточно посмотреть на сайт blockchain. info в столбце «передано через», чтобы понять, какому пулу удался подвиг получения биткойнов за последние блоки (цифры указаны в процентах).
АТАКА НА 51 %
Атака на 51 % возникает, когда отдельный человек или группа людей контролируют более половины вычислительной мощности, отданной под майнинг. Он (они) может отвергнуть или утвердить сделки, а также и выполнять двойные траты[32]. Действительно, узлы сети (в блокчейне биткойн, например) признают в качестве законной самую длинную цепочку, которая будет написана группой майнеров, обладающей самой большой вычислительной мощностью.
Если бы такая атака состоялась, то, вполне вероятно, что сеть быстро опознала бы этот факт.
В настоящее время большая часть вычислительной мощности, отданной под майнинг, принадлежит пулам (AntPool, F2Pool, ВТСС Pool, Bit Fury). Если эти пулы договорятся, они могут осуществить атаку, но они не рискуют делать нечто подобное, потому что в результате пиратства упадет цена валюты, большие запасы которой принадлежат им.
Тем не менее, некоторые криптологи справедливо отмечают, что группа лиц в состоянии взломать несколько пулов и провести атаку.
Такую атаку может провести государство или представитель крупного бизнеса (банк или враждебный хедж-фонд). Действительно, затраты на необходимые вычислительные мощности и энергию для подобной атаки должны быть огромными: в феврале 2016 года общая мощность системы биткойн составила 1,2 миллиона терахешей[33]! Учитывая, что терахеш стоит около 4000 долларов, для получения подобной мощности потребуется не менее 4,8 миллиарда долларов США. И наконец, если безопасность сети была нарушена, существует процедура обработки чрезвычайной ситуации.
Блокчейн и анонимность[34]
Ложные проблемы анонимности
Блокчейн часто критикуют за анонимность. Возможность иметь цифровые децентрализованные деньги или золото привлекает многих субъектов экономики, но опасение открыть дорогу для различных видов незаконной деятельности, на которые распространяется анонимность, справедливо это или нет, тормозит принятие этой технологии.
Рассматривая вопрос под более техническим углом, понимаешь, однако, что опасения могут быть в значительной степени сняты: биткойн не настолько анонимен, как кажется… С одной стороны, если мы не должны обеспечивать подпись информации для создания портфолио или отправки транзакции, то с другой стороны, все, что происходит в цепочке блоков биткойна, прозрачно, что позволяет публично отслеживать все сделки. Таким образом, каждый может создать проводник, отслеживающий данные блокчейна, как это делает, например, сайт blockchain.info (см. раздел «Участники» в конце книги).
Биткойн-адреса сами по себе не связаны с физическим или юридическим лицом. Именно поэтому говорят, что биткойн является анонимным, или, вернее, безымянным. Действительно, в сети биткойн личность пользователя скрыта за криптографическим псевдонимом, который может быть изменен по желанию владельца. Транзакции подписываются псевдонимом и распространяются в общедоступную сеть для проверки их подлинности и назначения биткойнов новому владельцу.
Тем не менее, личность человека может быть связана с биткойн-адресом с помощью других средств. Когда это происходит, можно реконструировать действия этого лица в прошлом, восстанавливая историю блокчейна. Точечное нарушение анонимности индивидуального участника может дойти до выявления всех биткойн-транзакций этого человека.
Если ваш партнер по сделке – частное лицо, которое знает вас, он может попытаться вывести из открытых данных баланс вашего портфеля. Если ваш партнер по сделке – организация (банк, государство, социальная сеть), которой вы обязаны предоставить данные о себе, это еще хуже: она уже все знает о вас, и ее компьютерные средства позволяют сопоставить имеющуюся у нее информацию с вашими «отпечатками