Uniswap что это такое

Децентрализованная биржа Uniswap

На протяжении многих лет, централизованные биржи являлись единственным способом обмена и торговли криптовалютами.

Клиенты привыкли к централизованным площадкам на традиционных финансовых рынках, поэтому не испытывали никаких неудобств и их вполне устраивало скорость исполнения сделок, высокий объем торгов и постоянный рост ликвидности.

Однако, по мере развития децентрализованных решений, возник «параллельный мир», основанный на фундаменте смарт-контрактов и протоколов, не требующих доверия.

Из-за присущих технологии блокчейн ограничений, было сложно создать DEX, которые могли бы полноценно конкурировать с централизованными аналогами. Но в теории, большинство децентрализованных бирж можно было улучшить как в плане производительности, так и с точки зрения увеличения ликвидности и удобства для пользователей.

Многие разработчики ломали голову над новыми способами создания эффективно работающей децентрализованной биржи.

В результате многочисленных проб и ошибок, зародилась модель взаимодействий, воплощенная в новом протоколе, разработанным Хайденом Адамсом в 2018 году. Но технология, лежащая в основе его реализации, была впервые описана соучредителем Ethereum Виталиком Бутериным.

Способ работы новой модели протокола сложнее для понимания, чем традиционный DEX, однако вскоре мы увидим, что эта модель дает некоторые привлекательные преимущества, в результате чего Uniswap стал одним из самых успешных проектов в мире децентрализованных финансов (DeFi).

Итак, давайте посмотрим, что такое Uniswap, как он работает и как можно легко и просто обменивать токены с помощью кошелька Ethereum.

Источник

Инструкция по Uniswap: как пользоваться децентрализованной криптовалютной биржей

Uniswap что это такое. uniswap. Uniswap что это такое фото. Uniswap что это такое-uniswap. картинка Uniswap что это такое. картинка uniswap

По мере популярности DeFi-токенов, вторую жизнь получили и децентрализованные биржи.

В 2020 году децентрализованные биржи (DEX) стали достаточно зрелыми по сравнению с тем, что было всего несколько лет назад. Одним из конкретных DEX, которая в этом году набирает обороты в мире децентрализованного финансирования (DeFi), является Uniswap, торговая платформа, которая в пятницу вечером содержала 1,3 миллиарда долларов и доминировала в большинстве приложений более чем на 18%.

Протокол Uniswap — самая популярная торговая DEX-платформа на сегодняшний день. Uniswap затмевает большинство претендентов своими 71,9% от совокупного объема торговли на DEX. Поскольку эта плафтомрма самая ликвидная на сегодняшний день, именно рассказываем именно про нее.

В этом обзоре мы вам расскажем, что из себя представляет Uniswap, как пользоваться данным ресурсом, а также о его преимуществах и недостатках.

Навигация по материалу:

Что такое Uniswap?

Сервис uniswap это децентрализованная биржа, существующая в виде двух смарт-контрактов, размещенных на блокчейне Ethereum, и публичный клиент с открытым исходным кодом front-end. Несмотря на компактность, приложение является стопроцентным сетевым маркет-мейкером, позволяющим обменивать токены ERC 20 на ETH, и наоборот. Унисвап также позволяет вам вносить свой вклад в пулы ликвидности для любого токена ERC 20 и, получать вознаграждение в виде биржевых сборов.

Слово Uniswap переводится с английского как большое дело. Получается, что возможность обмена любого токена ERC20, включая базовую монету эфириум, без посредников, позволяющая любому человеку с ETH-адресом внести свой вклад в ликвидность биржи и, таким образом, заработать это немалый подвиг как со стороны разработчиков, так и со стороны клиентов данной P2P площадки.

Как и на обычных, централизованных сервисах здесь есть внутренний токен. Uniswap криптовалюта прошла листинг на крупнейших крипто-биржах, таких как:

Токен UNI демонстрирует высокий рост и за последнюю неделю подорожал почти на 70%. Это, конечно, впечатляет, но давайте разберемся в механизме работы протокола унисвап, чтобы понять стоящий ли это проект или очередной скам.

Как работает платформа?

Uniswap что это такое. birzha uniswap. Uniswap что это такое фото. Uniswap что это такое-birzha uniswap. картинка Uniswap что это такое. картинка birzha uniswap

