По мере обсуждения, могут всплывать недостатки которые необходимо убрать или более удачные решения. По этому я в этом посту вношу самые последние изменения. Однако в начале обсуждений этого могло не быть и обсуждалось уже устаревшее решение.
Поэтому прошу при чтении этой темы,учитывать этот момент.Часть 1
Недостатки системы MakerDao
После форс-мажора с DAI
«Черный четверг» вылился для MakerDAO в групповой иск на $28 млн стало понятно, что та конструкция, что была выстроена MakerDao не способна выстоять в кризис.
В первую очередь, это подход разработчиков сделать стейблкоин в тупую. Мне все яснее и яснее видно, что кроме умения программировать, надо ещё уметь думать децентрализовано, так же как и в трейдинге вероятностно. Не все это могут, а потому строят централизованные конструкции.
У DAI централизованной конструкцией была система оракулов, которая типа по независимым каналам поставляет котировки, однако, в кризис она дала сбой. Плюс из за централизованной единой цены все контракты сверяют момент ликвидации при достижении уровня ликвидации. Далее это голосование о всеобщей остановки системы, фиксирования цен и произведении расчетов. Со всем этим система MakerDao не справилась.
Более того, они пошли по пути увеличения рисков и централизации, путем создания мультизалогового обеспечения (оно создает более высокую волатильность, нежели просто когда был один эфир) и дальнейшей централизации, когда в обеспечение они включили стейбкоин USDC
Пользователи MakerDAO смогут использовать стейблкоин USDC в качестве обеспечения, что совершенно не вяжется с декларацией децентрализации.
Таким образом я делаю вывод, что на сегодняшний момент по настоящему децентрализованного стейблкоина не существует.Костыли централизации или что нам не нужно
Для начала построения децентрализованного стейблкоина мы должны понять от чего нам нужно отказаться:
- система оракулов. Это централизация, в кризис всё синхронизируется, плюс возможен сговор. Данная система и её котировки будет крайне важна, так как цена будет использоваться всеми контрактами, атака на цену приведет к атаке на всю систему.
- система доверителей или гарантов. Это ещё один костыль централизации. Мысленно представляем, как всем гарантам зажали яйца дверью и понимаем, что это не будет работать в форс-мажорных обстоятельствах. Плюс если их вывести из системы, система будет уничтожена.
Вверху я написал основные костыли централизации. Если Вы их видите, то такой проект как правило централизован.
Какие функции должен решать наш стейблкоин
Если подумать, то в основной своей массе криптовалютчикам вроде нас, стейблкоин нужен, чтобы выходить в моменты максимальной цены и сохранять стоимость заработанного. А потом, когда опять подешевеет снова зайти в криптовалюту, для ожидания нового роста.
Ещё некоторым, чтобы можно было вести расчеты не боясь сильного искажения цены. У DAI идет мягкая привязка к доллару, а потому тот небольшой люфт, что возникает не особо мешает им пользоваться. Тут я напомню, что при создании DAI нужен залог от 150% или выше, в случае же достижении ценой уровня 105%-110% происходит принудительная ликвидация. Этот момент не совсем понятен и удобен при передаче токенов другому лицу. Именно и из за таких моментов, в общем фонде потом и происходит недостача денег.
В идеале многие бы хотели зарабатывать в этой системе какие-то проценты годовых, но чтобы это было надежно.
Начинаем создавать
И так начнем. Будем смотреть по условным примерам, они более лучше покажут, как это работает.
Начнем с примера владельца 1 стейблкоина равному 1$.
Пусть текущая цена ETH/USD=200$, тогда обратная котировка примерно равна 0.005ETH и она показывает сколько нужно эфира, чтобы был эквивалент 1 $ по текущему курсу. Данный курс Вы, как будующий владелец стейблкоина смотрите на другой бирже сами.
200$ я взял для добства, допустим Вы зашли на биржу и увидели реальный курс ETH/USD=202$.
Далее Вы заходите на аукцион страховок и видите примерно следующее:
Расчетный курс =200$( 1÷(0.0025000×2))
Отсечка = 220$(200$+10%)
Расчетная цена создания = 0.005125 ETH (0.0025000×2+0.0025000×5%)
Количество Цена_ETH Сумма страховки %годовых
10 0.0025000 0.50$(0.0025×200) 5%
15 0.0025000 0.50$(0.0025×200) 7%
15 0.0023000 0.46$(0.0023×200) 7%
И так сумму эфиров которую Вам надо будет заплатить определяется расчетной ценой создания, которая равна двойная лучшая цена и плюс годовая процентная ставка у нее.
Вы видите, что при текущем расчетном курсе ETH/USD=200$, курс не не сильно отличается, а значит подходит. Ваша страховка составляет 0.50$ значит она Вам подходит, так как при создании страховка обязана покрывать только 50% стоимости вашего стейблкоина.
На создание стейблкоина Вы затратите полностью 0.005125 ETH, что и указано в расчетной цене создания.
И так Вы платите 0.005 ETH и эти деньги больше Вам не вернуться. Часть из этих денег пойдет на гонорар разработчику.
Гонорар разработчику сделать равную годовой ставки по страховке. Условно есть:
Расчетный курс =200$( 1÷(0.0025000×2))
Отсечка = 220$(200$+10%)
Расчетная цена создания = 0.005125 ETH (0.0025000×2+0.0025000×5%)
Количество Цена_ETH Сумма страховки %годовых
10 0.0025000 0.50$(0.0025×200) 5%
Так вот при создании токена, поступает на контракт сумма именно 0.005 ETH, из этой суммы разработчик должен получить только 0.0025000×5%=0.000125 ETH так как это и будет годовая процентная ставка от страховки участвующей при создании. Таким образом из суммы 0.005 ETH поступает разработчику только 0.000125 ETH, а остальная сумма резервируется для оплаты газа у этого смарт-контракта.
В итоге получается, пока деньги в этом фонде есть, то все пользователи своих операции с нашим стейблкоином совершают бесплатно. Как только там деньги заканчиваются, пользователи, начинают оплачивать комиссию газа их своих денег.
В результате, получается двойная польза и деньги вроде расходуются и не достаются никому и бесплатные операции со стейблкоином делают условия привлекательные для пользователей.
Чем хорош такой вариант. Тем что он долгосрочный. У разработчика не будет сразу напечатанных денег или денег из неоткуда и он при всем желании не обвалит систему своими стейблкоинами.
Мы создаем разработчику долгосрочный пассивный доход, в котором он должен быть заинтересован и для того чтобы его получать ему необходимо сделать контракт без багов и самому на бирже не творить херни. Плюс сами пользователи пользуются нашим стейблкоином бесплатно, что ещё более создает привлекательные условия.
Как только Вы выберите создание 1 нового стейблкоина, то у Вас должны списаться 0.005 ETH эфира, плюс 5% от суммы 0.0025 ETH в специальный страховой фонд. Эти 5% это годовая ставка, которая будет каждый месяц или другой определенный период, выплачиваться вашему страховщику, который установил ваш уровень страховки на 0.0025 ETH.
Теперь в любой момент Вы можете воспользоваться страховкой и получить свои 0.0025 ETH , а сам стейблкоин передать вашему страховщику.
И так у Вас создался 1 стейблкоин со следующими параметрами:
- Страховой фонд= 0.000125 ETH
- Уровень страховки= 0.0025 ETH
- % годовой, выплаты по страховке= 5%
-Индикативная стоимость страховки в $=0.50$ (0.0025×200)
И так пусть прошла одна неделя, Вы заходите на биржу и видите, что курс упал, теперь он стал ETH/USD=100$.
Теперь параметры вашего стейблкоина стали:
- Страховой фонд= 0.000125 ETH
- Уровень страховки= 0.0025 ETH
- % годовой, выплаты по страховке= 5%
-Индикативная стоимость страховки в $=0.25$ (0.0025×100)
И так стоимость вашей страховки совсем уменьшилась. Раньше она была 0.50$, а теперь стала 0.25$. Это никуда не годиться, поэтому Вы идете на аукцион страховок и видите:
Расчетный курс =100$( 1÷(0.005000×2))
Отсечка = 110$(200$+10%)
Расчетная цена создания = 0.01025 ETH (0.005000×2+0.005000×5%)
Количество Цена_ETH Сумма страховки %годовых
10 0.0050000 0.50$(0.005×100) 5%
15 0.0050000 0.50$(0.005×100) 7%
21 0.0045500 0.46$(0.00455×100) 9%
Стейблокин нам уже создавать не надо, поэтому мы просто покупаем новую страховку и отменяем старую.
Теперь параметры вашего стейблкоина стали:
- Страховой фонд= 0.00025 ETH
- Уровень страховки= 0.005 ETH
- % годовой, выплаты по страховке= 5%
-Индикативная стоимость страховки в $=0.50$ (0.005×100)
И так как видите, мы обновили страховку и востановили стоимость страховки до 0.50$, что составляет 50%.
И так в случае падения курса ETH/USD нам понятно, что делать. Нужно просто периодически заменять страховку, подгоняя её стоимость к 0.50$ или больше.
Но что если, теперь курс ETH/USD вырастет. Он был 100$, а теперь опять вернеться к 200$. Какие параметры станут у нашего стейблкоина:
- Страховой фонд= 0.00025 ETH
- Уровень страховки= 0.005 ETH
- % годовой, выплаты по страховке= 5%
-Индикативная стоимость страховки в $=1.00$ (0.005×200)
Как видите, если курс ETH/USD вырос, то и стоимость обеспечения страховки выросла. Она у нас была раньше 0.50$, а теперь при росте курса стала равна 1$, что стало соответствовать 100% обеспечению.
А если курс продолжит расти дальше и скажем вырастет с 200$ до 300$. Теперь параметры нашего стейблкоина станут:
- Страховой фонд= 0.00025 ETH
- Уровень страховки= 0.005 ETH
- % годовой, выплаты по страховке= 5%
-Индикативная стоимость страховки в $=1.50$ (0.005×300)
Таким образом у нас стоимость страховки при росте курса начинает становиться больше, чем стоит сам стейблкоин. А это значит, что им уже не совсем выгодно становиться расплачиваться. Так как проще получить страховку, часть эфира забрать себе, а на остальную опять создать стейблкоин.
Как стейблкоин будет поддерживать стабильность и бороться с волатильностью
Давайте посмотрим, сможет ли данный стейблкоин противостоять волатильности и защищать своего владельца не хуже, чем фиатный доллар или централизованные стейблкоины.
Чтобы не писать наш токен или наш стейблкоин, я ему дам название Dusd. Маленькими буквами, я обозначил презираемый фиат
, а большой сделал D-децентрализация. Именно децентрализация у нас в приоритете.
Теперь нам нужно поговорить об уравнивании дисбалансов в нашей системе. Если мы увидим, что наша система умеет уравнивать дисбалансы и стремиться к точке равновесия, что с вероятностью 99% мы можем быть уверены, что Dusd будет также хорошо гасить волатильность, как централизованные стейблкоины.
Начнем с малого контура, пока условимся что он практически замкнутый и текущий курс ETH/USD=200$ неизменный.
Представьте себе рычажные весы, где одно плече это создаваемые токены, а другое плече это уже созданные токены.
При текущей ситуации для вновь создаваемых токенов будет актуальна информация с аукциона страховок:
Расчетный курс =200$( 1÷(0.0025000×2))
Отсечка = 220$(200$+10%)
Расчетная цена создания = 0.005125 ETH (0.0025000×2+0.0025000×5%)
Количество Цена_ETH Сумма страховки %годовых
10 0.0025000 0.50$(0.0025×200) 5%
Мы сразу создаем внутренняя биржа с курсом ETH/Dusd. В итоге получается. Что у желающих получить наш стейблкоин будет уже с самого начала 2 пути: купить на бирже или создать новый стейблкоин.