首页 百科 查看内容
  • 21365
  • 0
  • 分享到

哈(hā)希(xī)图:它会(huì)优于区块链吗?

2019-2-19 16:28

来源: 蓝狐(hú)笔(bǐ)记(jì)

Hedera Hashgraph的性能提升:哈希图共识算法、分片


在分(fèn)布式的状态下,Hedera Hashgraph要实现性能上的质的(de)变化,需要在(zài)共识(shí)机制上取得突破。Hedera Hashgraph有它独特的哈希图(hashgraph)共识算法以及分片技术。
 
哈希图(hashgraph)的共(gòng)识(shí)算法由LeeMon Baird发明,它的(de)共识达成机制(zhì)跟区块链完(wán)全不(bú)同。区块链就像一颗有主(zhǔ)干的树(shù),要不断地剪掉枝枝叉叉,保持(chí)主干的健壮成长(zhǎng)。这跟区块链本(běn)身的共识机(jī)制内在相关(guān),因为只(zhī)有剪掉枝叉,才能防止分叉失控。区(qū)块(kuài)链通过区块的链接形成(chéng)一条单一(yī)的(de)合法主(zhǔ)链(liàn),如果有分叉,比如两个矿工同时创建(jiàn)两个区块,区块链最终(zhōng)选择其中的一个(gè)区块(kuài),另外一(yī)个会被抛弃。也就(jiù)是上(shàng)面说(shuō)到的剪掉枝叉(chā)。
 
哈希图(hashgraph)完全不同,它不仅不剪(jiǎn)枝,而且它还会编(biān)织交错回来(lái)。哈希图(tú)的底层(céng)数据结构是不(bú)同的。哈希图的(de)每个事件(类似于“区块(kuài)”)都不会被(bèi)抛弃。所有枝节都持续存在,最(zuì)终重新组合成为一个整(zhěng)体。从哈希图的角度看,这是一种更有效率的数据(jù)结构。
 

米兰平台-米兰MILAN(中国)

(区(qū)块链Vs 哈希图)
 
在哈希图(hashgraph)看来,这种数据结构还可以避免区(qū)块链数据结(jié)构的一个(gè)问题:出(chū)块时间间隔设计。在区(qū)块链(liàn)中,为(wéi)了保证安全,如(rú)果新(xīn)区块产生的时(shí)间间(jiān)隔过短,会产生很多枝(zhī)枝(zhī)叉(chā)叉(chā),也因此来不及修剪,会出问题。所以,比特币(bì)通过(guò)PoW机制,大概每十分钟的出块(kuài)时间(jiān)间隔(gé),由此降低区块的(de)产出(chū)速度。不过(guò),这(zhè)不可(kě)避免地带(dài)来交(jiāo)易吞吐量的瓶颈。
 
哈希图(hashgraph)的解决方(fāng)法是,不抛弃事件,结构的增长不会受到限制。任何人都可以创建交易,这样,交易的吞吐量就(jiù)会大增。从这角度看,哈希(xī)图提出了新的思路,它无需修剪,试图用新的数据结构(gòu)和共(gòng)识算法实现更高的交(jiāo)易速度。
 
哈(hā)希图的共识机制包(bāo)括两个主要部分,一是八(bā)卦网络(Gossip about Gossip)和虚拟投(tóu)票(virtual Voting)。
 
首先八(bā)卦网络协议类似于办公室(shì)的八卦(guà)传(chuán)播,只要(yào)两个人之间八卦一下(xià)信息,很快所有人都会知(zhī)道该信息。
 
哈希图(hashgraph)中,每个(gè)节点都传(chuán)播新交(jiāo)易,同时也从临近(jìn)节点接收交易。某个节点收到新(xīn)交易之后,可能会组合其他交易生成一个新事件(交易(yì)的容器(qì),类(lèi)似于区块(kuài)),并传播(bō)出(chū)去。事件有两个哈希,一个指(zhǐ)向该节点上次的最新事件,另外一个指(zhǐ)向该节点收到的另外一个节点(diǎn)的最新事件,之后对(duì)整(zhěng)个事件加上(shàng)时间戳并签名。之后不断(duàn)地循环广(guǎng)播,直到所有节(jiē)点获得相同信息。
 
八卦算法无法保证某个时刻(kè)所有节点状态一(yī)致,不(bú)过,它可以保(bǎo)证最(zuì)终某个时刻,所有节点(diǎn)能够对(duì)某个时间点前的(de)历(lì)史(shǐ)达成一致。
 
虚拟(nǐ)投票是怎么(me)发起的?哈希图(hashgraph)节点八卦的内(nèi)容不仅包括新(xīn)交易,也包括节点间的八卦(guà)历史记录(lù),每个(gè)节点可以(yǐ)通(tōng)过八卦(guà)来维护一个哈希图(tú)。节点会计算其他节(jiē)点在特定的(de)哈希图中如(rú)何投票,无需(xū)进(jìn)行真(zhēn)实投票,可以免去大量的(de)通信。
 
