9. Одноранговая сеть (Р2Р)
В блокчейнах нет никакого «центра». Архитектурно базовым уровнем блокчейна является одноранговая сеть. Блокчейн подталкивает к децентрализации благодаря своим одноранговым узлам. Сеть в действительности – это компьютер. Вы проверяете транзакции друг друга на уровне одноранговой сети. По существу блокчейн может рассматриваться как вычислительное множество, которое действительно децентрализовано.
Любой пользователь может мгновенно связаться с другим пользователем, независимо от того, в какой точке вселенной тот находится, и независимо от его часов работы. Для фильтрации, блокировки или задержки транзакции между двумя или более пользователями или между узлами, которые осуществляют транзакцию, не требуется никакого посредника. Любой узел в сети может предлагать услуги на основе своих знаний о транзакциях, где бы в этой сети они ни находились.
В дополнение к созданию технической сети P2P, блокчейн также создает рынок пользователей. Блокчейн-сети и приложения на их основе формируют свою собственную (распределенную) экономику с разными показателями и динамичностью. Таким образом, блокчейны приносят с собой экономическую модель, и эту их ключевую функцию мы рассмотрим далее в этой книге.
10. Уровень служб доверия
Всем блокчейнам обычно доверяют как базовым единицам обслуживания. По сути, это и функция, и предоставляемые услуги. Но доверие не ограничивается только транзакциями. Оно распространяется на данные, услуги, процессы, идентичность, бизнес-логику, условия соглашения или физические объекты. Это относится практически ко всему, что может быть оцифровано как (интеллектуальный) актив с присущей ему или связанной с ним ценностью.
А теперь представьте себе возможный гибрид инноваций, который появится на вершине этих десяти мощных функций и характеристик. Объединив их вместе, вы начнете представлять себе невероятные возможности блокчейнов.
Переходы состояний / Машина состояний. Что это?
Блокчейн годится не для всего. И не все соответствует парадигме блокчейна. Блокчейн – это «машина состояний», еще одно понятие, которое необходимо усвоить. В техническом плане состояние просто означает «сохраненная информация» в определенный момент времени. Стейт-машина – это компьютер или устройство, которое запоминает состояние чего-либо в данный момент времени. По отношению к некоторым исходным данным этот статус может измениться, и блокчейн обеспечивает итоговый результат для этих внесенных изменений. Отслеживание переходов этих состояний важно, и с этим блокчейн справляется хорошо, причем неизменным образом. Напротив, запись базы данных изменчива, потому что ее можно многократно переписывать. Не все базы данных имеют аудиторские следы, и даже в тех, что имеют, аудиторский след может быть уничтожен или потерян, поскольку он не защищен от несанкционированного доступа. В блокчейне история перехода является постоянной частью информации о состоянии. В блокчейне Ethereum хранится особое «дерево состояний», представляющее текущий баланс каждого адреса, и «список транзакций», представляющий транзакции между текущим блоком и предыдущими в каждом блоке.
Машины состояний подходят для имплементации распределенных систем, которые должны быть отказоустойчивыми.
В основе понимания тягот смещения парадигмы блокчейна лежит понимание концепции «децентрализованного согласия», ключевой принцип компьютерной революции, основанной на криптографии.
Децентрализованный консенсус нарушает старую парадигму централизованного консенсуса, когда для управления валидностью транзакции используется одна центральная база данных. Децентрализованная схема (на которой основаны протоколы блокчейна) передает полномочия и доверие децентрализованной виртуальной сети и позволяет ее узлам непрерывно и последовательно регистрировать транзакции в публичном «блоке», создавая уникальную «цепочку», блокчейн. Каждый последующий блок содержит «хэш» (уникальный отпечаток пальца) предыдущего кода, поэтому криптография (через хэш-коды) используется для обеспечения безопасной аутентификации источника транзакции и устраняет необходимость в центральном посреднике. Комбинация криптографии и технологии блокчейна гарантирует, что никогда не будет повторяющейся записи одной и той же транзакции. Важно то, что при такой степени разделения консенсусная логика отделена от самого приложения, поэтому приложения могут быть созданы децентрализованными, и это послужит толчком для ряда системных изменений в программной архитектуре приложений, независимо от того, связаны они с деньгами или нет.