打字猴:1.703868462e+09
1703868462
1703868463
1703868464
1703868465
1703868466 图9.5 在有时限的哈希函数约定中使用输出脚本和输入脚本的交易输出
1703868467
1703868468 如果爱丽丝在弃局之前没有披露她的约定随机数值,那么鲍勃就可以在时间点t之后赎取该保证金。没有人逼迫爱丽丝披露她的随机数,但如果她不披露,她会因此失去预设的保证金。
1703868469
1703868470 我们如何用这个有时限的函数约定来实现安全的博彩系统?其实,架构和之前几乎一样,差别在于,我们不再采用简单的函数约定,而是采用有时限的函数约定。任何一方,要赎回这笔保证金就必须把正确的随机数值x披露出来;如果在最后期限到来时还不披露出他的随机数值,就会放弃他的保证金,以用来补偿其他两个玩家。
1703868471
1703868472 可以在比特币系统上实施这个博彩系统。但这个系统有些复杂,而且有时限的函数约定还要求多个非标准的交易。当系统里有n个玩家的时候,由于每个玩家都要设置一笔保证金,我们需要n2个约定,此外玩家们还不得不投入比全部赌注更多的资金用来托管保证金。但对于参与者较少的游戏来说,这是合理的,并且有更好的效率。最重要的是,这个游戏验证了本来认为不可能的数据交换协议,比如在线掷虚拟硬币,并对不遵守规则的玩家进行惩罚,在比特币的世界里是可以做到的。
1703868473
1703868474
1703868475
1703868476
1703868477 区块链技术驱动金融:数字货币与智能合约技术 [:1703863964]
1703868478 区块链技术驱动金融:数字货币与智能合约技术 9.4 比特币作为一个公共的随机源
1703868479
1703868480 在上一节,我们展示了一群人如何选择一个公平的随机数。在这一节里,我们将讨论如何用比特币来产生一个对任何人都公平的公共随机数。为什么我们需要一个公共随机数?让我们先看一下几个现实中已经存在的依赖公共随机数的案例。
1703868481
1703868482 NBA新人选秀
1703868483
1703868484 其中一个例子就是每年春天的美国NBA联赛的新人选秀大乐透。NBA联盟中所有的30支球队聚集在一起,根据上赛季每个球队的赛季排名增加相应的权重,随机选择球队选秀顺序。在1985年,联盟首次采取这种方法进行选秀,乐透选秀的过程通过电视现场直播,包含球队名字的信封在一个透明的转盘里被充分打乱,委员会专员随后去挑选这些信封。因为纽约尼克斯(Knicks)队获得了当年的状元秀中锋帕特里克·尤因(Patrick Ewing),最终尤因也确实成为NBA名人堂的一员,当时这个乐透的产生引起了不小的争议。由于那次的乐透发生在纽约,其他球队的球迷宣称整个过程被人操纵,并偏向尼克斯队。
1703868485
1703868486 有很多有关NBA是如何操纵选秀过程的阴谋论,比如著名的“折角”论(“bent corner” theory)是说包含有尼克斯的信封有一个角被故意折弯了,这样委员会专员通过触摸就可以分辨出哪个信封是尼克斯的。另外一个论调是说尼克斯的信封之前被放在了冷冻室里,这样专员可以通过选择一个手感比较冷的信封来挑选出尼克斯队。这些论调都反映了一个事实,这种类型的选择要做到绝对公平是非常困难的,有很多合乎推理的作弊空间,想象一下一个职业魔术师的巧手可以做些什么!直到今天,选秀乐透每年都会举行,但每一次都充斥着各种阴谋论和谣言,以说明选秀并不是绝对公平的。
1703868487
1703868488 美国军队选秀
1703868489
1703868490 另一个更加严肃的案例是1969年的美国征兵选秀,用于决定哪些年轻人会去参军,大部分被选中的人事后都被派去参加了越南战争。同样使用了一个类似于NBA选秀的方法,由美国国会派出的代表来主持选秀并通过电视直播(如图9.6)。他们在一个大的塑料桶中放了很多小球,每个小球包含了一个数字,然后轮流从桶中把这些数字小球取出来,根据数字所代表的生日来决定优先级,根据这个优先级挑选合格的年轻人参军。
1703868491
1703868492
1703868493
1703868494
1703868495 图9.6 1969年(越战)军队选秀
1703868496
1703868497 1969年的这次征兵选秀,是首次在全国范围内采用乐透方式进行选秀。其目的是通过避开数以千计的本地征兵委员会,以使选拔过程更加公平,并且向公众公开这个过程。但遗憾的是,这个选秀乐透也演砸了,不到一个星期,概率专家通过数据调查分析注意到了一个特别的模式(如图9.7所示):出生于下半年的人被选中的优先级较低。虽然这种差异非常细微,但是从概率统计上是非常显著的,说明这不太可能是偶然事件。当他们回看现场录像的时候,发现每次转动转盘的次数恰恰都是偶数次,这意味着一开始是上层的小球有较大的概率一直留在上层,说明为了形成随机抽签的混合程序并不充分。
1703868498
1703868499 这两个案例都证明了,设计一个公众认可的随机过程并由此产生一个认可的公共随机数,是十分困难的。无论你采用什么方法,总有人怀疑你作弊。风险在于:这个随机过程可能会被操作——即便这个过程是真正随机的,但公众并不信任它。[1]
1703868500
1703868501
1703868502
1703868503
1703868504 图9.7 1969年征兵选秀的概率统计偏差
1703868505
1703868506 注:x轴代表日期,y轴代表选秀号码。
1703868507
1703868508 密码学“信号塔”
1703868509
1703868510 由于成本低,并且大众易于理解,用转盘、抛硬币、掷骰子等方法去展示公开随机性,在历史上一直比较普遍。但是这些方法非常难以审计,因此并不适用于大范围的场景。即使整个过程从视频上看起来是合法的,人们也有理由去怀疑乐透的执行者可以使用“魔术师之手”去操纵结果。
1703868511
[ 上一页 ]  [ :1.703868462e+09 ]  [ 下一页 ]