LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > NERVEAMA回顾之POCBFT

NERVEAMA回顾之POCBFT

2020-06-05 币圈驴把头_熵云财 来源:区块链网络

净化币圈环境从我做起,大家好我是币圈驴把头!

上周驴把头社区进行了关于Nerve项目的线上AMA活动,活动邀请NerveNetwork的发起人BZ在驴把头社群进行了线上问答活动,同时社区也进行了自由问答,本篇文章主要是对AMA活动进行回顾和整理。

AMA回顾

开场AMA驴哥一共提问了7个问题,分别是:

1、NerveNetwork项目的初心和目标是什么?

2、NerveNetwork为区块链行业做出的最大贡献是什么?

3、BZ对区块链行业过去的发展有些什么感触?对未来的发展有什么看法?

4、为什么Nerve项目选择了Nerve公链生态,并在跨链交互上进行搭建和创业,而没有选择其他公链生态呢?

5、POCBFT共识机制在跨链交易上的优越性是什么?

6、Nerve的异构跨链技术究竟如何服务于Nerve跨链生态和其他公链之间的交互?

7、Nerve的通证经济系统是怎样设计的,NVT在生态中的作用是什么,Staking机制是如何运作的?

以上,

驴哥不说口水话,相信大部分的老哥都对后面的三个问题比较感兴趣,而且由于时间原因,BZ可能回答的并不全面,或者因为某些原因比如流通方面因为基石的不确定性还没有纰漏,所以大家可能了解的不那么深入。

驴哥今天第五个问题给大家一个更加深入的剖析,让大家了解的更加细致一点。

POCBFT共识机制在跨链交易上的优越性是什么?、

POCBFT=POC(信用证明共识)+PBFT(拜占庭容错)

分拆开讲

POC(信用证明共识)

Nerve 主网默认采用信用共识机制 POC(Proof-Of-Credit)。节点信用达标的情况下,锁定一定数量的 Nerve 即可加入共识,共识节点重新排序后每轮轮流出块,退出共识时锁定的 Nerve 解锁。

1、共识进入与退出机制

任何人都可以随时加入 Nerve 的共识(普通节点无限制)之中,只要满足条件,遵守规则,即可持续获得 Nerve Token 奖励。POC 的加入分为硬性指标和软性指标。硬性指标指的是信用分值必须达到一定标准线,排除掉一部分曾经作恶的节点。软性指标指的是必须锁定一定数量的 Nerve 作为保证金,为杜绝节点的泛滥,同时让整个系统更加公平,锁定 Nerve 的数量除了有一个最低值的限制外,任何人可自由选择,锁定的 Nerve 数量会和最终的奖励挂钩。

? 黄牌惩罚

由于节点硬件配置、网络环境等原因,造成的共识期间掉线、死机等无法出块的,不属于违规情况,但对整个系统会造成一定影响,所以对这类情况,系统让区块链更简单有一个轻度的警告机制,会影响节点信用的评定。

? 红牌惩罚

对于一些双花、尝试分叉系统、不遵守系统规则的恶意人为破坏情况,Nerve坚决抵制,所有节点都可以检测到这类情况的发生。一旦有恶意节点确实试图挑战 Nerve 网络,那么对应创建节点的保证金将会被锁定 60 天,节点将被强制停止出块,且创建者将永远无法再创建节点。

2、信用评级

在 Nerve 网络中,信用是账户在系统中的诚信系数,所有账户的信用会在区间[-1,1]内,通过信用评级算法公式自动计算。

信用评估公式:

信用基数=能力系数+责任系数

能力系数:根据历史出块数量计算

责任系数:根据违规情况和出块正确性计算

3、共识奖励

为了整个 Nerve 网络的平衡与公平,共识奖励根据所有共识节点所提交保

证金与共识节点信用综合计算。

共识奖励计算公式:

fee:本块手续费

rnc:本轮共识节点数

bti:出块间隔时间(秒)

spy:一年总时间(秒)

cmc:共识委托 Token 数

cr:信用基数

PBFT(拜占庭容错)

1、简介

PBFT是Practical Byzantine Fault Tolerance的缩写,即:实用拜占庭容错算法。

