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

Источник · Перевод автора

Стюарт Попойдж (Stuart Popejoy) имеет 15-летний опыт создания торговых систем и обмена костяками для финансовой индустрии. Прежде чем стать соучредителем Kadena с Уиллом Мартино (Will Martino) в 2016 году и стать президентом компании, Стюарт работал в JPMorgan Chase в отделе новых продуктов, где он возглавлял и разрабатывал основной продукт JPMorgan — блокчейн Juno. Стюарт также написал алгоритмические торговые сценарии для JPMorgan, которые легли в основу его создания простого, специально разработанного для смарт-контрактов языка Pact.

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. Но есть компромисс между удобством программиста, уже знающего язык общего назначения, и безопасностью, которую обеспечивает язык, специфичный для предметной области. Когда ставки столь же высоки, как в блокчейне — где миллионы долларов могут быть потеряны, если код содержит ошибки или неверен, потому что он не был разработан для блокчейна — язык умных контрактов должен быть специально создан и безопасен. В идеале, это также было бы легко изучить и использовать в желаемой среде блокчейна. Цепной код в значительной степени терпит неудачу в этом отношении; мы обнаружили, что для выполнения классического учебника для программистов «Здравствуй, мир» потребовалось около 150 строк кода, и этот огромный объем кода может стать питательной средой для ошибок на миллион долларов.

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

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

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