Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
С каждым днём количество блокчейн-проектов увеличивается (а ещё размер инфраструктуры, на них построенной). Появляется проблема — существование множества самостоятельных блокчейнов, взаимодействие которых между собой затруднено. Становятся нужными технологии для «общения» блокчейнов между собой. Ниже рассказываю о том, какими путями пытаются решить проблему (не)совместимости блокчейнов.
Cхема релейной цепи Polkadot
Первым серьёзным шагом к связыванию блокчейнов стал проект BTC Relay команд ConsenSys и Ethereum. BTC Relay представляет собой мост между блокченами Bitcoin и Ethereum — то есть позволяет взаимодействовать со смарт-контрактами Ethereum из блокчейна Bitcoin. Как это может проявляться:
Безопасная генерация случайных чисел в смарт-контрактах Ethereum — одна из сложнейших задач. Об этом есть отдельная хорошая статья на хабре.
Работа BTC-Relay заключается в том, что он выплачивает комиссии «ретрансляторам» — тем, кто передаёт заголовок блока из блокчейна Bitcoin в BTC Relay. При этом взимая газ со смарт-контрактов, которые используют BTC Relay.
Сайдчейн — это цепочка, двусторонне связанная с родительским блокчейном. Если не создавать отдельный блокчейн, а создать боковую цепь для уже существующего (к примеру, Ethereum), то это объединит в себе преимущества: собственной цепочки, совместимости с родительским блокчейном.
Правда не всем проектам подходит сайдчейн, поэтому не буду останавливаться на этом варианте. Да и вообще, сайдчейны, в первую очередь, создавались для увеличения масштабируемоcти Ethereum, а не для совместимости с другими проектами.
Коммуникация между блокчейнами в Cosmos
Проекты, построенные на Cosmos
Polkadot – амбициозный проект релейного блокчейна. Основная идея – блокчейнам не нужны собственнные валидаторы, чтобы поддерживать работу сети. Блоки будут валидирвоать майнеры Polkadot, а проекты будут брать парачейн в аренду. Парачейны выстраиваются параллельно друг другу вокруг основного блокчейна. Эти парачейны можно рассматривать в качестве клиентов основного релейного блокчейна, целью которой является обеспечение безопасности и координации.
Релейное устройство сети Polkadot и схема коммуникаций в ней
Основная сеть была запущена 26 мая 2020.
Проекты, построенные на Polkadot
Сначала кратко общие моменты, а потом различия именно в технической части.
Преимущества Cosmos:
Преимущества Polkadot:
Relay chain Polkadot использует алгоритм консенсуса, который позволяет быстро завершать многие блоки из всех парачейнов, а также может вместить большое количество валидаторов (более 1000). Это связано с тем, что не всем валидаторам нужно голосовать за каждый отдельный блок — вместо этого валидаторы могут голосовать за единственный самый высокий блок, который они считают валидным, и алгоритм транзитивно применит голосование ко всем предкам этого блока. В наборе для разработки программного обеспечения Substrate от Polkadot есть 3 алгоритма консенсуса из коробки: GRANDPA, Rhododendron и Aurand.
В сети Cosmos же каждый блокчейн может использовать любой консенсусный алгоритм, который соответствует спецификации ABCI. Эта спецификация создана для стандартизации связи между цепочками. По факту, только Tendermint сейчас соответствует ABCI. Tendermint же имеет большое преимущество и большой недостаток — с одной стороны, он асинхронен, то есть при завершенный блок не может потерять валидность даже при разделении цепи, с другой стороны, из-за этого скорость Tendermint обратно пропорциональна количеству транзакций.
В Polkadot есть лишь одна релейная цепь, с ограниченным цепочек, которые могут в ней запущены. На данный момент это 100 цепочек, которые распределяются посредством аукциона — нужно удерживать большое количество нативных токенов проекта (DOT), чтобы запустить и поддерживать работу цепочки.
В сети Cosmos, с другой стороны, нет фиксированных правил членства — любой может построить хаб или зону. Хабы сами по себе являются суверенными блокчейнами, созданными с целью соединения множества других блокчейнов. Модель hub-and-zone делает межцепочечную связь более эффективной, потому что вместо подключения к любой другой цепочке блоков каждая цепочка блоков должна подключаться только к хабу.
Фото отсюда
Мой пост об оракулах;
ConsenSys — решения для разработчиков (Metamask, Infura, BTC Relay и другие);
Tendermint (сайт);
BTC Relay — мост между блокчейнами Bitcoin и Ethereum;
Cosmos Whitepaper (eng);
Polkadot Lightpaper (eng) и Whitepaper (eng);
Polkadot Wiki;
Статья на Medium (eng), которая помогла разобраться в отличиях Cosmos и Polkadot.
Cхема релейной цепи Polkadot
BTC Relay
Первым серьёзным шагом к связыванию блокчейнов стал проект BTC Relay команд ConsenSys и Ethereum. BTC Relay представляет собой мост между блокченами Bitcoin и Ethereum — то есть позволяет взаимодействовать со смарт-контрактами Ethereum из блокчейна Bitcoin. Как это может проявляться:
- оплата биткоинами внутри смарт-контрактов;
- свопы BTC-ETH;
- BTC Relay может передавать информацию о блокчейне Bitcoin в смарт-контракт;
- можно использовать блоки Bitcoin для генерации случайных чисел, вместо Ethereum (что гораздо безопаснее).
Безопасная генерация случайных чисел в смарт-контрактах Ethereum — одна из сложнейших задач. Об этом есть отдельная хорошая статья на хабре.
Работа BTC-Relay заключается в том, что он выплачивает комиссии «ретрансляторам» — тем, кто передаёт заголовок блока из блокчейна Bitcoin в BTC Relay. При этом взимая газ со смарт-контрактов, которые используют BTC Relay.
Немного про сайдчейны
Сайдчейн — это цепочка, двусторонне связанная с родительским блокчейном. Если не создавать отдельный блокчейн, а создать боковую цепь для уже существующего (к примеру, Ethereum), то это объединит в себе преимущества: собственной цепочки, совместимости с родительским блокчейном.
Правда не всем проектам подходит сайдчейн, поэтому не буду останавливаться на этом варианте. Да и вообще, сайдчейны, в первую очередь, создавались для увеличения масштабируемоcти Ethereum, а не для совместимости с другими проектами.
Cosmos
Коммуникация между блокчейнами в Cosmos
Проекты, построенные на Cosmos
Polkadot
Polkadot – амбициозный проект релейного блокчейна. Основная идея – блокчейнам не нужны собственнные валидаторы, чтобы поддерживать работу сети. Блоки будут валидирвоать майнеры Polkadot, а проекты будут брать парачейн в аренду. Парачейны выстраиваются параллельно друг другу вокруг основного блокчейна. Эти парачейны можно рассматривать в качестве клиентов основного релейного блокчейна, целью которой является обеспечение безопасности и координации.
Релейное устройство сети Polkadot и схема коммуникаций в ней
Основная сеть была запущена 26 мая 2020.
Проекты, построенные на Polkadot
А в чём вообще разница?
Сначала кратко общие моменты, а потом различия именно в технической части.
Преимущества Cosmos:
- Cosmos более гибок в разработке;
- На Cosmos SDK уже построены видные проекты, в том числе (!) Binance Chain;
- Дешевле, чем Polkadot;
- Неограниченное количество проектов в отличие от Polkadot.
Преимущества Polkadot:
- Безопасность цепи поддерживает Polkadot, а не разработчики проекта, как в Cosmos;
- Упрощённый обмен сообщениями между цепочками.
Алгоритм консенсуса
Relay chain Polkadot использует алгоритм консенсуса, который позволяет быстро завершать многие блоки из всех парачейнов, а также может вместить большое количество валидаторов (более 1000). Это связано с тем, что не всем валидаторам нужно голосовать за каждый отдельный блок — вместо этого валидаторы могут голосовать за единственный самый высокий блок, который они считают валидным, и алгоритм транзитивно применит голосование ко всем предкам этого блока. В наборе для разработки программного обеспечения Substrate от Polkadot есть 3 алгоритма консенсуса из коробки: GRANDPA, Rhododendron и Aurand.
В сети Cosmos же каждый блокчейн может использовать любой консенсусный алгоритм, который соответствует спецификации ABCI. Эта спецификация создана для стандартизации связи между цепочками. По факту, только Tendermint сейчас соответствует ABCI. Tendermint же имеет большое преимущество и большой недостаток — с одной стороны, он асинхронен, то есть при завершенный блок не может потерять валидность даже при разделении цепи, с другой стороны, из-за этого скорость Tendermint обратно пропорциональна количеству транзакций.
Участие
В Polkadot есть лишь одна релейная цепь, с ограниченным цепочек, которые могут в ней запущены. На данный момент это 100 цепочек, которые распределяются посредством аукциона — нужно удерживать большое количество нативных токенов проекта (DOT), чтобы запустить и поддерживать работу цепочки.
В сети Cosmos, с другой стороны, нет фиксированных правил членства — любой может построить хаб или зону. Хабы сами по себе являются суверенными блокчейнами, созданными с целью соединения множества других блокчейнов. Модель hub-and-zone делает межцепочечную связь более эффективной, потому что вместо подключения к любой другой цепочке блоков каждая цепочка блоков должна подключаться только к хабу.
Фото отсюда
Ссылки
Мой пост об оракулах;
ConsenSys — решения для разработчиков (Metamask, Infura, BTC Relay и другие);
Tendermint (сайт);
BTC Relay — мост между блокчейнами Bitcoin и Ethereum;
Cosmos Whitepaper (eng);
Polkadot Lightpaper (eng) и Whitepaper (eng);
Polkadot Wiki;
Статья на Medium (eng), которая помогла разобраться в отличиях Cosmos и Polkadot.