本篇文章8042字,读完约20分钟

在中国工业和信息化部信息与通信研究所发布的“可信块链”白皮书标准中,“有效防止节点欺诈”是“可信块链”的最低要求,如果不能满足该功能,则不能称为“可信块链”。因此,任何使用“刘”协议的都不是可信任的。

作者:中央组织部“千人计划”特聘教授,北京航空航天大学数字社会与区块链实验室主任,北京天德科技首席科学家,国家大数据(贵州)综合实验区区块链互联网实验室主任,蔡,(青岛)国际沙盒研究所所长。

近年来,区块链技术的快速发展引发了互联网领域的新一波技术浪潮。这项新技术被认为是继蒸汽机、电力和互联网之后的下一代颠覆性核心技术;在过去的两年里,它已经成为一个热门的投资方向。例如,著名投资者索罗斯(Soros)在2017年底出售了所有facebook股票,并投资于区块链股票发行公司overstock。全球各大互联网公司也在区块链领域大力部署,并积极推进区块链技术的实施。例如,ibm的供应链物流和金融结算服务区块链初创企业已出现井喷,有456家国内区块链企业。

蔡维德:区块链技术几个重要的坑(上)

当区块链技术变得热门时,许多新技术出现了。区块链技术混淆越来越普遍,公共链和私有链技术混淆。例如,一些著名的公共链甚至使用私有链技术来解决速度和可伸缩性的问题。不幸的是,随着区块链技术的快速发展,一些著名的链的基本协议仍然与几年前相同,这表明以前发现的问题仍然存在并且没有得到解决,并且新技术没有解决以前的问题,例如下面将要描述的第一个坑。

蔡维德:区块链技术几个重要的坑(上)

2018年,令人惊讶的是,甚至几个世界著名的公共连锁店都注意到,一些机制仍然由一个中心控制。这与长期以来被宣传为“权力下放”的区块链思想直接冲突,这意味着完全权力下放的制度难以实现,在今天的法律制度下也难以实现(例如美国证券交易委员会颁布的新条例)。但是应该讨论哪些集权机制是可以接受的,哪些是不可以接受的。这是第二个坑。

蔡维德:区块链技术几个重要的坑(上)

世界三大央行加拿大银行、欧洲央行和日本央行分别于2017年和2018年发布了三份报告,现在的共识是区块链容错机制不能满足金融机构的需求。区块链有自己的容错机制吗?是的,但是目前的容错机制远远不能满足实际需求。这是第三个坑。

这些深坑仍然存在于今天著名的区块链体系中,这给区块链投资者带来了麻烦。有些人认为著名公司开发的区块链系统应该更好,但事实上并非如此。加拿大银行2017年的报告指出,一些著名的区块链系统远远不能满足实际银行的需求。一些融资上亿美元的区块链公司在2016年和2017年开始宣布大规模区块链合作项目的研发,但后来未能开发。2018年,美国一家高科技公司的首席技术官访问天德公司时,他说,拥有资本和声誉的美国高科技公司可能无法开发出一个好的区块链系统。由于新技术的发展,这些问题还没有解决。

蔡维德:区块链技术几个重要的坑(上)

当然,区块链不仅有这三个坑,其他的坑将在后面讨论。这三个坑是几年前发现的老坑,但直到今天,这些坑仍然存在于一些区块链系统中,甚至有些坑今年吸引了所有人的注意。

这些坑对中国来说是机会,因为很难改变这些著名的链条。但问题是,中国真的有团队愿意建设一个好的区块链吗?还是你只是想炒股赚钱?还是只是复制那些知道有问题的链条?

第一个大坑:拜占庭总协定还是“刘”共识协定

区块链是一个分布式会计系统。在分布式系统中,最关键的问题是一致性。一致性问题是指给定一组服务器节点,指定一系列操作,并在一定协议的保证下,使每个服务器节点对处理结果达成一致,其中使用的协议也称为一致性算法。根据节点的信任度和容错度,我们将一致性协议分为两类:

拜占庭总协定(节点非相互信任)

“刘”共识协议(节点互信)

