区块链去中心化世界的乌云暨曌链MIT、全新SDWC共识算法重构区块链共识基石区块链

MIT 2018-07-22 16:35
分享到:
导读

曌链是一个支持海量、安全性与可扩展性的分布式框架平台系统,其以全新SDWC共识算法重构区块链共识基石。

图片1.png

区块链去中心化世界头顶的一朵乌云

在1900年4月27日,开尔文勋爵在英国皇家研究所做了一篇名为《在热和光动力理论上空的十九世纪乌云》的发言,演讲中开尔文声称:

动力学理论认为热和光都是运动的方式,现在这一理论的优美和明晰,正被两朵乌云笼罩着。

—— 开尔文勋爵

开尔文对这两个问题的在意程度反映了当时物理学界的普遍忧虑,但他很有可能没有想到的是,这两朵乌云给物理学带来的是一场突如其来的风暴,这场风暴颠覆了旧理论体系的框架,分别导致了二十世纪物理学的两大理论体系:相对论和量子力学的诞生。

下图分别是比特币和以太坊全网算力分布图,可以很清晰的看到排名前四的大矿池已经垄断了远超过51%的算力,区块链所极力倡导的去中心化变成强中心化,这朵乌云是否会给区块链世界带来新的一场狂风暴雨?

image.png

图1: 左图是比特币全网算力分布图,右图是以太坊算力分布图

分布式系统原理

共识机制是区块链底层基础技术中最为重要的,可以说共识机制是区块链技术底层的核心和灵魂。区块链作为分布式系统的一个新兴类型,它的共识机制演化过程是基于分布式系统的一些原理,现在先介绍这四大原理。

image.png

图2: 分布式系统共识机制的理论基础

FLP不可能原理

FLP 不可能原理(FLP Impossibility)由Fischer、Lynch和Patterson三位科学家于1985年发表的论文《Impossibility of Distributed Consensus with One Faulty Process》指出:在异步模型中,分布式系统中只要有一个进程不可用(失去响应或暂停),就可能无法达成整体的共识。(No completely asynchronous consensus protocol can tolerate even a single unannounced process death)。

以上结论被称为FLP不可能原理。该定理被认为是分布式系统中重要的原理之一。该原理提出:在网络可靠,存在节点失效(即便只有一个)的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。FLP 原理实际上说明对于允许节点失效情况下,纯粹异步系统无法确保一致性在有限时间内完成。

CAP原理

CAP 原理最早由加州大学伯克利分校的Eric Brewer教授于 2000年7月,在ACM PODC会议上提出CAP猜想,2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。

分布式计算系统不可能同时确保一致性(Consistency)、可用性(Availability)和分区容忍性(Partition),设计中往往需要弱化对某个特性的保证:

数据强一致性(Consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency) ;

可用性(Availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待;

分区容错性(Partition-Tolerance):在网络分区的情况下,被隔离的节点仍能正常对外服务;

分布式计算系统不可能同时确保一致性(Consistency)、可用性(Availability)和分区容忍性(Partition-Tolerance),设计中往往需要弱化对某个特性的保证,CAP原理对标的是经济学中的三元悖论(Mundellian Trilemma)。

BASE理论

BASE理论是有eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consistency

BASE理论的定义

基本可用(Basically Available) :基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用。 电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。

软状态( Soft State) :软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。 分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。MySQL replication的异步复制也是一种体现。

最终一致性( Eventual Consistency) :最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。

BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性

ACID原则

ACID也是一种比较出名的描述一致性的原则,通常出现在分布式数据库领域。具体来说,ACID原则描述了分布式数据库需要满足的一致性需求,同时允许付出可用性的代价。

ACID特征如下:

Atomicity:每次操作是原子的,要么成功,要么不执行;

Consistency:数据库的状态是一致的,无中间状态;

Isolation:各种操作彼此之间互相不影响;

Durability:状态的改变是持久的,不会失效。

ACID和BASE代表了两种截然相反的设计思想。ACID是传统数据库常用的设计理念,追求强一致性模型。BASE支持的是大型分布式系统,牺牲掉对一致性的约束(但实现最终一致性),来换取一定的可用性。

区块链共识机制

区块链的底层基础是共识算法、各类对称非对称加密算法、P2P分布式网络协议和区块结构及存储。共识机制是在这些底层基础技术中最为重要的,可以说共识机制是区块链技术底层的核心和灵魂。共识机制很大程度上决定了整个区块链系统节点间的相互信任程度,也决定了其他使用者对于区块链上数据的信任程度。

对于公有链来说,无论是EOS的复杂且容易形成小团体侵害散户节点利益的DPOS算法,还是Penta的没有实用性且低效率的DSC算法都无法将区块链技术落地于真正的商业世界。

当前区块链流行的各种共识算法,虽然能解决部分问题,但是都有着这样或那样的缺点,现在罗列出来:

image.png

表1: 各种共识算法缺点

曌链MIT分片动态权重共识机制

CAP理论虽然揭示了,在分布式系统中不可能同时确保一致性(Consistency)、可用性(Availability)和分区容忍性(Partition-Tolerance),我们权衡出这三者关系对于区块链落地商业世界的重要性,不追求强一致性(Strong Consistency),而是根据BASE理论达到最终一致性就可以,有鉴于此曌链(MIT)区块链采用一种新创的基于三个维度权重计算的共识算法:分片动态权重共识机制(Sharding Dynamic Weight Consensus, SDWC):

节点负载;

网络质量;

节点信用;

权重计算公式。

W1,2,3 = w1x1  w2x2  w3x3;

W = 相对权重(%)

X =  归一化后数值

image.png

表2: 权重示例表

信用数值归一化公式

image.png

*X为数据原值

负载和网络质量归一化公式

image.png

*X为数据原值

节点选择分配原则:

• 80%节点从权重分值最高节点中选择

• 20%节点随机从低权重的节点中选择

• 百分比动态可调节

信用积分原则:

• 每次被选中节点按时间出块,则增加信用

• 节点作恶信用清零

• 节点未按时间出块,信用降低

SDWC算法的优势:

• 平衡全网算力即避开高负载节点,优先让负载低的节点来验证和出块

• 鼓励新加入节点,采用更好的硬件和高速稳定的网络

• 选择20%新节点是为了奖励和鼓励新注册节点,从而防止老的节点垄断铸币。

• 防止女巫攻击,防止恶意节点,防止51%攻击,防止大股东”作恶”。

在确保共识过程公平的前提下,平衡处理速度,安全,去中心化,提供一个高效,高可用性的共识机制。MIT区块链之所以不采取超级节点的做法是因为,建立超级节点本身就有违区块链去中心化的初衷,如果超过10个超级节点被伪冒或入侵,系统就彻底瘫痪或被劫持。

联系方式:

网址: mit.club

曌链公众号QR码:

image.png

系统 节点 一致性 理论 区块
分享到:

1.TMT观察网遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.TMT观察网的原创文章,请转载时务必注明文章作者和"来源:TMT观察网",不尊重原创的行为TMT观察网或将追究责任;
3.作者投稿可能会经TMT观察网编辑修改或补充。


专题报道