玩弄chinese丰满人妻videos

巨大黑人极品videos精品 工夫指南 | 软硬协同的共鸣算法野心——以FastBFT为例 | BTC

发布日期:2022-06-10 09:02    点击次数:110

巨大黑人极品videos精品 工夫指南 | 软硬协同的共鸣算法野心——以FastBFT为例 | BTC

导 读

咱们澄澈,比较公有链,定约链中使用的拜占庭容错(BFT)算法不详有用地提高区块链的往返科罚才调。关联词,传统的BFT算法,举例PBFT[1]算法,为了容忍f个拜占庭诞妄节点,需要保证系统中的节点总和至少是3f+1。与之比较,RAFT[2]等能容忍f个停机诞妄(CFT)的共鸣算法仅需要2f+1个节点就能宽阔运作。那么咱们不禁会去想,能不成通过某种设施使得一个拜占庭系统也只需要总共2f+1个节点就不详造反拜占庭谬误呢?

红运的是,这么的设施是存在的。咱们不错借助委果硬件,扬弃拜占庭节点的二义性(equivocation),从而仅需要2f+1个节点,就能有用地防范拜占庭谬误[3]。

本文以FastBFT[4]为例,先容FastBFT是怎么借助委果硬件,取得比传统BFT算法更好的性能的。

委果硬件

FastBFT算法使用的委果硬件是IntelSGX (Software Guard Extensions)[5],Intel第六代CPU之后的一组推广教导集。现时,好多个人电脑和功绩器都不错营救SGX关连的功能。在SGX的编程模子中,一个尺度分为委果代码(enclave)和不委果代码。SGX保证了在enclave中驱动的代码和数据不成被其他尺度(包括操作系统和诬捏机监视器)打听和删改。而况,通过enclave写入到磁盘的数据会被加密,惟一该enclave不详读取。不委果代码只可调用enclave提供的有限的委果函数接口来更变enclave的里面情景,获得enclave的里面信息。

因此,FastBFT的代码也分为了两部分,如下图所示:

其中,FastBFT不委果代码认真科罚共鸣音问的收发,以及共鸣情景的调度。而FastBFT enclave代码则认真科罚密钥生成,加解密,安全信道的培植以及共鸣情景变量的保重。

节点类型

与PBFT算法访佛,FastBFT算法也有主节点和从节点之分。不同之处在于,FastBFT算法将从节点进一步辞别为f个活跃(active)节点和f个被迫(passive)节点。在惯例历程中,FastBFT算法只需要f+1个活跃节点(包括主节点)参与共鸣的音问收发。被迫节点仅需要科罚来自主节点的Reply音问,更新自己的情景。惟一在发生诞妄时,这f个被迫节点才需要参与到共鸣历程中来。

委果变量与函数接口

在FastBFT中,每个节点的enclave都有我方的公私钥对,并记载了其他节点的公钥。除此除外,每个节点还需要保重并耐久化以下变量:计数器值c,view值v,活跃节点列表及会话密钥{Si,ki}。其中c和v是共鸣关连的情景变量,v值惟一在viewchange的时候才会加多,当系统巩固驱动时,c会不停加多。

FastBFT enclave对外提供了以下几个委果函数接口:be_primary,update_view,preprocessing,request_counter,verify_counter,update_counter和reset_counter。

▲ be_primary、update_view函数

be_primary是某个节点成为主节点之后,需要调用的enclave设施。它的作用是重置c,更新活跃节点列表,再行生成与活跃节点的会话密钥。

update_view是从节点收到主节点当选的音问后,更新自己enclave情景的设施。该设施领受的参数包括主节点的c、v以及加密后的会话密钥。在证实主节点当选的音问是真正委果之后,从节点调用enclave的update_view设施,重置enclave的c和v,获得与主节点通讯的会话密钥。

来自参议院银行委员会的 Cynthia Lummis (R-WY) 和来自参议院农业委员会的 Kirsten Gillibrand (D-NY) 的两党比特币立法终于在该法案宣布的几个月后推出。

不幸的是,crypto 并不是一个神奇的解决方案,它无法让每个人都赚到钱。是时候重新考虑支撑如此多昙花一现的游戏经济的“赚钱”哲学了。之前,我将加密游戏分为“earn-first”(以赚钱为核心)以及“play-first”(以玩为核心),而在本文,我将再次探讨这些术语,并进一步讨论为什么 Play and Earn(玩赚)会让我们误入歧途,然后谈论更好的“earn-first”(以赚钱为核心)游戏的更好的商业模式,并为“play-first”(以玩为核心)的游戏设计未来。

