当前位置:首页 > 区块链新闻 > 正文

凌云链创新发布授权自适应拜占庭容错共识机制

来源: 互联网时间:2019-02-27 20:26:33

授权自适应拜占庭容错(Delegated Adaptive Byzantine Fault Tolerance – DABFT)

虽然授权经济价值证明激励共识(DPoEV)算法提供应用层激励共识,但它需要使用一个高性能的基础层分布式共识协议,该协议提供区块链服务。这个底层共识是 “真正的” 区块链推动者。

因此,不同于大多数现有的公共链, 凌云链区块云建立双重共识做法:在应用程序层,DPoEV共识负责经济政策的实施,同时在基本层,授权适应性拜占庭容错分布式一致算法(DABFT)负责管理每一事务块生成,验证和分类帐记录。虽然DPoEV不需要实时性,因为大多数应用场景不需要实时的报酬分配,但DABFT必须是实时的,因为块验证和分类账记录需要快速而有力地完成。DABFT的目标是达到数十万到上百万TPS(每秒交易笔数)

DABFT设计目标

DABFT在基本层上体现了上层的DPoEV经济政策,并提供了块生成、验证和分类记录的区块链服务。它着重于凌云链区块云的效率、公平和合法性目标。不像主流的共识算法(如PoW)为了获得分布账本记帐权而浪费大量的能量,DABFT只将资源用于有意义的、能产生经济价值的行为。

由于现有的所有区块链协商一致算法都不能充分满足凌云链区块云的目标并符合DPoEV经济模型,所以提出了DABFT。

因此,鉴于现有共识算法的优点和缺点,我们得出结论:尽管其中一些算法提供了有用的功能,它们中没有一个能够完全满足凌云链区块云的效率、公平性和合法性的目标。因此,我们提出了DABFT,它结合了现有协商一致算法的一些最佳特性。从概念上说,DABFT采用了一定的PoS特征来加强PoI的合法性,采用一定的PoI特征来提高PoS的公平性,同时利用BFT算法改进PoD的选择机制。

此外,DABFT通过加入自适应性特性得到了进一步的加强。DABFT是一种具有更高效率的授权机制,本质上是一种更灵活的DBFT,它能够选择最适合动态(和并行)任务的BFT。这种适应性是通过深度学习技术实现的,对新任务的实时一致性算法的选择是根据以往任务的训练模型推导出来的。

因此,DABFT是构建高效、合法、公平的凌云链区块云生态体系的完美工具,它只进行有意义的、生产性的活动。

DABFT算法的设计

-新区块提出-

在新任务发布时,将选择与任务最相关的超节点子集作为代表(任务验证节点),然后由它们各自选择一个负责管理任务的任务处理节点。然后,任务处理几点选择与任务最相关的资源节点,并将任务分发给它们。在新任务成功发布后,任务处理节点将提出一个新的区块,然后由任务验证节点对其进行验证。一个新的区块由此诞生。

由于 “相关性规则”,每个新任务很可能被分配一组完全不同的任务验证节点和任务处理节点。但是,一旦选择了任务处理节点和验证节点,它们将负责从开始到完成(从根块到侧链的最后一个块)的所有管理任务。因此,不需要定期在全系统重新选举代表。这种安排的主要好处是不需要朝代管理,减少了系统的复杂性,提高了系统的效率。

基于 “相关性规则” 的任务验证节点和处理程序的实时选择意味着DABFT有一个内置的 “动态分片” 特性,这将在后面的小节中解释。

-建立共识的过程-

在任务处理节点提出一个新的块之后,任务验证程序将参与一轮BFT投票,以确定块的合法性。

目前,没有一种主流的BFT算法对所有任务都是最优的。DABFT通过基于人工智能的深度学习,采用一套有效性评估算法,确定了当前任务的最优BFT模式。 DABFT可供选择的算法包括PBFT(Practical BFT)、Q/U(Abd-El-Malek,2005)、HQ(Cowling,2006)、Zyzzyva(Kotla et al .,2009)、Quorum(Guerraoui,2009)、Chain(Guerraoui,2009)、Ring(Guerraoui,2011)和RBFT(Redundant BFT)(Aublin, Mokhtar,and Quema, 2013)等。

DABFT在ADAPT(Bahsoun,Guerraoui,and Shoker,2015)的基础上进行了改进,而在几个方面与之相似。与ADAPT一样,DABFT是模块化设计,由三个重要模块组成:BFT系统(BFTS)、事件系统(ES)和质量控制系统(QCS)。BFTS本质上是一个将上述BFT算法模块化的算法引擎。ES收集对系统性能和安全性有重大影响的因素,如终端数量、请求、大小等,并将任务信息发送给QCS。QCS通过静态(Shoker and Bahsoun,2013)、动态或启发式模式来驱动系统,并对一组关键性能指标(KPI)和关键特征指标(KCI)进行评估,从而为当前任务选择最佳的BFT。

ADAPT算法设计中有一个主要缺点。ADAPT采用支持向量回归(Support Vector Regression,SVR)方法(Smola and Scholkopf,2004)进行了五次交叉验证,以预测矩阵中元素的KPI参数 B。数据集中有6个字段:客户机数量、请求大小、响应大小、吞吐量、延迟和容量。虽然该方法在多种的容错设置中非常有用,但它并不是为高度复杂的区块链应用程序场景设计的,在这些场景中,参与者之间有很多交互及关联,而它对这些场景不是特别有效。例如,在凌云链区块云中,任何时候都有多个任务(由不同的处理程序处理)争夺资源。因此,不断增加的任务数量和它们之间的交互将持续地影响单个任务(时间序列)的关键KPI参数(吞吐量、延迟和容量),以实现系统级的最佳性能。因此,有必要引入一种机制,它包含跨任务的时变条件关联,以便动态调整KPI参数。使DABFT与ADAPT不同的是,DABFT内置了这样的功能。

此后,DABFT与ADAPT类似,根据公式(5.1a)和(5.1b)选择评价得分最高的BFT协议。对于任何BFT选择,DABFT提供了容错功能 F=[(N-1)/3] 对于由N个任务验证节点组成的一致集合。这种容错包括安全性和可用性,在任何网络环境中都能抵抗一般和拜占庭式的故障。DABFT提供了确定性。因此确认即是最终确认,链不能被分叉,事务不能被撤销或回滚。<br>在DABFT协商一致机制下,估计每0.1到0.5秒生成一个块。该系统具有30000 TPS的可持续性事务吞吐量,经过适当的优化,有可能达到1,000,000 TPS,使凌云链区块云生态体系能够支持高频大规模的商业应用。

DABFT有一个选项,可以将数字识别技术整合到凌云链区块云中,使其成为基于真实姓名的,从而使冻结、撤销、继承、检索和检索成为可能。因此支持在司法判决下资产转移。这一特性使得发行符合法规要求的金融产品成为可能。

-分叉选择-

DABFT为每个任务建立权威链,并在每个块的高度上设置区块分数。在公平、合法的原则下,选择经济价值最高的分块链加入权威链。每个分叉链的经济价值是其头分叉块及其后代的经济价值之和。这是可以实现的,因为所有任务都由它们相应的侧链跟踪,将达到最终结果。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。