Проекты на блокчейне: базовый FAQ для бизнес-заказчиков

Проекты на блокчейне: базовый FAQ для бизнес-заказчиков

Блокчейн уже несколько лет становится важнейшей темой ключевых технологических ивентов во всем мире. Но, как и многие новые направления, блокчейн часто сталкивается с непониманием людей бизнеса, в особенности далекого от IT. В этой статье мы попробуем соединить бизнес и технологии — смоделируем диалог двух экспертов из разных сфер. В роли первого — коммерческий директор Waves Enterprise Роман Хорин, в роли второго — технический директор компании Денис Васин.

— Что такое блокчейн, если объяснять простым языком? В чем его основные плюсы?

Блокчейн — это распределенный реестр. Говоря понятным бизнесу языком, это книга проводок, которая всегда у всех находится в одном и том же виде. Состоит эта книга из блоков с данными, которые со временем выстраиваются в цепочку и согласуются между всеми участниками сети. Таким образом, участники могут легко взаимодействовать друг с другом, поскольку располагают одним и тем же набором актуальных данных и всей историей транзакций.

— Я правильно понял, что базовая ценность блокчейна для бизнеса — это создание единого поля транзакций, где не нужны дополнительные интеграции и всё прозрачно?

Да, и более того, видна вся история изменений данных.

— Стоит ли создавать свою майнинг-ферму и арендовать для нее ангар, чтобы внедрить блокчейн? Сколько киловатт и видеокарт потребуется?

Объясню, зачем вообще в блокчейне нужны видеокарты, фермы и гигантские вычислительные мощности в принципе. Большинство блокчейнов, с которыми мы сталкиваемся в жизни, — это публичные блокчейны. Любой человек может стать участником такой сети, осуществить транзакцию или попросить выполнить смарт-контракт. Соответственно, в таких сетях важно предотвращать спам, недобросовестное использование. В качестве барьера вводятся комиссии за операции, которые выплачиваются в токенах сети майнерам, поддерживающим эту сеть. Таким образом реализуется и защита сети, и мотивация активных участников — с помощью ресурсоемкого консенсуса Proof-of-Work (PoW) или финансово затратного Proof-of-Stake Консенсус — это алгоритм, который проверяет верность транзакций сети и поддерживает тем самым ее единое состояние для всех участников.

В корпоративной сети доступом управляют администраторы, и поэтому все участники по умолчанию являются доверенными. Поэтому здесь не нужны экономические стимулы как в публичных сетях. Мы можем использовать другие алгоритмы консенсуса, которые не требуют ресурсоемких вычислений. Например, в Proof-of-Authority (PoA) не нужно ни видеокарт, ни майнинг-ферм. Для поддержки такого блокчейна обычного хватает сервера с 2–4 ядрами.

— В чем основная разница между блокчейн-проектами, представленными на рынке?

Важнейшее различие между любыми блокчейнами — это используемые алгоритмы консенсуса, о которых я начал говорить в прошлом вопросе. PoW я описал, теперь продолжу про PoS. Главное преимущество PoS в том, что нам не нужно покупать дорогое железо для майнинга токенов. Вся необходимая сумма уже сгенерирована, она распределяется между участниками, которые могут вложить токены в работу сети и получать за это проценты. И наоборот, за недобросовестную деятельность участника сети могут лишить части вложенных токенов — это называется слэшинг.

Но все-таки и PoS, и PoW требуют финансовых вложений в железо или токены, поэтому в энтерпрайз-сетях они практически не используются. Там чаще применяют алгоритмы семейств BFT (Byzantine Fault Tolerance) и CFT (Crash Fault Tolerance). В них можно достигнуть консенсуса таким образом, чтобы практически все участники сети взаимодействовали друг с другом — это повышает надежность. Основной же недостаток в том, что при быстром росте числа участников сети такие алгоритмы становится неэффективными, поскольку возникает слишком много сетевых сообщений и соответственно значительная нагрузка на сеть. Так что количество участников такой сети приходится ограничивать — этим и занимаются ее администраторы.

