May 19, 2022

Bancor, ещё Bancor, ещё Bancor

CryptoLamer возвращается к длиннопостам с третьей версией первого в истории AMM... ровно на один пост. Очень много гифок "внезапно понял"

Ну что, сейчас вам реальный русский техно-OG покажет что такое НАСТАЯЩИЙ ТЕХНИЧЕСКЫЙ КАНТЕНТ. По заявкам страждущих, чтоб насытились, расскажу вам оч прикольную историю про технологии в стиле "почти eli-5".

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

https://docs.bancor.network/about-bancor-network/bancor-v3

https://blog.bancor.network/bancor-3-the-ultimate-defi-liquidity-solution-is-live-a19aa3ba7314

https://blocmates.com/blogmates/a-complete-guide-to-bancor-3-dawn/

https://alphapls.substack.com/p/bancor-v3-step-forward-for-defi?s=w

https://medium.com/bollinger-investment-group/constant-function-market-makers-defis-zero-to-one-innovation-968f77022159

для тех, кому лень есть tl:dr картин_очка

остальным, приятного чтива

Первый АММ

Начать разговор про V3 Bancor невозможно без контекста, то бишь краткого погружения в историю продукта и его первых двух версий. До всех этих мультичейновых форков, до вампирских атак сушей, да и до юника вообще был проект, который умудрился собрать ровно $150кк вечно зелёненьких бумажек ровно под одну идею

Очень простая идея

Ах, да eli-5

Ну теперь-то узнал?

Да, именно Bancor, а не Uniswap был первым, кто использовал простую математическую формулу для определения цены актива относительно другого и представил концепцию "пулов ликвидности", без которых теперь ни пофармить нормально, ни ковер не вытащить, ни ректануться нельзя.

Но в первой версии протокола была парочка существенных недостатков. Одним из них страдают плюс/минус все АММ до сих пор. Не важно каким обменником и в какой цепи ты пользуешься, великий и ужасный Impermanent Loss, или ИЛ в простонародье, настигнет тебя.

Суть IL визуально можно представить на графике ниже

Ось Х - изменения цены актива от начальной в %. Ось Y - Размер твого депозита, положенного в пул в %

Если кратко изложить график, то получается, что человек, который хочет отнести свои средства в пул, зарабатывает на комиссиях с обмена только в очень узком диапазоне цены активов в пуле (приблизительно -60%/120% от значения цены, по которому он эти активы в пул принёс), в остальных случаях денег у него было бы больше, если бы он эти самые активы просто держал на кошельке.

Второй момент, который только усиливал эффект первого и позволил Bancor успешно проиграть дуэль всем свои конкурентам в том, что все пулы были привязаны к токену BNT, который был не нужен более ни для чего. Инициативы проводить ликвидность, даже в отличие от того же Юника, который в первой версии своих пулов все активы привязывал к эфиру, было ровно 0. Ценность эфира в обменах всем ясна и понятна, ценность BNT... (звуки бесконечной загрузки).

Во второй версии все эти проблемы протокол попытался решить следующими способами.

1) Single-sided staking. Для заноса актива в пул более ну нужно было либо продавать половину желаемого токена в BNT, либо идти куда-то ещё, чтобы купить BNT на ту сумму, чтобы провести ликвидность в пул. Достаточно было только того токена, который ты хотел занести.

2) Защита от IL. Очень хитрый механизм страхования включался в дело с тридацатого дня в пуле, но чтобы быть полностью защищённым, необходимо было продержать средства в пуле аж 100 дней.

Вроде бы круто, НО! Во-первых, чтобы задепонировать средства в пул, вывести их оттуда или сделать обмен необходимо было потратить ахулиард на газ. Потому что механизм страхования надо обслуживать средствами сети (плати за газ) и обмен внутри Bancor - это ещё был двухшаговый процесс (об этом подробнее ниже, но опять же плати за газ ещё больше).

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

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

В общем, решения проблем приводили к ещё более масштабным проблемам и дикому отставанию от конкурентов, хотя вроде и токеномику даже поправили. Но с таким багажем пути было ровно два

Третья версия

Третья версия, на мой взгляд, не что-то сверхвыдающееся или ультрановое. Скорее это просто эволюция идей, заложенных во второй версии (v2.1 если уж докапываться до деталей). Теперь, кажется, впервые мы получаем протокол, который в потенциале мог бы собрать 150 лямов с фондов и ретейлеров на койнлисте. Поэтому о главных трёх главных фичах V3 развернуто и по порядку.

Омнипул

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

1) Токен 1 -> BNT

2) BNT -> Токен 2

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

Если пытаться объяснить, продолжая оперировать кулинарной терминологией, а всё ещё "готовлю DeFi" для тебя (понял отсылочку, ну понял же? напиши в комментах), то в омнипуле есть некий суп из токенов внутри которого лежит одна такая большая фрикаделька из BNT-токенов, относительно которой вычисляется доля каждого продукта в общем супе, а уже исходя из этого высчитывается цена обмена одного актива на другой. Вроде бы шаг вычисления цены относительно BNT токена остается, но он виртуален и происходит только внутри вычислений протокола, а никак не отдельной частью транзакции, требующей платы за газ.

Это приводит к цепочке крайне интересных последствий.

  • Транзакция обмена НА 80% дешевле.
  • Single-sided депозиты одним активом без ограничений (одна из причин, про вторую ниже).
  • BNT стейкеры зарабатывают комиссии СО ВСЕХ обменов

