【IJTCS 2020】图灵奖得主Silvio Micali教授谈区块链技术的发展

  首届国际理论计算机联合大会(International Joint Conference on Theoretical Computer Science,IJTCS)于2020年8月17日-22日在线上举行,主题为“理论计算机科学领域的最新进展与焦点问题”,由北京大学与中国工业与应用数学学会(CSIAM)、中国计算机学会(CCF)、国际计算机学会中国委员会(ACM China Council)联合主办,北京大学前沿计算研究中心承办。

 

  8月21日,图灵奖得主、北京大学访问讲席教授、美国麻省理工学院讲席教授 Silvio Micali 带来了题为“ALGORAND——The Truly Distributed Blockchain”的主题报告,介绍了区块链技术,Algorand 分布式区块链协议及其发展情况。报告由北京大学前沿计算研究中心讲席教授邓小铁主持。

  

 

  首先,Micali 教授提出了“区块链的良性循环”(Blockchain's Virtuous Cycle)概念,这个循环是由四部分组成的:Reality,Aspiration,Acceptance,Technology。而后详细地阐释了彼此之间的作用。Micali 教授介绍了区块链的三个基本概念:consensus 共识机制,smart contracts 智能合约以及 interoperability 互操作性。

 

  首先是共识机制。共识机制是指区块链的治理体系,保证成员可在区块链上进行读写操作,但不能改变区块链本身。在这里,教授介绍了 Buterin 的三元悖论,并提出这个悖论是不可接受的,也是错误的,而推翻这个悖论的,正是 Algorand。对于一些常见的区块链共识机制,包括 PoW,Delegated PoS 等等,这些区块链共识机制的共同点在于它们的一个有缺陷的逻辑:整个经济体是安全的,只要其中一小部分的大多数是诚实的。相比之下,Algorand 的逻辑是:每个代币都具有相同的力量,当大多数是诚实的,安全性就可以得到保障。因此 Algorand 使用了拜占庭协议作为共识机制。然而拜占庭协议有一些缺点:非常缓慢;参与者固定且可以提前得知,而 Algorand 采用的新的共识机制则使其具有极高的效率与全球的范围,保障了效率与安全性,同时具有几乎不分叉的特点。接下来教授介绍了 Algorand 通过如何通过随机的方法来选取委员会以及如何进行安全检查。

 

为了使大家对 Algorand 有更清楚的认知,教授通过问答的方式来解释 Algorand 的一些机制。

 

问题1:谁来选择委员会?

 

答:Algorand 使用了密码抽签(cryptographic sortition)的技术,是委员会成员选择了他们自己,具体来说,每个人运行系统公布的随机算法,这一算法没办法作弊(被操作),但是是证明该成员被选择的有效办法;优胜者传播他的获奖信息和意见。从而达到了去中心化,可扩展性,安全性的同时实现,打破了区块链中长期存在的三元悖论问题。

 

问题2:在参与者较多的情况下,拜占庭算法是否太慢?

 

答:这并不是一个新问题,事实上,Algorand 采用的 BA 算法是非常快的。

 

问题3:经过了第一步以后,如果对立者腐化了所有的委员会成员怎么办?

 

答:每一步都会选择一个新的委员会,而且每次委员会成员在被腐化前就已经将信息传播出去了。通过增加玩家可替换的全新属性,Algorand 从根本上解决了这个问题。用图示的方法说明如下:

  

 

 

  每次选择的委员会都是不同的成员,成员数量也不完全相同,任意两步之间没有共享的变量。

 

  其次是智能合约。智能合约是指相互不信任的当事方在合适的条件下自动执行的合同。Micali 教授认为,与传统智能合约相比,Algorand 的智能合约潜力无限,包括未经中介和安全的交易,以及消除金融摩擦带来的损耗,后者已然占到 GDP 的6%。接下来,教授为我们讲解 Algorand 的智能合约架构,包括两层,均与传统架构不同。由于第二层架构过于复杂,处于时间的原因教授主要为我们讲解了第一层架构。Algorand 采用了全新的方法,避免了现有技术会使区块生成减缓的问题,同时保证了对于大多数支付,能够达到与传统 layer-1 智能合约具有相同的效率与安全性。

 

  为了详细解释 Algorand 与传统区块链协议在 layer-1 智能合约上的区别,教授先介绍了智能合约的一些概念。假设有交易双方 x 与 y,x 有一栋房屋,而 y 有钱,对于互不信任的双方,二者达成交易有一个问题:谁先进行支付?事实上没有人希望首先支付,因为这样会带来风险;因此,人们通常寻找一个可信任的中介者,这也是传统区块链协议采用的方法,但是 Algorand 没有采用这种策略,首先是因为价格昂贵;其次是可靠的中介者比较稀少。相对的,Algorand 采用了哈希时间锁与原子交换技术。原子交换将整个交易分成了一个个原子单位执行,保证了双方同时进行支付,即最终支付要么全部成功,要么全部不成功。除了原子交换外,Algorand 还在 layer-1 智能合约中采用了很多种新的功能,包括 Asset tokenization(资产标记化),collateralized loans(抵押贷款),Auctions(拍卖)等等。

 

  接下来讨论的是 Algorand 的 interoperability(互操作性)。改写一句名言,“没有一个区块链是一座孤岛”,保证区块链之间的互操作性是一个重要的命题。相对于其他区块链,Algorand 具有在任何时候都可以自由移动、从每个区块链中享受最好的服务等等优势。

 

  而后,Micali 教授介绍了 Algorand 互操作性的实现。互操作性包括在使用相同的共识机制(co-chain)以及使用不同的共识机制(token bridge)的链之间这两种情况。Algorand 对于 co-chain 之内,co-chain 之间以及 token bridge 之间交易具有不同的去中心化解决方法。

 

  最后,Micali 教授提出了自己对区块链未来的看法与展望。