Переходы состояний / Машина состояний. Что это?
Блокчейн годится не для всего. И не все соответствует парадигме блокчейна. Блокчейн – это «машина состояний», еще одно понятие, которое необходимо усвоить. В техническом плане состояние просто означает «сохраненная информация» в определенный момент времени. Стейт-машина – это компьютер или устройство, которое запоминает состояние чего-либо в данный момент времени. По отношению к некоторым исходным данным этот статус может измениться, и блокчейн обеспечивает итоговый результат для этих внесенных изменений. Отслеживание переходов этих состояний важно, и с этим блокчейн справляется хорошо, причем неизменным образом. Напротив, запись базы данных изменчива, потому что ее можно многократно переписывать. Не все базы данных имеют аудиторские следы, и даже в тех, что имеют, аудиторский след может быть уничтожен или потерян, поскольку он не защищен от несанкционированного доступа. В блокчейне история перехода является постоянной частью информации о состоянии. В блокчейне Ethereum хранится особое «дерево состояний», представляющее текущий баланс каждого адреса, и «список транзакций», представляющий транзакции между текущим блоком и предыдущими в каждом блоке.
Машины состояний подходят для имплементации распределенных систем, которые должны быть отказоустойчивыми.
Алгоритмы консенсуса
В основе понимания тягот смещения парадигмы блокчейна лежит понимание концепции «децентрализованного согласия», ключевой принцип компьютерной революции, основанной на криптографии.
Децентрализованный консенсус нарушает старую парадигму централизованного консенсуса, когда для управления валидностью транзакции используется одна центральная база данных. Децентрализованная схема (на которой основаны протоколы блокчейна) передает полномочия и доверие децентрализованной виртуальной сети и позволяет ее узлам непрерывно и последовательно регистрировать транзакции в публичном «блоке», создавая уникальную «цепочку», блокчейн. Каждый последующий блок содержит «хэш» (уникальный отпечаток пальца) предыдущего кода, поэтому криптография (через хэш-коды) используется для обеспечения безопасной аутентификации источника транзакции и устраняет необходимость в центральном посреднике. Комбинация криптографии и технологии блокчейна гарантирует, что никогда не будет повторяющейся записи одной и той же транзакции. Важно то, что при такой степени разделения консенсусная логика отделена от самого приложения, поэтому приложения могут быть созданы децентрализованными, и это послужит толчком для ряда системных изменений в программной архитектуре приложений, независимо от того, связаны они с деньгами или нет.
Можно воспринимать консенсус как первый слой децентрализованной архитектуры. Это основа базового протокола, управляющего работой блокчейна. Консенсусный алгоритм – это ядро блокчейна, представляющего метод или протокол, который совершает транзакцию. Это важно, потому что мы должны доверять этим транзакциям. Будучи бизнес-пользователем, вы не должны понимать, как именно работают эти алгоритмы, но вы должны верить в их безопасность и надежность.
Биткоин инициировал консенсусный метод доказательства работы (Proof-of-Work, POW), и его можно считать дедушкой этих алгоритмов. POW опирается на популярный алгоритм Practical Byzantine Fault Tolerant (9), который позволяет безопасно совершать транзакции в соответствии с данным состоянием. Альтернативой POW для достижения согласия является Доказательство доли владения (10). Существуют и другие согласованные протоколы, такие как RAFT, DPOS и Paxos, но мы не будем вставать на скользкую дорожку, сравнивая их друг с другом, потому что с течением времени все они отправятся в утиль. Более важна надежность инструментов и технологий промежуточного программного обеспечения, которые надстраиваются над алгоритмами, а также экосистемы игроков с добавленной стоимостью, которые их окружают.
Один из недостатков алгоритма POW заключается в том, что он не является экологически чистым, поскольку он требует большой вычислительной мощности от специализированных машин, которые генерируют дополнительную энергию. Сильным соперником POW будет алгоритм Proof-of-Stake (POS), который опирается на концепцию виртуального майнинга и голосований на основе токенов, процесс, который не требует такой интенсивной компьютерной обработки, как POW, и обещает обеспечить безопасность более экономичным способом.
Блокчейн изменит роль существующих посредников, создавая новых посредников, но это нарушит традиционные границы стоимости.
Наконец, при обсуждении консенсусного алгоритма нам необходимо рассмотреть метод «разрешения», который определяет, кто контролирует и участвует в процессе консенсуса. Три популярных варианта выбора типа разрешения:
1. Общедоступный (например, POW, POS, делегированный POS).
2. Частный (использует секретные ключи для установления полномочий в ограниченном блокчейне).
3. Получастный (например, на основе консорциума, использует традиционную BFT-отказоустойчивость, обеспечиваемую участниками соглашения).