Blockchain 3.0 на основе модульной платформы Bletchley в Microsoft Azure




Проект Bletchley — это реализация архитектурного подхода Microsoft к созданию экосистемы Enterprise Consortium Blockchain. Сразу оговоримся, что это не новый Blockchain-стек. Этот подход Microsoft к внедрению в организациях распределенных реестров (Blockchain) предлагает реальные решения существующих бизнес-проблем и обеспечивает при этом открытость самой платформы.



Платформа, ядро, универсальный протокол

Технологии Microsoft Azure открыты для всех протоколов, алгоритмов, баз данных и виртуальных машин. В Bletchley будет представлена модульная платформа, позволяющая выбрать оптимальное сочетание технологий для вашего бизнеса. Каждый Blockchain и (или) распределенный реестр обеспечат согласованность всех узлов в своей сети.

Общедоступные Blockchain-платформы, такие как Bitcoin, Ethereum и другие, будут определять свои стеки протоколов, а распределенные реестры консорциумов (новое название для Blockchain, круг участников которых ограничен) будут определять собственные сети в зависимости от бизнеса, на который они ориентированы.

Узел общедоступной сети

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

Сопоставления типа «один к одному» между продуктом и Blockchain не требуется, поскольку похожие продукты могут находиться в одном и том же распределенном реестре.

Узел корпоративного консорциума

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

Криплеты — основные строительные блоки, позволяющие создать промежуточный слой в архитектуре с защитой Blockchain. Учитывая распределенный характер Blockchain, этот промежуточный слой обычно функционирует как облачный сервис (Azure/Azure Stack, AWS, Google либо в частном облаке) и более точно называется Application Fabric.

В Blockchain версий 1.0 и 2.0 для взаимодействия с внешними данными или событиями (время, показатели рынка и др.) применяются оракулы. При этом не существует стандартного способа для безопасного встраивания данных из оракула, что может быть проблемой для SmartContract с несколькими участниками. Вызов кода или данных вне SmartContract или Blockchain снижает уровень доверия, угрожая подлинности зависимых транзакций. Решить эту проблему призваны криплеты.

Криплеты — это код за пределами цепочки, который пишется на любом языке и выполняется в безопасном контейнере. Обращаться к нему можно с помощью защищенных каналов. Криплеты можно использовать в SmartContract и системах UTXO, когда необходимо получить дополнительный функционал или информацию. Такую возможность предоставляют «делегаты шифрования» (CryptoDelegate) или адаптеры.

CryptoDelegate — это функция в виртуальной машине SmartContract, которая вызывает криплет из кода SmartContract, создавая безопасный контейнер для транзакций. Криплеты регистрируются на уровне узла host^1. Разработчики затем ссылаются на них или создают их автоматически.

Есть два основных типа криплетов: Utility и Contract. Криплеты Utility — основная часть структуры Blockchain. Они обеспечивают операции, такие как шифрование, события по дате и времени, доступ к внешним данным и идентификация. У каждого криплета Utility есть идентификатор и подтвержденная подпись, которые регистрируются для использования в облаке. Разработчики способны обнаруживать криплеты и использовать их в SmartContract для большей надежности транзакций.

Криплеты Contract — полноценный механизм делегирования, который выступает в качестве суррогата SmartContract за пределами цепочки. Эти криплеты содержат всю логику выполнения и надежно хранят данные типа SmartContract. Криплеты Contract привязаны к своим SmartContract и генерируются при включении нового контракта в Blockchain. Поскольку криплеты Contract не выполняются в виртуальной машине, они не запускаются на всех узлах Blockchain. Они могут работать параллельно и в вертикально масштабируемых системах, если это необходимо для повышения производительности.

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

Если для SmartContract требуется криплет, вызывается CryptoDelegate. Для этого используется язык, например Solidity. В код можно включить атрибуты, показывающие, что ответственность за выполнение алгоритма в этой точке передается CryptoDelegate. Например, если одно из свойств SmartContract должно быть зашифровано и отображаться только для сторон этого контракта, можно применить атрибут, подобный следующему.[encryptField=”ContractSignersOnly”] uint public trade_amount = 0;

Атрибут указывает, что поле должно быть зашифровано, но не указывает, как именно. За это в режиме выполнения отвечает заданная в облаке политика. Регистрацию криплетов контролирует Blockchain для сети, при этом криплеты связаны с политикой Bletchley.


Криплеты, вызываемые через CryptoDelegate, позволяют расширить охват безопасности SmartContract на весь Blockchain с помощью безопасных соединений (HTTPS/SSL), надежного хостинга, проверки ключей и регистрации подписей в SmartContract. За это отвечает криплет, предоставляющий доступ к службам. Необязательные атрибуты криплета также позволяют изолировать процесс, когда ситуация требует применения повышенных мер безопасности.

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

