自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

區(qū)塊鏈核心算法之共識機制

區(qū)塊鏈 算法
區(qū)塊鏈系統(tǒng)的核心是有系統(tǒng)中節(jié)點競爭記賬,這個競爭的過程稱為共識機制,區(qū)塊鏈的底層有四部分構(gòu)成,一個分布式的數(shù)據(jù)庫用來存儲以往和將來的交易數(shù)據(jù),密碼學(xué)的公私密鑰體系用來確認(rèn)交易雙方的身份,P2P網(wǎng)絡(luò)用來廣播和蔓延各類消息和 用來決定節(jié)點記賬權(quán)利的共識機制。

共識機制在區(qū)塊鏈系統(tǒng)中起到?jīng)Q定誰負(fù)責(zé)生成新區(qū)塊的作用。

一、什么是共識?

在理解共識的概念之前,先簡單粗爆地假設(shè)——咱們村有100人,現(xiàn)在要投票選舉誰當(dāng)村長,如果100人都親自到場投出自己的一票,那參與度是100%;如果這100人選出了10個代表去投票,參與度則只有10%。這兩種投票,哪一種投票更能代表民意呢?毫無疑問是前者,因為參與度更高;相反,后者選出了10位代表去投票,參與度低,難免以偏蓋全。通過這個假設(shè),我們可以對什么是參與度有一個簡單粗暴的理解。

共識(Consensus)是一切交易的基礎(chǔ),達(dá)成共識越分散(參與度越高),其效率就越低,但滿意度越高,因此也越穩(wěn)定;相反,達(dá)成共識越集中(參與度越低),效率越高,也越容易出現(xiàn)獨裁和腐敗現(xiàn)象。

區(qū)塊鏈技術(shù)的偉大之處在于去中心化和去信任(或降低信用成本),如何在一個完全陌生的網(wǎng)絡(luò)環(huán)境里,通過代碼撮合交易?言外之意,這些代碼究竟發(fā)揮了何種神奇的魔力,讓買賣雙方產(chǎn)生信任呢?

答案就是共識機制。

共識機制

區(qū)塊鏈系統(tǒng)的核心是有系統(tǒng)中節(jié)點競爭記賬,這個競爭的過程稱為共識機制,區(qū)塊鏈的底層有四部分構(gòu)成,一個分布式的數(shù)據(jù)庫用來存儲以往和將來的交易數(shù)據(jù),密碼學(xué)的公私密鑰體系用來確認(rèn)交易雙方的身份,P2P網(wǎng)絡(luò)用來廣播和蔓延各類消息(如節(jié)點加入消息,節(jié)點失效消息,得到挖礦數(shù)據(jù)的消息)和 用來決定節(jié)點記賬權(quán)利的共識機制。

共識機制在區(qū)塊鏈中扮演著核心的地位,共識機制決定了誰有記賬的權(quán)利,以及記賬權(quán)利的選擇過程和理由。不用的虛擬貨幣采用共識機制不同,常見的共識機制如POW,POS,DPOS 拜占庭容錯等?,F(xiàn)梳理如下:

目前區(qū)塊鏈的共識機制大致可以分為PoW(工作量證明)、PoS(權(quán)益證明)、DPoS(股份授權(quán)證明)以及分布式一致性算法幾類。

(一):工作量證明PoW

POW(Proof of Work),即工作量證明機制。整個系統(tǒng)中每個節(jié)點為整個系統(tǒng)提供計算能力(簡稱算力),通過一個競爭機制,讓計算工作完成最出色的節(jié)點獲得系統(tǒng)的獎勵,也就是完成新生成貨幣的分配。區(qū)塊鏈?zhǔn)且粋€持續(xù)增長的順序塊組成的,每個塊包含了頭文件和一系列的交易信TXi,其中頭文件中保護了timestamp Ti ,上一個塊的索引Hi-1,和nounce Ni-1,區(qū)塊鏈?zhǔn)敲艽a上的安全,對于每一輪只要找到相應(yīng)的HASG的碰撞就算成功,HASG的碰撞的意思可以了解為hash值的前多少位相同,我們知道何難找到兩個hash一模一樣的文件,但是我們可以找到前幾位相同的,我們將一個完整的挖礦過程整理如下:

其中Di是難度系數(shù),可以認(rèn)為是前多少位的碰撞。挖礦的過程就是在不停的嘗試找Ni的過程。下面我們給出一個模擬挖礦的例子。測試環(huán)境說明:

運行如下腳本:

對結(jié)果進(jìn)行排序,找到前9位對撞成功的n的值.

實驗結(jié)果如下:

雖然只是模擬實驗,但是完整的反映了POW的運作原理。

(二):權(quán)益證明PoS

POS(Proof of Stake)即股權(quán)證明。顧名思義,指的是直接根據(jù)所持有的份額來達(dá)成共識機制。其目的在于讓鏈上所謂的“股權(quán)持有者”來代替POW里的礦工,這本質(zhì)上的共識過程是以“股權(quán)所有”代替“挖礦”過程。

在PoW機制中,由于想要找到符合條件的 nonce.nonce往往需要花費大量的電力和時間成本,因此,為了使每個Block更快被生成,PoS機制去掉了窮舉 noncenonce這一過程,繼而采用以下更快速的算法:

SHA256(SHA256(Bprev),A,t)≤balance(A)m

H 某個哈希函數(shù)

t 為 UTC 時間戳

Bprev指的是上一個區(qū)塊

balance(A)代表賬戶A的賬戶的余額

唯一可以不斷調(diào)整的參數(shù)是t,等式右邊m是某個固定的實數(shù),因此,當(dāng)balance(A)越大,找到合理t的概率越大,網(wǎng)絡(luò)中,普遍對于t的范圍有所限制,如可以嘗試的時間戳不能超過標(biāo)準(zhǔn)時間戳1小時,也就說,一個節(jié)點可以嘗試 7200次,來找到一個符合條件的t,如果找不到即可放棄。因此,在PoS中,一個賬戶的余額越多,在同等算力下,就越容易發(fā)現(xiàn)下一個區(qū)塊。

但是它和POW機制一樣解決問題的思想也導(dǎo)致了它與POW擁有一樣的缺點,也是犧牲了一部分的共識(同樣分叉),而且需要等待多個確認(rèn)。

優(yōu)點:對節(jié)點性能要求低,達(dá)成共識時間短(網(wǎng)絡(luò)環(huán)境好的話可實現(xiàn)毫秒級);

缺點:沒有最終一致性

PoW與PoS流程對比圖:

(三):股份授權(quán)證明DPos:

是基于POS衍生出的更專業(yè)的解決方案,股份授權(quán)證明類似于董事會投票,假設(shè)某個區(qū)塊鏈系統(tǒng)的世界里有10萬人,現(xiàn)在這10萬人投票選出了4位股東作為代表來行駛記賬權(quán),這4位董事分別是A、B、C、D,在記賬過程中,按順序每位董事有兩秒鐘的時間來記賬,如果在規(guī)定的時間內(nèi)記賬失敗,則直接把權(quán)限交給下一位董事,這樣原本10萬人參與記賬競爭的游戲,現(xiàn)在變成了4人。

這樣做的優(yōu)點是大幅縮減了參與驗證和記賬的數(shù)量,形成共識幾乎可以達(dá)到秒級,缺點是固定數(shù)量的董事作為記賬候選人,與去中心化的理念相違背,董事數(shù)量太少,參與度太低,也缺乏一定的代表性。

對比這三種最常用的共識算法,不難發(fā)現(xiàn)各有利弊,它們的誕生都圍繞著一個核心——如何更加公平、公正、透明、輕量(不過多消耗資源)、高效(更快)地達(dá)成共識,挑選出記賬的人(節(jié)點)。

PoS與DPoS對比圖:

結(jié)論:

PoW采用簡單粗暴但極為有效的方式,通過節(jié)點首先自證其資質(zhì)后才進(jìn)行廣播的方式,大幅度減少了網(wǎng)絡(luò)間的通訊壓力,但與之帶來的問題則在于自證資質(zhì)的計算資源消耗極大。

PoS采用與傳統(tǒng)分布式一致性驗證類似的機制,通過代幣數(shù)量(或存儲容量等指標(biāo))作為權(quán)重依據(jù),使用某種分布式算法選舉出每次的檢查點節(jié)點。這種機制的好處在于沒有消耗計算資源的自證資質(zhì)過程,但是帶來的問題在于每次選舉時在大量節(jié)點的網(wǎng)絡(luò)中對網(wǎng)絡(luò)壓力極大。

DPoS作為PoS的變形,通過縮小選舉節(jié)點的數(shù)量以減少網(wǎng)絡(luò)壓力,是一種典型的分治策略:將所有節(jié)點分為***與跟隨者,只有***之間達(dá)成共識后才會通知跟隨者。該機制能夠在不增加計算資源的前提下有效減少網(wǎng)絡(luò)壓力,在優(yōu)秀的軟件實現(xiàn)中將會具有較強的應(yīng)用價值。

在區(qū)塊鏈的共識機制中,其本質(zhì)與分布式數(shù)據(jù)庫的一致性算法存在極多的相似之處。拜占庭問題的引入僅僅從算法和選舉節(jié)點數(shù)量上對網(wǎng)絡(luò)結(jié)構(gòu)做出一些調(diào)整,但是并不從本質(zhì)上改變分布式系統(tǒng)一致性選舉的機制。 

責(zé)任編輯:龐桂玉 來源: 快資訊
相關(guān)推薦

2018-08-06 09:40:22

2020-11-10 17:10:44

區(qū)塊鏈共識算法

2022-10-13 08:32:26

區(qū)塊鏈共識機制

2018-02-09 11:08:49

區(qū)塊鏈算法主流

2021-12-13 16:12:50

區(qū)塊鏈比特幣技術(shù)

2022-04-26 13:41:16

區(qū)塊鏈比特幣數(shù)據(jù)庫

2019-05-28 15:20:17

2024-03-28 12:20:17

2021-02-10 16:53:56

區(qū)塊鏈加密貨幣數(shù)字貨幣

2021-07-17 21:49:15

區(qū)塊鏈加密貨幣賬本

2018-05-03 20:55:47

區(qū)塊鏈分布式數(shù)據(jù)庫

2020-01-22 16:50:32

區(qū)塊鏈技術(shù)智能

2022-04-11 13:34:07

區(qū)塊鏈比特幣安全

2012-05-17 09:58:53

rsync

2019-12-10 10:00:09

區(qū)塊鏈哈希加密算法

2018-11-26 09:00:14

2018-09-17 14:30:40

2018-03-13 15:37:21

2018-05-23 16:00:10

2017-05-26 08:53:27

數(shù)據(jù)挖掘算法
點贊
收藏

51CTO技術(shù)棧公眾號