木星链 木星链
Ctrl+D收藏木星链

BFT:金色观察|共识算法的进步方式

作者:

时间:1900/1/1 0:00:00

近两年,随着以太坊等公链的生态发展,应用已经非常之多了,Defi、NFT这些应用虽然比较“简易”,但链上整体操作量之大,让用户和开发者还是很相信以太坊的处理能力和其他公链的处理能力的。

不过,其他公链目前和以太坊相比,一个重要的优势就是以太坊gas费太高,其他公链的gas费极低。

主要原因在于共识算法,以太坊仍是在用1.0链做交易验证,也就是使用PoW算法,而其他公链大部分都使用了PoS或者改进的PoS、PoW。

本文中我们将分析几种共识算法,来展现不同算法的区别。

一个分布式系统是由多个节点组成,节点之间需要网络发送消息通信,根据它们遵循的协议在某个任务消息达成共识并一致执行。这个过程中会出现很多类型的错误,

第一类错误是节点崩溃、网络故障、丢包等,这种错误类型的节点是没有恶意的,属于非拜占庭错误。

第二类错误是节点可能是恶意的,不遵守协议规则。例如验证者节点可以延迟或拒绝网络中的消息、可以提出无效块、可以向不同的对等体发送不同的消息。在最坏的情况下,恶意节点可能会相互协作。这些被称为拜占庭错误。

考虑到这两种错误,系统始终徐亚保持两个属性:安全性(safety)和活跃性(liveness)。

金色相对论|区块链企业“战疫”启示录:今晚19:00,金色相对论之 “区块链企业战役启示录”即将正式开始,金色财经合伙人佟扬对话创世资本创始合伙人孙泽宇、嘉楠科技区块链总经理邵建良、节点资本管理合伙人杨玉梅、Cocos-BCX发起人陈昊芝、火币区块链研究院副院长李慧,一起聊聊疫情当下,区块链企业该如何打赢这场“战疫”。 详情请扫描图中二维码或点击原文链接。[2020/2/13]

安全性:在以上两类错误发生时,共识系统不能产生错误的结果。在区块链的语义下,指的是不会产生双重花费和分叉。

活跃性:系统一直能持续产生提交,在区块链的语义下,指的是共识会持续进行,不会卡住。假如一个区块链系统的共识卡在了某个高度,那么新的交易是没有回应的,也就是不满足liveness。

BFT

BFT(拜占庭容错协议)是一种即使系统中存在恶意节点也能保证分布式系统的安全性和活跃性的协议。根据Lamport论文,所有BFT协议都有一个基本假设:节点总数大于3f时,恶意节点最大为f,诚实节点可以达成一致的正确结果。

PBFT

实用拜占庭容错算法是现实世界里首批能够同时处理第一类和第二类错误的拜占庭容错协议之一,基于部分同步模型,解决了之前BFT类算法效率不高的问题,将算法复杂度由节点数的指数级降低到节点数的平方级,使得拜占庭容错算法在实际系统应用中变得可行。

分析 | 金色盘面:BTC/USDT 大幅震荡:金色盘面综合分析:BTC/USDT在过去30分钟出现大幅波动,先是向下突破,试探前低,之后多头突然发力,爆拉3%,突破30分钟的MA72压力,目前看多头有望再次构筑防线,开启反攻模式,压力在日线MA6,支撑位是6400美元。[2018/8/9]

PBFT正常流程为3阶段协议:

pre-prepare:主节点广播预准备消息到各副本节点(Replica)

prepare:该阶段是各个节点告诉其他节点我已经知道了这个消息,一旦某个节点收到了包含n-f个prepare消息则进入prepared状态

commit:该阶段是各个节点以及知道其他节点知道了这个消息,一旦某个节点收到了n-f个commit消息则进入committed状态

视图切换是PBFT最为关键的设计,当主节点挂了或者副本节点集体认为主节点是问题节点时,就会触发ViewChange事件,开始viewchange阶段。

通信复杂度给PBFT的共识效率带来了严重的影响,极大地制约了PBFT的可扩展性。

如何把通信复杂度降低提高共识效率,是BFT共识协议在区块链场景中面临的挑战。针对BFT共识效率的优化方法,具有以下几类:聚合签名、通信机制优化、view-change流程优化。

金色讲堂第三期今晚开讲 BKFund联合创始人黄峤濛前来授课:6月22日晚8点,《金色讲堂》第三期第四次课开讲,BKFund联合创始人黄峤濛前来授课。BKFund是分布式资本孵化的独立数字资产基金,曾入选科技媒体36氪区块链投资机构风云榜前十名。课程详情请关注公众号“金色讲堂”。[2018/6/22]

