蔡维德:区块链技术几个重要的坑(上)
作者:中组部“千人计划”特聘教授,北航数字社会与区块链实验室主任,北京天德科技首席科学家,国家大数据(贵州)综合实验区区块链互联网实验室主任,天民(青岛)国际沙盒研究院院长 蔡维德
近些年,区块链技术飞速发展,引领了互联网领域一次新的技术浪潮,这种新型技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术;并成为最近两年的热门投资方向,如著名投资人索罗斯在2017年年底的时候,把Facebook的股票全部卖掉,投资了一家用区块链发行股票公司Overstock。全球各大互联网公司也大力在区块链领域布局,积极推进区块链技术的落地,如IBM的供应链物流,金融结算服务区块链创业公司井喷般出现,国内区块链企业已达456家。
在区块链技术变得火热的同时,许多新技术出现,区块链技术混淆越来愈平常,公链和私链技术混淆使用,如一些著名公链竟然使用私链的技术来解决速度和扩展性的问题。很不幸的是,在区块链技术快速发展的时候,一些著名的链的基础协议居然还是和几年前一样, 这表明以前发现的问题到今天还是存在没有解决,新出来的技术并未解决以前的问题,例如以下将要讲述的第一个坑。
在2018年,让人惊讶的是,甚至几个世界出名的公链也被人察觉居然部分机制还是一个中心在控制。这和长期标榜“去中心化”的区块链思想直接冲突,表示完全“去中心化”的系统难实现,而且在今天法律制度下(例如美国证券交易监督委员会出的新法规)很难实现。但是哪些中心化机制可以被接受,哪些不能被接受,应该有所讨论。这是第二个坑。
加拿大央行, 欧洲央行, 和日本央行三个世界重要央行在2017年和2018年出的3篇报告,现在区块链容错机制不能达到金融机构的需求已经是共识。区块链不是自己有容错机制吗?有,但现在的容错机制离实际需求差距很远。这是第三个坑。
这些坑还存在今天著名区块链系统里,这给区块链投资人造成了困扰。有人认为,著名公司研发的区块链系统应该比较好,但事实上不是这样。2017年加拿大央行报告[18]指出一些著名的区块链系统离实际银行的需求还相差很大,一些融资上亿美元的区块链公司在2016年和2017年开始宣布研发大型区块链合作项目,但是后来也没能研发出来。一位美国高科技公司CTO 在2018年拜访天德公司的时候就表示有资金和有名声的美国高科技公司不一定可以研发出好的区块链系统。这些问题也没有因为现在新技术发展而解决。
当然区块链不只有这三个坑,其他坑以后再讨论。这三个都是老坑,几年前已经发现的问题,但直到今天,这些坑还是存在一些区块链系统里面,甚至有的坑今年才引起大家重视。
这些坑都是中国的机会,因为这些著名的链要改是非常难的。但问题是中国真有团队愿意好好打造一个好区块链吗?还是大家只要炒币赚钱?还是只要山寨那些明知有问题的链?
第一大坑:拜占庭将军协议或是“刘关张”共识协议
区块链是一种分布式记账系统。在分布式系统中,最为关键的问题就是一致性问题。一致性问题指的是:对于给定的一组服务器节点,指定一系列操作,在某个协议保障下,使得各服务器节点对处理结果达成一致,其中用到的协议也被称作为共识算法。根据节点信任程度和容错能力,我们将共识协议分为两类:
• 拜占庭将军协议(节点非互信)
• “刘关张”共识协议(节点互信)
拜占庭(BFT)将军协议则是考虑存在一定数量恶意节点的情况下,当恶意节点出现任意行为时,也能有效的保证数据的一致性。BFT系列算法,是一种确定性容错算法,共识效率高,确认时间短,容错能力稍差,允许1/3以下的恶意节点。而区块链的应用场景就是互不信任的各方通过区块链技术来做生意、开公司、上法庭,解决互不信任的各方的信任问题。图1 演示PBFT的协议,PBFT 是一个实用拜占庭将军协议,如图1所示,该算法经过预准备(Pre-prepare)、准备(Prepare)和确认(Commit)三个阶段达成一致性。
图1 PBFT(BFT协议的一种)
“刘关张”协议就是节点之间互信的协议,刘备、关羽、张飞三人桃园结义,互相信任对方,他们互不欺骗对方,三兄弟齐心协力。如果将他们对应于传统的分布式系统各个节点,也就是说各节点只可能出现宕机或是断开连接的情况,不会向其他节点发送虚假消息,理想情况下,互信协议中不会出现恶意的恶意节点(向不同的节点发送不同序号的消息)。
图2“刘关张”协议
中国观察