Ставки вне блокчейна
Ставки вне блокчейна строятся по схеме внесетевых выплат с двухфазовым соглашением.
Пример
Алиса и Боб хотят сделать ставки на то, будет ли биткоин стоить $500 через две недели. Кэрол собирается объявить результаты спора: она подписывает и публикует заявление о том, что если через две недели стоимость биткоина будет хотя бы $500, то она выявит прообраз HashA, а если через две недели стоимость биткоина будет ниже $500, то она выявит прообраз HashB.
Вместе Алиса и Боб создают “канал для ставок”. Допустим, каждый из них скидывается по 0.5 BTC, а затем они оба подписывают договор о том, что потратили эти деньги. Транзакция возврата, подписанная Алисой и Бобом, действительна в течение года по системе nLockTime.
Алиса делает ставку в 0.1 BTC на то, что биткоин будет стоить хотя бы $500, тогда как Боб ставит 0.1 BTC на то, что через 2 недели биткоин будет стоить менее $500. Затем Алиса и Боб подписывают две версии транзакций с nLockTime заранее (например, за день) до того, как будет сделана последняя ставка (или же совершена выплата, если канал не предполагает ставок) со следующими выводами:
Версия I.
1. .6 BTC to SHA256 HashA EQUALVERIFY PubkeyAlice CHECKSIG 2. .4 BTC to SHA256 HashA EQUALVERIFY PubkeyBob CHECKSIG
Версия II.
1. .4 BTC to SHA256 HashB EQUALVERIFY PubkeyAlice CHECKSIG 2. .6 BTC to SHA256 HashB EQUALVERIFY PubkeyBob CHECKSIG
Если стоимость биткоина через две недели будет хотя бы $500, Кэролайн выявит прообраз HashA. Это единственный вариант транзакции для того, чтобы Алиса и Боб смогли получить свои деньги, будет версия I. Если биткоин будет менее $500, верным будет иное.
Если выигрывает Алиса, то Бобу остаётся только смириться с проигрышем. Если бы Боб попытался опубликовать версию II, он не смог бы получить свой выигрыш, так как не знает прообраза HashB. А жульничество со стороны Кэрол будет легко доказано тем, что оба прообраза HashA и HashB были опубликованы ранее.
После того, как был опубликован победивший прообраз, канал может быть использован повторно.
Существует множество вариантов использовать подобную тему: например, можно задать только одну транзакцию, делать ставки с более, чем двумя исходами, и т.д. Также со временем можно отрегулировать сумму ставки: чем дольше идёт спор о каком-то событии в заданном направлении, появляется возможность корректировать распределение каналов выплат.
Этот конструктор может быть использован для любых ставок, при условии что присутствует тот, кто рассудит спор – выполнит работу Кэрол. Этому человеку предстоит опубликовать все ключевые моменты спора, а после завершения события показать прообраз, соответствующий результату.
В случае друг-против-друга, становится возможным хеджировать валютный или какой-либо другой риск. Например, Overstock.com хотели бы хеджировать риск того, что цены на биткоин снизятся, прежде, чем они смогут выплатить своим поставщикам за покупку. Overstock предложит несколько аналогичных ставок на основе индекса цен Coindesk.
Coindesk может ежедневно публиковать на своём сайт или через API подписанные наборы прообразов для дальнейших объявлений. Например, они публикуют набор прообразов на ближайшие две недели:
- Если стоимость биткоина находится между $0 и $100, то выявить прообраз HashA
- Если стоимость биткоина находится между $100 and $200, то выявить прообраз HashB
- Если стоимость биткоина находится между $200 and $300, то выявить прообраз HashC
- И т.д.
Overstock будет делать ставки со своими контрагентами по такой же аналогии, с упором на то, что цена будет ниже (например, длительное понижение цены на актив или её короткий взлёт). Его контрагенты со своими личными внутренними книгами могут хеджировать этот риск с другими контрагентами, которые, возможно, хотели бы получить свои деньги, если курс биткоина повысится (например, короткое снижение цены или длительный взлёт бинарного опциона). Конечным результатом станет распределение производных инструментов рынка на базе индекса цен Coindesk. Также могут использоваться конкурирующие индекс, такие как Winkdex.