当存在一定数量的恶意节点和恶意节点的任何行为时,byzantin(bft)通用协议可以有效地保证数据的一致性。Bft系列算法是一种确定性容错算法,一致性效率高,确认时间短,容错能力差,允许的恶意节点少于1/3。区块链的应用场景是,不信任方利用区块链技术做生意,创办公司,然后诉诸法律解决不信任方的信任问题。图1示出了pbft的协议,它是一个实用的拜占庭通用协议。如图1所示,该算法通过三个阶段达到一致:预准备、准备和提交。

蔡维德:区块链技术几个重要的坑(上)

图1 PBFT(BFT协议之一)

“刘”协议是节点间相互信任的协议。刘备、关羽、张飞在桃园结义,互相信任。他们不互相欺骗,三兄弟一起工作。如果它们与传统分布式系统的每个节点相对应,也就是说,每个节点可能只是关闭或断开,并且不会向其他节点发送错误消息。理想情况下,相互信任协议中没有恶意节点(具有不同序列号的消息将被发送到不同的节点)。

蔡维德:区块链技术几个重要的坑(上)

[18]

图2《刘》协议书

拜占庭总协定与“刘”共识协定的最大区别在于“刘”协定有两轮投票,拜占庭有三轮投票。其中,拜占廷协议中的前两轮投票类似于“刘”协议。但是,在第三轮拜占庭式投票中,参与节点需要将第二轮投票中收到的消息发送给其他节点。因此,如果没有第三阶段,拜占庭总协定将成为“刘”协定。一些国内工程师原本打算“优化”拜占庭总协定,但结果是第三轮拜占庭总协定被取消,改为“刘”协定。

蔡维德:区块链技术几个重要的坑(上)

原本以为“刘”协议只会在中国出现,但发现“刘”协议也已经出口到国外,而国外一些著名的实际上使用了“刘”协议。像中国公司一样,他们声称使用拜占庭的总协定,但实际上他们使用的是“刘”协定。

“刘”协议可分为两种类型:分布式“刘”和集中式“刘”。

分发《刘

该协议用于传统的分布式数据库系统,可以保持多个数据副本之间的一致性,如两阶段提交协议、paxos、raft等。这些是传统数据库的一致性协议。相互信任协议允许1/2的节点关闭,但是一旦黑客攻击主节点并成为恶意节点,系统中的数据副本可能会被混淆,系统可能会瘫痪。

图2和图3显示了两阶段分布式“刘”协议,一个是确认场景,另一个是回滚场景。

图2“刘”协议确认场景

图3“刘”协议-回滚场景

如果将数据库的相互信任协议应用到区块链技术中,它将无法检查和抵抗恶意节点,而这样的区块链只能应用在节点间相互信任的环境中。因此,这样一个区块链被许多学者认为是一个被削弱的区块链。

在中国工业和信息化部信息与通信研究所发布的“可信块链”白皮书标准中,“有效防止节点欺诈”是“可信块链”的最低要求,如果不能满足该功能,则不能称为“可信块链”。因此,任何使用“刘”协议的都不是可信任的。

此外,工业和信息化部认为,不仅需要满足上述需求,而且“绝对一致的共识机器”也需要满足以下需求:

" a .任何节点的错误响应,包括执行成功时的“失败”或未执行时的“成功”。

B.任何节点向网络中的其他节点发送不同的消息请求。例如,系统中有四个节点,请求消息的顺序是A、B、C、D、E,其中任何一个节点都不会按照A、B、C、D、E的顺序发送给其他节点,而只是将A发送给一个节点,将B、C、D、E发送给其他两个节点。

C.任何节点通过修改本地数据来构造用于验证该节点合法性的请求,例如,如果该节点的余额为100个单位,则将本地余额修改为200个单位,然后发起200个单位的转移。

对于上述情况,一致性机制需要确保在欺诈少于理论节点数的情况下,节点间的数据能够正确恢复并与外部响应结果一致。"

如果使用这种弱化的区块链,它将不会用于有严格监管要求的应用,如金融、公共安全检查法和政府事务。例如,最近,一个重要亚洲国家的总理夫人卷入了欺诈,政府官员篡改文件以保护总理夫人。然而,一年后,包括政府官员非法篡改文件在内的欺诈行为仍被发现,引发了政治动荡。这一事件表明,在政府事务中必须使用拜占庭式的总协定,而不是“刘”协定。因为受信任的政府官员也可能参与欺诈,只有拜占庭式的协议才能检查说谎的节点,并防止从外部和内部篡改。