Как уже было сказано биржа uniswap работает с помощью двух смарт-контрактов на блокчейне Ethereum (ETH).

Использование uniswap exchange v2 требует вызова парного контракта через контракт «маршрутизатора», который вычисляет сумму сделки (или депозита) и переводит средства в парный контракт.

На старой версии трейдеры вынуждены задействовать монету ETH в качестве промежуточной валюты. Каждая пара включала ETH в качестве одного из активов. Это упрощало маршрутизацию сделки, но поднимало комиссию и, снижало ликвидность. Потому что поставщики ликвидности могли понести убытки из-за изменений цен на другие активы по отношению к ETH. Трейдеры должны были платить вдвое больше комиссионных, чем по прямой паре и дважды страдали от проскальзывания.

Для защиты от манипуляций основной контракт кэширует резервы после каждого взаимодействия и обновляет оракул, используя цену, полученную из кеша, а не текущих резервов. Это позволяет внешним смарт-контрактам создавать экономичные, взвешенные по времени средние цены Uniswap за любой временной интервал.

Ценовые потоки в цепочке являются важным компонентом для многих децентрализованных финансовых приложений. Несмотря на тщательное отслеживание реальной цены большую часть времени, Uniswap V1 нельзя безопасно использовать в качестве ценового оракула, потому что цена может значительно измениться за короткий период.

Uniswap V2 включает ряд улучшений для видов цен, построенных на его основе. Каждая пара измеряет (но не сохраняет) рыночную цену в начале каждого блока, прежде чем будут совершены какие-либо сделки. Манипулировать этой ценой дорого, потому что она была установлена последней транзакцией в предыдущем блоке. Uniswap V2 добавляет эту цену в конце блока к одной переменной совокупной цены в основном контракте, взвешенной по количеству времени, в течение которого эта цена существовала. Переменная представляет собой сумму цен Uniswap за каждую секунду в период существования контракта.

Uniswap v2 добавляет новую функцию, которая позволяет пользователю получать и использовать актив перед выполнением оплаты, если это происходит в рамках одной атомарной транзакции. Для этого используется контракт обратного вызова, задаваемый пользователем, в промежутке между передачей запрошенных токенов и принудительным исполнением обмена. Как только обратный вызов завершен, контракт проверяет новые балансы и подтверждает, что сделка состоялась. Другими словами, если у вас нет денег на балансе, контракт не будет запущен, а если монеты есть обмен произойдет автоматически. За каждую операцию взимается комиссия в размере 0,5% от суммы сделки. Размер fee можно отрегулировать как в меньшую, так и в большую сторону, в зависимости от того хотите ли вы сэкономить, или приоритетом является скорость обмена.

Пулы ликвидности (Liquidity Pools)

Uniswap что это такое. uniswap liquidity pools. Uniswap что это такое фото. Uniswap что это такое-uniswap liquidity pools. картинка Uniswap что это такое. картинка uniswap liquidity pools

Пулы ликвидности это децентрализованное решение Uniswap, позволяющее любому человеку получать вознаграждение за внесение депозита. Деньги можно внести или вывести из каждого биржевого контракта ERC 20 в любой момент. Добавление ликвидности в токенах ERC 20 требует внесения эквивалентной стоимости ETH.

Сделать расчеты можно прямо в официальном приложении Live Exchange. Укажите сумму ETH для депозита, и эквивалент в токенах ERC 20 автоматически рассчитывается по текущему обменному курсу из контракта. С каждого совершенного свопа взимается комиссия, эти деньги распределяются между поставщиками ликвидности. Сумма вознаграждения каждого участника зависит от размеров депозита.

Как создать аккаунт?

Uniswap что это такое. uniswap kak sozdat akkaunt. Uniswap что это такое фото. Uniswap что это такое-uniswap kak sozdat akkaunt. картинка Uniswap что это такое. картинка uniswap kak sozdat akkaunt

Платформа работает без регистрации, как обычный онлайн-обменник. Чтобы подключиться необходимо:

Готово, можно начинать обмен или вносить токены на депозит. В разделе Charts можно выполнить предварительный анализ состояния рынка.

Как выбрать токен для обмена?

Uniswap что это такое. kak vybrat token na uniswap. Uniswap что это такое фото. Uniswap что это такое-kak vybrat token na uniswap. картинка Uniswap что это такое. картинка kak vybrat token na uniswap

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