PBFT,SBFT等协议具有独立的view-change流程,当主节点出问题后才触发。而在Tendermint、HostStuff等协议中没有显式的view-change流程,view-change流程合入正常流程中,因此提高了view-change的效率,将view-change的通信复杂度降低。

Tendermint将roundchange(和viewchange类似)合入正常流程中,因此roundchange和正常的区块消息commit流程一样,不像PBFT一样有单独的viewchange流程,因此通信复杂度也就降低。

HotStuff参考Tendermint,也将视图切换流程和正常流程进行合并,即不再有单独的视图切换流程。通过引入二阶段投票锁定区块,并采用leader节点集合BLS聚合签名的方式,

金色独家 中伦律师事务所合伙人于鲁平:任何没有实体项目所支持的虚拟产品都是空洞的:今日,就前央行行长周小川得发言,金色财经独家采访中伦律师事务所合伙人、中央财经大学博士后于鲁平,于鲁平表示:所谓纯粹炒作性的数字类、加密类的产品实际上是脱离实体,没有任何产业支持以及资产保障的产品。这类产品不能算作是虚拟商品或者虚拟资产,除了概念炒作以外没有任何实际价值。任何没有实体项目所支持的虚拟产品无论其外观包装如何丰富,其本质都是空洞的,有可能成为各种经济犯罪的载体。

在金融创新的当下,各种新概念新技术层出不同,数字经济、数字资产等概念也被频频提起,渐入人心。与此同时,我们应该理性的看到,对这些概念本身的相关理论研究才刚刚起步,众多商业模式亟待检验,很多监管方式尚需实践。对所谓虚拟产品风险的最基本判断应当是抛开华丽的炒作包装而探究其商业实体。而监管的重要设计思路之一应当是通过对规则和制度的有效创设,将当下的虚拟产品概念和实体项目进行硬连接,即将金融创新和实体经济进行价值衔接。

与此同时,也要充分发挥市场的有效配置作用和价值甄别作用,用优质项目驱逐伪劣项目。目前,即便我们有可能通过技术创新了交易的形式,也并没有改变交易的本质。没有脱离实体应用而存在的技术创新,也不会有脱离实体经济而存在金融产品。[2018/6/14]

Hotstuff将传统BFT的两轮的同步BFT改为三轮的链式BFT,没有明确的prepare,commit共识阶段,每个区块只需要进行一轮QC,后一个区块的prepare阶段为前一个区块的pre-commit阶段,后一个区块的pre-commit阶段为前一个区块的commit阶段。每次出块的时候都只需要低通信复杂度,通过两轮的通信复杂度,达到了之前的效果。

金色财经现场报道 世界区块链中心·BitTemple新加坡开幕酒会正式开幕:5月3日晚,世界区块链中心·BitTemple新加坡开幕酒会上,火币生态总经理王润发表致辞,王润表示,火币的生态分为火币全球生态基金,火币生态开放平台,火币公链三个方向,王润称,火币生态旨让区块链行业中的一些项目能够扎实的运营。[2018/5/3]

PBFT、Tendermint等协议具有即时确定(InstantFinality)的特性,几乎不可能出现分叉。在PBFT中,每个区块被确认后才能出下一个区块,Tendermint还提出区块锁定的概念,进一步确保了区块的即时确定性,即在某个round阶段,节点对区块消息投了pre-commit票,则在下一个round中,该节点也只能给该区块消息投pre-commit票,除非收到新proposer的针对某个区块消息的解锁证明。

这类BFT共识协议本质上是一个同步系统,将区块的生产和确认紧密耦合,一个区块确认后才能生产下一个区块,需要在块与块间等待最大的可能网络延迟,共识效率受到很大的限制。

PlatON:CBFT

CBFT基于部分同步网状通信模型,提出了一个三阶段共识的并行拜占庭容错协议。网状的通信模型更适合公网的弱网环境。

CBFT的正常流程和Hotstuff类似,分为prepare,pre-comit,commit和decide几个阶段。但CBFT还作了关键的改进:在一个视图窗口内可以连续提议多个区块,下一个区块的产生不用等上一个区块达到QC;而且各个节点可以在接收上一个区块投票的同时,并行执行下个区块的交易,以pipeline的方式对区块进行投票确认,从而极大提高了出块速度。

CBFT有自适配的视图切换机制:在一个视图窗口内,节点接收到足够多的区块以及赞成票时,会自动进行窗口切换,切换到下一个窗口,无需进行viewchange投票。除此之外,节点会启动viewchange流程,并且在viewchange阶段引入了和Hotstuff一样的二阶段锁定投票规则,同时使用BLS聚合签名,可以在低的通信复杂度内完成视图窗口切换。

CBFT只在正常流程之外才会进行viewchange,因此相比HotStuff会有更少的视图切换开销。

CBFT共识中,每430个区块就会更新验证人集合,更新规则如下:

