学习
实践
活动
工具
TVP
写文章

邓小铁:合作与竞争 共同参与中行为选择的机制设计

本文整理总结自2018年1月30日第二期蜂巢学院活动“博弈论与区块链治理机制”中,邓小铁教授的演讲速记稿。共识是区块链的基础机制之一,那么在区块链这个充满博弈的系统中,共识机制是如何设计从而使得其在没有传统的层级治理机制下,能够有序地运转着?且看邓教授的精彩讲解。

(邓教授在演讲中)

邓教授引用万向区块链的slogan“In Blockchain We Trust”作为开场,表明区块链的设计,使得我们能相信这个系统里的任何一个人,而我们信任的人又是这个系统中每个人都相信的同一个人,这就涉及到共识问题。

接下来邓教授又以分布式算法中的“领导者选举”为例,进一步说明在进行“social choice”时,博弈论和激励效应时刻发挥着作用。(关于博弈论,王子贺老师已在演讲中进行详细说明和举例,可点击这里回顾:【蜂巢学院第二期】王子贺:博弈论的应用与发展)

邓教授提到,我们在区块链中也能经常看到博弈和激励,而这就是“拜占庭协议”。拜占庭协议的基本假设是有一个由好人和坏人共同组成的群体,在这个群体中,当有人造假时和大家意见不一致时该怎么解决?假设有N个将军,这些将军在地理上是分隔开的,并且军中存在叛徒,大家要投票是否攻打敌军。每个人有0(攻打)和1(不攻打)的选项,好人都投票选1,决定不攻打,但坏人可以欺骗某些将军采取进攻行动,使得将军选0,促成一个不是所有将军都同意的决定。这里面还有很重要的一点,人们的意见不会经常是一样的,大家有时候会选0,有时候会选1,遇到这样复杂的问题,又该怎么解决?拜占庭协议其实是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。这也就是说比特币的解决方案实际上是可以被攻破的,这也就要回答区块链的解决方案为什么会有问题呢?我们知道多数人投票会有一定出错的概率,比如错误的概率是1%,当N很大的时候,这个错误会被认为是真实的,然后作出错误的决定。这也是如果后面有一个攻击,就能把这个破坏掉的主要原因。

邓教授表示,如果是多人决定的话,确定性的算法就不存在,这中间有随机的算法,而且有出错的概率。这个概率在比特币里面是什么情况呢?康奈尔大学的Eyal和Sirer证明如果好人仅仅有51%是不足以确保共识的正确性。有1/3算力的矿池,虽然单个链块会输掉,但可以隐蔽多个链还是有可能把最后的决策破坏掉。这也就能理解为什么比特币不是万能的,也是会出错的。在这个问题上我们需要有一个更好的算法——Consensus(共识),这是最终极的解决方案。

(现场听讲观众)

而比特币不会经常出错,是由速度来决定的,并且里面有机制设计的影子。在此前所说的领导选举问题上,按此前的方法,我们选ID最大的就好。但如果我们把这个算法改一改,把每一个ID做一个hash,这个hash值是任意的,虚报ID作假也没有用,并且谁被选为领导这个事件会变成一个平均概率,转了一圈之后,谁的hash最大谁就是领导,而且别人也能验证出这个hash是不是真的。在比特币里,到了这一点还有什么挑战呢?为什么不能简单的hash一下,用领导者选举的办法来决定谁来记帐本呢?这样选出来的记账人记的账,每个人都可以验证,不会出错。在这里我们能够保证有共识,保证作假不容易。而且后面整个链的意义就连接起来了,第一步做到这件事情,第二步做的事情跟以前都连起来了,如果后面要作假,需要把整个历史重新修改,并且因为有共识机制,每个人都可以进行验证。

但邓教授也提到,这里还有一个问题就是集体否认,大家一起不认帐。如在2013年,比特币出现过两条链,每条链都有人追随,但这两条链此后又进行合并了。其实这是比特币进行0.7到0.8的升级,升级到0.8以后速度变快,而还没有来得及换版本的这些人,一下就超出10多块,最后这件事情怎么处理呢?最后的结果是0.8的人降到0.7,0.7的人升到0.8,把快的变慢了,慢的加快了。

速度优先所保证的不能作假这个特征非常重要。速度优先的设计是当那边被接收了之后,矿工要迅速转到那边去挖掘下一个矿,因为这一次的损失对于整个设计并不是很多。所以设计的每个原理、每个细节上都需要有激励机制。中间引入激励机制,同时通过设计速度,把速度作为一个变量引进来,这就产生了非常有效的作用。

邓教授就分叉问题,进行了详细讲述。分叉一般分为软分叉和硬分叉。硬分叉是以后的历史永远改变了,软分叉有一定的可塑性。软分叉对于某些过去的合法的区块是invalid的,使得安全隐患没有non-upgrading nodes的高;在硬分叉的情况下,过去不合法的区块链,non-upgrading nodes不兼容。还有其他情况的分叉,如将错就错的DAO分叉,导致出现了ETH和ETC,是设计出错的强迫修改。这实际上是非法的,对于最初的共识也是一个很大的挑战。但这是新生事物,我们也不知道从法律的角度应该追究谁的责任?但是在这里,就如某种意义上的《合同法》,有一些规则在这里规范着大家的行为。按照50%的投票原则,有些人不同意分叉,即使按照规则掰回来以后他们还是不认帐,所以无论从法律、合同还是技术上来讲,整个都是一个开放性的领域,这里面也涉及到很多博弈问题。而出现两种比特币,究竟哪一个算数?这对共识又有一些新的挑战。

(观众互动)

邓教授还提到,Nebulas的白皮书有一个建议是不再分叉,这个设计的想法是:把所有的币放在一个池子里面,就像淘宝把所有的商店都放进来一样,由它来评估这个blockchain的价值究竟是什么。并希望在这个池子里营造一个好的环境,让大家健康地成长起来。而不再分叉最重要的两个关键要素是Rank和Force。Rank是评估你的价值,Force是自我发展机制。这里还有一个很重要的点是改变领导的选择方式,设计方案是proof Of Devotion,这个方案将美德的程度,也就是个人非常好的一些行为,设计在框架中。并加上激励机制,做得好的就相应给一些奖励。Rank的扩展内容是,每个Blockchain将会被密切关注,Dapps有没有被多次运用,流动性以及活跃度如何,和其他的blockchain之间有没有信息交互等。忠诚度的证明是具有high NR(>threshold)的用户通过挖掘来赢得记账权利,在这里需要你的Rank大于某一个值才能参加竞争,同时参与竞争需要支付一笔钱,如果你以后做了坏事,这笔钱就扣掉付给其他人,这样在某种意义上能让其他的人成长起来,这是一个选择的机制。

嘉宾介绍

邓小铁

邓小铁教授从清华大学获得工学学士学位, 中国科学院硕士学位, 斯坦福大学博士。现任北京大学教授。他曾在上海交通大学、英国利物浦大学、中国香港城市大学和加拿大约克大学任教。在此之前, 他是西门弗雷泽大学的加拿大自然科学与工程技术研究理事会的国际博士后研究员。邓小铁目前的研究主要集中在算法博弈理论, 并应用于网络经济和金融学。他的工作还涵盖了在线算法、并行算法和组合优化。因为对算法和博弈理论的交互研究的贡献,于2008年获选ACM会士。

蜂巢学院

End

※———在这里,一起见证历史如何被缔造!———※

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207G0X29B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券