Uniswap — как подключить кошелек?

Uniswap что это такое. uniswap kak podklyuchit koshelek. Uniswap что это такое фото. Uniswap что это такое-uniswap kak podklyuchit koshelek. картинка Uniswap что это такое. картинка uniswap kak podklyuchit koshelek

Нажмите Connect to a wallet и выберите один из совместимых кошельков. Рекомендуется использовать браузерное приложение MetaMask в обозревателе Chrome.

Uniswap что это такое. uniswap kak podklyuchit metamask. Uniswap что это такое фото. Uniswap что это такое-uniswap kak podklyuchit metamask. картинка Uniswap что это такое. картинка uniswap kak podklyuchit metamask

Если у вас нет кошелька, создайте его, для этого нужно:

MetaMask работает с блокчейном эфира и поддерживает любые токены ERC-20. Чтобы токен отображался в интерфейсе кошелька, необходимо его добавить. Для этого заполните форму, указав адрес контракта, торговый тикер и название.

Uniswap что это такое. metamask podderzhivaet lyubye tokeny erc 20. Uniswap что это такое фото. Uniswap что это такое-metamask podderzhivaet lyubye tokeny erc 20. картинка Uniswap что это такое. картинка metamask podderzhivaet lyubye tokeny erc 20

Подключения к бирже uniswap нажмите Connect to a wallet, и введите пароль или произведите синхронизацию приложений для разблокировки кошелька.

Как купить криптовалюту в Uniswap?

При успешной синхронизации ваш адрес и баланс отобразятся в правом верхнем углу интерфейса унисвап, и вы сможете совершать обменные операции. По умолчанию в строке From (предложение) отображается монета ETH, но вы можете выбрать один из 130 доступных токенов. Можно обменять на uniswap defi токены, например, Ballancer или CRV, а также стейблкоины и цифровые жетоны других проектов, базирующихся на эфириуме.

Uniswap что это такое. kupit kriptovalyutu na uniswap. Uniswap что это такое фото. Uniswap что это такое-kupit kriptovalyutu na uniswap. картинка Uniswap что это такое. картинка kupit kriptovalyutu na uniswap

С помощью токенов renBTC, renBCH, renZech можно осуществлять транзакции между Эфириумом и сетями Биткоина, Bitcoin Cash и Zcash. В выпадающем меню нижнего поля формуляра обмена, нужно указать токен, который вы хотите получить Enter an amount для расчета суммы сделки и если вас все устраивает, выполните обмен.

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

Важно! На платформе Uniswap иногда можно попасть на мошенников, торгующих поддельными токенами. Перед покупкой убедитесь, что данная обменная пара зарегистрирована на сервисе мониторинга coingesko, а еще лучше проверьте адрес контракта данного актива.

Плюсы и минусы биржи

Преимущества использования UniswapНедостатки Uniswap
Децентрализованный, не зависящий от третьих лиц. Не нужно создавать аккаунт и проходить верификацию личностиСвопы потребляют много газа
Пулы ликвидностиПрисутствуют мошеннические проекты
Возможность обмена любого токена ERC20Чтобы держать обменные курсы Uniswap сбалансированными биржа вынуждена полагаться на арбитражных трейдеров
Сложно провести манипуляции курса (дамп/памп).
Высокая скорость выполнения операций
Открытый исходный код

Где выгоднее покупать криптовалюту? ТОП-5 бирж

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

Надежность площадки в первую очередь определяется объемом торгов и количеством пользователей. По всем ключевым метрикам, крупнейшей криптовалютной биржей в мире является Binance. Также Binance самая популярная криптобиржа в России и на территории СНГ, поскольку имеет наибольший оборот денежных средств и поддерживает переводы в рублях с банковских карт Visa/MasterCard и платёжных систем QIWI, Advcash, Payeer.

Специально для новичков мы подготовили подробный гайд: Как купить биткоин на криптобирже за рубли?

Рейтинг криптовалютных бирж :

#Биржа:Cайт:Оценка:
1Binance (выбор редакции)https://binance.com9.7
2Bybithttps://bybit.com7.5
3OKExhttps://okex.com7.1
4Exmohttps://exmo.me6.9
5Huobihttps://huobi.com6.5