这两个函数都是FastBFT view change历程中需要调用的设施,本文限于篇幅死心不予盘考。

▲ preprocessing、request_counter与verify_counter函数

preprocessing是FastBFT算法为了斥逐高效的音问团聚,斥逐节点enclave之间密钥共享(secret sharing),主节点需要调用的设施。enclave最初通过哈希函数,将c,v与一个赶紧生成的原始密钥S进行绑定(commitment),这个commitment记作h。然后, 国精品人妻无码一区二区三区通过基于XOR的密钥共享决策,将原始密钥赶紧拆分红f+1个子密钥Si,S不错通过将这f+1个子密钥进行异或操作还原出来。临了复返给主节点h,c和v,以及经过加密的,只可被对应从节点的enclave解密的。而况,为了幸免每次音问团聚之前都进行密钥共享,调用这个设施后会批量生成从c+1一直到c+m这m组音问。之后的m条共鸣音问都不再需要调用该设施。

request_counter是主节点要发起提案音问前,需要调用的设施。该设施领受一个传入参数x。enclave最初把c+1,然后对进行签名,复返该签名。通过这个签名,不错起到绑定与x的效用。

verify_counter是活跃节点收到来自主节点的PREPARE音问和COMMIT音问后,需要调用的设施。该设施传入的参数包括主节点enclave签名后的,以及主节点enclave的preprocessing设施生成的。从节点的enclave需要确保签名中的c,v与解密获得的c,v一致,而况c比土产货的c大1。考证通事后,enclave土产货的c+1,复返Si,h。通过这个设施,活跃节点的c与主节点的c进行了同步。复返的Si使得之后主节点不详收复出原始密钥S,h则不详让活跃节点证实原始密钥S的真正性。

以上这三个函数是FastBFT惯例历程中需要调用的函数,关于读者融会FastBFT算法尤其紧迫。

▲ update_counter与reset_counter函数

update_counter是被迫节点收到来自主节点的Reply音问后调用的设施。它作用是更新被迫节点enclave的c值。

reset_counter是节点宕机重启后,在再行加入共鸣网罗前,需要调用的设施。它的作用是领受f+1个来自不同节点enclave的一致的c,v,情景音问,同步土产货enclave的c和v。

FastBFT算法的惯例历程

FastBFT算法的惯例历程分为:Preprocessing,Request, Prepare, Commit及Reply这五个阶段。通盘历程如下图所示:

在Proprocessing阶段,主节点通过调用enclave的preprocessing设施,获得密钥共享音问。然后将这些密钥共享音问发送给各个活跃节点。

当主节点收到来自客户端的央求REQUEST后,就会参加Request阶段。这时,各种少妇wbb撒尿主节点需要调用enclave的request_counter设施获得enclave对REQUEST,c+1,以及v的签名。然后,将REQUEST及enclave签名一道算作PREPARE音问的试验,发送给活跃节点。

当活跃节点收到来自主节点的PREPARE音问后,就参加了Commit阶段。此时,活跃节点会将主节点enclave的签名以及从Proprocessing阶段获得的对应的密钥共享音问通过verify_counter设施陈说enclave。enclave考证通事后,见告活跃节点子密钥Si和h。然后,活跃节点将Si发送回主节点。主节点收齐f+1个来自活跃节点的子密钥Si之后,就不错重建出原始密钥S。之后,主节点就不错实施REQUEST央求,再次调用enclave的request_counter设施,获得enclave对REQUEST实施的斥逐res,c+1,以及v的签名。然后,将一道算作COMMIT音问的试验,发送给活跃节点。

当活跃节点收到来自主节点的COMMIT音问后,就参加了Reply阶段。此时,活跃节点通过对比的哈希值与之前enclave复返的哈希值h,判断主节点是否奏效地收复出了原始密钥。然后,活跃节点也实施REQUEST央求,判断实施斥逐是否与主节点实施斥一一致。之后,再调用verify_counter设施,获得c+1对应的子密钥Si’以及原始密钥的绑定h’,并将Si’发送回主节点。主节点收齐f+1个来自活跃节点的子密钥Si’之后,就不错重建出原始密钥S’。然后将REQUEST,res,S,S’连同密钥共享信息及之前两个来自enclave的签名都算作REPLY音问的试验,发送给客户端及被迫节点。被迫节点收到REPLY音问后,最初考证音问的真正性。考证通事后,调用两次enclave的update_counter设施更新enclave里面的c和v值。

FastBFT快在那里

