Привет Хабр! Предлагаю вашему вниманию перевод статьи «Do you need a Blockchain»
Блокчейн был представлен как технологическая инновация способная привести к революции в общественных отношениях и торговле.Эта репутация частично относится к его свойствам позволяющим недоверяющим друг другу сторонам взаимодействовать и меняться финансовыми активами не опираясь на доверенную третью сторону.
В этой статье мы критически проанализируем, является ли блокчейн действительно оптимальным решением для конкретного сценария использования.
Мы различаем публичные (permissionless) Bitcoin \ Ethereum, и частные (permissioned) Hyperledger \ Corda блокчейны и противопоставляем их свойства свойствам централизованно управляемых баз данных. мы покажем структурированную методику для определения оптимальных технических подходов при решении конкретных прикладных задач. мы проанализируем три случая — Управление цепями поставок (Supply Chain Management), межбанковские и международные платежи (Interbank and International Payments), и Децентрализованные автономные организации (Decentralized Autonomous Organizations).
Часть 1 (Управление цепочками поставок)
Блокчейн был представлен как технологическая инновация способная привести к революции в общественных отношениях и торговле.Эта репутация частично относится к его свойствам позволяющим недоверяющим друг другу сторонам взаимодействовать и меняться финансовыми активами не опираясь на доверенную третью сторону.
В этой статье мы критически проанализируем, является ли блокчейн действительно оптимальным решением для конкретного сценария использования.
Мы различаем публичные (permissionless) Bitcoin \ Ethereum, и частные (permissioned) Hyperledger \ Corda блокчейны и противопоставляем их свойства свойствам централизованно управляемых баз данных. мы покажем структурированную методику для определения оптимальных технических подходов при решении конкретных прикладных задач. мы проанализируем три случая — Управление цепями поставок (Supply Chain Management), межбанковские и международные платежи (Interbank and International Payments), и Децентрализованные автономные организации (Decentralized Autonomous Organizations).
- Предыстория блокчейн
Название блокчейн происходит от цепочки блоков. Каждый блок связан с предыдущим через криптографический хэш. Блок -это структура данных, позволяющая хранить список транзакций. Узлы блокчейн сети создают и обмениваются транзакциями и изменяют состояние блокчейн. транзакции могут иметь смысл денежных сумм, но не ограничены этим применением и могут, например, исполнять пользовательские программы, называемые смарт-контрактами.
Следующие различия характерны для участников рассматриваемых сетей. Как и в любой базе данных «писатель» («writer») — это сущность, записывающая состояние в базу данных. В блокчейн это относится к участнику, задействованному в протоколе консенсуса и участвующему в наполнении блокчейна данными. Писатель накапливает транзакции в блоки и дописывает блоки в блокчейн. Писатель также может называться «валидатором». «Читатель» — сущность, которая не участвует в наполнении блокчейн, но может участвовать либо в процессе создания транзакций, либо просто читать, анализировать или проводить аудит блокчейн.
Публичные блокчейн системы
Bitcoin и Ethereum представляют пример публичных сетей, которые открыты и децентрализованы. Любой узел может присоединяться и покидать сеть и становиться валидатором либо читателем в любой момент. нет центрального органа управления, управляющего членством или ограничивающего читателей или писателей. Эта открытость подразумевает доступность записей для чтения любым узлом. Использование криптографических примитивов, однако, дает техническую возможность создать публичную блокчейн сеть со скрытой приватной информацией ( Zerocash )
Частные блокчейн системы
Для ограничения числа участников были предложены так называемые частные блокчейн системы. Здесь центральный орган раздает права и атрибуты операций чтения и записи в блокчейн. Для обеспечения изоляции и приватности, читатели и писатели могут иметь разделенные параллельные цепочки блоков, связанные между собой. Наиболее широко известные системы, это продукты Hyperledger и Corda R3.
- Свойства
Общественная Проверяемость позволяет всем убедиться в правильности текущего состояния системы. В распределенных реестрах, каждое состояние согласовывается валидаторами, это быть ограниченное подмножество от всех пользователей. Любой наблюдатель, тем не менее, может убедиться, что состояние реестра меняется в соответствии с протоколом, и у всех наблюдателей вид реестра будет один и тот же. В централизованных системах, различные наблюдатели могут иметь различные виды состояния. Следовательно, они не могут определить правильность выполнения транзакций. Вместо этого они должны доверять центральному органу.
Прозрачность данных и процесса обновления состояния является требованием для общественной проверяемости.тем не менее, количество информации, доступное обозревателю, может разниться, и не каждый участник нуждается в доступе к каждому фрагменту информации.
Конфиденциальность это важная часть любой системы.Существует внутреннее противоречие между конфиденциальностью и прозрачностью. Конфиденциальности, безусловно, легче достичь в централизованной системе, потому что прозрачность и общественная проверяемость ей не требуются.
Целостность информации гарантирует, что информация защищена от несанкционированных изменений, т. е. что полученные данные верны. Целостность информации тесно связана с публичной проверяемостью. Если система обеспечивает общедоступную проверяемость, любой может проверить целостность данных; в противном случае целостность может быть обеспечена только в том случае, если централизованная система не будет скомпрометирована.
Избыточность данных важна для многих случаев использования. В blockchain системах, избыточность по своей сути обеспечивается через репликацию на узлах. В централизованных системах, избыточность обычно достигается путем репликации на различных физических серверах и с помощью создания резервных копий.
Якорь доверия (Trust Anchor) определяет, кто представляет высшую власть
в данной системе, которая имеет право предоставлять и отменять разрешения на чтение
и доступ на запись в систему.
Противоречие между прозрачностью и конфиденциальностью. Существует неотъемлемый компромисс между прозрачностью и конфиденциальностью. Полностью прозрачная система позволяет любому увидеть любую часть информация, т. е. конфиденциальность не предоставляется. Точно так же, в полностью частной системе не обеспечивает никакой прозрачности. Однако, система может обеспечить гарантированную конфиденциальность, без утечки информации о состоянии каждого отдельного участника. Конфиденциальность в публичной системе может быть достигнута с использованием криптографических методов, но обычно приходит за счет более низкой эффективности. Криптовалюта Zerocash, например, использует вычислительно дорогую криптографию для того чтобы обеспечить полную анонимность, в тоже время обеспечивает достаточную прозрачность для публичной проверки состояния реестра.
- Где блокчейн имеет смысл В общем случае, использование открытого или закрытого блокчейна имеет смысл, когда несколько взаимно недоверяющих сущностей хотят взаимодействовать и изменить состояние системы, и не хотя использовать доверенную третью сторону. Чтобы облегчить процесс принятия решений, мы предоставляем схему на рис. 1. рассматривается одна или несколько сторон, которые пишут состояние системы, т. е. писатель, это сущность с правом записи в типичную базу данных или участник консенсуса в блокчейн системе.
Если нет необходимости хранить данные, база данных не требуется вообще, т. е. блокчейн, как форма базы данных, бесполезен. Аналогично, если существует только один писатель, блокчейн не предоставляет дополнительных гарантий и обычная база лучше подходят, потому что это обеспечивает лучшую производительность с точки зрения пропускной способности и задержек. Если доверенная третья сторона (ДТС) доступна, есть два варианта.первый вариант, если ДТС всегда онлайн, операции записи могут быть переданы ему и он может функционировать как верификатор для переходов состояний. Второй, если ДТС обычно оффлайн, он может функционировать в качестве центра сертификации в настройке разрешенного блокчейна, т. е. где все писатели системы известны. Если все писатели взаимно доверяют друг другу, т. е. они предполагают, что ни один участник не является вредоносным, база данных с общим доступом на запись, вероятно, лучшее решение. Если они не доверяют друг другу, использование частного блокчейн имеет смысл.
В зависимости от того, требуется ли общественная проверяемость, любой может разрешается читать состояние (публичный блокчейн с разграничением прав) или набор читателей также может быть ограничен (частный блокчейн с разграничением прав) Если набор авторов не фиксирован и неизвестен участникам, как и в случае со многими криптовалютами, такими как Биткоин, публичный блокчейн является подходящим решением:
В таблице 1 мы сравним некоторые свойства публичных и частных блокчейн и централизованных баз данных. В централизованной системе, производительность в терминах задержки и пропускной способности гораздо лучше, чем в блокчейн системах, так как блокчейн системы имеют дополнительную сложность ( коммуникативную и вычислительную) из-за механизма консенсуса. Например, Биткоин, в настоящее время поддерживает пропускную способность приблизительно 7 транзакций в секунду (которые смогли бы быть расширено примерно до 66 без ущерба для безопасности), пока централизованная система, такая как Виза может обработать в пике более пятидесяти тысяч транзакций. Существует компромисс между децентрализация, т. е. насколько хорошо система масштабируется до писатели без взаимного доверия и пропускной способности, т. е. сколько состояний обновления система может обрабатывать в заданное время. Когда принятие решения об использовании блокчейн-системы, этот компромисс также следует принимать во внимание. - Варианты использования
Управление цепочками поставок
В управлении цепочками поставок (SCM), поток материалов и услуг, необходимый для производства данного продукта, включает в себя различные промежуточные циклы хранения и производства вплоть до момента доставки до конечной точки потребления. Типично, множественные компании взаимодействуют и торгуют на глобальном рынке в рамках данной цепи поставок. Из-за этой сложности, сопутствующие расходы управления активами, процессами и обнаружением отказов особенно дорого.
Несколько компаний (например, Skuchain, Provenance, Walmart, Everledger) рекламируют решения на основе blockchain для повышение эффективности решений по управлению цепочками поставок. Некоторые даже утверждают, что технология blockchain прокладывает путь к цепочке спроса, вместо цепочек поставок, где предприятия выиграют от большей гибкости во взаимодействии с различными рынками и балансировании ценовых рисков. Традиционный SCM управляется планированием и коммуникациями. Будущий спрос оценивается на основе прошлого и текущего спроса, информацию отправляется заинтересованным сторонам, которые надеются получить актуальную информацию вовремя, чтобы отреагировать на изменения, задержки или ошибки. Компании решают какой продукт будет выпущен на рынок в какое время, и клиенты косвенно управляют спросом.
В управлении цепочкой спроса (DCM), интерес клиента лежит в основе — уменьшенные цены, быстрое клиентское обслуживание и более быстрый выход на рынок с идеей или минимально жизнеспособным продуктом (MVP), это только несколько примеров. DCM позволит повысить гибкость, требуя от всех заинтересованных сторон иметь данные в режиме реального времени, чтобы видеть, что потребители хотят и покупают. Таким образом, все участники цепочки спроса должна быть тесно связаны в сеть. Вопреки SCM, который «оптимизирует поток» и может основываться на неполных и неточных оценках рынка, DCM требует, чтобы компании имели полное и точное представление о рынке и активно выбирали оптимальные производственные решения. Таким образом, информационный поток в DCM типа pull, а не типа push: заинтересованным сторонам не нужно ждать уведомлений, они могут активно запрашивать состояние системы.
Участники SCM сильно различаются по разным цепочкам поставок и одни и те же участники могут выполнять разные роли в разных цепочках поставок. Основа сегментации для различных субъектов в цепи поставок, как правило, определяется их собственностью в доле продукта, который производится. Это означает, что для каждой цепочки поставок, в которую вовлечен участник, потребуется отдельный блокчейн — что явно ухудшает производительность окончательного решения.
Следуя нашей методологии из раздела 3, SCM, конечно требуется сохранения данных. Несколько валидаторов участвуют, то есть различные участники SCM, владеющие определенной долей конечного продукта. Skuchain расчитан использовать единый источник доверия, которое, однако, нивелирует децентрализованный компонент блокчейн, и, таким образом, будет эквивалентен доверенному центральному серверу. Продолжая нашу методологию, SCM может технически вероятно, всегда использовать онлайн TTP. Если это невозможно, по крайней мере все валидаторы будут известны, что оставляет нам выбор между публичным или частным блокчейн. Это рассуждение оставляет нас с вопросом, все ли валидаторам можно доверять. Управление цепочками поставок имеет неотъемлемую проблему
интерфейса между цифровым и физическим миром. Один человек, или какая-то машина под управлением одного валидатора, как правило, требуется зарегистрировать, что определенный товар прибыл на складе, и, например, его качество подходит. Если нет доверия в работе этих сотрудников, то вся цепочка поставок технически скомпрометирована, поскольку любые данные могут быть предоставлено злоумышленником. Если, с другой стороны, все валидаторы доверенные, блокчейн не нужен — устроит обычная база данных с общим доступом для записи.
Обратите внимание, что если некторым образом, связь между цифровым и физическим миром будет реализована безопасным способом, то предыдущие рассуждения должны быть пересмотрены.
Межбанковские и международные платежи
см. продолжение
Децентрализованные автономные организации
см. продолжение