Эта статья будет переводом оригинальной статьи “A Vision for DeFi in Chia“ от Брэма Коэна о его видении Chia на рынке DeFi. Перевод выполнен частично и может содержать не точности или ошибки. Но вы всегда можете почитать оригинал статьи на официальном сайте Chia или написать в комментария ваши замечания.
Chia привлекателен не только благодаря новому алгоритму Proof of Space and Time и экологичностью но и собственному языку программирования Chialips. Новый язык программирования не чем не уступает Solidity (объектно-ориентированный, предметно-ориентированный язык программирования самовыполняющихся контрактов для платформы Ethereum.), даже напротив более масштабируем и гибок в управление. Мы рассмотрим Chialips и его преимущества над другими системами. Как происходит децентрализованный обмен с защитой от MEV (miner/farmer extracted value). Будет затронута тема автоматизированных маркет-мейкеров в Chia (Автоматическим или автоматизированный поставщик ликвидности (по английски «Automated Market Maker» или AMM — это система, обеспечивающая ликвидность на бирже, где она работает, за счет автоматической торговли)
Chia работает по модели набора монет (аналогичной модели солидности UTXO как у Биткойна и Эфириума): единственными постоянными данными является текущий набор неизрасходованных монет Chia XCH, у которых есть размеры и правила их использования. Когда мы отправляем монету, мы создаем новую на ее основе, а старая уничтожается навсегда. Все постоянные данные хранится в монетах. Это намного лучше и проще для масштабирования, потому что данные, которые должны отслеживать полные узлы, проще и меньше. Проверка блока требует выполнения всех его транзакций, результатом будет список потраченных и уничтоженных монет. Это позволяет нам иметь эффективную скорость транзакций выше, чем у Ethereum, при этом позволяя легко запускать главную ноду на обычном настольном компьютере. На первый взгляд кажется, что это значительно затрудняет разработку смарт-монет в Chia, но выравнивание типов данных дает некоторые преимущества.
Основным инструментом коммерции в Чиа являются цветные монеты (coloured coins). Цветная монета – это своего рода altcoin, token созданная на основе блокчейн сети Chia. Цветная монета представляет своего рода токенизацию с монетами такого количества, чья ценность при разделении чрезвычайно мала, но представляет собой что-то еще. По умолчанию цветная монета делится на миллиард. Все, потому что максимальное деление Chia — это триллион mojo (моджо), наименьшая неделимая единица, как в биткоине это сатоши. На первый взгляд это напоминает протокол Omni (цифровая валюта и коммуникационный протокол, существующий поверх цепочки блоков Bitcoin). Главное отличие от Omni, Chia не нужен запуск полного узла для проверки монет на предмет фальсификации. В Chia все данные хранятся в самой монете.
Одна из новых функциональных возможностей, которые предоставляет наша реализация с цветными монетами, — это возможность «offers» предложений ( это похоже на размещение ордеров на бирже, где вы хотите купить или продать актив). Например, если вы хотите обменять немного Chia на какую-то цветную монету, вы можете создать незавершенную транзакцию, которая сжигает немного XCH и создает взамен цветную монету. Сама по себе транзакция будет неподтвержденной, но вы можете отправить свое «предложений» на биржу, по электронной почте другу или опубликовать на Reddit. Любой, кто его увидит, сможет его принять, совершив свою частичную транзакцию. Количество сажённых монет Chia будет равно количеству выпущенных цветных монет, это называется уравновешиванием только при таких условиях транзакция будет проходить в блокчейне Chia. Это действительно так, потому что в Chia блоке все происходит одновременно, поэтому средства «перемещаются» за один шаг от одного входа к другому выходу, и не существует момента, где монета существует в двух местах одновременно.
Теперь немного поговорим о MEV, в чем проблема и что с этим можно сделать. Давайте рассмотрим простой пример. Представим, что текущая цена Chia равна 1000$, и есть позиция продать 1 XCH по цене от 900$ до 1200$ и одно предложение купить 1 XCH по цене от 800$ до 1100$. Самый честный обмен будет выглядеть если покупатель и продавец заключат сделку по цене в 1000$ за 1 XCH. Но существует и другой тип сделки, жадная\нечестная это когда человек покупает Chia за 900$ а продает за 1200$, разницу между ценами (спред) кладут себе в карман. В обычной торговле такое действие называют “Присвоение Спреда” и это считается мошеннической схемой. (Ссылка русскоязычную статью где все подробно описана данная мошенническая схема тык). В блокчейн системах это называют miner extracted value сокращенно MEV.
Важное замечание, рассуждение о ценах: не существует единой истинной справедливой цены за товар. Если кто-то покупает товар за определенную цену это означает что на данный момент нет товара с более дешевой, выгодной ценой, и наоборот если ты продавец, значит нет спроса на товар если с более высокой ценой. В системе всегда присутствуют некоторые погрешности, сбои и шумы. В теоретически идеальных условиях рынки становятся очень эффективными. Но теория всегда далека от практики. И выяснением того, какой должна быть точная или приблизительная цена товара – это сложный механизм работы всего рынка, и один человек не как не может определить цену товара, даже если он будет проверенным.
На рынке присутствуют биржи, которым доверяют, для них очень важна репутация и они всегда её поддерживают. Они не кладут спред себе в карман, а пытаются сделать цену привлекательной чтобы она разумно отражала рынок предложений.
Механизм “Предложений” в Chia предполагает, что биржа сможет объединить несколько предложений в единое целое и отправить в blockchain чтоб MEV боты не смогли разделить и извлечь свою прибыль из этого. Биржа, которая придерживается данных правил всегда более привлекательна для пользователя. К сожалению, не все работают честно и по такому механизму и зачастую спред оказывается в кармане у торговой биржи.
Другой способ уменьшения влияния MEV, который работает синергетически с вышеупомянутым, — это использовать ценовые оракулы. (Оракулы — это сервисы, которые связывают блокчейны с внешним миром: децентрализованными приложениями, другими блокчейнами, торговыми площадками, облачными провайдерами, IoT-устройствами, платежными и корпоративными системами). В нашем случае ценовой оракул сообщает текущий обменный курс. Чтобы понять, как это работает, нам сначала нужно объяснить синглтоны.
Синглтон ( singleton ) — это идентичность, объект который присутствует ровно в одной монете в любой момент времени, и где монеты могут подтвердить, что они взаимодействуют с текущим представителем этой идентичности, объекта. NFT это тоже синглтон, так же синглтоны используются в оракулах, кошельках с ограниченным тарифом.
Вы можете прочитать технические подробности реализации синглтонов здесь. Эта функция уже создана и используется для нашего стандартного протокола пула.
Как бы нелепо это ни звучало, но ценовой оракул, у которого нет не какой защиты, сообщает нам о текущей цене за товар, и он оказывает значительное сопротивление MEV. Количество предложений может содержать диапазон возможных цен, но использовать только ту цену, которая предоставлена назначенным оракулом. Поскольку все транзакции в блоке в Chia происходят одновременно, это означает, что майнер сможет сделать цену слишком низкой или слишком высокой, но не оба варианта одновременно. В приведенном выше примере они могли либо купить один XCH за 900$ и продать его где-то еще за 1000$, получив 100$ спреда, либо купить один Чиа в другом месте и продать его за 1100 долларов, также получив 100 долларов. Если бы они использовали возможности ценового оракула в примере выше, то смогли бы заработать в 2 раза больше, 200 долларо.
В идеале на здоровом рынке вы должны постоянно размещать заказы о покупке и продаже. Для постоянного дохода пользователю нужно постоянно вести активную торговлю, иметь доступ на рынок, обладать ликвидностью (это характеристика экономического объекта или процесса, описывающая возможность быстро и беспрепятственно осуществить те или иные экономические операции) иметь опыт в торговле и понимать её процессы. Существуют более простые решения которые не требуют все выше сказанного об этом сейчас мы и погорим.
Автоматизированные маркет-мейкеры (AMM), представляющие собой сетевые программы, которые следуют определенной торговой стратегии, успешно используются не первый день. Обычно они работают, имея депозиты в двух разных валютах, в нашем примере это может быть Chia XCH и цветная монета. AMM принимает депозиты и снятие средств по правилам, согласно которым:
(a) Если кто-то вносит депозит, ему передаются права на средства, которые AMM держит пропорционально их вкладу,
(b) AMM предполагает, что стоимость сумм двух валют, которые он держит, равны, чтоб провести обмен. AMM на практике хорошо зарекомендовали себя, несмотря на простую торговую стратегию. Держатели валюты могут легко предоставить им ликвидность, будучи уверенными в том, что активы не будут похищены.
Внедрение AMM в Chia
Внедрить механизм AMMs (автоматизированный маркет-мейкер) в Chia не сложно, и мы займемся его разработкой в обозримом будущем. Депозиты хранятся парой синглтонов (у Chia это будет XCH и любая цветная монета), эти монеты взаимосвязаны, и их передвижение будет синхронным.
В отличие от Solidity, используется в модели Ethereum, вместо синглтонов которые требует информацию о текущих депозитах, мы предлагаем создать собственную цветную монету для внутреннего использования.
Таким образом, самому автоматизированный маркет-мейкеру нужно знать общую сумму своих депозитов, а депозиты пользователей могут храниться отдельно. Такой подход дает доступ к интеллектуальным функциям Chialips, например использовать кошельки с ограниченной скоростью или подключаться к другим AMM.
Когда пользователь хочет внести депозит с помощью AMM, он создает предложение обменять часть средств на некоторый токен внутреннего использования. Единственная логика, которую должен сделать AMM, — это принять решение о сделки на основе количества Chia, связанной цветной монетой и монетой для внутреннего использования. Текущие рынки AMM работают по аналогичной системе только там отсутствует, монеты для внутреннего использования.
Но на практике механизм предложений будет немного сложнее. Маркет-мейкер будет действовать как ценовой оракул, а предложения будут использовать его. Кроме того разные транзакции могут конфликтовать, лучшим подходом будет если биржа объединит несколько небольших предложений, транзакций в одну большую и отправит ее в сеть. Можно даже создать гибридный «в основном» автоматический маркет-мейкер, который требует определенного ключа для подписания всех транзакций, но следует предопределенной бизнес-логике о том, как перемещаются депозиты. Данный подход расширяет возможности маленьких бирж, где спред очень большой за счет возможности объединения нескольких транзакций в одну и так же открывает возможности по взаимодействию между другими биржами предоставляя свою ликвидность при этом не нужно беспокоиться о своих средствах, так как внутренний механизм передвижения средств работает на цветной монете.
Из выше сказанного можно представить, что chia станет гораздо более безопасным и ликвидным рынком для токенов и аналогов ему нету сейчас на рынке. Впереди долгий путь развития, но оно того стоит.