Критерии по которым выставляется оценка в нашем рейтинге криптобирж :

Подведет итоги

Uniswap не является эффективной заменой централизованных криптобирж. Здесь мало крупных игроков и, значит, обменять большую сумму активов не так непросто.

Полностью анонимная площадка без верификации кажется довольно привлекательной, но обмен через свопы менее выгоден из-за дорогих транзакций. Токен UNI пока не стал драйвером роста ETH, и после непродолжительного роста, начал проседать в цене.

Проект находится в стадии развития, и только время покажет настолько он конкурентоспособен. Но в целом появление торговых платформ данного типа является положительной тенденцией.

Дата публикации 03.10.2020
Подписывайтесь на новости криптовалютного рынка в Яндекс Мессенджер.
Поделитесь этим материалом в социальных сетях и оставьте свое мнение в комментариях ниже.

Источник

Что такое Uniswap и как он работает?

Uniswap – это набор компьютерных программ, которые работают на блокчейне Ethereum и позволяют децентрализовать обмен токенами. Uniswap работает с помощью единорогов (как и следует из логотипа).

На Uniswap трейдеры могут обменивать токены Ethereum, не доверяя никому свои средства. При этом любой может предоставить свою криптовалюту в пулы ликвидности, которые играют роль специальных резервов. За предоставление своих средств пулам трейдеры получают комиссию.

Как волшебные единороги конвертируют один токен в другой? Зачем вообще пользоваться Uniswap? Давайте разбираться.

Введение

Многие разработчики ломают голову над изобретением новых способов создания децентрализованной биржи. Среди них Uniswap – один из первопроходцев. Принцип работы Uniswap немного сложнее, чем у традиционной DEX. Однако вскоре мы убедимся, что у этой модели есть ряд существенных преимуществ.

Что такое Uniswap?

Поскольку протокол Uniswap является децентрализованным, листинг отсутствует. По сути, если трейдерам доступен пул ликвидности, может быть выпущен любой токен ERC-20. В результате комиссий за листинг на Uniswap попросту нет. В некотором смысле протокол Uniswap существует как «общественное благо».

Протокол Uniswap был создан Хайденом Адамсом в 2018 году. Но технология, лежащая в основе его реализации, была впервые описана соучредителем Ethereum Виталиком Бутериным.

Как работает Uniswap?

В Uniswap нет книги ордеров, а значит, традиционная архитектура цифровой биржи невозможна. Здесь используется модель под названием Constant Product Market Maker (маркет-мейкер c постоянным продуктом), которая является вариантом модели Automated Market Maker (автоматический маркет-мейкер, или AMM).

Но что произойдет, когда кто-то захочет совершить сделку?

Uniswap v3

Технология, лежащая в основе Uniswap, пережила несколько итераций. Скорее всего, если вы пользовались Uniswap, это была Uniswap v2. Но технологии совершенствуются и не стоят на месте. Давайте рассмотрим самые важные нововведения Uniswap v3.

Эффективность капитала

Одно из наиболее значительных изменений Uniswap v3 касается эффективности использования капитала. Большинство AMM крайне неэффективны с точки зрения капитала: большая часть средств, которые находятся в них на текущий момент, не используется. Это связано с особенностями модели x*y=k, о которой мы говорили выше. Простыми словами: чем больше ликвидности в пуле, тем более крупные ордера система может поддерживать в большем ценовом диапазоне.

Однако поставщики ликвидности (LP) в этих пулах обеспечивают ликвидность для ценовой кривой (диапазона) от 0 до бесконечности. Весь этот капитал зарезервирован для сценария, когда один из активов в пуле вырастает в 5, 10, 100 раз.

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

Например, сейчас заблокированная ликвидность Uniswap составляет около 5 миллиардов долларов, в то время как в день используется только 1 миллиард от этого объема. Согласитесь, можно было придумать что-то более совершенное? Похоже, команда Uniswap тоже об этом задумалась и решила проблему с помощью Uniswap v3.

Поставщики ликвидности теперь могут устанавливать индивидуальные диапазоны цен, для которых хотят предоставлять ликвидность. Это должно увеличить концентрацию ликвидности в том ценовом диапазоне, в котором происходит большая часть сделок.

