Contract-Design

揭示遊戲價值

  • March 22, 2017

我正在編寫一份智能合約,要求參與者在送出期間送出一個值(1 到 1000000),然後在顯示期間顯示該值是多少。

為了對其他參與者隱藏它,我正在考慮使用內置的 SHA3 雜湊函式。

最初我想簡單地要求玩家提供該值的 SHA3 雜湊值,但後來意識到任何人都可以計算出原始值,因為很容易計算從 1 到 1000000 的所有數字的 SHA3 雜湊值並找到匹配項。

另一種方法是將數字與任意本地值連接,發送其雜湊值,並在顯示階段要求參與者提供這兩個值。

這種方法可行嗎?這是在乙太坊中隱藏動作的標準方式嗎?有更好的選擇嗎?

謝謝!

你的建議會起作用:散列數字,結合一個大的隨機數。

或者,如果目標是生成一個從 1 到 1000000 的隨機數,您可以讓他們提供其大隨機數的雜湊值,然後是實際的大隨機數,然後取their_number % 1000000

引用自:https://ethereum.stackexchange.com/questions/13418