该算法是Miguel Castro(卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,算法的时间复杂度是O(n^2),使得在实际系统应用中可以解决拜占庭容错问题。该论文发表在1999年的操作系统设计与实现国际会议上(OSDI99)。其中Barbara Liskov就是提出了著名的里氏替换原则(LSP)的人,2008年图灵奖得主

2、解决什么问题?

BFT是区块链共识算法中,需要解决的一个核心问题,以比特币和以太访为代表的POW,EOS为代表的DPOS,以及今后以太访逐渐替换的共识算法POS,这些都是公链算法,解决的是共识节点众多情况下的BFT。而PBFT是在联盟链共识节点较少的情况下BFT的一种解决方案。

在这里我们不对PBFT的运行原理进行赘述,主要讲解PBFT的优势和特点。

3、特点

节点数量

节点数量至少有|R|=3f+1个节点,且节点数量不能太多。(Nerve的主要节点35个)

异步分布

异步系统下验证节点异步同步,能大大提升主网的性能。

限定条件

1、所有节点必须是确定性的。也就是说,在给定状态和参数相同的情况下,操作执行的结果必须相同;

2、所有节点必须从相同的状态开始执行。

节点容错

假设主网由N个节点组成,算法在失效节点数量不超过(n-1)/3的情况下同时保证主网的安全性和活性(safety & liveness)。

最终结果的一致性

保证主网的绝对安全与去中心化

Nerve的POCBFT

POCBFT=POC(信用证明共识)+PBFT(拜占庭容错)

1、三层网络,35个节点,拜占庭容错系统

Nerve 的网络由三层网络组成:虚拟银行(15个)+共识节点(35个(包含虚拟)),35个节点可以完美的运行PBFT系统。

2、信用评级系统

根据POC共识框架对节点进行信用评级,在(-1,1)之间对节点进行信用评分,信用会影响节点的幸运值和出块效率。

信用评估公式:

信用基数=能力系数+责任系数

能力系数:根据历史出块数量计算

责任系数:根据违规情况和出块正确性计算

3、节点作恶与惩罚

共识节点是维护Nerve网络的重要支柱,负责节点验证、网络安全和网络稳定,对于不符合主网要求的节点进行信用降低,对于作恶节点(分叉主网、恶意攻击)锁定其质押资产,危害到主网安全的节点会被票出节点。

4、大多数原则

POCBFT共识框架采用三阶段协议,基于大多数原则(2f + 1,f表示叛将数)实现共识,也就是说大部分的节点们已经达成共识,大大提升了节点的一致性,POCBFT 算法实现的是一系列值的共识,而不是单值的共识。

为了方便演示,假设一共有A、B、C、D四个节点,那么根据BFT算法的理论,最多允许存在一个恶意节点(?(4-1)/3=1),我们假设D是恶意节点,现在客户端发起了一个提议值(进攻),希望被各节点达成共识:

第一个接收到客户端请求的节点,将成为Leader节点,我们假设A节点首先接收了到请求。A接收到客户端请求之后,会执行三阶段协议(Three-phase protocol)

5、高性能,秒级出块,2000+TPS

Nerve主网由35个主要共识节点组成,通过POCBFT共识框架运转,节点越少主网运转速度越快,Nerve主网出块速度极快,可达到2秒出块,TPS经过压力测试能达到2000+TPS。

总结

Nerve作为公有链,是完全去中心化的一种区块链,比特币就属于这种公有链,是完全去中心化的。任何人既可以进行交易也可以读取信息。任何人都可以参与链上的交易确认和共识机制。各个节点可以随时假如节点也可以随时退出节点。

Nerve看重的是POCBFT的效率和能达到商业应用开发的一定标准的优势,促使Nerve在性能上达到一定的水准,保持在速度上的优势,对DApp以及自身的DBApp的商业应用开发提供坚实的基础。Nerve终究是要为生态系统及商业应用的开发提供足够强大的技术支撑和稳定的性能保障,所以结合各共识,各技术的优点,将有利于Nerve成为多面手,形成真正意义上的生态发展。

Nerve不仅采用POCBFT的共识,也结合了其特性,挑选其优质的地方,并应用其它技术进行有效结合,跳出传统的区块链思维,突破传统的共识机制思维。所谓的传统思维即是共识机制决定TPS从而决定性能,而Nerve在底层的突破打破了传统思维,以算法为核心突破口,用共识机制做相应的配合,从而达到了显著的效果和高效TPS的实测数据。

—-

编译者/作者:币圈驴把头_熵云财

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...