В некотором смысле Uniswap v3 – это элементарный способ создания ончейн-книги ордеров на Ethereum, где маркет-мейкеры могут принимать решения о предоставлении ликвидности в устанавливаемых ими ценовых диапазонах. Следует отметить, что от данного нововведения выигрывают в первую очередь профессиональные маркет-мейкеры, а не розничные участники. Ключевое преимущество AMM в том, что каждый может обеспечить ликвидность и заставить свои средства работать.

LP-позиции на Uniswap в качестве NFT-токенов

Uniswap на уровне 2

Комиссии за транзакции в Ethereum резко выросли за последний год. Это делает использование Uniswap экономически невыгодным для многих пользователей с небольшим объемом средств.

Что такое непостоянные потери?

Маша решает вывести свои средства и получает 10% пула в соответствии со своей долей. В результате она получает 0,5 ETH и 200 USDT на общую сумму 400 USDT. Похоже, она получила неплохую прибыль. Но что, если бы она решила не вкладывать свои средства в пул? У нее в распоряжении был бы 1 ETH и 100 USDT на общую сумму 500 USDT.

Как Uniswap зарабатывает деньги?

Никак. Uniswap – это децентрализованный протокол, поддерживаемый Paradigm (хедж-фонд криптовалют). Все комиссии идут поставщикам ликвидности, и ни один из учредителей не получает процент от сделок, совершаемых через протокол.

В настоящее время комиссия за транзакцию для поставщиков ликвидности составляет 0,3% за сделку. По умолчанию заработанные комиссии добавляются в пул ликвидности, но поставщики ликвидности могут погасить их в любое время. Комиссии распределяются в соответствии с долей каждого поставщика ликвидности в пуле.

Часть комиссий может быть направлена на развитие Uniswap в будущем. Команда Uniswap уже запустила улучшенную версию протокола под названием Uniswap v2.

Как пользоваться Uniswap

Токен Uniswap (UNI)

UNI — это собственный токен протокола Uniswap, который дает своим держателям права на управление. Это означает, что владельцы UNI могут голосовать за изменения в протоколе. Ранее мы упоминали, что протокол существует как своего рода общественное благо. Токен UNI подтверждает эту идею.

При создании Uniswap был эмитирован 1 миллиард токенов UNI, 60% из которых распространяются среди существующих членов сообщества Uniswap. Остальные 40% станут доступны членам команды, инвесторам и консультантам в течение четырех лет.

Часть токенов распределяется сообществу за счет добычи ликвидности. Токены UNI будут распределены между теми, кто предоставляет ликвидность следующим пулам Uniswap:

Кто входит в сообщество Uniswap? Любой адрес Ethereum, который взаимодействовал с контрактами Uniswap. Далее давайте рассмотрим, как можно получить токены UNI.

Как получить токены Uniswap (UNI)

Если вы использовали Uniswap, то, скорее всего, сможете получить 400 токенов UNI на каждый адрес, с которым вы использовали Uniswap. Как получить свои токены:

Подключите кошелек, с которым вы ранее использовали Uniswap.

Нажмите Claim your UNI tokens (Получить токены UNI).

Поздравляем! Теперь вы владеете токенами UNI.

Хотите продать свои токены UNI? Используйте для этого Binance.

Как купить UNI на Binance

В строке поиска введите выбранную вами пару. В нашем примере используется UNI/BUSD.

Чтобы создать рыночный ордер, нажмите [Спот] в левой части экрана. На вкладке [Купить] обязательно выберите [Рынок] в качестве типа ордера и введите нужную сумму BUSD. После этого нажмите [Купить UNI], и ордер будет размещен.

Источник

Программирование DeFi: Uniswap. Часть 1

Введение

Мы сосредоточимся на том, как работают эти сервисы, попытаемся понять экономическую механику, которая делает их такими, какие они есть (а все DeFi основаны на экономической механике). Мы будем выяснять, разбирать, изучать и создавать основные механизмы DeFi.

Uniswap что это такое. 4171acd4099c399335f917008f1dd314. Uniswap что это такое фото. Uniswap что это такое-4171acd4099c399335f917008f1dd314. картинка Uniswap что это такое. картинка 4171acd4099c399335f917008f1dd314

Давайте начнем наше путешествие с Uniswap. Полный исходный код можно найти здесь.

