Получи случайную криптовалюту за регистрацию!

#ZETACHAIN, part 1. zetachain - прежде всего, очередной космо | how_to_node

#ZETACHAIN, part 1.

zetachain - прежде всего, очередной космофорк, но модный: про omnichain.

/// what is omnichain?

омничейновость - способность свободно обмениваться данными между разными блокчейнами. кроссчейновость* позволяет смарт-контрактам различных блокчейнов взаимодействовать друг с другом без необходимости отправлять фактические токены с одного чейна на другой.

*в данном тексте omnichain = crosschain = multichain потому что я так сказал.

/// zetachain > layer-zero?

ближайший омничейн-конкурент - это layer-zero, с которым мы и будем сравнивать зетачейн. полтора слова про реализацию лэйер-зеро:

чтобы отправить 100 $USDT из ETH в ARB via layer-zero, пользователю нужно вызывать специальный bridge-контракт lz в sender-chain (ETH), который обрабатывает транзакцию и отправляет сообщение, содержащее всю информацию о желаниях юзера, в layer-zero-protocol.

протокол межсетевой коммуникации layer-zero получает это сообщение и отдаёт команду другому специальному bridge-контракту lz в уже recipient-chain (ARB), чтобы тот, в свою очередь, начислил на кошелёк пользователя, переданного в качестве получателя средств, честные 100 $USDT.

то есть, в каждой из поддерживаемых сетей должны быть развёрнуты свои смарт-контракты, которые посредством layer-zero-protocol обмениваются друг с другом межсетевыми сообщениями, в которых передаётся информация: кто, куда, кому и зачем пересылает активы.

получается, чтобы lz связал 10 сетей, ему по крайней мере потребуется 10 смарт-контрактов. а это дорого. особенно, если контракт хранит лёгкий клиент сети-донора, чтобы проверять истинность транзакций в исходной цепочке. да, lz-smart-contract - это ультра-лёгкие-ноды (ULN), которые хранят только несколько последних headers блоков, но и этот подход далёк от бесплатного.

в свою очередь, zeta-omnichain-smart-contract создаётся только в zeta, но позволяет управлять активами и в других цепочках. то же верно и в обратную сторону: из любой сети можно вызвать zeta-omnichain-smart-contract. данный подход позволяет легко связывать и те сети, в которых невозможно развернуть смарт-контракт, например, BTC.

/// zetachain architecture

в zetachain с технической точки зрения выделяют 3 функции, которые на практике ложатся на плечи обычных нод (одна нода-валидатор выполняет сразу все роли, что я бы отнёс к недостатку):

валидатор (validator): внешне, типикал космос-валидатор - пропоузит 1 блок в неделю, участвует в голосованиях с 0.0e+1% вотинг павера, ожидает делегацию от фаундейшна и делает любовь с космовизором;

наблюдатель (observer): наблюдает за изменениями состояния во внешних сетях и пингует валидатора в случае надобности;

подписант (signer): участники сети, имеющие доступ к ключам с активами во внешних сетях и в случае согласия большинства - виновники изменения балансов хранилищ.

интересен факт, что единоличного доступа к смарт-контрактам и кошелькам (а значит и депозитам) во внешних сетях ни у кого нет и вот почему:

во время инициализации смарт-контракта в zetachain (если подразумевается, что контракт будет омничейновым) на каждой из выбранных сетей автоматически создаётся TSS-кошелёк. каждая нода-валидатор получает кусочек приватного ключа от TSS-хранилища.

собираясь вместе, ноды могут совершать какие-либо действия с балансом, но только, если это одобрит большинство участников сети. назвали такой прикол как Threshold Signature Scheme (TSS), который чем-то напоминает #OBOL с их distributed validators.

так же, в zetachain размещён совместимый с EVM уровень исполнения - zEVM. все активы ERC20 практически полностью совместимы с ZRC20 и всё такое.

подробнее разницу между реализациями layer-zero и zetachain, плюсы и минусы рассмотрим в следующем посте.