На последнем остановлюсь чуть подробнее. Тебе как холдеру эфира всегда было больно смотреть, когда пул в USDT по доходности обгоняет пул DAI. Ручки так и тянутся вывести из одного пула и переложить в другой? Так зачем это делать, если можно просто положить свой любимый токен в один котёл и зарабатывать средний процент по всей больнице вместо того, чтобы тратить силы, время и деньги бегая с одного этажа на другой? Вот и я о том же, стейкер BNT отныне получает среднюю доходность с комиссий всего Bancor DEX.

Мгновенная защита от IL

Вместо Time-vested страховки v2.1, которая предлагала защиту от IL только с 30го дня нахождения средств в пуле с линейным увеличением на 1% каждый последующий день вплоть до 100го

третья версия опирается на механизм защиты, который позволяет страховать тебя от неизбежной гидры каждого DEX прямо с первого дня. Во второй версии фишка была в том, что с обратной стороны пула токен BNT в него при односторонних депозитах добавлял сам протокол (привет Олимпусу и PoL). Тут надо пояснить, что напечатанные в пул BNT, как бы исключаются из циркуляции и служат скорее сервисным токеном определения цены, хотя в любой момент доливать своё и изымать можно было и с двух сторон, протокол просто подстраивает эмиссию под депозиты и выводы.

Чивооооо

Знаю, это не просто осознать, но я в тебя верю. Так вот со своих BNT протокол точно также, как и провайдер, получал комиссии за обмен, которые потом распределялись между теми, кто выводил из пула свой токен, пострадав при этом от IL. Если и этих комиссий не хватало, то протокол просто печатал и возвращал тебе дополнительные BNT. Вроде как на истории, заработанных протоколом за 30 дней комиссий всегда хватало на покрытие IL провайдерам. Вроде и прикольное решение, только так или иначе это инфляция BNT, а также искусственные ограничения размеров пулов, о чём я писал выше.

Зато теперь страховка от IL мгновенная

Что за магия такая? На самом деле никакой магии нет и механизм просто переместился на другую временную сторону процесса. Где-то находишь, где-то теряешь. Обмануть законы физики экономики невозможно. Вместо ожидания получения полной страховки в 100 дней, теперь ты ожидаешь вывода депозита 7 дней, а также платишь комиссию за вывод в 0,25%.

если бы новый страховой механизм был картинкой

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

Логичный ход, во-первых, он защищает от single-sided абьюза системы, во-вторых создают страховой пул, в третьих, исходя из математики, снижает количество необходимых BNT для покрытия IL, когда страхового пула в нативном токене не хватает, в-четвёртых, ликвидность становится глубже, а в главных исчезают любые ограничения на размерность пула.

Автоматически реинвестируемые двусторонние награды

Удивительно, но еще месяц назад фармить в Bancor v2 в 2022м выглядело, как будто ходить на завод, понимая как же там однообразно, скучно и платят мало. С другой стороны стабильность и депозит никто не отнимет, и в макдональдс на кассу не заберут.

когда нахлынули воспоминания о заводе

Но тем не менее награды в пулах мог предоставлять только сам протокол в токене BNT.

Так вот, как я уже и говорил механизм внешней защиты от IL - это не только защита, но и награда для провайдера. Никто не ограничивает сторонние протоколы в их возможности выделения наград для юзеров Bancor.

Ну а ещё одна фишка фактически делает из Bancor Beefy или Yearn. В обычных DEX мы уже привыкли, что награду надо бы заклеймить и бежать к стакану, опережая свой IL. Но в Bancor V3 это действие бессмысленно. Получая LP-токен, который в Bancor завётся как Bancor Pool Token (BPT), тебе не нужно ничего стейкать или нести на сторону. Весь процесс автокомпаунда наград реализован за тебя. Как? Всё очень просто. Все те токены, которые сторонние протоколы и сам Bancor приносят в омнипул, остаются в котле, в то время как созданные взамен на нативный токен пул-токены BPT со временем просто сжигается, тем самым увеличивая долю BPT, а соответственно и её ценность, для провайдера ликвидность. При этом вся ликвидность остаётся активной внутри протокола.

а потом как понял

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

Конечно, можно обсудить ещё новую токеномику с ликвидным стейкингом BNT и механизмом сжигания Vortex, а также будущую мультичейновость, но я оставляю тебе это в качестве домашней работы.

Безусловно, BNT - это всё ещё игрушка для богатых эфирных бояр, которые хотят пристроить свои колоссальные накопления в более безопасные продукт с приемлемой доходностью. V3 - красивая попытка стать чуть ближе к народу и наделить хоть какой-то за 5 лет ценностью нативный токен, убирая все те ненужные костыли, что впихивались во второй версии в попытке решить вечные проблемы DeFi и догнать улетевших далеко вперёд конкурентов. Получится ли это за счёт более эволюционных и практичных решений V3? Рыночек покажет. Я же пристроил своих эфирки не пробу, пока газ относительно невелик. Заинтересованности в покупке BNT в данный момент не имею.

За сим с тобой прощаюсь до следующей простыни. Когда и о чём она будет? Спроси чего полегче... например, про виды реализаций ликвидного стейкинга в протоколах LS для Ethereum 2.0.

P.S. данная простыня носит исключительно информационный характер, все написаное в ней можно сверить с источниками, в ней указанными, а если ты считаешь её руководством к действию, то могу тебя поздравить со скорым уполовиниванием депозита. Действуй!