蔡维德:区块链技术几个重要的坑(上)

图4分布式“刘”协议

一元化的“刘”协议

集中式的“刘”协议使用“原子广播”来达成共识。原子广播的最初目的是确保每个参与节点接收相同的信息,因为每个节点接收相同的信息,这意味着每个节点都有一个共识。用于原子广播的通用软件是卡夫卡,它由另一个软件“动物管理员”完成。

但是原子广播真的安全吗?它是分布式共识还是集中式共识协议?

如图5所示,卡夫卡使用了动物园管理员提供的数据状态存储和主节点选举服务。Zookeeper依靠zab(一个从paxos修改而来的协议)来提供非拜占庭式的容错,也就是说,zab是一个“传统数据库”协议,属于一个被削弱的区块链。所以卡夫卡不能和拜占庭将军打交道。

因为动物园管理员是一个集中的系统,卡夫卡已经成为一个集中的系统。动物园管理员中央系统被破坏后,整个系统就会有问题。因此,卡夫卡是一个集中式的“刘”协议,这与分布式的系统并不匹配。

如果有人怀疑动物园管理员不是一个集中式系统,他们可以查看阿帕奇[1]和IBM [2]的官方网站,以及著名的信息技术网站InfoQ [3],它们都说这是一个集中式系统。

Hypeledger是一个使用原子广播的一致协议,如图6所示。其中,订单服务的核心是卡夫卡集群完成的交易分拣服务。对于这个协议,即使在正确的节点上达成了拜占庭式的一致意见,如果集中式订购者服务被破坏,整个系统仍然会瘫痪。

图5卡夫卡,动物园管理员和zab协议

图6超账集中“刘”协议

不仅在性能上,集中式的“刘”协议与分布式的“刘”协议有很大的不同。在具体实现上,集中式的刘协议容易实现,而分布式的相对难以实现。不同于图6中使用集中式“刘”协议的hyperledger的实现。

综上所述,如表1所示,根据可信度,区块链可以分为以下三种类型。

第二个大坑:集中区块链控制

为了实现更快的交易速度,一些区块链采用集中控制,这被称为“伪区块链”。这个伪区块链是一个以区块链为幌子的中央集权系统。在集中式系统中,控制整个区块链的中心节点是该系统中最薄弱的环节。如果中央节点被蓄意破坏,整个区块链将会瘫痪。无论是公共链还是私人链,都可能是集中链。

例如,一种高市值的密码货币多年来一直声称是分布式区块链,但在2018年,研究人员发现每个节点都由另一家公司控制,这是一个集中式系统,所有交易都由中央节点控制。消息传出后,在业内引起了争议。

在一些区块链项目中,发现节点被正式“静态”部署,并且不具有动态选举的特征。这是一个集中的共识机制吗?

没有人会认为以太博物馆参观是一个集中的系统,但在其历史上,也有集中的行为。在道事件中,埃瑟伦采取了中央集权的决策,而不是采取“分权”的决策。可以清楚地看到,一些“分散的区块链”在特殊的关键时刻仍可能采取集中的行为来解决问题。因为完全“分散”是非常困难的。

一些公共链的支持者会描述私人链(联盟链等)。)被妖魔化,并认为联盟链是一个集中的系统。这是商业演讲,不是学术演讲。在计算机领域,多个并行执行线程是分布式系统,而集中式系统并不邪恶,也不需要回避。中央银行系统已经被使用了这么多年,并且为国家、社会、家庭和个人服务了很长时间,所以没有必要被妖魔化。

蔡维德:区块链技术几个重要的坑(上)

传统的集中式系统有许多优点。安全是由安全保护系统完成的。防火墙隔离内部系统,保护系统免受各种类型的网络攻击。如今,许多大规模应用程序使用集中式系统。

