Почему блокчейн от IBM — не настоящий блокчейн

IBM является крупным игроком в мире корпоративного блокчейна, предлагая блокчейн-платформу на основе Hyperledger Fabric и запуская пилотные блокчейн-проекты с крупными компаниями, такими как Walmart и Aetna.

Как один из многих участников (в том числе недавно объявленных Microsoft и Salesforce) некоммерческой организации Hyperledger Foundation с открытым исходным кодом, IBM сделала огромные инвестиции в продвижение Fabric в качестве частного или «разрешенного» блокчейна, подразумевая, что она предлагает функции, общие с известными блокчейнами, такими как биткоин или эфириум, но при этом удаляются любые аспекты, которые могут быть «непригодны для предприятия».

Однако технология, которую IBM фактически продает и называет «блокчейн», т. е. Hyperledger Fabric, жертвует наиболее важными функциями настоящего блокчейна, как разрешенного, так и общедоступного. Архитектура Fabric гораздо сложнее, чем любая блокчейн-платформа, и в то же время менее защищена от взлома и атак. Можно подумать, что «приватный» блокчейн, по крайней мере, обеспечит масштабируемость и производительность, но и здесь Fabric провалился. Проще говоря, пилоты, построенные на основе Fabric, столкнутся со сложным и небезопасным развертыванием, которое не сможет масштабироваться вместе с их бизнесом.

Варианты блокчейна на рынке

Когда я работал в JPMorgan Chase в 2016 году, я руководил новой технологической группой, которая исследовала и проверяла блокчейны на предмет потенциального использования и стратегических инвестиций банка. Данное исследование включало углубленный анализ ранних версий Hyperledger, Axoni, Symbiont, Ripple и Ethereum. Тогда было ясно, что блокчейн-варианты на рынке были технологически неадекватны для реальных корпоративных сценариев использования. К сожалению, сегодня мы видим те же основные проблемы с Hyperledger Fabric.

Были подняты следующие вопросы: как язык смарт-контракта блокчейна безопасно и просто выражает сложные бизнес-правила? Как подписи с открытым ключом гарантируют надежность? Может ли система масштабироваться до дополнительных участников (узлов) без существенного снижения производительности? И, при будущем рассмотрении предприятием, сможете ли вы легко взаимодействовать с другими публичными и частными блокчейнами?

Используя эти вопросы в качестве основы, я считаю, что в системе IBM принципиально отсутствуют обязательные элементы блокчейна с вводящими в заблуждение показателями производительности и сомнительной долгосрочной жизнеспособностью бизнеса. Хотя мои коллеги и я не рассматриваем игру чисел (число транзакций в секунду, количество узлов) как единственный фактор принятия блокчейна, мы считаем важным разъяснить людям, что такое блокчейн, а что нет. Надеемся, что это образование поможет каждому лучше понять ландшафт появляющейся технологии блокчейна.

Что является блокчейном, а что нет

Чтобы действительно понять, где находится блокчейн IBM, нам нужно взглянуть на само определение блокчейна. По своей сути блокчейн представляет собой децентрализованный неизменный регистр событий или транзакций, в котором истина обеспечивается механизмом консенсуса. В публичных блокчейнах, таких как Биткоин и Эфириум, этот консенсус достигается с помощью Proof of Work или «майнинга». В разрешенном блокчейне консенсус может быть достигнут путем предоставления участниками криптографических подписей голосовать за то, что написано. В любом случае, ни одна центральная власть не может решить, что является правдой.

Определение IBM блокчейна охватывает распределенные и неизменные элементы блокчейна, но удобно не учитывает децентрализованный консенсус — потому что Hyperledger Fabric вообще не требует механизма истинного консенсуса. Вместо этого он предлагает использовать «службу заказа» под названием Kafka. Проблема в том, что без принудительного, демократизированного, криптографически безопасного голосования между участниками вы не сможете доказать, что кто-то не вмешивался в регистр. Отказоустойчивый консенсус является отличительной чертой блокчейна, а без него «блокчейн» IBM представляет собой чуть больше, чем список записей с метками времени.

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

Исследователи Fabric играют быстро и свободно с показателями производительности, потому что, по сути, архитектура Fabric не может масштабироваться при сохранении максимальной производительности. В Fabric используется многоцепная среда (называемая «каналами») для обеспечения конфиденциальности между участниками. Обеспечение конфиденциальности является важной особенностью для частного «корпоративного» блокчейна и обязательно включает в себя компромиссы и сложность, но многоцепное решение — плохой выбор для масштабируемости. Оно также создает крайне сложное развертывание с неоднородными узлами, ненадежными смарт-контрактами и распространяющимися потенциальными точками отказа.

Таким образом, показатели производительности для стандартного развертывания Fabric неинтересны для запуска, быстро снижаются по мере добавления узлов и являются одноканальными: если вы хотите работать со всей сетью по нескольким каналам, эти цифры даже не имеют значения. Тем не менее, при рассмотрении отдельных каналов, эта система пытается получить более 800 транзакций в секунду (TPS), но даже 16-канальная конфигурация едва может превысить 1500 TPS, а задержки достигают диапазона 10-20 секунд на верхних пропускных способностях.

Недавние усилия по ускорению Fabric привели к заявлению о достижении до 20 000 TPS, но изменения, внесенные исследователями в архитектуру, настолько далеки от блокчейна, что их невозможно распознать: индоссанты больше не действуют как валидаторы, а Kafka закреплен как единственно возможный сервис заказов (теоретически, Fabric может принять истинный блокчейн-консенсус, но он будет настолько медленным, что никто никогда не будет использовать его в производстве). Наконец, это все еще одноканальные числа, означающие, что само понятие блокчейна как общего источника правды недействительно.

Почему смарт-контракты и гибридные варианты имеют значение

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

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

Смарт-контракты Hyperledger Fabric («цепной код») могут быть написаны на нескольких языках программирования, включая общий Javascript или Go. Но есть компромисс между удобством программиста, уже знающего язык общего назначения, и безопасностью, которую обеспечивает язык, специфичный для предметной области. Когда ставки столь же высоки, как в блокчейне — где миллионы долларов могут быть потеряны, если код содержит ошибки или неверен, потому что он не был разработан для блокчейна — язык смарт-контрактов должен быть специально создан и безопасен. В идеале, его также было бы легко изучить и использовать в желаемой среде блокчейна. Цепной код (сhaincode) в значительной степени терпит неудачу в этом отношении; мы обнаружили, что для выполнения классического руководства для программистов «Здравствуй, мир» потребовалось около 150 строк кода, и этот огромный объем кода может стать питательной средой для ошибок на миллион долларов.

Не готов к будущему

Все более искушенные наблюдатели за блокчейн-экосистемами осознают, что частные и публичные блокчейны не будут существовать в вакууме, а вместо этого захотят работать вместе: частная сеть захочет сделать токен доступным для потребителей в публичном блокчейне, а публичное децентрализованное приложение блокчейна захочет хранить конфиденциальную информацию в приватном блокчейне. К сожалению, пользователи IBM Fabric (а также R3 Corda) могут оказаться «отрезанными» от публичных блокчейнов из-за явной несовместимости архитектуры, а также из-за неспособности их языка смарт-контрактов беспрепятственно работать как в публичной, так и в частной среде.

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

Перевод материала: https://cointelegraph.com/news/why-ibms-blockchain-isnt-a-real-blockchain

Поделиться новостью

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *