Сегодняшняя идея связана с построением децентрализованной автономной организации (DAO) и ставками на события.
Особенностью идеи будет являться именно нестандартная работа с оракулами и информацией от них. Поэтому прошу рассматривать наиболее критически именно этот момент взаимодействия с оракулами.
В настоящее время уже есть 2 проекта, где идет наибольший упор на работу с оракулами.
Это проекты Aeternity и Augur.
В проекте Aeternity всё очень печально, там есть названия оракулов, но используется подписка на оракулов (что само по себе более склонно к тому, что такое решение предполагает доверенные отношения нежели не доверенную среду) и скорее можно говорить о поставщиках информации нежели о полноценном сервисе по работе с не доверенными оракулами и информацией от них.
В проекте Augur, всё намного лучше, однако есть напрягающие моменты. Это голосование деньгами, кто больше даст (тут опасность в том, что деньгами можно тупо задавить) и форки событий, которые происходят редко, но мешают всей сети полноценно работать. Такой форк создается от 2.5% голосов по голосованию какого-либо события, что не особо много, но может быть критично.
Также скорее не оракулы, а поставщики котировок используются в проекте Bitshares и в случае, чего они легко заменяются. Тем не менее считаю это централизованным вариантом и возможной точкой отказа, как при целенаправленной атаке, так и технического сбоя. Ведь при таком сбое, где хоть вероятность и небольшая, но последствия могут быть плачевны.
Поэтому моей задачей было найти децентрализованное решение, по возможности не задействуя третью сторону в виде оракулов вообще, а также снижения и ограничения рисков в случае неудачного решения или сбоя.
Токены
В данном проекте, нам желательно использовать для продажи токенов низковолатильную криптовалюту, это либо классические стейблкоины либо , как проект DAI. В идеале это схема моего
децентрализованного стейблкоина.
Для понимания величин сумм и соотношений, я буду пока говорить о ценах в долларах.
Цена токена состоит:
- 2$ максимальная ставка на событие по одному токену;
- 2$ сумма на первичную апелляцию;
- 6$ сумма на вторичную апелляцию;
- 2$ залог на участие в совете 3-х оракулов;
- 6$ залог на участие в совете 7-ми оракулов;
Таким образом постоянная цена токена равна суммарно 18$.
Каждый такой токен имеет свой баланс, если баланс становиться меньше 18$, то такой токен диактивируется и требуется пополнения баланса этого токена.
Токен дает право голосовать за события, на исход которого Вы готовы ставить деньги.
DAO каждые сутки подсчитывает голоса и каждые сутки самые популярные по голосованию события активирует.
Что дает такое голосование. Когда Вы голосуете посредством своего токена, то Вы связываете свои деньги в нем и не можете ставить, где-то ещё.
Это значит, что Вы и другие люди в своей массе будете голосовать за самые интересные и известные события. Тем самым в таком событие, потом Вам будет легче найти противоположную сторону для создания и принятия пари.
Только токены, которые приняли участие в голосовании могут делать ставки или участвовать в самом пари.
Создание пари и ставки
Здесь все просто. Вы указываете числом, когда произойдет событие и само число, а также все исходы у этого события (типо победа командыА, ничья, победа командыБ). После этого ваш токен замораживается.
Другие люди читают и видят ваше событие, если оно им подходит. То они проверяют ваше сообщение, также сверяют число и исходы, если всё верно, то присоединяются и их токен тоже замораживается.
Раз в сутки, событие набравшее наибольшее число токенов и не меньше определенного числа, активируется и можно создавать ставки.
Выйти из такого голосования и отозвать свой токен можно в любой момент до активации.
Как только событие активировано, можно начинать создавать ставки, на каждый токен только по одной ставке.
Примеры ставок
Можно при создании ставок включать один или 2 события из 3-х.
Скажем Вы ставите на вероятность 70%, что победит командаА или будет ничья, поэтому Вы ставите 2*0.7=1.4$, а человеку желающему принять вашу ставку надо поставить только 2-1.4=0.60$.
Если же Вы считаете, что вероятность будет меньше, скажем 50%, что победит командаА или будет ничья, то тогда Вы ставите 2*0.5=1$, а человеку желающему принять вашу ставку надо поставить 2-1=1$.
Конфликты и проверка результатов
Ну, что теперь самое важное и интересное, как будут проверяться результаты и решаться конфликты.
И так допустим Вы приняли ставку или создали сами ставку на победу командыА. Вы поставили 0.5$, а ваш оппонент поставил 1.5$.
Время события прошло и исход известен. Поэтому Вы заходите к себе и ставите в этом событие, что командаА выиграла.
Теперь у вашего оппонента следующие варианты: согласиться, проигнорировать результат, не согласиться.
При согласии, всё просто, если он тоже указывает такой же исход, то ваш выигрыш сразу передается Вам.
В случае, если оппонент не зашел и не отметил результат, то через 3 суток, ваш результат признается единственным верным и Вам выплачивается выигрыш.
Ваш оппонент не признает результат, но для этого он должен совершить сразу 2 действия: не согласиться с результатом написав свой исход и тут же подав апелляцию при этом оставив в залог сумму равную банку ставке т.е. надо оставить оппоненту при несогласии 2$.
Как только оппонент подал апелляцию и дополнительно оставил 2$, у Вас есть 3 суток, что бы принять апелляцию, проигнорировать или отказаться.
Если Вы отказываетесь, значит ваш результат отменяется и признается результат оппонента и ему выплачивается выигрыш. Если Вы игнорируете, то после окончания 3 суток, результат оппонента признается и он получает выигрыш.
Если же Вы принимаете апелляцию и тоже ставите 2$, то собирается совет из 3-х оракулов. Каждый оракул оставляет в залог по 2$.
Каждому оракулу в течении 3-х суток предлагается написать исход вашего события, чтобы голосование оракулов не могло влиять на их решения, то вначале записываются хеши их решений, потом как все хеши от всех оракулов получены, оракулы публикуют свои решения, если кто-то из оракулов не опубликовал решение в течении 3-х суток, то его деньги забираются и потом будут делиться выигравшими, а также ищется новый оракул.
И так у нас есть решение оракулов. Если Вы согласны с решением, то отмечаете согласиться, если ваш оппонент тоже отмечает согласиться, то решение тут же исполняется.
Если оппонент не реагирует в течении 3-х суток, то решение оракулов автоматически принимаются.
Если оппонент, опять не согласен, то он отмечает несогласие и сразу же должен подать на аппеляцию, а также оставить в залог уже 6$.
Вы либо не принимаете апелляцию, либо игнорируете, но проигрываете.
В случае, если принимаете апелляцию, то тоже оставляете в залог 6$.
Теперь выбираются уже 7 случайных оракулов, которые оставляют в залог по 6$ каждый.
Как решает совет из 7 оракулов, так оно автоматически принимается к исполнению.
Теперь по поводу того, что надо ставить деньги и повышать ставку, если Вас давит оппонент своей неправотой.
Бояться не надо, исходы известны и если Вы правы, то у Вас практически гарантированный выигрыш, поэтому чем он больше поставит на свою неправоту, тем для Вас лучше.
Кто сколько заработал
И так давайте подсчитаем, как распределяться деньги и выигрыши, если ваш оппонент пошел до конца.
Вначале рассмотрим Вас, Вы получите:
- 1.5$ выиграли от своей ставки, Вы ставили 0.5$, а оппонент 1.5$;
- 0.5$ это выигрыш от суммы апелляции вашего оппонента, когда подавал на совет из 3-х оракулов, находиться 2$/4=0.5$;
- 0.75$ это выигрыш от суммы апелляции вашего оппонента, когда подавал на совет из 7-ми оракулов, находиться 6$/8=0.75$;
Теперь рассмотрим оракула принимавшего участие в совете 3-х оракулов:
- 0.5$ это выигрыш от суммы апелляции одного из проигравших участников конфликта, которые подавали на совет из 3-х оракулов, находиться 2$/4=0.5$;
Эта сумма платиться всегда, так как совет создается только после одобрения апелляции обоими участниками.
Общий риск - это сумма залога в 2$ и практически, гарантированный заработок, ведь результат события уже заранее известен и достаточно быть честным.
Рассмотрим оракула принимавшего участие в совете 7-ми оракулов:
- 0.75$ это выигрыш от суммы апелляции одного из проигравших участников конфликта, которые подавали на совет из 7-ми оракулов, находиться 6$/8=0.75$;
Эта сумма платиться всегда, так как совет создается только после одобрения апелляции обоими участниками.
Общий риск - это сумма залога в 6$ и практически, гарантированный заработок, ведь результат события уже заранее известен и достаточно быть честным.
Теперь рассмотрим нашего нечестного оппонента. Он потерял:
- 1.5$ его первоначальная ставка, которая проиграла;
- 2$ апелляция на совет из 3-х оракулов;
- 6$ апелляция на совет из 7-ми оракулов;
Таким образом, человек проигравший начальную ставку в 1.5$ сам себя наказал за свою нечестность ещё на 8$ и потерявший в общей сложности 9.5$