Что нужно для размещения соревновательного игрового сайта

Допустим, я хотел разместить сайт, на котором

  • пользователи создают свои учетные записи
  • они вносят биткойны на указанные счета
  • комиссия в размере, скажем, 0,05% удерживается со всех биткойнов, внесенных на сайт
  • пользователи играют друг с другом в соревновательную игру (например, в шахматы или другие игры для большего количества игроков) на ставку
  • победитель получает полную ставку
  • каждый пользователь может вывести свои биткойны в любое время

Я полагаю, что это будет довольно сложно сделать правильно из-за всех вовлеченных аспектов, таких как доверие пользователей, безопасность и технические аспекты.

Мои вопросы:

  • Как современные сайты ставок обрабатывают ввод/вывод биткойнов и как они удерживают комиссию за это?

  • Любой небольшой сайт может полагаться на доверие и делать это вручную, но я предполагаю, что ни один профессиональный сайт не обрабатывает это вручную. Итак, существует ли существующая библиотека (я буду использовать Node.js, если это имеет значение) или сторонний сервис для этого? И должны ли биткойны храниться в обычном автономном кошельке?

  • И, наконец, есть ли способ «доказать», что игры честные, чтобы установить доверие? Есть ли какие-либо законодательные требования по этому поводу?

Получение легальных разрешений на работу игорного сайта звучит дороже, чем собственно разработка такого сайта.
Вся идея тоже странная. Звучит как упражнение в мешках с песком. В среднем побеждает более сильный игрок, поэтому игры будут происходить только в том случае, если один из игроков неверно информирован о силе другого игрока. Во многих играх возможен обман (например, в шахматах компьютеры намного сильнее людей), что вызывает дополнительные трудности.
@CodesInChaos, как и в играх со ставками: удвоенная сила, двойная (или квадратная) выплата. Думайте об этом как о вероятностях. Вы можете рискнуть, играя с более сильными игроками (скажем, они могут выиграть у вас в 75% игр) только для того, чтобы вам платили больше.
@kaoD Это не меняет основной проблемы: игроки, которые не пытаются исказить свою силу, будут платить игрокам, которые это делают. Это соревнование в том, кто сильнее жульничает, а не в том, кто лучше играет.
@CodesInChaos, что ты имеешь в виду? Чтобы исказить свою силу, вы должны проигрывать игры, т.е. платить. Если это можно сбалансировать (а вы можете предположить, что это невозможно?), оптимальная стратегия состоит в том, чтобы играть с игроками примерно вашего уровня и играть законно.
@CodesInChaos Что касается получения юридических разрешений на работу игорного сайта, насколько я знаю, вам не нужны никакие разрешения. Биткойн не является деньгами FIAT, на него не распространяются правила азартных игр, поэтому лицензия на азартные игры не требуется (при условии, что сайт не принимает деньги FIAT).
@BabyPuncher Не думаю, что это так просто. В моей стране правила азартных игр действуют независимо от средства обмена. Пока это имеет ценность, оно подлежит налогообложению. Страна может даже запретить азартные игры в нефиатной валюте, чтобы избежать уклонения от уплаты налогов.
Я предполагаю, что это может работать, пока пользователи вынуждены пройти серию матчей против компьютера, чтобы оценить свои силы, вы используете своего рода гандикап, либо денежный (так что профессионал против новичка рискует больше) или как это делается в сёги (японские шахматы), где у более сильного игрока удаляются некоторые фигуры. Конечно, оценка силы должна обновляться после каждой игры (а-ля Yahoo Games), а первоначальный процесс оценки должен быть достаточно долгим и утомительным, чтобы отбить желание создавать марионеток для легких побед.
Я использовал шахматы только в качестве примера. Но да, это нетривиальная задача — оценить способность игроков вести честную игру. Весь смысл превращения этой игры в соревновательную состоит в том, чтобы отделить сайт от платежей (и, следовательно, риска) и брать только комиссию. @JoePineda, это хорошая идея. Альтернативой может быть сопоставление игроков с таким же процентом «выигранных» игр (подделка, которая подразумевала бы риск денег, и, таким образом, это, естественно, отпугнуло бы злоумышленников от этого).
Кроме того, «механика» игры должна быть NP-сложной (например, в «Тетрисе»), чтобы не было быстрого решения или умного алгоритма, который бы их быстро решал. Делает невозможным обман.
Другая идея, которая только что пришла мне в голову, — это разместить сайт для виртуальной версии карточной игры, такой как Yugi-oh или Magic-the-Gathering. Либо вы получаете лицензию на них, либо создаете свои собственные карты с игровым процессом, подобным этим. Затем вы можете позволить игрокам играть бесплатно, взимая небольшую плату с пользователей, обменивающихся картами, или продавать им напрямую новые карты, созданные вашими дизайнерами. В этих играх много рандома (попроще для новичков), и если вы готовы заплатить достаточно, вы можете получить мощные карты.

