Степан Гершуни рассказывает о преимуществах и недостатках блокчейн фреймворка Quorum, который используется для быстрого тестирования и разворачивания на его основе полномасштабных высоконагруженных блокчейн сетей для государства, корпораций и консорциумов.

Я не буду сильно углубляться в конкретные кейсы применения, но полезно понимать, что в данном контексте мы рассматриваем Quorum как аналог других фреймворков, таких как Corda, Fabric, Exonum, Substrate и многих других. Целью этой статьи не является доказать, что Quorum превосходит или уступает другим похожим решениям. Скорее наоборот — мы попытаемся объективно разобраться в плюсах и минусах технологии и области применения проекта.

В конце статьи я привожу ссылки и конкретные инструменты, которые позволят вам попробовать запустить сеть или консорциум на основе Quorum самостоятельно, причём даже без необходимости уметь программировать.

Что такое Quorum?

Quorum — это фреймворк с открытым исходным кодом, созданный компанией JPMorgan и использующийся сегодня в большом количестве консорциумных блокчейн проектах. Quorum полностью построен на архитектуре Ethereum и является по своей сути форком клиента geth.

Можно назвать три основных отличия от стандартного протокола Эфириум:

  • конфиденциальные транзакции;
  • новые механизмы консенсуса;
  • производительность.

Конфиденциальность

Основным отличием и функционалом Quorum является улучшенная работа с конфидециальными данными. Теперь у каждой транзакции, которую вы можете отправить в сеть, появилось новое поле privateFor, которое гарантирует, что никто кроме указанного там получателя не сможет расшифровать данные транзакции или смарт-контракта.

Эта функциональность открывает массу возможностей для создания бизнес-процессов со встроенным аудитом и одновременно приватностью. Например, вы можете сделать систему бюджетирования для корпорации, которая с одной стороны не разглашает данные внешним наблюдателям, и при этом с другой стороны может доказать аудитору или внутренней финансовой службе целевое расходование каждой транзакции в блокчейне в неизменном виде.

Консенсус

В блокчейн сетях с ограниченном количеством участников нет смысла использовать непроизводительные и полностью распределённые типы консенсусов, вроде Proof of Work и Proof of Stake. Это дает полную гарантию независимости от количества участников публичным сетям, но всегда увеличивает стоимость проведения и хранения транзакций: одно дело хранить транзакцию на десяти корпоративных нодах, а совсем другое — на сотнях тысяч нод по всему миру, как в Bitcoin и Ethereum. Вместо этого применяется консенсус основанный на голосовании нод под общим названием BFT.

Для консорциумных сетей Quorum поддерживает два типа консенсуса: Istambul BFT (IBFT, вариация PBFT) и RAFT. Оба консенсуса обеспечивают быструю кооперацию нод в закрытой permissioned сети и финальность транзакций.

Основной задачей этих механизмов является простота и надежность формирования закрытых сетей, которые при этом полностью сохраняют главные свойства приватных блокчейнов — неизменность, проверяемость, отслеживаемость данных.

Скорость

Одна из отличительных сторон любых приватных блокчейнов всегда является скорость работы, выраженная в количестве транзакций в секунду. Это напрямую зависит от метода консенсуса используемого в той или иной сети, а так же количества отдельных нод.

Вот в этом эксперименте был проведен стресс-тест сети Quorum, который показал в среднем от 100 до 140 транзакций в секунду. Это примерно в 9 раз выше, чем пропускная способность публичной сети Ethereum. Безусловно, публичные (или permisionless) блокчейны компенсируют пропускную способность надежностью и неизменностью данных, но для не требующих публичности случаев Quorum позволяет проводить onchain значительно больше бизнес-процессов используя при этом знакомую и понятную разработчикам архитектуру Эфириума.

В чем выгода?

Главным преимуществом Quorum можно назвать огромное сообщество разработчиков, обширную документацию и большое количество инструментов для упрощения разработки. Поскольку код и логика Quorum по большей части совпадает с Ethereum, любой смарт-контракт с легкостью и без дополнительной работы можно перенести в консорциумную сеть. Вы можете использовать такие популярные инструменты как Remix, Truffle, язык Solidity и для разработки не требуется нанимать дорогостоящих программистов — сегодня эти технологии достаточно распространены и в силу большого сообщества легки в освоении.

Поддержка крупнейших банков вроде JPMorgan и крупнейших IT-компаний (Microsoft) гарантирует, что проект будет поддерживаться и обновляться параллельно с развитием сети Ethereum адаптируя весь новый функционал.

Интересно. Хочу попробовать сам

Исходный код проекта можно найти на GitHub, но если вам интересно запустить пилот или поэкспериментировать с консорциумной сетью на основе Quorum, то это можно сделать через сервис Chainstack.

Первым делом необходимо зарегистрироваться и зайти на https://console.chainstack.com/, создать проект и запустить в проекте несколько нод по вашему желанию. Вам нужно всего лишь указать облачный сервис и выбрать тип консенсуса — система сама установит необходимое ПО, соединит отдельные ноды в общую сеть и настроит Block Explorer на отображение блоков и транзакций сети. Фактически на этом этапе ваш консорциум или корпоративная сеть готова — осталось только пригласить других участников. Для этого зайдите во вкладку Members и введите почтовые адреса остальных участников проекта. После получения приглашения эти участники смогут увидеть данные своих нод и пользовать смарт-контрактами, отправлять транзакции и читать информацию из общего блокчейна.

Выбрав конкретную ноду внутри Chainstack вы увидите необходимые данные для начала работы: IP адрес, публичный и приватный ключ, тип консенсуса и другую информацию. Chainstack автоматически будет обновлять ноду до последней версии, масштабировать сеть при необходимости и давать интерфейсы (API) для разворачивания смарт-контрактов и интеграции их в ваши внутренниие бизнес-процессы.