Более масштабируемый вариант консенсуса — Proof-of-Authority (PoA), который также реализован и у нас. Он позволяет доверенным участникам по очереди создавать новые блоки сети (в них сохраняются все транзакции), а также проверять результат создания за предыдущим участником. Так мы достигаем баланса между надежностью сети и объемом требуемых ресурсов. Консенсус PoA позволяет достигнуть скорости порядка 2000 транзакций в секунду без ограничения количества узлов в сети

В Waves Enterprise для этого алгоритма реализована надстройка CFT, которая позволяет ускорить согласование блоков и, соответственно, увеличить производительность. Надежность всех алгоритмов Proof-of-… основана на том, что с каждым новым блоком данных вероятность проблем в предыдущих блоках уменьшается. А использование CFT позволяет гарантировать достоверность данных менее чем за пару секунд, даже в последнем на данный момент блоке.

Это преимущество очень важно для интеграционных проектов. Обычно в ходе таких проектов создается сложная схема на основе интеграционной шины и адаптеров, обговариваются проводки, транзакции, формируются и создаются канонические модели данных. Первое время всё работает нормально, но рано или поздно начинаются звонки с уточнениями: «А что, пришло? А сколько пришло?». Это следствие отсутствия единого слоя согласования данных — эти проблемы и решаются с помощью корпоративного блокчейна.

Сравнение Waves Enterprise с несколькими крупнейшими блокчейнами для бизнеса в мире
Сравнение Waves Enterprise с несколькими крупнейшими блокчейнами для бизнеса в мире

— Правда ли, что из блокчейна никак нельзя удалить данные?

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

Проекты на блокчейне: базовый FAQ для бизнес-заказчиков

В блокчейн при этом записывается хеш — криптографический отпечаток данных, некая комбинация символов, которая позволяет идентифицировать данные, не раскрывая их. Как отпечатки пальцев у человека. Этот хеш хранится в блокчейне и используется для проверки целостности данных, а сами данные передаются вне блокчейна, с использованием асимметричной криптографии с открытым и закрытым ключом, что обеспечивает их защиту. Получив данные, участник сравнивает их хеш с тем, что был записан в блокчейн при отправке. Если хеш совпадает, данные точно не были изменены.

— А можно ли создавать на основе блокчейна проекты с повышенными требованиями к конфиденциальности данных?

Да, если блокчейн-платформа поддерживает необходимые криптографические системы. У нас по умолчанию используется криптография Curve25519 на основе эллиптических кривых, это популярное решение в индустрии, отлично подходит для запуска своих проектов. Кроме того, у нас поддерживается семейство алгоритмов ГОСТ, и сейчас платформа проходит сертификацию в ФСБ как средство криптографической защиты информации. Это открывает путь к государственным проектам с повышенными требованиями к защите.

— Есть ли уже в России государственные проекты, которые работают на блокчейне?

Да, и среди них один из наших крупнейших проектов — платформа распределенного реестра ФНС (ЦПРР), к которой подключено порядка 120 участников: большинство крупных российских банков, операторы электронного документооборота, ведомства.

Изначально платформа была создана для выдачи льготных кредитов бизнесу, согласно постановлениям Минэкономразвития РФ. Сейчас на той же платформе создаются новые проекты. Например, реестр машиночитаемых доверенностей, который позволит бизнесу выдавать доверенности в электронной форме, а контрагентам — проверять полномочия подписантов. Другой проект — досье налогоплательщиков: он ускорит работу банков с бизнес-клиентами за счет того, что банки смогут быстро запрашивать нужные сведения у ФНС напрямую через блокчейн. Здесь как раз используются соответствующие ГОСТ криптографические алгоритмы, о которых я говорил в предыдущем вопросе.

В 2020 и 2021 году на нашей платформе также проходило федеральное онлайн-голосование — подобные кейсы разных масштабов на блокчейне тоже получают распространение. Всего за три дня проголосовали более 600 тысяч человек, платформа выдержала большие нагрузки, и независимые наблюдатели остались довольны.

— В кейсе с ФНС упомянуто сразу несколько проектов, нужно ли для каждого из них заново развертывать платформу?

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

