9月11日,在由万向区块链实验室举办的“新经济技术探索”第四届区块链全球峰会上,麻省理工学院福特工程学教授、Algorand创始人Silvio Micali,乌克兰科学院院士Anatoly Anisimov,加州大学伯克利分校教授、Oasis Labs创始人兼CEO Dawn Song(宋晓冬),以太坊创始人、万向区块链实验室首席科学家VitalikButerin,Cosmos项目创始人Jae Kwon,Web3基金会的共识算法研究员Alistair Stewart等嘉宾围绕《区块链3.0:共识算法和隐私保护》进行探讨,圆桌由IRISnet及边界智能创始人奚海峰主持。以下为圆桌论坛全文,有部分不影响原意的删减:
奚海峰:区块链3.0要解决的核心问题就是扩展性和隐私保护。作为今天圆桌讨论的一个开场白,首先请Vitalik解释一下为什么PoS必不可少?以及Casper FFG是如何促进以太坊从PoW迁移到PoS?
Vitalik:我的回答包括三部分:
1.使用PoW的区块链(典型的如比特币)长远看安全性堪忧。
2.所有的通证实际上都会有通胀问题,价格很容易趋向于零。所以为了维持价格,你每年都必须要控制通胀率。随着(比特币)PoW的增发量越来越小,最终会变成0,全体矿工将不得不完全依赖于交易费,长期而言,这在经济上不一定能持续下去。
3.在PoS里,如果某个具体的验证节点违反了共识协议,我们可以对它加以惩罚。具体而言,就是要设计这样一种协议,大大提高攻击成本,即使某一方获得了51%以上的权益(投票权),它可以攻击网络一次使网络崩溃,但是攻击结束,它就失去了所有的通证,而网络可以恢复运行。Casper的目标是从混合PoS转移到完全的PoS,因为我们想要建立一个完善的共识机制,把最好的BFT算法也包含在当中。
奚海峰:谢谢Vitalik。Jae在今天早上的主题演讲中提到了Tendermint,能不能介绍一下Tendermint的工作机制,它在BFT基础上做了哪些改进,它有哪些独到之处?
Jae Kwon:你可以想像有100个区块链上的签名人,他们都叫做验证人。某一个块,如果超过三分之二以上的验证人都签了名,就被认为是提交了。每一个验证人都应该尽可能参与到签名当中,因此我们希望验证人始终在线,而不是像比特币矿工那样。Tendermint的工作机制是循环的,如果共识在第一轮没有发生,那就进入下一轮,直到区块链取得共识。每一轮都会分为三个步骤,第一步就是由一个全体验证人都认可的指定提议人提出一个候选块。第二步是对候选块的pre-vote投票,每个验证人都投票,说这是或者不是一个好的块。如果有三分之二的验证人都投票说好,那你就可以进入第三步继续进行pre-commit投票。这是个分布式的两阶段提交算法,分三步来完成整个循环,它拥有BFT系统的所有属性,只要恶意验证人不到三分之一,就可以保证出块。
关于Tendermint的改进。最先进的BFT机制叫做PBFT,PBFT不是非常有效,也不是以公有链为背景来设计的。PBFT有一个领导者,如果这个领导者失败了,要恢复是很难的,因为系统非常复杂,使得问责也非常复杂。Tendermint是一个简化版的PBFT,PBFT需要验证者之间进行点对点的活动,Tendermint不需要这样,它有点像比特币,只要所有验证者都是互联的,就可以达到共识。这些是我们算法的属性,再看一下实现。
我们也创造了一个接口层叫做ABCI,也就是应用区块链接口。Tendermint这样的引擎,它不仅可以基于点对点网络实现共识,还能通过ABCI调用你的应用逻辑,也就是状态机。去年很多人谈到了可插拔的共识,通过ABCI我们就可以实现可插拔的共识。
圆桌论坛现场
奚海峰:好的。Micali教授,您谈到Algorand的两阶段共识算法,第一阶段的投票委员会选出来之后,在第二阶段他们会基于BFT进行两轮投票吗?
Silvio Micali: Algorand就是拜占廷容错协议,拜占廷容错是分布式计算当中最强大的一个概念,但它的速度非常慢。我们用了拜占廷容错协议,意味着安全性很高,但在前面加了一个形容词,就是实用的拜占廷容错协议,它比拜占廷容错协议更好,因为它拥有拜占廷容错的属性,同时还很实用。
我们现在觉得PBFT有些弱,而我们希望把所有的共识放在区块上,怎么做呢?我们必须随机选取一群人来运行拜占廷容错协议,而且必须快速运行。首先让我们来选委员会成员;实际上这个选举是不可预料的,就像彩票一样,赢了你就可以当选,你可以向我们证明你当选了,你可以出具你获胜的证据。在此之前你要破坏委员会很难,因为一开始你不知道谁会当选。而且每一个委员只说一次话,一旦说完话之后,你的敌对者再贿赂就太迟了,因为它的消息已经散播出去了。共识是一个很好的方式,要实现所有人的共识,而不是少数几个人,比如100人、200人甚至几千人的共识都是不够的。因为我们要实现真正的分布式。只有Algorand才能确保区块链的安全。
奚海峰:谢谢您。Dawn Song教授,我们知道Oasis Labs在建立一个全新的平台,解决扩展性和隐私保护的问题。能不能跟我们谈谈这个平台的底层共识算法,它是某种形式的BFT算法吗?
Dawn Song:我在刚才的主题演讲中提到了实现可扩展性的方法,如果共识层、计算层等各个层都可以独立进行扩展,整个平台也就可以更好的进行升级。基于此,我们平台的优势在于可以改变不同层的状态,这就使得我们总可以选用最好的共识算法。
奚海峰:Stewart博士,Web3基金会发起的Polkadot是一个非常有名的跨链项目,它的底层也使用某种拜占廷容错算法吗?
Alistair Stewart:是的,我们确实用到了拜占廷容错机制。我们希望能够变得更加去中心化,下一步打算实现更多更好的算法。我们目前所采用的方法,跟原汁原味的BFT稍微有些不同;接下来也希望可以尝试像Tendermint这样的引擎。
奚海峰:非常感谢。PoW被广泛认为是区块链1.0技术,不过还是有人喜欢它的简单美以及在诸如比特币网络上表现出来的安全记录。Anisimov教授,您认为PoW在3.0时代还有用武之地吗?PoS在设计和实现方面有什么挑战?
Anatoly Anisimov:我觉得如果要对区块链的共识进行定义的话,首先要回答的问题就是什么是区块链,大家对于区块链的结构有什么要求。因为不同区块链的内部结构可能是不同的,如果我们不考虑其他一些证明,直接下一个武断的结论,区块链是什么的话,这样有点过于武断了。另外,区块链也要考虑到它的应用环境,我们采用不同的方法应用区块链的时候,所涉及到的共识算法也是不一样的。因此,对共识算法的优劣和适用性做一概而论的判断是不合适的。
奚海峰:回到Algorand,社区里对Algorand缺少激励机制这件事有些顾虑,比如:如果没有激励,人们为什么愿意加入网络呢?您对此的回应是什么?
Silvio Micali:如果一个人努力工作,可能会产生很多有价值的工作成果。所以原则上来讲,人们可以工作但不需要任何激励;但我们必须要有一些能确保区块链安全的激励。也就是说你可以非常容易扔出些钱来(作为激励),但问题是人们接受了你的钱之后,做他们自己想做的事情,而不是你想让他们做的事情。看一看比特币矿工池的矿工,对于这些矿工而言,比特币的激励机制是否达到了想要的效果?我觉得未必。所以说给矿工激励远远不够,还要确保激励是安全的,要确保有了这个激励之后,矿工所做的事情是我们真正希望他们做的。长话短说,我们会推出一些相关激励,但这些激励必须是安全的,而且必须是创新的。
峰会现场
奚海峰:非常感谢。接下来请宋教授给我们分享一下,如何运用Oasis Labs平台的各种能力来支持建立新型的、能更好保护隐私的智能合约?
Dawn Song:通过提供非常强大的隐私保护,我们就可以实现更多的应用搭建以及部署。今天早些时候我已提到了如何把医疗健康的数据输入到智能合约里。在金融领域我们可以使用Oasis Labs这样的平台,实现不同应用系统之间的积分互换。使用传统方式不大容易实现这样的操作。还可以把来自不同数据源的的数据放在一起,实现对于企业或者组织的评分或者评级。进一步,我们可以开发一个智能合约,运用一些机器学习或者深度学习的代码对评级模型进行训练,我们可以确保数据只被用于训练这些模型,而不被用于其他用途。不同的实体 -- 可以是个人使用者,也可以是公司层面的用户 -- 通过这种方法,可以更好的使用这些数据源,来建立一个非常好的信誉评分系统。
奚海峰:zkSNARKs在去年的DevCon3上是个非常热门的话题。除了零知识证明,以太坊还有哪些其它关于隐私保护的功能?
Vitalik Buterin:可以使用零知识证明来保护隐私和确保代币转移的安全性,除了这些,还有其他加密学方法和其他保护隐私的技术。另外我们并不总是需要依赖于加密学,可以使用一些其它技术来实现隐私保护。比如说在过去几个月看到有些人开始使用状态通道、或者其它相关技术。Plasma也可以是非常不错的工具,所有这些都是在不断地进步。我非常期待有隐私保护方法可以最终上线并为人们所用。
奚海峰:你觉得像Oasis这样的第三方框架能以何种方式让以太坊智能合约受益?
Vitalik Buterin:我相信两者之间会产生协同效应,今天早上发言的时候我提到了MPC算法,把它整合到以太坊上还是有非常不错的机会。通过MPC算法就可以进一步地加强智能合约的安全性。
奚海峰:Micali教授和同事的研究成果为我们刚才提到的诸如零知识证明和安全多方计算(MPC)等隐私保护技术奠定了理论基础。Algorand有没有引入这些技术的相关计划?
Silvio Micali:有计划的!不过,无论是MPC还是零知识证明,我想和大家分享的是随着技术的进步可能会对社会带来危害,所以我们必须小心。零知识证明是一种把隐私跟攻击相结合的技术。我们提到区块链隐私不仅仅是输出的隐私同时还有所有相关方的隐私,像洗钱以及其他的行为在区块链上发生都不是我们所希望看到的。所以我们需要在保障隐私的同时考虑到所有的因素。当然关于隐私保护现在也有许多的使用方法,我们所期望的是所有技术可以协同发挥作用。
奚海峰:在跨链技术领域有没有隐私保护相关的问题和解决方案?
Jae Kwon:我非常同意Micali教授和Vitalik所说的,Tendermint所做的工作就是复制,但如果是复制的话就没有办法进行保密了。看一下Cosmos Hub,它的角色是连接其他的区块链并提供安全,我们希望Cosmos是能够确保我们所托管的所有货币都是不被侵犯的。最终希望可以实现不同区块链之间的交互,无论是Zcash还是零知识证明,这样才能实现最终的协同。
Alistair Stewart:我们希望Polkadot的平行链可以是许可链,甚至是私有链,但是同时也希望平行链上所有发生的一切都是正确的。另外一方面希望可以通过使用零知识证明来进行隐私保护。其实我对这个问题是非常感兴趣的,我们链上治理会有投票的机制,这样的投票机制是必须绝对公开的。不过另一方面,链上投票的过程是否有隐私问题要处理?这些都是很有趣的研究方向。
奚海峰:好的,今天的圆桌讨论就到此结束,非常感谢各位的精彩发言!
End
※———长按识别下方二维码 关注我们———※
领取专属 10元无门槛券
私享最新 技术干货