Скажем, я хотел создать систему в сети Ethereum, чтобы делать ставки на призовой фонд, который был ниже текущего вознаграждения за блок, скажем, 2,5 ETH.
Будут ли эти шаги достаточно честным способом гарантировать, что игроки не смогут играть в систему?
1) Иметь 100 возможных входов в игру
2) Соберите все адреса игроков и XOR их вместе
3) На 99-й записи убедитесь, что у этого человека нет большинства записей (допускается несколько записей)
4) Когда последний человек входит, используйте block.timestamp
функцию как своего рода начальное число, чтобы добавить к номеру из адресов XOR.
5) выполнить деление по модулю на 100, чтобы найти выигрышное число и раздать приз
Я понимаю, что майнеры могут манипулировать временем блока, но если призовой фонд меньше, чем вознаграждение за блок, это вполне осуществимый вариант, не так ли?
Это означает, что 100-я запись будет определять результат. Таким образом, 100-й аккаунт всегда должен быть победителем, и поэтому более ранние участники не должны беспокоиться о входе (поскольку они знают, что не могут выиграть).
ЯГ
ЯГ
пользователь19510
пользователь19510
Хайме