Любой блокчейн обладает «сетевым эффектом». Если в нашей сети уже есть банки и регуляторы, как в проекте в ФНС, то достаточно подключить прямо сюда операторов электронного документооборота, и можно воплощать машиночитаемые доверенности. Наращивать бизнес-ценность блокчейна можно с минимальными затратами: достаточно лишь расширять сеть под требования новых проектов.

— Блокчейн — довольно новое направление в IT, как обстоят дела с кадрами, нужно ли компаниям набирать и обучать свою блокчейн-команду?

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

Чтобы снизить порог входа, мы в платформе Waves Enterprise предусмотрели возможность разработки на языках программирования общего назначения, таких как Java и JavaScript. Если освоить наш SDK, то можно самостоятельно менять бизнес-логику в сети без привлечения вендора.

— Как в блокчейне реализуется бизнес-логика?

Для этого существуют так называемые смарт-контракты — программы, выполняемые внутри блокчейна. Результат выполнения этой программы проверяется участниками сети в соответствии с алгоритмами консенсуса, о которых я рассказал ранее. Если всё сошлось, результат выполнения смарт-контракта записывается в блокчейн. Это самое простое определение смарт-контрактов, никакой магии здесь нет.

У нас на платформе смарт-контракты упаковываются с помощью Docker — самой популярной сегодня платформе контейнеризации. Как я уже говорил, это позволяет писать приложения на любом языке — Go, Rust, Java, JavaScript, C#, C и т.д. Чтобы дополнительно облегчить разработку, мы представили и SDK на основе популярных в индустрии языков программирования - JavaScript/Typescript и Java/Kotlin. Docker используется во многих компаниях, ребята со знанием Java или JavaScript есть везде. Остается освоить взаимодействие с платформой и наш SDK; обычно на это хватает двухдневного обучения. Помимо адекватного владения языком программирования, разработчику смарт-контрактов важно уметь проверять код на безопасность, поскольку смарт-контракты часто используются в финансовой сфере и содержат фундаментальные инварианты.

— Насколько блокчейн зависит от зарубежных компонентов, от иностранного ПО?

Часто в блокчейн-проектах используются готовые open-source разработки. Мы тоже не можем утверждать, что сделали все сами с нуля. Да, мы используем компоненты, созданные мировым сообществом разработчиков, но все эти компоненты основаны на открытом исходном коде, поэтому никто не может сделать их недоступными, запретить или удалить. Недавно мы опубликовали на GitHub весь код нашей платформы — вы можете самостоятельно изучить его при некоторой технической подготовке.

— Как долго разрабатываются проекты на блокчейне?

Здесь сложно дать ответ, так как сроки чаще всего зависят не от технологий проекта, а от объема бизнес-требований. Использование блокчейна само по себе существенно не влияет на сроки. Если у компании уже есть функционирующая блокчейн-сеть, то создание проектов на ее основе будет намного проще и быстрее. Это «сетевой эффект» блокчейна, о котором я ранее уже говорил.

— А могут ли блокчейны взаимодействовать друг с другом?

Да, это одна из базовых функций блокчейна, которая реализуется с помощью бриджей. Бриджи (мосты) позволяют осуществлять разные операции между блокчейнами. У Waves Enterprise, например, есть здесь мосты в сети Waves, Bitcoin. Также у нас был успешный пилот взаимодействия с блокчейн-платформой Сбербанка на базе Hyperledger Fabric.

— Какие характеристики важны у блокчейн-сетей? Как измеряется их скорость?

Скорость (пропускная способность) блокчейна зависит от многих параметров, поэтому показатели у разных вендоров могут сильно различаться. Биткоин, например, сравнительно медленный, потому что использует тяжелые вычисления для реализации алгоритма Proof-Of-Work, имеет ограничения на размер блока. Да и вообще это первое поколение блокчейн-сетей, которое обеспечивает десятки, максимум сотни транзакций в секунду.

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

— Как можно попробовать блокчейн самостоятельно? Нужно ли для этого поднимать большую распределенную сеть?

Пощупать блокчейн можно и на локальной машине разработчика, где создается одна-единственная нода. Далее можно переходить к построению базовой песочницы, распределенной среды, для которой необходимо три независимых узла. У нас есть инструмент, который позволяет легко создать такую сеть в контуре одной или разных компаний.

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

22
Начать дискуссию