Выпуск № 10. Стейблкоины

В предыдущем выпуске мы поговорили про устройство AMM (Uniswap, Aave, Curve). Этот выпуск я хотел бы сделать менее техническим. Он будет полезен людям, которые только делают свои первые шаги в сфере криптовалют. Один из самых распространенных вопросов среди таких людей — «Где хранить крипту?» Безопасно ли хранить на Бинансе? А в браузере? Сегодня я постараюсь ответить на эти вопросы.
Начнем с того что такое кошелек в крипте.
Кошелек это программа которая показывает ваш баланс, позволяет принимать и отправлять крипту. Перед использованием как правило кошелек предлагает вам создать пару из публичного и приватного ключей. Публичный ключ это ваш адрес (думайте о нем как о номере мобильного телефона или email). Приватный ключ — это пароль к вашему кошельку.
Вы можете спросить — зачем мне кошелек если я могу хранить все на Бинансе или другой бирже. Если вы храните крипту на бирже, то биржа может теоретически сделать все что угодно с вашими средствами ведь она хранит вашу пару из публичного и приватного ключей. Либо биржу могут взломать, как произошло в прошлом с печально известной биржей Mt Gox. Хакеры украли около 740,000 биткоинов или 21 млрд долларов по нынешнему курсу. Недавно кстати вышла новость о том что США предъявило обвинения 2 русским — Alexey Bilyuchenko and Aleksandr Verner по делу об отмыванию украденных биткоинов.
Подводя некий подытог — я бы не советовал долгосрочно хранить крипту на бирже.
Все кошельки можно в целом разделить на 3 категории: браузерные, десктоп, мобильные и хардварные.
Браузерные это расширения для вашего браузера. Десктоп — программы для вашей операционной системы (Mac, Windows, …). Мобильные — приложения на телефоне. Хардварные — USB флешки, самый безопасный вариант забегая вперед.
Поговорим о каждой из них.
Браузерные представляют из себя расширения для вашего браузера.
Наиболее известные всем кошельки:
Ethereum: Metamask
Cosmos: Keplr
Polkadot: Talisman
Solana: Phantom
Cardano: Nami
Tron: TronLink
Avalanche: Avalanche Wallet
Кроме вышеозвученных кошельков существует еще десятки других, но для старта вам будет достаточно этих. Если вы хотите, чтобы я сделал более подробный обзор, дайте знать. Например для Ethereum есть как я уже сказал Metamask, а также есть Rabby.io. Metamask использует API Infura (отдельный сервис), а Rabby — свой API. Metamask не парсит содержимое транзакции, Rabby — парсит и показывает как измениться ваш баланс после выполнения транзакции.
Насколько безопасно хранить крипту в браузере? Написаны они конечно же на JavaScript е. Скажем так, не самый безопасный язык программирования в мире. Сейчас он безусловно развивается, появились надстройки типа TypeScript. Но надо понимать, что ваш приватный ключ будет хранится в хранилище браузера. Если злоумышленник найдет уязвимость в браузере или расширении, то сможет перевести крипту на свой счет.
Desktop кошельки как я уже говорил это программы, которые устанавливаются под вашу ОС. Наиболее популярными являются Exodus и Atomic. Они в среднем более безопасны по сравнению с браузерными расширениями. Приватный ключ хранится на жестком диске.
Теперь поговорим о мобильных кошельках. Самые популярные из них: Exodus, TrustWallet, Rainbow Wallet, … Мобильные кошельки также более безопасны нежели браузерные. Приватный ключ храниться в памяти вашего телефона, получить доступ к которой сложнее нежели к браузерному кэшу. Но если у вас украли телефон, то велик шанс расстаться с криптой.
Хардварные (их еще иногда называют аппаратными) кошельки представляют из себя USB флешки с небольшим экраном (но экран не обязателен). С помощью пары кнопок вы вводите свой PIN код, 🔐 запускаете нужное приложение (Bitcoin, Ethereum, …) и подтверждаете транзакции. Хорошая новость это то, что ваш приватный ключ храниться на этой же флешке и доступ к нему получить максимально сложно (но не невозможно). Наиболее известные представители данной категории: Ledger, Trezor. У каждого из них есть desktop приложения. ledger live, trezor suite.
Ledger уже был взломан в прошлом (в сеть утекли умелы, имена, фамилии, адреса пользователей) и не исключено, что конечным пользователям будет передано вредоносное обновление прошивки.
Я бы зашел так далеко, что сказал: Ledger и Trezor являются своего рода бомбами замедленного действия в экосистеме криптовалют. Если их когда-нибудь взломают, бомбы взорвутся.
Есть альтернативы такие как Precursor, которые не допускают подобных ошибок, но они все еще находятся на ранней стадии разработки.
Даже если вы купите себе Ledger или Trezor, вы все равно можете стать жертвой мошенников. В январе этого года у Кевина Роуза украли NFT на сумму порядка 1 млн долларов https://www.axios.com/2023/01/27/kevin-rose-nfts-cyber-crime-spear-phishing. Он достал аппаратный кошелёк чтобы продать пару NFT на маркетплейсе OpenSea, зашёл на сайт и увидел AirDrop э(то когда тебе присылают немного токенов для вовлечение тебя в проект), он перешёл на сайт AirDrop. Тот выглядел вполне презентабельно и сайт попросил его за залогиниться. Кевин авторизовал как ему казалось логин но на самом деле он подписал транзакцию дающую хакерам доступ к его NFT и так он лишился части своих средств.
Сегодня я бы хотел рассказать о том как работают Uniswap, Aave, Curve и другие AMM. AMM расшифровывается как Automated Market Maker. Но начать я бы хотел с того какие вообще есть виды бирж в крипте.
Первый вид это централизованные биржи такие как Binance / Coinbase и другие, которые работают по аналогии с традиционными биржами, такими как Московская биржа / Санкт-петербургская биржа. Там есть книга ордеров и система, которая матчит ордера между собой. Что это значит? Я выставляю заявку о том что хочу купить один биткойн по цене не выше 23 000, а кто-то продает например биткойн по цене 22000. И вот система матчит наши ордера и выполняет транзакцию. Тоже самое происходит когда вы торгуете акциями на московской бирже. Это очень эффективно, проверено временем, быстро. вообщем работает.
Проблема с централизованными биржами что вам нужно доверять вот этому посреднику, Binance / Coinbase, зачастую также вам нужно заводить туда ваши средства которые у вас хранятся на мобильных или хардварных кошельках типа Ledger или Trezor. То есть вы не можете сразу послать транзакцию что хотите поменять один токен на другой.
Второй вид это децентрализованные биржы. Они работают чуть чуть по другому. Есть два подвида. Первые в основе которых лежит уже знакомая нам книга ордеров. Там используется гибридная схема: сама книга ордеров централизована (хранится в одном месте), но поверх нее существует децентрализованный блокчейн со смарт контрактами. Книга ордеров централизована потому что иначе это не эффективно. Если тебе нужно договариваться со 100 узлами сети о внесении каких-то изменений в книгу, то это в любом случае будет медленно.
Второй подвид — это AMM, о которых сегодня и пойдет речь. Не путать с печально известным МММ. Они представляют собой по сути смарт контракты. Например, Uniswap — самый популярный смарт контракт на Ethereum. Как они работают? Там вам не нужно уже доверять никакому посреднику. Вы просто отправляете транзакцию что хотите поменять например 1 ETH на USDT. И контракт выполняет транзакцию согласно своей логике.
Есть несколько сущностей: пулы ликвидности, провайдеры ликвидности и так называемая кривая. Разберем по порядку каждый из них.
Пул ликвидности это пара токенов. Например пара ETH-USDT.
Провайдеры ликвидности предоставляют смарт — контракту токены в распоряжение и взамен получают вознаграждение. Любой человек или другой смарт-контракт может стать провайдером ликвидности. Для этого вы отправляете специальную транзакцию на адрес смарт контракта в которой пересылаете ему токены в определенной пропорции (например 1 ETH и 1560 USDT). О том как рассчитывается эта пропорция мы еще поговорим. Взамен вы получаете так называемые LP токены и начинаете зарабатывать часть комиссии AMM от сделок.
Зачем вообще нужна ликвидность? Если нет ликвидности, то и обменивать понятное дело нечего. То есть когда вы приходите на биржу (Binance или даже Московскую), вы ожидаете что в любой момент времени можете купить или продать акции Газпрома. В традиционных биржах провайдерами ликвидности зачастую выступают брокеры. Они предоставляют ликвидность и зарабатывают на арбитраже. В нашем случае нам тоже нужна ликвидность, чтобы любой пользователь мог произвести обмен в любой момент времени. Задача успешного AMM — привлечь достаточное количество провайдеров ликвидности путем выдачи им плюшек в виде LP токенов и % от комиссии от сделок. Часть % биржа забирает себе конечно. LP токены зачастую можно переиспользовать в других DeFI протоколах.
Мы поговорили про пул ликвидности и провайдеров ликвидности. Теперь, как смарт-контракт определяет цену токенов? Что 1 ETH равен 1560 USDT?
Как это определяется? Есть несколько моделей. Первая это constant product. По сути это фиксированная формула которая применялась в Uniswap 1 версии, Balancer и других AMM первого поколения. Формула x*y=k. Это кривая, которая рассчитывает цену. Когда кто-то добавляет в пул много ETH, то его цена в пуле уменьшается. А USDT все тоже количество. Тем самым происходит балансировка цена согласно формуле / кривой.
Есть другие модели. Aave использует внешний oracle, который говорит какая цена должна быть. С ней проблема такая что когда в ту или иную сторону смешается пул (например слишком много ETH в пуле и мало USDT), то эта модель становится неэффективной потому что Oracle не поспевает за скоростью изменения соотношения зачастую.
Есть также гибридная модель, которая называется stable swap, которая используется в проекте Curve. Это комбинация 1 и 2 моделей описанных раньше. По умолчанию используется внешний Oracle, но как только пул отклоняется в любую сторону больше чем некоторый коэффициент, происходит переключение на формулу / кривую.
Появилась еще недавно новая модель, которая называется концентрируемая ликвидность, которую называют супер прорывом в AMM.
Она используется в Uniswap V3. В этой модели появилась возможность выбирать диапазон цены токенов для которой провайдер предоставляет ликвидность. То есть не во всем диапазоне как в 1 и 2 моделях, а только например от -5 до +5. За счет этого достигается большая эффективность.
Если вы добавляете 1% от всех средств в этом пуле, то вы получете LP токен, который предоставляет вам 1% начисленных комиссий со всех транзакций в этом пуле.
В дополнение к этому AMM еще дает токены управления, чтобы голосовать за какие-то изменения например добавление новой пары токенов или изменения параметров сети. Каждый AMM в начале устанавливает список пар токенов, но потом через governance можно добавлять новые пары.
При размещении крупных ордеров и добавлении или удалении значительного количества токенов в пул, может произойти расхождение цены актива в пуле и его рыночной ценой. Например рыночная цена Ethereum может быть 3000$, а в пуле она может быть 2900$ потому что кто-то добавил много ETH. ETH будет торговаться со скидкой в пуле создавая возможность арбитража. Есть арбитражные трейдеры, которые зарабатывают на этом. Они выкупают ETH и продают его на рынке. После этого соотношение возвращается к нормальному где 1 ETH = 1650 USDT.
Провайдеры ликвидности зачастую зарабатывают на арбитраже.
С AMM связаны несколько рисков. Один из них это непостоянная потеря (impermament loss). Когда происходит смешение пула в крайнюю правую или левую сторону. Если вы как провайдер ликвидности добавляли токены в соотношении 1 ETH = 1650 USDT, но после смещения 1 ETH стал = 1600 USDT а вы при этом хотите вывести свои токены, вы можете это сделать, но понесете потери. Когда пул возвращается в свое нормальное состояние, то непостоянной потери не происходит. Чем больше пул и популярнее AMM, то тем меньше вероятность непостоянной потери.