从上述的历程,咱们不错追忆出,FastBFT算法的“快”主要体当今以下几个方面:通过委果硬件,减少系统的节点总和;通过轻量级的密钥共享决策斥逐高效的音问团聚;通过辞别活跃节点与被迫节点来减少与被迫节点的通讯。

最初,咱们看到,在FastBFT算法中,一共只需要2f+1个节点。更少的节点数目意味着更快的反映时候。在惯例历程中,主节点只需要发送f+1条音问,领受f+1条音问就不错参加到下一个阶段。而在PBFT等算法中,节点需要播送3f+1条音问,领受至少2f+1条音问才能参加到下一个阶段。

其次,在PBFT等经典算法中,从节点在收到主节点的PrePrepare等音问后需要向整个节点播送Prepare音问,音问总量为O(n^2)。而FastBFT的惯例历程中,整个从节点仅需要发送子密钥给主节点,音问总量为O(n)。这极地面放松了网罗的压力。

而况,在HotStuff[6]等共鸣算法中,音问团聚是通过基于椭圆弧线的团聚签名来完成的。而基于椭圆弧线的团聚签名速率较慢,影响共鸣的效用。而FastBFT则使用了基于XOR的密钥共享决策,仅需要进行f次异或操作就完成了音问团聚,极地面提高了共鸣的效用。值得详确的是,FastBFT能使用如斯浅薄的设施完成音问团聚的原因照旧因为委果硬件的营救。由于密钥拆分在enclave里面进行,拜占庭节点无法获知原始密钥和子密钥,也无法进行删改。这么才能保证音问团聚的安全性。

临了,将节点辞别为活跃节点与被迫节点之后,被迫节点仅需要领受Reply音问更新自己的共鸣情景,而不需要发送任何音问。这进一花式裁减了网罗带宽的滥用,裁减了系统的驱动老本。

总 结

FastBFT算作一种基于软硬协同野心的共鸣算法,很好地向环球展示了怎么使用委果硬件冲破传总计鸣算法表面的死心。咱们不错看到,基于委果硬件,FastBFT极地面裁减系统的部署老本,显耀地提高共鸣的效用。

环球若是关于本文或者区块链算法感风趣,宽待加入交流群,添加小助手桔子微信:18458407117。

进阶加餐

▲ FastBFT的正确性(safety)

由于齐备的FastBFT算法还波及特地历程view change,照旧超出本文的先容边界,在此仅对FastBFT的安全性做一个浅薄的论证加餐,以便读者了解大貌。

最初,咱们不错发现,每对仅能绑定一条信息。这是因为,每次主节点调用enclave的request_counter设施后,enclave中记载的c就会加1。而况,一朝view change,enclave会将v加1。这么就保证了团结双不会被重用。于是就有用地防范了拜占庭节点向不同节点发送不同的提案音问,扬弃了拜占庭节点的二义性。

其次,在惯例历程中,c每次都会加多1,而况enclave的verify_counter设施也会判断c是否比之前的c大1。这对共鸣音问的端正做了进一步的死心。

再次,咱们不错看到,在FastBFT中,一个提案达成共鸣需要经过访佛PBFT的两轮播送。与PBFT的区别在于FastBFT的Quorum是f+1而PBFT是2f+1。由于共鸣音问都有enclave的参与,拜占庭节点无法玩忽构造子虚的信息,FastBFT的view change历程不错保证即使惟一f+1个view change音问,也不详收复出达成共鸣的提案央求,确保该央求一定会被实施。

于是,整个正确节点都将以换取端正实施一样的提案央求。

▲ FastBFT的其他优化

除了前边提到的优化外,FastBFT还引入了播送树来缓解主节点的通讯压力。如下图所示:

当1号节点算作主节点要播送PREPARE等音问时,只需把音问发送给2,3号节点。2,3号节点会将音问进一步转发给4,5,6,7号节点。通过这种设施,主节点的发送音问的数目就从O(n)裁减到了O(1)。

固然,此时密钥共享、音问团聚等法子也会有所变化,本文就不在此赘述了,感风趣的同学不错参考原论文了解关连斥逐[4]。

作家简介

汪晓可,来自趣链科技基础平台部,区块链软硬件协同野心接洽小组

参考文件

[1] Practical Byzantine Fault Tolerance

[2] In Search of an UnderstandableConsensus Algorithm

[3] On the (Limited) Power of Non-Equivocation

[4] Scalable Byzantine Consensus via Hardware-assisted Secret Sharing

[5] Intel SGX Explained.

[6] HotStuff: BFT Consensus with Linearity and Responsiveness巨大黑人极品videos精品



热点资讯
相关资讯


Powered by 玩弄chinese丰满人妻videos @2013-2022 RSS地图 HTML地图