但是,区块链体系不能采取这种集权的方式,因为区块链的集权与区块链的初衷完全不一致。如果每个块都被构建或者每个事务都被集中,那么这个链不是区块链链,而是伪链。只有在特殊情况下,以太网才使用集中方式,而在构建模块时不采用集中方式。超分类账系统中的每一笔交易信息都是由管理员处理的,所以它是一个伪链。

蔡维德:区块链技术几个重要的坑(上)

事实上,区块链系统应该由“独立”的节点运行,这意味着每个节点的状态变化不受其他节点的控制,并且状态转换是根据共识协议的规定和从其他节点接收的有效消息独立进行的。块链系统不仅需要分布式处理,还需要每个节点独立处理,因此是一个困难的设计。

我们根本不需要妖魔化中央集权制。在特殊情况下,区块链也会有集中的行为,例如,道事件。如果当时双方不集中处理,相关单位将立即面临数亿美元的诉讼。当时他们做出了正确的决定。但是,一般来说,区块链必须是分布式的,节点必须独立处理事务和共识。

第三个大坑:区块链函数机制必须有它的容错机制

什么是容错机制?容错机制是保护“功能机制”。基于一种功能机制(A),工程师设计了一种容错机制(B),通常是一种+容错协议。

区块链的基本共识是投票,而共识算法pbft本质上是一种容错机制,它允许系统中存在一定的错误(恶意节点),也能保证系统中投票结果的一致性。问题是,在区块链的设计中,投票不是一种功能,但拜占庭式的协议是一种功能。当一个容错机制变成一个功能机制时,它需要自己的容错机制。下表:

功能机制a基于功能机制a的容错机制b(a+容错协议)。

功能机制b基于功能机制b的容错机制c(b+容错协议)。

投票(a)是一种功能机制,而投票(b)的容错机制是拜占庭协议。但是在区块链,投票不是一种功能机制,但是拜占庭协议是功能机制(B),所以区块链需要一种基于拜占庭协议的容错机制(C)。这种关系可以从下表中看出。

功能机制甲(投票)是基于容错机制乙(拜占庭协议)的投票机制

功能机制B(拜占庭协议)是基于拜占庭协议机制B的容错机制C(容错拜占庭协议)

任何子系统都可能出错,任何步骤都可能出错

但是什么是基于拜占庭协议的容错机制呢?什么是“拜占庭协议+容错协议”?国外的学术文章中也有一些这样的研究,但是这些设计离实际应用还很远,因为在实际的系统中,任何一个子系统都有可能出错,而且在系统恢复的时候仍然有可能出错,导致一个非常复杂的恢复机制。然而,学术文章中的容错机制通常只有几个可能出错的子系统,如投票领导错误(rbft和其他协议),但实际系统要复杂得多。

蔡维德:区块链技术几个重要的坑(上)

这意味着任何区块链体系都可能出错?这意味着通信子系统可能出错,计算子系统可能出错,投票可能出错,区块链投票的每一步都可能出错,数据库可能出错,并行算法可能出错,加密和解密可能出错。区块链的每个功能、每个协议、每个步骤和每个节点都可能出错。此外,该错误不一定是“停止错误”,而是可能是“拜占庭错误”,即有人故意制造麻烦,将不同的数据发送到不同的节点。因此,一个容错的区块链系统是非常复杂的!

蔡维德:区块链技术几个重要的坑(上)

如果没有拜占庭式的容错协议,会有什么影响?一个简单的错误导致拜占庭协议停止工作,或者导致错误的信息被写入区块链数据库。前者将导致区块链停止前进(因此区块链表现不佳),而后者将导致区块链无法保持数据一致性(区块链函数将丢失,后果将更加严重)。

根据第二个坑,区块链不应该有一个中央控制节点,但每个节点可以检查其他节点,并独立运行。这意味着区块链容错机制必须是分布式处理,这将使得设计一个区块链容错机制非常困难。如果是集中式容错机制,如集中控制的恢复系统,将比分布式恢复系统容易得多。

如图7所示,从下图可以看出容错和功能之间的关系。从功能上看,投票机制最简单,拜占庭协议相对简单,容错拜占庭协议较为复杂,而分布式容错拜占庭协议最为复杂。在容错方面,投票机制最差,拜占庭协议相对较差,容错拜占庭协议较好,分布式容错拜占庭协议最好。

