- 零基礎(chǔ)玩轉(zhuǎn)區(qū)塊鏈
- 石勝彪
- 2073字
- 2021-02-07 11:04:13
◇區(qū)塊鏈的共識(shí)機(jī)制
共識(shí)機(jī)制是一種區(qū)塊鏈治理體系,是結(jié)合經(jīng)濟(jì)學(xué)、博弈論等多學(xué)科設(shè)計(jì)出來的一套方法,可以保證區(qū)塊鏈中各節(jié)點(diǎn)都能積極維護(hù)區(qū)塊鏈系統(tǒng)。該機(jī)制首先由“中本聰”在《比特幣白皮書》中提出,之后逐漸發(fā)展成為一種維護(hù)分布式賬本多中心化的重要機(jī)制,是保持區(qū)塊鏈安全穩(wěn)定運(yùn)行的核心。
按照百度百科上的說法,所謂“共識(shí)機(jī)制”,就是通過特殊節(jié)點(diǎn)的投票,在短時(shí)間內(nèi)完成對交易的驗(yàn)證和確認(rèn),對同一筆交易,如果利益不相干的若干個(gè)節(jié)點(diǎn)能夠達(dá)成共識(shí),就可以認(rèn)為全網(wǎng)對此也能達(dá)成共識(shí)。
1.共識(shí)機(jī)制遵循的原則
共識(shí)機(jī)制主要遵循的哲學(xué)原則有兩個(gè):“少數(shù)服從多數(shù)”和“人人平等”。通過一定規(guī)則,就能使系統(tǒng)中各參與者快速就系統(tǒng)中記錄的數(shù)據(jù)達(dá)成一致。
(1)少數(shù)服從多數(shù)。不僅局限于競爭節(jié)點(diǎn)數(shù)量,系統(tǒng)中的各個(gè)節(jié)點(diǎn)也可通過競爭計(jì)算能力、權(quán)益憑證數(shù)量或其他可競爭參數(shù)等取得其他節(jié)點(diǎn)的支持。
(2)人人平等。意味著網(wǎng)絡(luò)中記賬節(jié)點(diǎn)的地位是平等的,所有節(jié)點(diǎn)都有機(jī)會(huì)優(yōu)先獲得提請寫入數(shù)據(jù)的權(quán)利。
2.區(qū)塊鏈的共識(shí)機(jī)制
區(qū)塊鏈系統(tǒng)中沒有像銀行一樣的中心化機(jī)構(gòu),進(jìn)行傳輸信息、價(jià)值轉(zhuǎn)移時(shí),共識(shí)機(jī)制能夠解決并保證每一筆交易在所有記賬節(jié)點(diǎn)上的一致性和正確性問題。借助這種共識(shí)機(jī)制,區(qū)塊鏈就能在不依靠中心化組織的情況下,大規(guī)模高效地完成運(yùn)轉(zhuǎn)。
在區(qū)塊鏈網(wǎng)絡(luò)中,應(yīng)用場景不同,采用的共識(shí)算法也不同。目前,區(qū)塊鏈的共識(shí)機(jī)制主要有四類:工作量證明機(jī)制、權(quán)益證明機(jī)制、委托權(quán)益證明機(jī)制和驗(yàn)證池共識(shí)機(jī)制。
(1)工作量證明機(jī)制(POW)。工作量證明可以簡單理解為一份證明,證明你做過一定量的工作。仔細(xì)查看工作結(jié)果,就能知道你已經(jīng)完成了指定量的工作。區(qū)塊鏈共識(shí)算法使用最多的就是工作量證明,比特幣和以太坊都是基于POW的共識(shí)機(jī)制。例如,比特幣在區(qū)塊的生成過程中使用的就是POW機(jī)制,簡單理解就是大家共同爭奪記賬權(quán)利,誰先搶到并正確完成記賬工作,誰就能得到系統(tǒng)的獎(jiǎng)勵(lì),獎(jiǎng)勵(lì)為比特幣,也就是所謂的“挖礦”。礦工(參與挖礦的人)通過計(jì)算機(jī)的算力去完成記賬工作,擁有計(jì)算能力的專業(yè)計(jì)算機(jī)就是所謂的“礦機(jī)”。
優(yōu)點(diǎn):①完全“去中心化”,節(jié)點(diǎn)自由進(jìn)出,減少了建立和維護(hù)中心化信用機(jī)構(gòu)的成本。②只要網(wǎng)絡(luò)破壞者的算力不超過全網(wǎng)總算力的50%,網(wǎng)絡(luò)的交易狀態(tài)就能達(dá)成一致,歷史記錄也無法篡改。③投入算力越多,獲得的記賬權(quán)概率也就越大,越有可能產(chǎn)生新的區(qū)塊獎(jiǎng)勵(lì)。
缺點(diǎn):①目前,比特幣挖礦會(huì)造成大量的算力和能源浪費(fèi)。②挖礦的激勵(lì)機(jī)制會(huì)造成挖礦算力的高度集中。③結(jié)算周期長,每秒最多結(jié)算7筆交易,不適合商業(yè)應(yīng)用。
(2)權(quán)益證明機(jī)制(POS)。權(quán)益證明主要是通過持有Token(代幣)的數(shù)量和時(shí)長來決定你獲得記賬的概率,類似于股票的分紅制度,持有股權(quán)越多,越能獲得更多的分紅。Token相當(dāng)于區(qū)塊鏈系統(tǒng)的權(quán)益,目前很多數(shù)字資產(chǎn)用POS發(fā)行新幣。
優(yōu)點(diǎn):①降低了POW機(jī)制的資源浪費(fèi)。②加快了運(yùn)算速度,是工作量證明的升級版。
缺點(diǎn):節(jié)點(diǎn)擁有幣齡越長,獲得記賬權(quán)的概率越大,會(huì)引發(fā)“馬太效應(yīng)”,富者越富,權(quán)益就會(huì)越來越集中,從而失去公正性。
(3)委托權(quán)益證明機(jī)制(DPOS)。所謂委托權(quán)益證明是基于POS衍生出的更專業(yè)的解決方案,指的是,擁有Token的人給固定的節(jié)點(diǎn)投票,選舉若干代理人,由代理人負(fù)責(zé)驗(yàn)證和記賬。為了激勵(lì)更多人參與競選,系統(tǒng)會(huì)生成少量代幣作為獎(jiǎng)勵(lì)。
優(yōu)點(diǎn):DPOS能夠極大地提高區(qū)塊鏈處理數(shù)據(jù)的能力,甚至可以實(shí)現(xiàn)秒到賬,還能大幅降低維護(hù)區(qū)塊鏈網(wǎng)絡(luò)安全的費(fèi)用。
缺點(diǎn):“去中心化”程度較弱,代理節(jié)點(diǎn)由人為選出,公平性相對較低,由代幣的增發(fā)來維持代理節(jié)點(diǎn)的穩(wěn)定性。
(4)驗(yàn)證池共識(shí)機(jī)制。目前,驗(yàn)證池共識(shí)機(jī)制行業(yè)鏈大范圍在使用的共識(shí)機(jī)制。
優(yōu)點(diǎn):不用依賴代幣,也可以實(shí)現(xiàn)秒級共識(shí)驗(yàn)證。
缺點(diǎn):“去中心化”程度弱,更適合多方參與的多中心商業(yè)模式。
3.共識(shí)機(jī)制的評價(jià)標(biāo)準(zhǔn)
區(qū)塊鏈上采用不同的共識(shí)機(jī)制,會(huì)對系統(tǒng)整體性能產(chǎn)生不同影響。綜合考慮各共識(shí)機(jī)制的特點(diǎn),我們可以從以下四個(gè)維度來綜合評價(jià)各共識(shí)機(jī)制的技術(shù)水平:
(1)擴(kuò)展性。好的共識(shí)機(jī)制,能夠支持網(wǎng)絡(luò)節(jié)點(diǎn)擴(kuò)展。擴(kuò)展性是區(qū)塊鏈設(shè)計(jì)要考慮的關(guān)鍵因素之一,根據(jù)對象不同,擴(kuò)展性又可以分為系統(tǒng)成員數(shù)量的增加和待確認(rèn)交易數(shù)量的增加。擴(kuò)展性主要考慮的是,當(dāng)系統(tǒng)成員數(shù)量、待確認(rèn)交易數(shù)量增加時(shí),系統(tǒng)負(fù)載和網(wǎng)絡(luò)通信量的變化,通常以網(wǎng)絡(luò)吞吐量來衡量。
(2)資源消耗。所謂資源消耗,就是在達(dá)成共識(shí)的過程中,系統(tǒng)所要耗費(fèi)的計(jì)算資源大小,包括CPU、內(nèi)存等。區(qū)塊鏈上的共識(shí)機(jī)制,可以借助計(jì)算資源或網(wǎng)絡(luò)通信資源達(dá)成共識(shí)。以比特幣系統(tǒng)為例,基于工作量證明機(jī)制的共識(shí),需要耗費(fèi)大量的計(jì)算資源進(jìn)行挖礦,提供信任證明,完成共識(shí)。
(3)安全性。好的共識(shí)機(jī)制,不僅可以防止二次支付、自私挖礦等攻擊,還擁有良好的容錯(cuò)能力。以金融交易為驅(qū)動(dòng)的區(qū)塊鏈系統(tǒng),在實(shí)現(xiàn)一致性的過程中,最主要的安全問題就是如何防止和檢測二次支付行為。自私挖礦采用適當(dāng)?shù)牟呗园l(fā)布自己產(chǎn)生的區(qū)塊,就能獲得更高的收益。
(4)性能效率。不同于傳統(tǒng)的第三方支持的交易平臺(tái),區(qū)塊鏈技術(shù)是通過共識(shí)機(jī)制達(dá)成一致的。比特幣系統(tǒng)每秒最多只能處理7筆交易,無法支持現(xiàn)有的業(yè)務(wù)量。
- FuelPHP Application Development Blueprints
- 深入淺出Electron:原理、工程與實(shí)踐
- 碼上行動(dòng):零基礎(chǔ)學(xué)會(huì)Python編程(ChatGPT版)
- Production Ready OpenStack:Recipes for Successful Environments
- C程序設(shè)計(jì)案例教程
- Python編程與幾何圖形
- HTML 5與CSS 3權(quán)威指南(第3版·上冊)
- 好好學(xué)Java:從零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)
- Mastering Git
- HTML5開發(fā)精要與實(shí)例詳解
- Unity Character Animation with Mecanim
- 超簡單:Photoshop+JavaScript+Python智能修圖與圖像自動(dòng)化處理
- 物聯(lián)網(wǎng)系統(tǒng)架構(gòu)設(shè)計(jì)與邊緣計(jì)算(原書第2版)
- WordPress Search Engine Optimization(Second Edition)
- Hands-On Dependency Injection in Go