Различные версии Uniswap

По состоянию на июнь 2021 года было запущено три версии Uniswap.

Первая версия (V1) была запущена в ноябре 2018 года и допускала обмен только между eth и токенами. А также были возможны обмены токенов на токены.

Вторая версия (V2) была запущена в марте 2020 года и представляла собой улучшение V1, позволяя осуществлять прямой обмен между любыми токенами ERC20, а также связанный обмен между любыми парами.

Третья версия (V3) была запущена в мае 2021 года и значительно повысила эффективность использования капитала, что позволило поставщикам ликвидности выводить большую часть своей ликвидности из пулов и при этом получать те же вознаграждения (или сжимать капитал в меньших ценовых диапазонах и получать до 4000x прибыли).

В этой серии мы разберем каждую из версий протокола и попробуем построить упрощенные копии каждой из них.

Эта статья посвящена Uniswap V1, чтобы соблюсти хронологический порядок и лучше понять, какие были улучшения от версии к версии.

Что такое Uniswap?

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Давайте узнаем больше о маркет-мейкерах.

Uniswap действует как вторичный рынок, привлекающий арбитражеров, которые получают прибыль на разнице в ценах между Uniswap и централизованными биржами. Благодаря этому цены в пулах Uniswap максимально приближены к ценам на более крупных биржах. И это было бы невозможно без надлежащих функций ценообразования и балансировки резервов.

Постоянное соотношение торгуемых пар

Вы, вероятно, уже слышали это определение, давайте посмотрим, что оно означает.

В основе Uniswap лежит формула постоянного соотношения торгуемых пар:

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Эта формула также отвечает за расчеты цен.

Разработка смарт-контрактов

Настройка проекта

Сначала создайте пустой каталог (я назвал свой zuniswap), перейдите в него по cd и установите HardHat:

Нам также понадобится смарт-контракт для создания токенов, давайте воспользуемся смарт-контрактами ERC20, предоставляемыми OpenZeppelin.

Инициализируйте проект HardHat и удалите все из папок contract, script и test.

Токен-контракт

Uniswap V1 поддерживает обмен только между eth и токенами. Поэтому нам нужен смарт-контракт токенов и для этого мы возьмем стандарт ERC20. Давайте напишем его!

Это все, что нам нужно: мы расширяем смарт-контракт ERC20, предоставленный OpenZeppelin, и определяем собственный конструктор, который позволяет нам задать имя токена ( _name ), символ ( _symbol ) и начальное количество токенов ( initialSupply ). Конструктор также создаёт токены в количестве указано в initialSupply и отправляет их по адресу создателя токена.

Теперь начинается самое интересное!

Смарт-контракт Exchange

Uniswap V1 имеет только два смарт-контракта: Factory и Exchange.

Мы создадим смарт-контракт Exchange, а Factory оставим для другой статьи.

Давайте создадим новый пустой смарт-контракт:

Обеспечение ликвидности

Как мы уже выяснили, ликвидность делает возможными торги по токенам. Таким образом, нам нужен способ добавить ликвидность в смарт-контракт Биржи:

Эта реализация addLiquidity не является полной. Я намеренно сделал ее такой, чтобы больше сосредоточиться на функциях ценообразования. Мы восполним этот пробел в одной из последующих статьей.

Давайте также добавим вспомогательную функцию, которая показывает баланс токенов на Бирже:

И теперь мы можем протестировать addLiquidity, чтобы убедиться, что все правильно:

Для краткости я опустил много шаблонного кода в тестах. Пожалуйста, проверьте полный исходный код, если что-то непонятно.

Функция ценообразования

Теперь давайте подумаем, как мы будем рассчитывать биржевые цены.

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Давайте придерживаться этой идеи и построим функцию ценообразования:

И давайте проверим это:

Причина в том, что Solidity поддерживает целочисленное деление с округлением до целого. Цена 0,5 округляется до 0! Давайте исправим это, увеличив точность:

После обновления теста он пройдет:

Таким образом, теперь 1 токен равен 0,5 eth, а 1 eth равен 2 токенам.

Все выглядит правильно, но что произойдет, если мы обменяем 2000 токенов на eth? Мы получим 1000 eth, а это все, что у нас есть по смарт-контракту! Биржа будет опустошена!

