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

В техническом документе Cosmos описаны текущие проблемы, связанные с блокчейном:

На сегодняшний день блокчейны страдают от ряда недостатков, включая их общую энергетическую неэффективность, низкую или ограниченную производительность и незрелые механизмы управления. Предложения по масштабированию пропускной способности транзакций Биткойна, такие как Segregated-Witness и BitcoinNG, представляют собой решения вертикального масштабирования, которые остаются ограниченными емкостью одной физической машины, чтобы обеспечить свойство полной контролируемости. Lightning Network может помочь масштабировать объем транзакций Биткойн, полностью исключив некоторые транзакции из бухгалтерской книги, и хорошо подходит для микроплатежей и сохраняющих конфиденциальность платежных рельсов, но может не подходить для более общих потребностей масштабирования..

Нет сомнений в том, что блокчейн будет играть ключевую роль в нашем будущем, однако мы должны признать существующие проблемы. Проект Cosmos приобрел консенсусный алгоритм блокчейна Tendermint, так как он очень эффективен и использует более зрелую Byzantine Fault Tolerance..

Встречайте Tendermint

Cosmos использует доказательство доли владения, что означает отсутствие вычислительной гонки для защиты блокчейна, как в случае с доказательством работы. Чем больше у вас доля монет, тем большее количество монет вы получите. Однако Cosmos использует несколько иной подход, поскольку он использует консенсусную версию блокчейна Tendermint с доказательством доли владения..

Проще говоря, Tendermint – это программное обеспечение, которое можно использовать для достижения византийской отказоустойчивости (BFT) на любой распределенной вычислительной платформе. Идея, лежащая в основе BFT, существует уже несколько десятилетий, но интерес только увеличился с тех пор, как началась тенденция блокчейн. Технология блокчейн – это не что иное, как BFT в современных условиях с упором на криптографию и сети p2p..

Зачем нам Нежная мята?

Для децентрализованной системы технически невозможно, чтобы все узлы взаимодействовали через один центральный узел. Следовательно, достаточно быстрая связь возможна только через ячеистую сеть. Однако ячеистая сеть допускает Византийский разлом, по которому распространяется ложная информация, и никто не знает, кто говорит правду. Здесь и нужен Tendermint, поскольку у него есть несколько механизмов для определения надежности узлов. Tendermint полагается на группу полу-доверенных узлов для голосования по блокам; пока более двух третей узлов голосования честны, протокол будет оставаться активным..

Архитектура Tendermint

Tendermint был построен с использованием двух основных компонентов, а именно Tendermint Core, который служит механизмом консенсуса, и интерфейса прикладной цепочки блоков (ABCI). Tendermint Core также отвечает за обеспечение правильного порядка зарегистрированных транзакций на каждом узле сети. ABCI предоставляет разработчикам интерфейс для обработки транзакций с использованием желаемого языка программирования и выступает в качестве шлюза к Tendermint Core. Можно даже управлять состояниями нескольких приложений через Tendermint Core, используя протокол сокетов, который они разработали..

Короче говоря, Tendermint отвечает за:

  • Проверка подписей транзакций.
  • Предотвращение добавления вредоносных транзакций в мировое состояние.
  • Обновление и управление мировым состоянием вашего блокчейна.
  • Предлагает функциональные возможности запросов к состоянию мира. Блокчейны, такие как Биткойн, не предназначены для предоставления функций запросов..
  • Отправка транзакций в Tendermint Core через простой в использовании API.

Хабы и зоны Cosmos

Cosmos позволяет нескольким блокчейнам работать одновременно, сохраняя при этом возможность взаимодействия. Cosmos Hub отвечает за управление различными зонами. Благодаря использованию концентраторов и зон, Cosmos создал довольно уникальную связь между блокчейнами (IBC). Каждая зона принимает поток последних фиксаций блоков, которые пересылаются в концентратор. Хаб отвечает за поддержание состояния мира. Проверка происходит путем передачи доказательств Меркла между зонами, чтобы доказать другим зонам, что информация была правильно обработана..

Зональный хаб Cosmos IBC

А Центр размещает распределенный реестр с несколькими активами, в котором токены могут храниться как пользователями, так и зонами. Самое классное здесь то, что жетоны можно перемещать из одной зоны в другую. Это снова достигается посредством передачи пакета монет в формате IBC. По сути, Hub – это еще и механизм маршрутизации..

А Зона независимый блокчейн, способный обмениваться этими сообщениями IBC с соответствующим концентратором.

Валидаторы

Мы упоминали ранее, что Cosmos использует доказательство доли владения. Сеть Cosmos требует, чтобы вы сделали ставку на Atoms, внутреннюю валюту платформы. Валидатор привязан к одной зоне хаба Cosmos, для которой он проверяет транзакции. Ваше право голоса рассчитывается по количеству поставленных атомов. Валидаторы, которые действуют злонамеренно, будут оштрафованы и, таким образом, потеряют все свои поставленные атомы и свою долю резервного пула. Вдобавок он потеряет всякий авторитет в сети..

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

Важно знать, что Tendermint по своей природе ограничивает количество валидаторов, так как было обнаружено, что блокчейны становятся медленнее, чем больше валидаторов, из-за повышенной сложности взаимодействия друг с другом. В первый год количество валидаторов установлено на 100. Это число будет увеличиваться на 13% каждый год в течение десяти лет, достигнув 300 валидаторов..

Токен Атома

В Токен атома – это собственный актив Cosmos Hub, который можно использовать в различных распределенных реестрах каждой зоны. Атомы дают пользователям право голосовать, подтверждать или делегировать другим валидаторам. Как и Ethereum, токен Atom считается газом для оплаты транзакций. Эта плата применяется для уменьшения спама..

Сценарии использования

Распределенный обмен

Распределенный обмен – одна из крутых концепций, которые возможны с Cosmos. Благодаря использованию архитектуры концентраторов и зон этот реестр с массовой репликацией менее уязвим для внутренних и внешних попыток взлома..

Распределенная биржа – это не совсем то же самое, что децентрализованная биржа (DEX). DEX использует атомарные свопы, которые представляют собой межсетевые транзакции. Обратной стороной DEX является то, что для успешной торговли оба пользователя должны быть онлайн. Распределенная биржа этого не требует, так как транзакцию позаботится о транзакции..

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

Переход к другим криптовалютам

Определенная зона может действовать как мостовой токен для обмена на другую криптовалюту, создавая связь между иностранной и собственной криптовалютой Cosmos. Для этого зона моста должна не отставать как от внутренней зоны, так и от иностранной криптовалюты..

Масштабирование Ethereum Dapp на стеке Cosmos

Если вас сдерживает производительность Ethereum, существуют разные подходы к масштабированию вашего Dapp с использованием стека Cosmos..

Зона привязки

Зона привязки, называемая «Пегги», позволяет пользователям передавать токены ERC20 в Cosmos Hub, где их можно обменивать гораздо быстрее. Кроме того, Cosmos Hub предоставляет специальные зоны EVM для токенов ERC20. Как только пользователи закончат, они могут вывести свои токены обратно в сеть Ethereum..

Плазма нежной мяты

Plasma позволяет разработчикам использовать Cosmos SDK для разработки Dapps, в то время как их токены размещены в сети Ethereum. Эти проекты могут рассчитывать на гораздо более быстрое время транзакций в зонах Tendermint..

Cosmos SDK

Cosmos SDK v0.10.0 был анонсирован 28 февраля 2018 года. Cosmos SDK предоставляет разработчикам Dapp еще один способ создания безопасных блокчейн-приложений помимо смарт-контрактов EVM. Теперь можно иметь разные цепочки с разными монетами, что позволяет создать настоящую экосистему Cosmos..

диаграмма экосистемы космоса

Cosmos предоставляет пример монеты под названием BaseCoin, которая использует экосистему Cosmos. Вы видите здесь пример кода, в котором мы устанавливаем некоторые параметры для нашей новой монеты, такие как ресурс и имя токена. [/ Caption]

код опций по умолчанию для монеты

Как видите, код написан на Golang. Cosmos SDK также показывает нам некоторый код для пользователей, который будет использоваться для отправки сообщений, содержащих произвольную информацию..

интерфейс сообщений

В настоящее время документация по Cosmos SDK еще не очень хорошая. Будем надеяться, что это изменится в будущем.