大(dà)体(tǐ)来说,每个节点把自己知道的(de)信息随机八卦给其他节(jiē)点(diǎn),每个(gè)节点(diǎn)也(yě)接收其他(tā)节点(diǎn)的八卦信息。接收到的信(xìn)息之后(hòu),创建新(xīn)的(de)事件(jiàn),事件会指向自己的最后一个事件以及信息来源节点的最后一个事(shì)件。接(jiē)下来对所有已(yǐ)知事件计(jì)算其(qí)创建的轮次(cì),确定(dìng)其(qí)是否为(wéi)该轮次内的见证人事(shì)件,然后对所有见证(zhèng)人(rén)事(shì)件进行选举(jǔ)投票,计算出(chū)知(zhī)名见(jiàn)证人。通过知名见证人,可以确(què)定所有(yǒu)事(shì)件的接受轮(lún)次,同时通过接受轮次和共识的(de)时间戳,进(jìn)行虚拟投票。通(tōng)过虚拟投票决定共识顺序。
 
哈希图(tú)(hashgraph)的投票(piào)算法称之为(wéi)“虚拟投票”,该(gāi)虚(xū)拟(nǐ)投票不要求发送(sòng)额外(wài)信息,可虚(xū)拟(nǐ)计算出投(tóu)票(piào)。从(cóng)理论来看,哈希图(tú)的吞吐量较大(dà),它(tā)主要的限制来自带宽。如带宽良好,哈希图系统理论上可以处理非常大的吞吐量。
 
在哈希图(hashgraph)看来,如有快速(sù)的家庭(tíng)互联网(wǎng)连接,它有机会达到VISA网络级别的(de)全球交易性能。Hedera Hashgraph曾使用亚马逊AWS的m4.4xlarge做过实例测试,测(cè)试(shì)其吞吐量(liàng)(每秒100字节的交(jiāo)易)的情况,分(fèn)别使用了1个、2个以及8个地(dì)区的计算(suàn)机节点。在测试(shì)中,根(gēn)据不同的(de)情况(kuàng),tps从不到50,000到(dào)最高500,000左(zuǒ)右。而达(dá)成(chéng)最终(zhōng)状态的时间一般在11秒之内(nèi),最快的时间可(kě)达(dá)到0.04秒(当然,在实(shí)际运行中不太(tài)可能)。
 
这里涉及(jí)到(dào)了吞吐量、延迟、节点数和地(dì)理(lǐ)分布的(de)权(quán)衡。对于分(fèn)布在全球8个地(dì)区的32台计算(suàn)机,如(rú)要达到(dào)50,000tps,其达成最终性共识需要(yào)3秒。如果延迟控制在7秒以内(一(yī)般信用卡所要求的),且(qiě)要达成(chéng)200,000的tps,那(nà)么,使用分布(bù)在(zài)8个(gè)地区的32台计算机,或分布在2个地区64台计(jì)算机(jī),1个地区的128台计算机,都能到这一要(yào)求。最终的吞吐量不仅取决于分布式共识算(suàn)法,也(yě)取决于网速(sù)、节点数等。
 
同时还要看到(dào),这(zhè)里主(zhǔ)要是(shì)从交易共(gòng)识和时间(jiān)戳来(lái)看,还(hái)没有包括(kuò)处理交易的事件。如(rú)果每个交易需要数字签名,这也需(xū)要算力来验证每秒(miǎo)数十万的数字(zì)签(qiān)名。此外(wài),如果交易要“存储千兆字节”文(wén)件,那么(me),这时候因为带宽限(xiàn)制,也会极(jí)大的降低系(xì)统的速度。
 
总之(zhī),考虑(lǜ)到实际(jì)运行的(de)环境(jìng),真实的tps会有所下降,但相对于区(qū)块链tps不(bú)到100的情况,哈希图有机会达到几万,甚至数十万(wàn)的tps,算是质的突破(pò)。
 
Hedera Hashgraph为了实现(xiàn)更好(hǎo)的(de)性能,还采(cǎi)用了分片技术。分片技术会随着Hedera Hashgraph网络的(de)增长而(ér)变得必要(yào)。分片可以实现(xiàn)不用每个节点处理每个交易。共(gòng)识的达成(chéng)可以(yǐ)并行处理。就(jiù)像(xiàng)是收费站不(bú)再只有一(yī)个收费(fèi)通道,而有多个收(shōu)费通道。
 
分片之间相互信任,它允许多分片账本作为(wéi)一(yī)个(gè)整体实现(xiàn)异步的拜占庭(tíng)容错,可以防止双重(chóng)支付或(huò)其他非法(fǎ)状态。每个分片都(dōu)具有(yǒu)这些(xiē)属性,且它们(men)之间的消息包含了各(gè)自分片(piàn)的共识证明。节点会被随机分组到(dào)不同分片(piàn)。交易会以(yǐ)正常方(fāng)式在个体分片中以共识(shí)顺序放置。分片中(zhōng)的所有节点仅对(duì)源于该分片(piàn)的交易(yì)共识有(yǒu)贡献。分片之(zhī)间的通(tōng)信通(tōng)过不同分片成员之间(jiān)的消(xiāo)息交(jiāo)换(huàn)实现。消(xiāo)息是通过推送来交换。每个分片都会(huì)记住从其他每(měi)个分(fèn)片处理的最后一条(tiáo)消息的(de)序列号(hào)。

米兰平台-米兰MILAN(中国)
版权申明:本内(nèi)容(róng)来自于互联网,属第三方汇集推荐(jiàn)平台。本文的版权归(guī)原作者所有,文章言论不代表链(liàn)门户的观点(diǎn),链门户(hù)不承担(dān)任何法律责(zé)任。如有(yǒu)侵权请联(lián)系QQ:3341927519进行反馈。
相关新闻
发表评论(lùn)

请先(xiān) 注册/登录 后参与评论

    回顶部

    米兰平台-米兰MILAN(中国)

    米兰平台-米兰MILAN(中国)