新验证人可能由于网络连接或区块不同步等原因不能参与共识,因此我们每次替换不超过14个节点,如果候选验证人不足14个,替换的数量为候选验证人的总数。使用VRF从候选验证人中随机选出新验证人。

Conflux:GHAST

Conflux可以实现与比特币和以太坊相同水平的去中心化和安全性,但在交易吞吐量和最终延迟方面提供了两个数量级以上的改进。

主要优势在于共识协议、认证存储和交易中继协议。在Conflux分类帐中,块被组织为树形图,其中每个块引用一些其他块,其中一个是其父块。仅查看与父边链接的块,账本似乎是一个树结构,而查看所有块,它似乎是一个有向无环图。这也是将Conflux的账本结构称为Tree-Graph的原因。

Conflux的共识算法,称为Greedy-Heaviest-Adaptive-SubTree(GHAST),通过在账本中的父树上应用最重子树规则,使区块链网络中的所有节点能够一致地就区块的枢轴链达成一致,进而基于枢轴链就所有区块的总顺序达成共识。GHAST还允许Conflux节点检测一些可能损害活跃性的攻击,即确认交易的能力,并通过自适应调整块的权重来阻止这些攻击。

Tree-Graph账本和GHAST共识算法使Conflux节点能够快速生成新块,而不必担心账本中存在分叉可能会损害网络的安全性,从而使系统能够同时实现高吞吐量以及低交易确认延迟。

其他思路

Dfinity

Dfinity更改共识算法上,将传统的共识节点全部参与共识计算修改为通过计算随机数选取部分节点完成共识计算,这是加快共识验证的一个步骤。而更核心的是选中的共识节点是通过非交互式的BSL算法确认交易,意味着不会经历BFT类共识的节点间反复交互的过程,而达到类似“并行”加速的效果。

IOTA

IOTA对算法的修改比较彻底,对比区块链,IOTA使用Tangle数据结构形成总帐本Tangle特点是每个事务都附加到两个先前的事务里,所以要完全消除了原有区块链链式结构对确认时间的依赖。这就形成了交易的无限关联确认结构,可以达到并行效果。

Filecoin

Filecoin在并行上的修订,是在对存储任务的并行处理,因为Filecoin的存储部分,会对存储数据完全进行计算,这个过程极为漫长。所以并行和提速非常之重要,目前,其采用的是更新后的NSE算法。

拆分NSE算法可以看到的是,当处理数据时,会对数据进行分window和分layer层的处理,处理完成后才会进行下一步数据存储以及后续的Post证明打包。采用NSE后,在layer的处理部分,layer间没有过多依赖,所以可以形成并行处理效果,可以总结为并行提速的调整。

标签:BFTHAN区块链CHABBFT币Hhandsofsteel区块链适合什么人做MesChain

莱特币价格热门资讯
ZOR:Zora联合创始人:如何构建一个Web 3.0 超结构

在花了两年时间开发Zora之后,我开始意识到我们的方法有多么与众不同。这种差异来自一种全新的心理模型,即加密协议的可能性。加密协议的本质为创建宝贵的公共基础设施开辟了全新的模式.

1900/1/1 0:00:00
加密货币:金色观察|继中国后 多个国家拟“禁止比特币挖矿”

自2021年5月以来,我国启动虚拟货币“挖矿”整治活动。内蒙古、云南、新疆、青海、四川、安徽、河北、江苏、浙江、福建、海南等省份先后出手.

1900/1/1 0:00:00
元宇宙:祛魅元宇宙:一文看懂的投资逻辑和哲学思考

尽管距离Facebook改名为Meta已经过去了几个月,有关元宇宙的讨论依然热度不减。2022年1月18日,微软宣布以687亿美元的现金交易收购视频游戏巨头动视暴雪.

1900/1/1 0:00:00
NFT:拥有NFT艺术品时 我们到底拥有什么?

接触区块链这么些年,行业的风口总是变幻莫测。从ICO、STO、矿场到现在的NFT,圈内的朋友打个照面,总是戏谑圈内一天,圈外一年.

1900/1/1 0:00:00
NFT:维基百科编辑投票反对将NFT归类为艺术品

2022年,NFT已经成为了家喻户晓的名字,这些所谓的“数字收藏品”在2021年经历了快速的上升。总之,NFT已经占据了世界的一席之地。通过NFT,数位艺术家们得到了他们应得的认可.

1900/1/1 0:00:00
区块链:2022 年 5 个不寻常的 Web3 预测

正如埃隆马斯克所说,“最有趣的结果是最有可能的”。所以,这是对web3的5个不同寻常的预测,下面我将详细介绍如何得出这些想法的:口袋妖怪训练师将是一份全职工作有人会使用JPEG支持的贷款购买房屋.

1900/1/1 0:00:00