Видимо, что-то не так с функцией ценообразования: она позволяет опустошить Биржу, а этого мы не хотим.

Причина этого в том, что функция ценообразования принадлежит формуле постоянной суммы, которая определяет kkk как постоянную сумму xxx и yyy. Функция этой формулы представляет собой прямую линию:

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

График функции постоянной суммы

Она пересекает оси x и y, что означает, что она допускает 0 в любой из них! Мы определенно не хотим этого.

Правильная функция ценообразования

Напомним, что Uniswap является маркет-мейкером постоянного соотношения торгуемых пар, что означает, что он основан на формуле постоянного соотношения торгуемых пар:

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Дает ли эта формула лучшую функцию ценообразования? Давайте посмотрим.

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Это выглядит интересно: функция теперь учитывает вводимую сумму. Попробуем запрограммировать ее, но учтите, что теперь мы имеем дело с суммами, а не с ценами.

Это низкоуровневая функция, поэтому пусть она будет private. Давайте сделаем две высокоуровневые функции-обертки для упрощения вычислений:

Итак, теперь мы получаем 1,998 токена за 1 eth и 0,999 eth за 2 токена. Эти суммы очень близки к тем, которые были получены с помощью предыдущей функции ценообразования. Однако они немного меньше. Почему так?

Формула постоянного соотношения торгуемых пар, на которой мы основывали наши расчеты цен, на самом деле является гиперболой:

Uniswap что это такое. image loader. Uniswap что это такое фото. Uniswap что это такое-image loader. картинка Uniswap что это такое. картинка image loader

Гипербола никогда не пересекает xxx или yyy, поэтому ни один из резервов никогда не равен 0. Это делает резервы бесконечными!

И есть еще одно интересное следствие: функция ценообразования вызывает проскальзывание (slippage) цены. Чем больше количество торгуемых токенов по отношению к резервам, тем ниже будет цена.

Именно это мы и наблюдали в ходе тестов: мы получили чуть меньше, чем ожидали. Это может показаться недостатком постоянного соотношения торгуемых пар (поскольку каждая сделка имеет проскальзывание), однако это тот же механизм, который защищает пулы от опустошения. Это также согласуется с законом спроса и предложения: чем выше спрос (чем больший объем продукции вы хотите получить) по отношению к предложению (резервам), тем выше цена (тем меньше вы получите).

Давайте улучшим наши тесты, чтобы увидеть, как проскальзывание влияет на цены:

Как вы видите, когда мы пытаемся опустошить пул, мы получаем только половину того, что ожидали.

И последнее, что следует отметить: наша первоначальная функция ценообразования, основанная на соотношении резервов, не была ошибочной. На самом деле, она верна, когда количество токенов, которыми мы торгуем, очень мало по сравнению с резервами. Но для создания AMM нам нужно что-то более сложное.

Функция обмена

Теперь мы готовы к реализации обмена.

Обмен eth на токены означает отправку некоторого количества eth (хранящихся в переменной msg.value ) в функцию смарт-контракта и получение токенов взамен. Обратите внимание, что нам нужно вычесть msg.value из баланса смарт-контракта, поскольку к моменту вызова функции отправленные eth уже были добавлены к его балансу.

Наконец, последняя часть кода на сегодня:

Заключение

Вот и все на сегодня! Мы еще не закончили, но мы сделали многое. Наш смарт-контракт Биржи может принимать ликвидность от пользователей, рассчитывать цены таким образом, чтобы защититься от опустошения, и позволяет пользователям обменивать eth на токены и обратно. Это уже много, но некоторых важных частей все еще не хватает:

Добавление новой ликвидности может вызвать значительные изменения цен.

Поставщики ликвидности не получают вознаграждения; все обмены бесплатны.

Нет возможности удалить ликвидность.

Нет возможности обмениваться токенами ERC20.

Фабрика все еще не реализована.

Мы сделаем это в следующей части.

Серия статей

Программирование DeFi: Uniswap. Часть 1

Полезные ссылки

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

Давайте запускать децентрализованные биржи на цепочке так же, как мы запускаем рынки предсказаний». Сообщение на Reddit от Виталика Бутерина, в котором он предложил использовать механику рынков предсказаний для создания децентрализованных бирж. Это дало идею использовать формулу постоянного соотношения торгуемых пар.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *