Книга: Блокчейн для бизнеса
Назад: Организационные модели
Дальше: Разработка программного обеспечения блокчейна

Функциональная архитектура блокчейна

 

Одним из способов понять масштаб блокчейнов является изучение разносторонней функциональности, на которую они способны. В этом разделе представлен предложенный общий подход «строительных блоков», который был получен путем анализа различных подходов, существующих на рынке.
В 2016 году казалось, что таких частей много, но произойдет консолидация, и мы постепенно начнем меньше говорить о том, что находится под капотом, а больше станем рассуждать о более высоких возможностях. В конце концов, этот тип технологической инфраструктуры будет считаться само собой разумеющимся, и большая часть его будет собрана нестандартно, инновационно, а не в коробке из ИКЕА, как на ранних этапах.
Ниже перечислены основные элементы технологии блокчейнов:

 

 

Давайте более детально рассмотрим каждую из этих частей.

 

Центр и протокол
Одноранговая сеть
Одноранговая сеть (P2P) – это совокупность компьютеров, которые соединены вместе как узлы, и их топология постоянно расширяется. Это базовый основополагающий элемент блокчейна. Каждый узел использует одно и то же программное обеспечение, тем самым обеспечивая постоянную работоспособность всей сети, что означает, что, если один узел выходит из строя или не отвечает, это всегда компенсируется работой других узлов. По сути, сеть P2P сложно полностью вывести из строя. Для этого вам нужно было бы убрать все узлы.

 

Алгоритм консенсуса
Различные методы, которые определяют, «которые из» или «сколько» узлов могут участвовать в аспектах разрешения валидации транзакций, также являются частью конфигурации согласованного алгоритма, и они помогают определить, является ли результат публичной, частной или полуприватной формой консенсуса. Майнинг может быть или не быть вовлечен в этот процесс. Ключи и подписи являются частью этой функции.
В первые годы развития блокчейна часто велись жаркие дискуссии о том, какой тип консенсуса является лучшим, но по мере созревания этих технологий и, конечно же, после 2018 года тип консенсусного алгоритма перестанет быть спорным вопросом, так как его эффективность, безопасность и поддержка будут восприниматься как должное.

 

Виртуальная машина
Это концепция, заимствованная из популярного подхода Java Virtual Machine (JVM), но впервые примененная на Ethereum, в контексте развития блокчейна. Виртуальная машина отображает ту часть протокола, которая касается внутреннего состояния и вычислений. Его можно представить как большой децентрализованный компьютер (фактически состоящий из нескольких машин P2P), содержащий информацию о миллионах учетных записей, которые обновляют внутреннюю базу данных, код и взаимодействуют друг с другом. Программы, написанные на языке умных контрактов (Smart Contract Language), компилируются в виртуальную машину, и для создания контрактов вы отправляете транзакцию, содержащую ваш код.

 

История записей
Транзакции фактически записываются в последовательные блоки данных (отсюда слово блокчейн – цепочка блоков), поэтому существует исторический журнал регистрации только для этих транзакций, который постоянно поддерживается и обновляется. Проблема состоит в том, что блокчейн является распределенным реестром. В техническом смысле это не так, но действует именно так, потому что сбор транзакций по блокам эквивалентен распределенному регистру. Тем не менее вы можете создавать неизменные распределенные регистровые приложения на основе исторических записей, которые предоставляет блокчейн.

 

Состояние баланса
Биткоин не был разработан под аккаунты, хотя учетные записи – это первое, что приходит в голову, когда речь заходит о транзакциях, которые происходят, потому что мы привыкли именно так воспринимать наши банковские операции. Под капотом биткоин использует метод, называемый Unspent Transaction Outputs (UTXO) – неизрасходованный «выход» транзакции, который связывает неизрасходованные транзакции в качестве выходов, которые могут использоваться в качестве входов в новой транзакции. Другие блокчейны используют другие методы для отслеживания состояния баланса. Реестр содержит моментальный снимок текущих балансов, удерживаемых повсюду в сети, а не цепочку исторических событий. В Ethereum состояние состоит из объектов, называемых «учетными записями», при этом каждая учетная запись с переходом состояния является прямой передачей стоимости и информации между учетными записями.

 

 

Назад: Организационные модели
Дальше: Разработка программного обеспечения блокчейна