Ответы (1)

Как современные сайты ставок обрабатывают ввод/вывод биткойнов и как они удерживают комиссию за это?

Как и любой другой платеж: вы отслеживаете блокчейн и храните баланс в базе данных вашего сервера.

  • Вы можете взимать комиссию за депозит (например, 0,5% комиссии, при внесении 10 BTC просто зачислите 9,95 BTC)
  • Вы можете взимать плату за игру (например, когда каждый игрок ставит 5 BTC в игре для 2 игроков = 10 BTC, победителю платят только 4,95 от его соперника) и удерживать 0,05 (0,5%).
  • В играх со ставками вы также можете изменить долгосрочную статистику против себя, чтобы казино имело преимущество (точно так же, как рулетки в казино имеют 0, а некоторые даже 00).

Любой небольшой сайт может полагаться на доверие и делать это вручную, но я предполагаю, что ни один профессиональный сайт не обрабатывает это вручную. Итак, существует ли существующая библиотека (я буду использовать Node.js, если это имеет значение) или сторонний сервис для этого? И должны ли биткойны храниться в обычном автономном кошельке?

Это будет работать так же, как и любой другой бизнес, просто просмотрите этот сайт. Вы можете положиться на сторонние компании, которые сделают это за вас, или создать систему самостоятельно (используя библиотеки или нет, вы должны слушать события блокчейна и действовать соответственно).

И, наконец, есть ли способ «доказать», что игры честные, чтобы установить доверие?

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

Если игры основаны на случайности, либо пользователи должны верить в вас, либо вы должны предоставить пользователю способ убедиться, что вы его не обманываете. То, как такая схема может быть реализована, зависит от детальной механики игры (вы даже можете использовать для этого блокчейн Биткойна).

Есть ли какие-либо законодательные требования по этому поводу?

Труднее всего здесь иметь дело с правовой системой. Как и любой другой юридический вопрос... это зависит от вашей юрисдикции! В моей стране вы должны пройти аудит, прежде чем начинать букмекерский бизнес.

Большое спасибо за этот обстоятельный ответ! Будет ли отслеживание блокчейна и ведение балансов в базе данных сервера вручную слишком примитивно? Учитывая, что я не ожидаю, что сайт станет огромным. Единственным недостатком этого, который я вижу, является то, что будет задержка между депозитом или снятием средств, которая будет отражена, поскольку мне придется проверять транзакцию самостоятельно.
@ Роберт, в этом подходе нет ничего плохого. Проблема в том, что существуют сотни крайних случаев, связанных с блокчейном (например, реорганизация сети), и огромные затраты на эксплуатацию платежной инфраструктуры.
Я видел, как работают многие рулетки с криптовалютой: они предварительно генерируют следующий псевдослучайный выбор рулетки, хешируют его, добавляют соль, а затем публикуют его ДО вашей ставки. После того, как вы сделаете ставку и нажмете кнопку «Перейти», откроется псевдослучайное число и соль, чтобы вы могли сверить их с опубликованным результатом. Для виртуального крупье было бы возможно, хотя и ОЧЕНЬ дорого в вычислительном отношении, выбрать разницу. число (чтобы вы проиграли), затем найдите соль, чтобы опубликованный хэш был таким же, вот что создает немного доверия.