我想知道N个参与者的网络是否有办法同意随机选择从1到M的数字。 (例如,不受任何参与者的影响)已经通过coin tossing protocol解决了n = 2和m = 2的值。有谁知道任何可以适用于N和M的任意值的解决方案?
答案 0 :(得分:14)
修改强>
更好的算法(感谢wnoise):
作为参与者,我应该对此感到满意,因为我知道我对最终结果有充分的影响 - 最终的数字本来可以是任何东西,这取决于我选择的秘密号码。因此,由于没有其他人可以预测我的数字,他们也无法预测最终结果。
如果有任何方法可以减少来自3M ^ 2的消息,我怀疑广播方法需要吗?
我认为只有哈希发布必须是广播,但它仍然是O(M ^ 2)。我想唯一的办法就是预先交换数字签名密钥,或者建立一个可靠的通信枢纽。
Edit2 - 哈希的安全性如何?
可能的攻击包括:
因此,你应该
答案 1 :(得分:1)
我不知道人们是否有可能就单个号码的随机性达成一致;它应该在统计中。如果许多随机数的统计数据与从here取得的数字的统计数据相匹配,那么我会认为你的数字是随机的,但我不知道网络上的下一个人N + 1。
答案 2 :(得分:0)
这可能不是你想要的,只是为了开始这个线程怎么样 -
选择领导者,让领导者选择号码,将号码分发给每个人。