本篇文章8282字,读完约21分钟
目前,许多单区块链算法由于一致性算法的复杂性,需要花费大量的时间和计算能力,无法提高效率。因此,为了保持上述三个一致性,效率甚至更低。因为每个链之间的一致性必须动态维护,并且第一个一致性必须与第二个一致性相关,所以第一个一致性在进行第二个一致性时必须受到影响。
蔡1人,2人,刘灿3人
蔡伟德,男,博士,教授,博士生导师。现任北京航空航天大学空航空航天大学国家千人计划特聘教授,北京天德科技有限公司首席科学家,田敏(青岛)国际沙盒研究所所长,CCID(青岛)区块链研究所名誉所长,国家大数据(贵州)综合实验区区块链互联网实验室主任。1979年,他获得了麻省理工学院的计算机科学学士学位。1985年,他获得了加州大学伯克利分校的计算机科学硕士学位和博士学位。他在明尼苏达大学和亚利桑那州立大学的计算机系任教超过30年。
江晓芳,女,北京航空航天大学空航空航天大学博士生,中国金融分析师协会会员。现任金融信息化研究所高级研究员,负责金融大数据、人工智能、区块链等领域相关理论体系的建立和新兴技术的后续研究。
3 .刘灿,男,空航空航天大学航空航天工程系硕士研究生。
区块链技术的三个大坑在[1]之前已经介绍过,本文将继续介绍区块链技术过去必须跨越的一个大坑——可扩展性,主要集中在碎片化技术上。?xml:命名空间前缀= o /
块链,无论是公共的还是私有的,都需要解决事务吞吐量和速度的问题,这在区块链也被称为可伸缩性[2]。目前,行业中可伸缩性问题的解决方案主要分为链上解决方案和链外解决方案。
线下扩展以照明网络为代表,它将大量交易放在链外,只将关键环节放在链上进行确认。这种方法最大的问题在于离线扩展(没有区块链的保护),安全性无法保证。
另一方面,链延伸技术包括侧链和切割技术。
由于侧链最初是为比特币提出的,这个概念更多的是关于后期与比特币相关的扩张。它被定义为一种协议,可以安全地将比特币从比特币主链转移到其他区块链国家,并从其他区块链国家安全返还。也就是说,比特币以区块链为主链,其他区块链为侧链,双向链接,实现比特币从主链向侧链的转移。侧链机制可以将一些定制的或高频率的事务放在主链之外,以实现可伸缩性。
如果侧链通过外部嫁接与主链嫁接,那么切片就是将主链内部分开。块状链碎裂技术是指创建许多碎裂链,每个碎裂链都是一个新的小星系,或者将区块链网络分成许多独立的小区域,称为“碎片”,每个碎片都由一个特殊的节点维护。假设有三个节点a、b和c,它们需要验证数据t。在传统的区块链网络模式下,每个节点需要分别计算和验证整个数据t。在分段技术下,整个数据被分成三个区域:t1、t2和t3。节点A、B和C加上其他节点可以并行验证数据t1、t2和t3,这提高了可伸缩性。
区块链的碎片化技术来源于数据库的碎片化技术。数据库碎片化技术是将一个数据库分成几个部分,放在不同的数据库中,每个数据库存储一些数据,方便数据查询,从而缓解单个数据库的性能问题。
数据库碎片
块链还将数据分成多个段,每个段处理一部分数据。然而,这两者之间有一个关键的区别:数据库片段彼此独立,并且区块链片段之间有数据交互(如下所示)。这意味着在碎片化机制中,区块链仍然需要解决跨芯片交易问题。
数据库碎片化和区块链碎片化的异同——在区块链碎片化之后,每个碎片仍然相互作用
可以看出,无论是侧链技术——主链与侧链的相互作用,还是碎片化技术——两个子链之间的相互作用是通过主链实现的,还是两条链之间的直接相互作用需要两次以上(直接相互作用)或三次以上(间接相互作用),而没有跨芯片的交易只需要一个共识。
这将增加整个交易的成本。跨芯片或跨链事务越多,延迟就越高,负责两个链之间一致性的节点就成为薄弱环节。切片越多,交叉切片或交叉链事务问题就越严重,因为过多的交叉切片或交叉链会使系统瘫痪。这才是真正的问题。
如果我们将系统分成七个部分,这七个部分的交互如下所示。
七层交互式图形
如果把它分成九块,交互图就变成下图。
九个分段交互式图
从以上两个数字,我们可以很容易地发现,互动有了显著的增加。如果你把它切成一百块,互动会更复杂。进一步想象一下,如果我们根据计划无限扩展,假设我们把它切成100,000块,交互情况会是怎样的?那太可怕了!
我不知道聪明的读者在这里是否理解它。现在区块链的碎片化技术根本不是一种扩张技术,而是一种收缩技术!
可伸缩性技术意味着尽管工作负载增加,但性能保持不变。紧密技术是指工作负载越大,性能越差。区块链目前的碎片化技术,如果工作量越大,碎片越多,交互越多,性能越差。有些人可能会说:“不,当我把它分成两部分时,性能更好。”这是可能的,因为只有两部分是分开的。然而,如果你继续切片,切片越多,你的表现就会越差。这是收缩技术的特征,而不是可扩展技术的特征。
早在2015年,当我第一次见到vitalik的时候,他就说他有一套方法可以让Ethereum无限扩展,无限加速。当时,他写了一篇论文来证明他的方法在数学上是正确的。
2015年在清华大学与维塔利克合影
现在是2018年年中。虽然以太网已经取得了很大的进步,并提出了casper和分片技术,但是距离以太网的跨分片事务的目标——无限的速度提升还很远。
我非常喜欢维塔利克。他是一个罕见的天才和伟大的数学天才!但是作者是一个软件工程师,所以下面将从软件工程的角度来分析这个问题。块链碎片在数学上可以实现无限扩展,但在实际工程中还有其他问题。
目前,许多链已经设计了各种算法和协议。像以太博物馆一样,他们都说他们有可行的碎片化技术,具有很强的可扩展性和插图。此外,许多关于区块链碎片的学术论文已经发表,其中充满了数学推导和协议算法。但是这些真的解决了区块链分裂的问题吗?
如果你想研究这些白皮书或学术论文来理解区块链分裂的问题,很容易走进“花园小径”(garden path),这是美国学术界使用的一个术语,意思是在“学术丛林”中迷失方向。本文中的协议比较复杂,但是有些协议没有引入高层设计原则,而是直接针对协议的细节,这使得您在研究了细节之后仍然不了解协议的本质。
事实上,作者认为碎片化技术,即区块链的可扩展性,应该从另一个角度来考虑,即我们应该首先关注底层的数据结构,而不是仅仅关注算法或协议。
现在大家都在关注顶层协议,设计各种协议和算法,但是结果却相差甚远。问题的关键在哪里?这是因为他们没有从现象中看到本质,也没有看到潜在的数据结构。如果我们不解决数据结构的问题,我们将在海滩上建一座大楼。
错误的焦点应该放在底层数据结构上
图灵奖获得者尼克劳斯·沃思写了一本著名的书《算法+数据结构=程序》,书名中的公式是计算机科学的一句名言。他的重要理论之一是算法受数据结构的影响,数据结构是算法实现的基础,算法设计不能独立于数据结构。如果数据结构不好,算法很难开发。
有些人可能会说,区块链是一个协议,而不是软件,所以沃斯理论是不适用的。但是,网络协议也是通过软件实现的,因此沃斯理论可以在区块链使用。有人说,他的碎片化技术极大地提高了区块链的性能,而且也有数据证明这一点。但是跨芯片交易的一致性成本包括在内了吗?如果是这样,跨芯片交易的成本肯定很高(因为跨芯片交易需要多个共识)。切片越多,跨芯片交易越多,成本越高。
图灵奖获得者尼克劳斯·沃思教授提出该程序主要基于数据结构
从这个角度出发,让我们来看看区块链前两代人的数据结构:
第一代区块链,半帐户数据结构
第一代区块链以比特币为代表,它使用utxo模式,可以称为“半账户”,即没有完整的账户[3]。帐户创建后,只能使用一次,一旦使用,就不能再使用。传统的金融系统采用余额账户,但用utxo模型处理余额账户非常困难。系统必须将相关的utxo账户组织成传统账户。因为在传统的金融体系中,一个人只有几个账户,其中一些账户可能有很多交易。在utxo模型中,每笔交易都是一个账户,所以一个人可能有几千甚至几十万个utxo账户。在这种情况下,我们可以考虑计算余额有多困难,以及如何处理这么多账户。例如,世界上最大的银行中国工商银行拥有数亿个客户账户。假设每个客户有100笔交易(每笔存取款都是一笔交易),工行使用utxo模型需要处理数百亿的计算!
现在我们在utxo系统上使用碎片技术。由于每个utxo帐户只能属于一个客户,并且只能使用一次,因此可以通过以下两种方式存入utxo帐户:
一个随机放在切片上;
第二,将客户账户分成相关的utxo账户。
使用第一种方法,你会立即面临一个难题。由于需要跟踪utxo账户和客户账户之间的关系,所以很难计算余额;如果使用第二种方法,余额计算更容易,因为余额可以通过分析每个芯片上的帐户获得。
无论采用上述两种方法中的哪一种,每个切片上的账户都可能与其他切片上的账户进行交易,导致许多跨切片交易,并且跨切片交易成本远远高于切片内交易成本。
我们可以这样想:为了便于交易处理,第一代区块链系统大大简化了账户系统,账户的数据结构过于简单,无法支持现代金融系统。可以说,第一代区块链系统主要是一个交易系统,而账户管理系统只是一个补充[4]。
因此,基于第一代数据结构开发的系统在财务上很难开发,如rscoin和corda,因为它们的数据结构与现代财务系统的数据结构不兼容。
第二代区块链,全账户数据结构
第二代区块链系统和当前的金融系统一样,有完整的账目[6,7]。这是一个巨大的进步。以太博物馆是第一个拥有完整分类账的区块链系统!值得称赞。
但是它带来了一个新问题。在当前的金融系统中,账户系统只管理账户,交易系统只处理交易,这是两个不同的系统。然而,在第二代区块链系统中,这种余额账户系统需要账户管理和交易。如果它只是一个小系统,这不是问题,但是如果它是一个大系统,如果我需要扩展它,我应该做什么?
如果区块链系统只有一个账户管理系统,那么可伸缩性很容易,切片就像切蛋糕一样。把不同的账户分成不同的部分是有好处的。例如,有100个帐户,每个存储片上可以放置20个帐户,所有帐户可以分成五个存储片并放置在五个服务器上。这样,每个帐户都是独立的,与其他帐户没有联系。如果你想查询一个账户,你只需要知道该账户在哪个切片中,然后找到那个切片并在其中进行处理。
切蛋糕时,每一块蛋糕都是独立的,与其他部分无关
或者,如果区块链体系只有一个贸易体系,就不能采用分散化。否则,就会出现断线的问题,因为区块链的每个账户都可能与其他账户进行交易,而且无论如何分散,两个交易账户可能会处于不同的碎片中,所以两个账户之间的交易是跨碎片的交易,非常麻烦。
如果冬天来了
在这种情况下,可扩展性主要是增加事务系统或代理。
问题在于,第二代区块链需要管理账户和进行交易。它应该如何扩展?如果使用第一种方案,将会有许多跨芯片交易,这将是昂贵和麻烦的。采用第二种方案,账户管理将会出错。为了处理客户的余额,有必要在每个交易系统中收集数据,然后处理收集到的数据。
有人可能会说,有没有第三种可扩展性技术来解决这个问题?可能有,但是第三个技术需要解决两个扩展:账户管理扩展和交易扩展,这两个扩展是不同的。
有人可能会说,他的碎片化技术可以大大提高区块链的性能,而且也有数据证明这一点。但是跨芯片交易的一致性成本包括在内了吗?如果是这样,跨芯片交易的成本肯定很高(因为跨芯片交易需要多个共识)。切片越多,跨芯片交易越多,成本越高。
帐户和交易扩展方法不匹配
这就是问题所在。第二代区块链在软件工程中犯了一个禁忌,即一个系统应该只处理一个功能。如果一个系统处理两个功能,就会有可变性和可扩展性的问题。这是软件工程之父大卫帕纳斯46年前提出的理论。帕纳斯提出的理论非常简单,不懂的人会认为它们太简单,一文不值,但事实上,世界上最有价值的理论都是最简单的!根据帕纳斯的理论,第二代区块链系统的可扩展性是极其难以解决的。
软件工程之父大卫·帕纳斯教授提出了许多非常简单但有价值的理论,他的理论至今仍影响着区块链的发展
如果你拒绝让一个系统只处理一个功能,根据帕纳斯的理论,设计这样一个系统是自找麻烦,它的可变性和可扩展性将非常差。这是今天第二代区块链遇到的困难,也是经过这么多年研究设计出各种协议的真正原因。
第二代区块链的困难在于,它不仅维护整个分类账,还进行交易,因此存在跨芯片或跨链交易的问题。跨芯片或跨链交易越多,问题就越大。为了解决这个问题,我们通常使用集中式解决方案。为什么使用集中式设计?因为跨芯片或跨链交易非常昂贵且难以处理,所以使用集中式系统来处理它们很方便。
例如,2017年,欧洲和美国提出了一个异构网络,欧洲提出了波尔卡多,美国提出了宇宙。
polkadot
宇宙
上述异构区块链网络都是集中式设计[8]。像以太博物馆一样,它们有一个集中的结构,这是这种系统的一个共同问题[9]。虽然中间链可以由分布式链组成,但从整个系统的角度来看,它仍然是一个集中式结构,这与区块链设计的初衷相反[10,11]!当有多个参与链需要相互交易时,中间链的计算和通信量成为系统的瓶颈。
异构网络的特点是由中间链连接的多参与链,需要保持三个一致性[12]:
首先,每个链(参与链或中间链)需要保持其自身的一致性;
第二,中间链需要与每个参与链保持一致;
第三,跨链交易需要由多个参与链和中间链维护。
目前,许多单区块链算法由于一致性算法的复杂性,需要花费大量的时间和计算能力,无法提高效率。因此,为了保持上述三个一致性,效率甚至更低。因为每个链之间的一致性必须动态维护,并且第一个一致性必须与第二个一致性相关,所以第一个一致性在进行第二个一致性时必须受到影响。
例如,参与链甲与中间链一致,参与链乙与中间链一致。为了保持中间链的一致性,有必要同时保持参与链A和参与链B以及中间链的一致性,这将减慢整个网络的速度。此外,参与链越多,复杂性越高。事实上,可能会有成千上万的参与链,这将使设计无法满足第二代互联网的需求。
如何处理这个问题?事实上,让一个系统只有一个功能是非常容易的。这是第三代区块链系统,也是区块链未来的发展方向。
第三代区块链和第二代一样有完整的账户,但是账户管理系统只处理账户,交易系统只处理交易。这就是为什么天德连锁系统分为区块链账户(abc)和区块链交易账户(tbc) [13,14]。
帐户链可以通过切片解决可伸缩性,事务链可以通过添加事务链解决可伸缩性。这与目前的金融体系是一样的,与宇宙这样的集中式架构相比,天德连锁系统没有中心链的概念,这是区块链技术的一个突破。因为每个系统只执行一个功能(符合panas原则),所以它可以扩展,就像切蛋糕一样。金丝猴模型和熊猫模型就是根据这个原理完成的。
其中,金丝猴模型是一个完全分布式的多链网络,没有中心节点或架构。如下图所示:
金丝猴模型
两个参与链之间可以有多个中间链,每两个机构可以相互交易。
如果我们按照Voss的建议,采用正确的数据结构,并根据panas原则进行设计,我们就可以拥有可扩展的切片技术。
[1]蔡:区块链技术重塑企业。
https://mp.weixin.qq/s/isfv5sn64veidkcaa8snjg
[2]索引-阿帕奇动物园管理员-阿帕奇软件基金会。
https://cwiki.apache/confluence/display/zookeeper/index
[3]带有spring和pachezookeeper的集中式应用程序配置,https://www . infoq/presentations/spring-Apache-zoo keeper
[4]区块链:一项具有改变世界潜力的颠覆性新兴技术——专访国家“千人计划”专家、空航空航天大学教授蔡韦德。http://www . 1000 thinktank/zxgz/16609 . jhtml。
蔡,。区块链技术在金融领域的应用分析[j]。金融电子,2016(5):57-60。
蔡,,,,等.基于的应用系统开发方法研究[j].软件学报,2017,28(6):1474-1487。
[7]reedf j;b. zookeeper:分布式过程协调[m]//zookeeper:分布式过程协调。o'reilly media,inc. 2013。
[8]tsai w t,blower r,zhu y,et al . a system view of financial blockchains[c]//service-oriented system engineering(sose),2016 IEEE communication on .ieee,2016: 450-457。
[9]俞立中,蔡w t,李g,等.智能合同执行与电流阻塞构建[c]//面向服务的系统工程(sose),2017年电子工程研讨会。ieee,2017: 160-167。
[10]tsai w t,bai x,Yu l . permissionedblocklink for trusted computing中的设计问题[c]//面向服务的系统工程(sose),2017 iee Committee on .ieee,2017: 153-159。
[11]kreps j,narkhede n,rao j. kafka:一个分布式信息处理系统[c]//netdb会议录。2011年:1-7。
[12]lamport l . general consensus and Pax OS[r].technicreportmsr-tr-2005-33,microsoft research,2005。
[13]什么是iota?它与物联网和区块链有什么联系?
http://sh.qihoo/pc/94b36d686c1b0c585?符号=360_e39369d1
[14]区块链互联网。
https://mp.weixin.qq/s/7ctvxvgvpzeax0zuuahwmg
[15]richard gendal brown,首席技术官,r3,介绍r3 corda?http://www . r3ce v/blog/2016/4/4/introduction-R3-corda-a-distributed-ledger-designedfor financial-services
[16]项继之。封锁链:是“野蛮的增长”还是“笑傲江湖”?——访专家蔡·[j].中国信息安全,2018(3):96-99。
[17]蔡。熊猫-中央银行数字现金模型。
https://mp.weixin.qq/s/vmf1r9q2d61-2r3neo6lgg.
[18]蔡。天德科技是世界上第一个双链设计,吸引了国际金融技术界的关注。
https://mp.weixin.qq/s/j_dvtoxyrd-7jjhvsgb7ka.
[19]蔡,,,刘灿。区块链技术的几个重要领域(一)。
https://mp.weixin.qq/s/t3myn-suw4ynuq3xki6xbw
[20]蔡。真假区块链——泰山沙盒知道。
https://mp.weixin.qq/s/7fgq8ao0g6ik2hdqdfbsbw
[21]蔡。区块链教育是现实的,不教空天然气链。
https://mp.weixin.qq/s/po0crze0ttk2nhya6kgk2w
[22]区块链教育
https://mp.weixin.qq/s/lkvkjuulx2bhnfpkkelzta
[23]亲爱的,你的链子是什么?
https://mp.weixin.qq/s/ad8ejq9iibcvv9_oi_9hlw
[24]风在吹,它在吹什么?
https://mp.weixin.qq/s/5lfdsvf1pwetpte7viwp5g
Copr 2018。保留所有权利。
本文由平台/作者授权的金融网站发布。请不要擅自转载。如果你对干货有意见或文章,你愿意为投资者提供最权威和专业的参考意见。无论你是权威专家、金融评论家还是智囊团,我们都欢迎你积极投稿,进入金融网站的著名栏目。
电子邮件地址:mingjia @ jrj,电话号码:010-83363000-3477。期待您的加入!
标题:蔡维德:区块链的第四大坑(中)
地址:http://www.9u2j.com/wnylyw/3883.html