Реальная история.
К сожалению, есть ряд вопросов, с тем, как вы определить победителя:
Вы сортирует участников на основе "Bitcoin время транзакции", Но Bitcoin сделка не имеет меток времени. Я предполагаю, что вы на самом деле означает это время, в котором была получена сделка Bitcoin. Это время может варьироваться в зависимости от узла к узлу, однако, так что нет никакого способа, чтобы убедиться, что вы на самом деле получили сделки в порядке, вы утверждаете.
Затем победитель выбирается по сумме всех хэшей мод 9. Это дает вам только 9 возможных результатов, а не 10, поэтому десятый участник не имеет никаких шансов на победу. При использовании этого метода (по модулю) есть также небольшой уклон в сторону более ранних участников, когда сумма хэшей не кратно 9, а это означает, что игроки не будут иметь равные шансы на победу в большую часть времени.
Самая большая проблема, однако, заключается в том, что последний участник может выбрать исход игры вещательных сделки Bitcoin, которая дает желаемый результат.
Следовательно, ваша игра не доказуемо справедливая и даже может быть использована игроками.
Для некоторых идей о том, как сделать лотерейный доказуемо справедливым, посмотрите на ныне несуществующей
PevPot.com, например.
Удачи!