Версию, в которой появился уровень Cryptlet Fabric, можно назвать Blockchain 3.0. Данные и алгоритм в цепочке могут выполняться за пределами цепочки.

Blockchain Fabric

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

Blockchain Fabric — это «платформа распределенного реестра для консорциумов», которая будет представлять собой традиционное промежуточное ПО с тем исключением, что Blockchain Fabric может работать на глобальном уровне через свои интерфейсы API или в рамках модели «платформа как услуга» (PaaS).

Платформа будет предоставлять доступ к следующим основным службам:
Identity and Certificate Services (Службы удостоверений и сертификатов). Эти службы совместимы с каталогом Azure Active Directory и хранилищем ключей Key Vault, что позволяет использовать модель PaaS для предоставления доступа к средствам идентификации, авторизации, выдачи ключей, управления хранением, доступом и жизненным циклом. Эти службы обеспечивают регистрацию криплетов и применение политик, а также позволяют проверять подлинность людей, организаций, ключевых сделок, контрактов. Поэтому они могут стать платформой для других служб, что позволят создавать вертикально интегрированные сервисы, такие как службы KYC (know your customer – «знай своего клиента»), средства регистрации, объединения активов и т. д.
Encryption Services (Службы шифрования). Эти службы обеспечивают частичное шифрование полезной нагрузки или шифрование на «уровне поля» для транзакций в Blockchain с использованием различных схем шифрования (гомоморфное шифрование, пороговая криптосистема и т. д.). Такой подход позволяет держать в тайне те сведения, которые должны быть доступны только владельцам и контрагентам, а также регулирующим органам.
Cryptlet Services (Службы криплетов). Это проверенный хостинг для криплетов, вызываемых через делегатов в SmartContract или UTXO-адаптерах. Такие сервисы, как службы определения местоположения, подтверждения доверительных отношений, а также безопасные изолированные контейнеры, предоставляют среду выполнения для криплетов, написанных на любом языке, что обеспечивает их выполнение. Спецификации делегатов, адаптеров и криплетов будут открыты и доступны для сообщества, то есть их можно будет реализовать в других распределенных реестрах.
Blockchain Gateway Services (Службы Blockchain-шлюзов). Это службы-посредники, позволяющие передавать контракты SmartContract и токенизированные объекты между разными системами распределенных реестров. Эти службы обеспечивают целостность транзакций между разными реестрами, например при передаче финансовых инструментов в цепочке поставок, охватывающей несколько Blockchain.
Data Services (Службы данных). Это ключевые службы для работы с данными, такие как распределенные файловые системы (IPFS, Storj и т. д.) для данных за пределами цепочки. На эти данные ссылаются с использованием открытых ключей. Это службы аудита, расширенной аналитики, машинного обучения и создания информационных панелей для SmartContract, Blockchain, консорциумов и регулирующих органов.
Management and Operations (Управление и операции). Это инструменты для развертывания, управления и работы с распределенными реестрами консорциумов. Их использование привносит во все процессы корпоративную организованность, которой так не хватает на современном рынке.

Bletchley


Уровень базовой платформы может быть реализован с помощью технологии SmartContract (Ethereum, Eris и др.) или UTXO (Hyperledger и др.). Если выбранная платформа поддерживает модульную архитектуру Bletchley, базовые модули могут быть выгружены и включены в партнерские предложения, такие как Tendermint и Intel POET.

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

Fabric предоставляет стандартную платформу Enterprise Consortium Blockchain Fabric, позволяющую создавать вертикально интегрированные решения. Путем внедрения существующих инструментов можно предоставить пользователям доступ к возможностям распределенного реестра знакомым им способом.

Кроме того, в магазине Marketplace можно создавать абсолютно новые категории. Компоненты базовой платформы, дополнительные распределенные службы Fabric, а также полные библиотеки SmartContract можно найти, купить и использовать непосредственно в инструментах, с которыми пользователи работают изо дня в день.

Банк может создать сертифицированный SmartContract для коммерческого кредитования, разместить его в Marketplace и получать выплаты за каждый созданный экземпляр. Владелец небольшой компании может разместить SmartContract для организации краудфандинга, поиска финансирования своего следующего проекта. Разработчик может получить криплет KYC, который будет соответствовать требованиям, предъявляемым к его приложению, а консорциум может найти и опробовать новый оптимальный алгоритм с целью повышения производительности.

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

Пример консорциума




Заключение

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

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

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

Источник

Реклама

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s