图7容错机制与功能机制的关系图

如果有人怀疑这一论点,你可以看看加拿大银行2017年的区块链实验报告。报告明确指出,被测试系统的容错机制是不够的。加拿大银行报告第8页多次指出,验证节点的容错机制还不够。加拿大银行必须是该系统中的验证节点,但中央银行需要完整的信息,中央银行系统需要备份,这也将是一个大数据版本系统。

继加拿大银行、欧洲央行和日本银行的报告之后,区块链发展的重点不是速度,而是可靠性、容错性和安全性,这是区块链时代的一个里程碑,也代表了区块链技术的成熟。

引用

[1]索引-阿帕奇动物园管理员-阿帕奇软件基金会。

https://cwiki.apache/confluence/display/zookeeper/index

[2]什么是阿帕奇动物园管理员。https://www.ibm/analytics/hadoop/zookeeper

[3]spring和apache zookeeper的集中式应用程序配置。

https://www.infoq/presentations/spring-apache-zookeeper

[4]区块链:一项具有改变世界潜力的颠覆性新兴技术——专访国家“千人计划”专家、空航空航天大学教授蔡韦德。http://www . 1000 thinktank/zxgz/16609 . jhtml。

蔡,。区块链技术在金融领域的应用分析[j]。金融电子,2016(5):57-60。

蔡,,,,等.基于的应用系统开发方法研究[j].软件学报,2017,28(6):1474-1487。

[7]castro m,liskov b .实用拜占庭容错[c]// acm,1999:173-186 .

[8]reed f j b. zookeeper:分布式过程协调[m]// zookeeper:分布式过程协调。o'reilly media,inc. 2013。

[9]蔡w t,blower r,zhu y,等.金融区块链的系统观[c]//面向服务的系统工程(sose), 2016 ieee研讨会论文集.ieee,2016: 450-457。

[10]俞立中,蔡文泰,李刚,等.并行积木式智能合同执行[c]//面向服务的系统工程(sose),2017 ieee研讨会。ieee,2017: 160-167。

[11]蔡w t,白x,于l .区块链可信计算许可中的设计问题[c]//面向服务的系统工程(sose), 2017 ieee研讨会。ieee,2017: 153-159。

[12]kreps j,narkhede n,rao j. kafka:用于日志处理的分布式消息传递系统[c]//netdb会议录。2011年:1-7。

[13]lamport l . general consensus and Pax OS[r].技术报告msr-tr-2005-33,微软研究,2005。

[14]数据中心联盟(dca)可信工作组,可信块链第1部分:块链技术参考框架,可信块链第2部分:一般要求和评估指标。

[15]项继之。封锁链:是“野蛮的增长”还是“笑傲江湖”?——访专家蔡·[j].中国信息安全,2018(3):96-99。

[16]蔡。熊猫-中央银行数字现金模型

https://mp.weixin.qq/s/vmf1r9q2d61-2r3neo6lgg.

[17]蔡。天德科技是世界上第一个双链设计,吸引了国际金融技术界的关注。

https://mp.weixin.qq/s/j_dvtoxyrd-7jjhvsgb7ka.

[18]engert w,fung b s c . central bank digital currency:motivation and implications[j].社会科学电子出版,2017。

[19]支付系统:分布式分类账环境中的流动性储蓄机制,欧洲中央银行和日本银行,2017年。

[20]证券结算系统:分布式分类账环境中的交割与支付,欧洲中央银行和日本银行,2018年。

[21]chapman,j,r . garratt,s . Hendry,a . McCormack和w . McMahon(2017):“jasper项目:分布式批发支付系统可行吗?”,加拿大银行,《金融系统评论》, 6月,第1-11页。

本文由平台/作者授权的金融网站发布。请不要擅自转载。如果你对干货有意见或文章,你愿意为投资者提供最权威和专业的参考意见。无论你是权威专家、金融评论家还是智囊团,我们都欢迎你积极投稿,进入金融网站的著名栏目。
电子邮件地址:mingjia @ jrj,电话号码:010-83363000-3477。期待您的加入!

标题:蔡维德:区块链技术几个重要的坑(上)

地址:http://www.hhhtmd.com/hqzx/16685.html