Что такое Cosmos (ATOM)?
Экспертные консультации для этого материала предоставили разработчики mixbytes.io и основатель проекта Citizen Cosmos Сергей Симановский.
Что такое Cosmos?
Cosmos — это децентрализованная, масштабируемая, интероперабельная экосистема взаимосвязанных независимых блокчейнов, функционирующих на протоколе Tendermint Core. В его основе лежит механизм устойчивого к византийским падениям консенсуса (Byzantine Fault Tolerant /BFT), который используется для масштабирования публичных PoS-блокчейнов.
Цель Cosmos — создание «интернета блокчейнов», т. е. сети блокчейнов, в которой участники способны взаимодействовать децентрализованным образом.
Кто и когда создал Cosmos?
Создатель Cosmos — американский программист и предприниматель Дже Квон [Jae Kwon]. В 2005 году он окончил Корнеллский университет с дипломом бакалавра компьютерных наук, после чего работал в Кремниевой долине в компаниях Alexa и Yelp.
Квон был сооснователем сервиса iDoneThis и сотрудничал с такими проектами с открытым исходным кодом, как CoffeeScript (компилятор/переводчик на языке Javascript) и Scramble.io (система электронной почты со сквозным шифрованием).
По словам Квона, участие в этих проектах, «вдохновленных духом шифропанка и хакерства», привело его к работе над Tendermint:
«Приблизительно в 2013 году я решил заняться блокчейном и создать систему на основе Proof-of-Stake (PoS). В то время разработчики не знали, как осуществить подобную задачу, поэтому я отложил ее на будущее и начал работать на криптовалютной бирже», — рассказал Квон.
В руки Квона попали около ста научных публикаций, датированных 1988 годом. Среди этих материалов оказалась статья под названием «Консенсус в присутствии частичной синхронии» [Consensus in the Presence of Partial Synchrony], написанная профессорами Массачусетского технологического института (MIT) Синтией Дворк и Ненси Линч в соавторстве с сотрудником калифорнийского IBM Almaden Research Center Ларри Стокмайером.
Авторы статьи представили результаты исследований классического BFT и все компоненты, необходимые для создания PoS-системы. Начав работать с этими выкладками, Квон пришел к идее создания BFT-протокола на основе Proof-of-Stake, способного масштабироваться до сотен узлов в децентрализованной среде.
Так возникла концепция Tendermint — первого алгоритма консенсуса Proof-of-Stake, созданного с использованием протокола Practical Byzantine Fault Tolerance (PBFT), который в 1999 году предложили сотрудники MIT Барбара Лисков и Мигель Кастро.
«В то время биткоин в роли глобальной валюты вызывал у нас серьезную озабоченность — главным образом, по причине его невероятной энергоемкости. Поэтому мы запустили Tendermint, чтобы создать более экологически безопасную криптовалюту», — рассказывал Квон о начальном периоде разработок Cosmos.
В 2014 году Квон основал компанию по разработке ПО Tendermint Inc (All in Bits Inc) со штаб-квартирой в Калифорнии. В том же году команда представила whitepaper проекта.
В 2015 году к проекту присоединился разработчик Итан Бьюкмэн, выпускник канадского Гуэлфского университета, работавший на тот момент в компании Eris Industries (впоследствии переименована в Monax). Квон и Бьюкмэн основали некоммерческую организацию Interchain Foundation (ICF), в которой заняли посты президента и вице-президента соответственно.
Летом 2016 года Tendermint провела первый раунд финансирования. Благодаря привлеченным средствам число разработчиков выросло до семи человек.
Команда запустила Ethermind на Tendermint, а также Basecoin, фреймворк для создания криптовалют, использующий язык программирования Go (Golang) и позволяющий поддерживать плагины со всеми видами дополнительных особенностей. С его помощью разработчики начали создавать первую итерацию Cosmos Hub.
ICO Cosmos состоялось 6 апреля 2017 года, собрав $17.3 млн в ETH, BTC и долларах США. Было распродано приблизительно 75% запаса доступных токенов; 5% — зарезервировано для семенных инвесторов; All in Bits Inc и Interchain Foundation получили по 10% каждая.
Впоследствии в интервью ForkLog Итан Бьюкмэн уточнил, что организаторы не стали позиционировать публичный фандрейзинг как ICO, поскольку ориентировались не на тех, «кто приобретал бы токен ради финансовой выгоды, а на тех, кто был искренне заинтересован в основополагающей технологии, видении и ценностях проекта».
В 2017 году Interchain Foundation, занимающаяся продвижением технологий и децентрализованных приложений экосистемы Cosmos, заключила с All in Bits Inc контракт на разработку Cosmos Network.
В феврале 2018 года Cosmos присоединился к Ethereum Community Fund (ECF) — инициативе по созданию специального фонда, призванного ускорить развитие блокчейн-инфраструктуры и dapps.
В марте 2019 года команда Tendermint Inc. объявила о запуске Cosmos Hub — первого из серии блокчейнов Proof-of-Stake, призванных стать частями экосистемы Cosmos.
Что представляет собой базовый протокол Cosmos?
Cosmos работает на базе протокола Tendermint Core, в котором используется Tendermint — алгоритм консенсуса BFT.
Алгоритм консенсуса — это способ, при помощи которого ноды в распределенной системе приходят к соглашению относительно состояния среды. В сфере публичных блокчейнов актуальны только алгоритмы, устойчивые к византийским падениям. В этом классе алгоритмов присутствуют два семейства протоколов консенсуса: классические протоколы консенсуса, такие как PBFT, и Nakamoto Consensus, такие как Proof-of-Work.
Tendermint базируется на работе классического BFT-консенсуса и предоставляет стопроцентную гарантию финальности транзакции, детерминированности алгоритма для производства блоков и презумпции состояния синхронности.
Финальность
В отличие от блокчейнов на базе Proof-of-Work, блоки в Tendermint финализируются, как только получают 2/3 + 1 подписей от валидаторов — обратить или изменить их невозможно.
В сетях на основе консенсуса Накамото, таких как биткоин, транзакции как правило финализируются после шести подтверждений, после чего вероятность обратимости блока посредством реорганизации цепи крайне мала.
Однако число подтверждений зависит от мощности майнинга, которой обладает злоумышленник. В последние годы этот фактор нередко использовался для осуществления атак 51% (двойной траты), организаторы которых похитили миллионы долларов в различных криптовалютах. Используя алгоритм консенсуса с детерминированной финализацией (такой как Tendermint), можно гарантировать необратимость транзакций после финализации блока.
Приоритет безопасности перед жизнеспособностью
Когда сеть PoW разделяется на две цепи, в конечном счете она реорганизуется, выбирая в качестве канонической самую длинную цепь и отвергая транзакции другой цепи. Однако в Tendermint, когда происходит разделение сети, протокол выбирает отказ от дальнейшего прогресса до тех пор, пока более 2/3 валидаторов снова не придут к соглашению. Такой выбор должен гарантировать, что всегда есть «один источник истины», а блокчейн всегда сохраняет последовательность.
Это делает консенсус Tendermint не таким быстрым с точки зрения финализации цепочки блоков, как другие PoS-консенсусы, но полностью избавляет пользователей от неопределенности относительно их транзакций — если блок с транзакцией был финализирован, транзакция никогда не будет откачена (без изменения логики алгоритма), а если сеть разделена или валидаторы отключены — ни одна транзакция не будет финализирована.
Частичная синхронность
Синхронная сеть имеет известный верхний предел времени доставки сообщения. В биткоине установлен предел в 10 минут, что навязывает всем участникам сети искусственную задержку во времени.
Tendermint использует модель допущения частичной синхронности — для прогресса блокчейна не требуется фиксация во времени. «Узкое» место в прогрессе блокчейна — это реальная скорость сети, а не искусственная задержка во времени, установленная протоколом. Таким образом Tendermint оказывается быстрее большинства других протоколов на основе Proof-of-Work.
Какие ключевые компоненты экосистемы Cosmos?
Cosmos, позиционируемый как «блокчейн 3.0», содержит три ключевых компонента:
Cosmos HUB
Cosmos Hub — первый блокчейн, запущенный в рамках экосистемы блокчейнов Cosmos Network, и центральный элемент экосистемы. Его главная задача — учитывать общее количество токенов в каждой зоне (блокчейне) в экосистеме, благодаря чему зоны могут напрямую пересылать токены друг-другу.
Cosmos Hub использует алгоритм консенсуса Tendermint, посредством которого валидаторы закладывают (стейкируют) токены ATOM.
ATOM
ATOM — это нативный актив Cosmos Hub, который делится на 1 млн микро-ATOM (uATOM).
Токен ATOM выполняет функцию рабочего токена: пользователи могут осуществлять стейкинг самостоятельно или делегировать токены валидатору, повышая таким образом его рейтинг и получая часть прибыли.
В зависимости от количества агрегированных токенов валидатор имеет пропорциональную долю голоса, дающую возможность создавать блоки и получать за это вознаграждение в виде новых токенов ATOM (каждый год эмитируется от 7% до 20% от совокупной эмиссии).
Валидаторы передают делегирующим пользователям часть вознаграждения за блок (за вычетом сетевого налога). Аналогично PoW-сетям, за агрегирование «долей голосов» валидаторы берут комиссию. Валидатор обязан честно подтверждать блоки, участвовать в управлении системой и высокопроизводительным аппаратным сервером, эксплуатация которого стоит от $10 000 (цена будет увеличиваться по мере роста блокчейна). Валидатора, неспособного выполнять эти задачи, лишают токенов и соответствующего статуса. Архитектура валидатора может варьироваться. От нее, в том числе, зависит и уровень безопасности. Как правило, с ростом уровня безопасности архитектуры растет и ее стоимость, в том числе обслуживания. Чтобы попасть в активный набор, валидатору необходимо преодолеть пороговый уровень. На момент написания валидатор, находящийся на 125 месте, имеет чуть меньше делегированных ему $250 000. Таким образом, если у валидатора нет этой суммы, или никто ее не делегирует, он не попадет в активный набор.
В течение первого года после запуска основной сети доступны только 125 слотов валидаторов; планируется, что в следующие 10 лет это количество вырастет до 300. Индекс инфляции сети имеет рамки в 7% — минимум и 20% — максимум. Награда за блок регулируется в соответствии с заявленным целевым уровнем участия в стейкинге в 2/3 (66,66%). Все токены должны оставаться в стейке 21 день, чтобы владельцы не могли распродать их сразу же после стейкирования.
Сетевой налог поступает в резервный пул, средства из которого используются для повышения безопасности Cosmos Network.
Проект также может выпустить или осуществить эирдроп вторичного токена Photon, предназначенного исключительно для транзакционных сборов. Согласно плану, генерировать токены Photon будут валидаторы и стейкеры. Параметры Photon будут определены голосованием.
IBC (Inter-Blockchain Communication) Protocol
IBC (Inter-Blockchain Communication) Protocol — это стандартизированный протокол интероперабельности, который криптографически средствами подтверждает, что сообщение было послано из одной зоны в другую.
Назначение IBC — передача не только токенов, но и любых данных. Это позволяет создавать не только децентрализованные биржи и автоматизированные маркет-мейкеры, но и любые децентрализованные приложения из сферы маркетинга, логистики, и т. д.
Архитектура Cosmos включает два класса блокчейнов: хабы (Hubs) и зоны (Zones).
Зоны состоят из блокчейнов с быстрой финализируемостью транзакций, хабы — это блокчейны, связывающие зоны воедино. Разница между ними лежит исключительно в плоскости социального консенсуса. Зона (блокчейн) — это блокчейн, работающий при помощи алгоритма консенсуса Tendermint. Фактически, хаб (центр, соединяющий несколько блокчейнов) — то же, что и зона. Их условное различие обусловлено стратегическим планированием соединений одного блокчейна с другими при помощи IBC.
IBC блокирует определенное количество токенов ATOM в первом блокчейне (зоне), затем направляет во вторую зону подтверждение и его валидацию, после чего заблокированные ранее токены выпускаются на втором блокчейне. Такая схема облегчает выпуск и создание токенов, представляющих активы на других блокчейнах.
Протокол совместим с блокчейнами, в которых транзакции подтверждаются мгновенно или практически мгновенно. Благодаря гарантиям окончательности достигнуть интероперабельности блокчейнов достаточно просто: как только транзакция определенного типа финализируется в обоих блокчейнах, можно допустить, что транзакция была отправлена из одного блокчейна в другой.
Использующие алгоритм консенсуса PoW биткоин и Ethereum напрямую с протоколами IBC не совместимы, однако эти и другие блочейны, в которых отсутствует быстрая финализация, также можно использовать в IBC благодаря прокси-цепочкам Peg Zones. Они устанавливают порог окончательности в 100 блоков, прохождение которых служит гарантией необратимости транзакции.
В основе работы Peg Zones лежит Peggy, созданный Cosmos протокол операционной совместимости между блокчейнами Tendermint и PoW-системами. По достижении порога окончательности предполагается, что транзакция финализирована. Затем это состояние передается обратно в экосистему «псевдофинальности» Cosmos с помощью Peg Zones.
Первая Peg Zone для Ethereum была запущена в 2018 году. С тех пор о совместимости с Cosmos Hub объявили некоторые другие блокчейны, например, Loom. С помощью IBC и различных схем, аналогичных Peggy, Cosmos рассчитывает достичь интероперабельности всех существующих блокчейнов.
Cosmos SDK
Cosmos SDK — это фреймворк, позволяющий разработчикам создавать собственные кастомизированные блокчейны на основе алгоритма консенсуса Tendermint.
Раньше у разработчиков было две опции — писать блокчейн с нуля или строить его на Ethereum или его вариациях. Процесс создания блокчейна на Ethereum относительно прост — можно подключиться к уровням сети и консенсуса Ethereum и построить собственное приложение на EVM, но при этом разработчик вынужден жертвовать возможностями кастомизации.
Решая эту проблему, Cosmos SDK позволяет создавать блокчейн-системы, не отвлекаясь на уровни консенсуса и сети и фокусируясь непосредственно на создании логики приложений.
Для создания собственного блокчейна требуется иметь набор валидаторов, что недостижимо для тех, кто занимается разработкой децентрализованных приложений на любительском уровне. Для них будет проще и быстрее развернуть контракт на Ethereum. Понимая это, команда Cosmos с помощью Cosmos SDK создала клон Ethereum — Ethermint, где доступен набор валидаторов и разработчики могут использовать свой код на Ethereum, не беспокоясь о кастомизации.
Как развивается Cosmos?
- В мае 2019 года работающая над Cosmos команда Tendermint сообщила об успешном обновлении CosmosSDK после выявленной критической уязвимости.
- В январе 2020 года из Interchain Foundation, занимающейся продвижением технологий и децентрализованных приложений экосистемы Cosmos, выделилась компания Informal Systems.
- На фоне конфликта внутри команды в феврале 2020 года один из ключевых директоров компании-разработчика Cosmos — директор Tendermint Labs Заки Маниан — покинул должность, однако продолжил работать над развитием блокчейн-экосистемы Cosmos. Разработчики сформировали несколько независимых команд, отказавшись от сотрудничества с Tendermint.
- В феврале 2021 года инфраструктурная блокчейн-платформа КНР (BSN) добавила поддержку Cosmos в локализованную версию сети. С помощью инициативы OPB разработчики могут разрабатывать децентрализованные приложения в локальной версии BSN в соответствии с законодательством Китая.
- В марте 2021 года начал работу протокол интероперабельности IBC. Тогда же проект анонсировал создание децентрализованной биржи Gravity.
- В марте 2021 года проект Tendermint анонсировал запуск фонда поддержки перспективных проектов на базе блокчейна Cosmos с активами на $20 млн. Номинированный в токенах ATOM и IRIS Tendermint Ventures станет крупнейшим фондом в экосистеме Cosmos.
- В апреле 2021 года Plasm Network и Secret Network, основанные на Polkadot и Cosmos соответственно, запустили первую итерацию моста.
- Binance DEX, FOAM и Sentinel управляют блокчейнами на основе Tendermint. Другие проекты, такие как IRIS Network, создают сервисы и службы поддержки, связанные с экосистемой Cosmos. С полным списком проектов, развивающихся в экосистеме, можно ознакомиться здесь.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!