Протокол для беттинга PROOF OF TOSS: особенности технической реализации

PROOF OF TOSS  блокчейн-протокол для индустрии беттинга, над которым работает команда AXIOMA. На портале The Merkle было опубликовано интервью с нашим CTO, в котором он рассказывает о технических аспектах разработки проекта.

 

Расскажите об архитектуре PROOF OF TOSS, какие принципы команда разработчиков заложила в ее основу.

Архитектуру проекта мы продумывали так, чтобы, с одной стороны, реализовать оптимизацию хранения данных в смарт-контракте, а с другой — чтобы получение данных было быстрым. Основных компонента три: смарт-контракты, сайт и Elasticsearch, который используется для индексации полученных данных и позволяет поиск по разным критериям по большим объемам данных с хорошей для нормальной работы пользовательского интерфейса скоростью.

Важная архитектурная особенность проекта в том, что фактически у системы отсутствует бэкенд. То есть взаимодействие происходит напрямую со смарт-контрактом и кэшем без посредника в виде сервера.

Как и для чего вы используете смарт-контракты?

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

По сути, вся бизнес-логика системы находится внутри смарт-контрактов. Сайт — это только интерфейс, который вызывает смарт-контракты и выводит данные. Благодаря смарт-контрактам и технологии блокчейн система приобретает важные для беттинга свойства: децентрализацию, прозрачность, возможность проводить мгновенные выплаты, решать споры.

В проекте используется платформа смарт-контрактов RSK. Кажется, ее до вас не использовали. Что это за платформа и почему выбрали именно ее?

RSK — это платформа смарт-контрактов, которая является сайдчейном биткоина и позволяет проводить до 100 транзакций в секунду, а со временем и до 2000 транзакций в секунду. В RSK встроена Ethereum виртуальная машина, это означает, что в ней могут выполняться смарт-контракты, написанные на Solidity.

Действительно, мэйн-нет RSK сейчас в закрытом тестировании, ни одного продакшн-проекта не существует, и PROOF OF TOSS будет использовать эту технологию первым или в числе первых. Преимуществами этой технологии является то, что блокчейн биткоина на сегодняшний день обладает самой высокой стабильностью и безопасностью среди всех блокчейнов, и его стабильность переносится на RSK, а также то, что в RSK применяются уникальные технологии для масштабирования, которые позволят существенно обогнать Ethereum в производительности.

 Среди функционала платформы есть выбор события, которое будет судить наделенный соответствующей ролью пользователь. Как это реализовано?

 Для этого используются on-chain генератор случайных чисел. Мы разработали генератор случайных чисел, устойчивый к манипуляциям майнеров и мошенников. С его помощью происходит выбор случайного события для судьи. Событий может быть бесконечно много, но мы продумали алгоритм, который при любом количестве событий сможет за фиксированное количество газа выбрать случайное событие, подходящее по параметрам данному судье.

Еще одна проблема, которую приходится решать, заключается в том, что майнеры могут манипулировать временем блока и другими данными. От этого нужно защищаться, поэтому генератор случайных чисел не может быть тривиальным. Дело в том, что майнер видит результат транзакций в новом блоке, поэтому он может не отправлять блок, если результат его не устраивает, а подбирать нужный результат. Поэтому в случае генератора случайных чисел нужно сделать так, чтобы результат был виден только после отправки блока.

Известно, что букмекерская сфера привлекает много мошенников. Как система будет защищена от них? 

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

Мы также продумали защиту от манипуляций майнеров с точным временем. Голосования и все состояния события завязаны на реальное время: за 10 минут до начала события ставки должны прекратиться. Но на блокчейне время может сильно отличаться от реального, и если ориентироваться только по блокчейну, то может возникнуть ситуация, что ставки могут приниматься после начала события. Разработанный нашей командой алгоритм будет защищать от этого.


Оригинал интервью на английском языке: https://themerkle.com/proof-of-toss-architecture/
Сайт проекта PROOF OF TOSS: https://toss.pro/

12 марта 2018
Последние посты