可以使您确信这是公平的彩票


27

(很抱歉,这是众所周知的。)我想给代理之一提供一些商品,以便代理以概率获得该商品。是否有一个加密(或其他)工具,以便每个代理人(甚至每个观察者)都可以确信随机抽取确实是公平的?kjpi


1
是否允许代理知道 ..?p0pķ
Mike Samuel

Answers:


19

如果我正确地理解了这个问题,这似乎等于是公众抛开了面硬币。如果您承担一点承诺,似乎有很多方法可以做到这一点。一个示例是让每个参与方使用位承诺公开提交给该位字符串,以生成介于0和之间的随机整数。然后,每个代理提交后,他们都会公开披露其秘密整数。这样,获胜者就是一个以为模的整数之和索引的那个。如果甚至一位特工是诚实的,那么翻转必须是随机的。k - 1 kkk1k

当然,与此有关的一个问题是它需要一点承诺。用于位承诺的信息理论方案对于经典计算和量子计算都是不可能的(尽管Adrian Kent最近提出了一种利用相对论的方案)。但是,可以通过计算假设来实现安全的比特承诺。


2
我使用这种方法的问题是,如果您想使很多外部观察员不公平,那么他们每个人都必须做出一点承诺,并且您必须确保每个人都可以证明自己的承诺。您不能仅仅忽略观察者不透露其证据的情况,因为最后一个公开的观察者可以通过决定是否公开其证据来操纵彩票结果。
Zsbán安布鲁斯

1
@ user8067:我不相信没有互动或相信至少有一个政党是诚实的,这是不可能的。我之所以这样说是因为,如果最初的随机性实际上是通过当时每个参与者的阴谋预先确定的,那么整个过程就是确定性的,而不是随机的。但是,问题需要过程是随机的,因此这似乎是您可以做到的最好的方法。
Joe Fitzsimons 2012年

2
我不相信这是可能的。
Joe Fitzsimons 2012年

2
@RickyDemer:问题中没有足够的信息来说明什么对手模型适用于此。如果吉尔确切地告诉我们这是什么目的,那么证明某项特定计划是否符合他的要求将更加容易。但这就是说,毫无疑问,吉尔能够检查我们的答案是否满足他的需求。
Joe Fitzsimons 2012年

2
@RickyDemer:我完全不清楚这种情况下的明显模型是什么。它在很大程度上取决于设置,并且默认的假设应该是什么并不明显。拒绝投票并像我的答案和列夫的观点都是错误的那样开始行动是有点困难的。他们没有明确包括亚当回答中指出的警告。请注意,我不是在编辑我的答案,因为没有吉尔提供的更多信息,我认为猜测对手模型并不有意义,因此我将其尽可能笼统(不指定是否位承诺必须是非恶意的)。
Joe Fitzsimons 2012年

15

正如其他用户所暗示的那样,这是密码学中一个经过充分研究的问题。它称为“硬币翻转”,是多方计算的一种特殊情况。

实际执行什么协议实际上很大程度上取决于上下文。

  • 在“独立”设置中,该协议将独立运行,而不会让参与者同时参与其他协议(或者实际上是与外界的任何交互)。在Oded Goldreich的教科书“密码学基础”(我认为第2卷)中,对此进行了非常彻底的处理。

只是为了了解它的微妙之处,如果您使用的承诺方案具有延展性,则另一个响应者建议的“每个人都承诺随机值”协议是不安全的。不可否认的承诺方案确实为您提供了安全的协议,但是设计起来有些复杂。

  • 在参与者参与其他并发协议的环境中,您需要一个可组合的协议。有多种可组合性概念,但最强的一种称为通用可组合性,需要一些其他的设置假设(例如,PKI或对所有各方可见的公共随机字符串,但它们均不可控制)。不幸的是,我不知道该主题是否可以使用。但是,查看有关通用可组合性或不可恶意承诺的最新论文将是一个不错的起点。

1
“我们希望生成的是“对所有各方都可见但不受任何一方控制的通用随机字符串”。
Zsbán安布鲁斯

1
在以某种方式解决了这个问题之后,就可以普遍组合 再解决一次(任意多次)。

我认为UC承诺以已注册的公共密钥设置(比PKI更好的假设)和多字符串设置(比普通随机字符串更弱的假设)而闻名。

2
欢迎来到站点,亚当!
吉·凯莱

11

注意:请阅读以下评论。该协议似乎有问题。


我对加密货币了解不多,但以下方法可能会起作用。假设是众所周知的,确定赢家所需要做的就是从[0,1]中选择一个随机数。 pĴ

{01个}bb

任何代理都可以通过随机选择自己均匀的向量来确保所选随机数随机出现。为了使任何观察员信服,他们必须相信至少有一个经纪人遵守了该协议,但如果没有这样做,我想没人会真正想要一个公平的彩票。


抱歉,列夫,我刚刚注意到您的回答。当我开始写答案时,这里什么也没有,但是我们俩似乎都提出了非常相似的答案。
Joe Fitzsimons 2012年

别担心!看来我们走在正确的轨道上了。
列夫·雷津

是的,实际上,我认为在硬币翻转的背景下有很多关于此的论文,但是我真的不十分了解文献,无法据此给出正确的答案。
Joe Fitzsimons 2012年

7
我知道的最早参考文献是:M. Blum。通过电话硬币翻转。CRYPTO 1981:11-15。可以在dm.ing.unibs.it/giuzzi/corsi/Support/papers-cryptography/…
Ryan Williams

4
如果您使用标准的位承诺方案(例如,哈希),则存在标准攻击。让我们考虑一下爱丽丝和鲍勃两方的情况,爱丽丝排在第一位。爱丽丝广播她的承诺后,鲍勃可以复制它。爱丽丝宣誓就职后,鲍勃可以立即兑现他的承诺。现在它们的随机向量相等,因此它们的异或为零-Bob能够将最终值强制为零,这与公平性要求相矛盾。
DW

-3

被动的观察者无法验证该图是否未上演。可以选择输入伪随机过程以给出所需的结果。

但是,如果观察者可以提供一个他知道是随机的随机数,并确保其他座席之后不会更改其输入(因为他们可以用其输入补偿他的影响),那么他可以确保结果确实是随机的。

这就要求采用承诺方案,我们不知道该方案是否经过数学证明是安全的,但实际上可以使用安全哈希(例如SHA3)来实现。

考虑以下示例:

在此处输入图片说明

我已经做了一个示例实现。您可以在此处实时查看它:https : //mrogalski.eu/cl/或在GitHub上查看源代码。


1
乔的答案已经指出了这一点。
卡夫2014年

1
图示非常好!
吉·凯莱

3
图形非常漂亮,但是您的答案中没有包含现有答案中没有的任何内容。
David Richerby 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.