文章作者:Cookies Research
區(qū)塊鏈的共識(shí)機(jī)制負(fù)責(zé)驗(yàn)證交易的有效性,并將它們按準(zhǔn)確的順序添加到區(qū)塊鏈中。根據(jù)選擇的共識(shí)機(jī)制,驗(yàn)證和排序過(guò)程的效率不同,從而導(dǎo)致不同水平的吞吐量。在區(qū)塊鏈領(lǐng)域,Solana是一條高性能鏈,具有400毫秒的區(qū)塊時(shí)間,每秒交易數(shù)(TPS)平均在2,000到3,000之間,理論上的峰值TPS為65,000(供參考,以太坊的TPS大約為12)。
本文旨在突出Solana中發(fā)揮關(guān)鍵作用、有助于其高吞吐量的兩個(gè)架構(gòu),即其委托權(quán)益證明(DPoS)共識(shí)機(jī)制和歷史證明(PoH)機(jī)制。
1. 傳統(tǒng)共識(shí)機(jī)制
讓我們從了解區(qū)塊鏈的一個(gè)關(guān)鍵瓶頸開始:可拓展性。
分布式區(qū)塊鏈網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都有自己的內(nèi)部時(shí)鐘,它按照這個(gè)本地系統(tǒng)時(shí)鐘運(yùn)行。當(dāng)發(fā)生交易時(shí),節(jié)點(diǎn)將根據(jù)這個(gè)本地系統(tǒng)時(shí)鐘為交易添加時(shí)間戳。
下面圖片是展示節(jié)點(diǎn)內(nèi)部的時(shí)鐘:
最終確認(rèn)或拒絕交易的時(shí)間戳也將根據(jù)這個(gè)本地系統(tǒng)區(qū)塊進(jìn)行。在傳統(tǒng)的共識(shí)機(jī)制(例如工作量證明PoW和權(quán)益證明PoS)中,所有的節(jié)點(diǎn)需要相互溝通,以協(xié)調(diào)彼此的本地時(shí)鐘,以確保它們?cè)谔幚斫灰讜r(shí)對(duì)時(shí)間的理解是一致的。節(jié)點(diǎn)之間的通信有助于建立一個(gè)共同的時(shí)間基準(zhǔn),以確保整個(gè)網(wǎng)絡(luò)對(duì)時(shí)間的認(rèn)知是一致的,從而協(xié)調(diào)交易的順序和確認(rèn)。
對(duì)于一個(gè)分布式區(qū)塊鏈,有成千上萬(wàn)個(gè)節(jié)點(diǎn)分布在全球各地,節(jié)點(diǎn)之間的本地系統(tǒng)時(shí)鐘存在差異是不可避免的,導(dǎo)致交易的時(shí)間戳在不同節(jié)點(diǎn)之間不一致。當(dāng)節(jié)點(diǎn)需要就發(fā)生了哪些交易以及這些交易在區(qū)塊中的順序達(dá)成共識(shí)時(shí),這就成為一個(gè)問(wèn)題。這被稱為時(shí)間戳同步問(wèn)題,當(dāng)網(wǎng)絡(luò)通過(guò)增加節(jié)點(diǎn)數(shù)量來(lái)增強(qiáng)去中心化時(shí),這個(gè)問(wèn)題會(huì)變得更加嚴(yán)重和復(fù)雜。
最終,這為惡意攻擊創(chuàng)造了一條可能的路徑。時(shí)間上的差異使惡意行為者能夠廣播類似于真實(shí)時(shí)間戳的虛假交易,試圖掌控網(wǎng)絡(luò)。為防止對(duì)交易的操縱,需要花費(fèi)大量的時(shí)間和處理能力來(lái)驗(yàn)證時(shí)間戳的準(zhǔn)確性。這有可能導(dǎo)致區(qū)塊確認(rèn)的延遲,甚至區(qū)塊被拒絕(因?yàn)楣?jié)點(diǎn)可能投票認(rèn)為區(qū)塊無(wú)效,原因是具有不同的時(shí)間戳)。
2. 什么是歷史證明(PoH)
歷史證明(PoH)在Solana中用于證明交易被正確地按順序排列,而這可以由網(wǎng)絡(luò)中的驗(yàn)證者輕松驗(yàn)證。
與第一節(jié)提到的節(jié)點(diǎn)各自擁有其獨(dú)立時(shí)鐘的情況相反,PoH可以被視為一個(gè)全局塊,所有節(jié)點(diǎn)都使用它來(lái)驗(yàn)證兩個(gè)事件之間時(shí)間的流逝。通過(guò)這個(gè)全局時(shí)鐘,節(jié)點(diǎn)查看相同的交易歷史記錄,摒棄了對(duì)交易順序可能存在的任何分歧。這使得共識(shí)可以迅速達(dá)成,極大地縮短了交易被驗(yàn)證并添加到區(qū)塊鏈的時(shí)間。
PoH依賴于一種加密方法,以創(chuàng)建交易的連續(xù)、按時(shí)間順序的記錄。讓我們深入了解一下。
3. 對(duì) PoH 的技術(shù)深入探討
每個(gè)交易都經(jīng)過(guò) SHA-256 處理,這是一種以其能夠接受任何輸入并生成唯一、不可預(yù)測(cè)輸出而聞名的加密哈希函數(shù)。當(dāng)一個(gè)交易被哈希時(shí),其輸出成為下一個(gè)交易哈希的輸入。這個(gè)過(guò)程在哈希輸出中建立了交易的內(nèi)置順序,形成了一個(gè)長(zhǎng)而連續(xù)的鏈。
PoH(歷史證明)利用了可驗(yàn)證延遲函數(shù)(VDF),它在區(qū)塊鏈中驗(yàn)證時(shí)間流逝的重要性。VDF是計(jì)算密集型的函數(shù),不僅依賴于先前的哈希,還包含經(jīng)過(guò)的時(shí)間。這個(gè)機(jī)制允許Solana以加密的方式展示真實(shí)時(shí)間已經(jīng)過(guò)去,生成連續(xù)的輸出。因此,存在清晰、可驗(yàn)證的交易順序,確保了一致的事件時(shí)間軸。驗(yàn)證者因此可以輕松驗(yàn)證經(jīng)過(guò)的時(shí)間有多長(zhǎng),進(jìn)一步增強(qiáng)了網(wǎng)絡(luò)的可信度。
在Solana中使用 PoH(歷史證明)添加了一個(gè)強(qiáng)大的安全和完整性層。篡改哈希鏈的任何部分都會(huì)需要重新計(jì)算所有后續(xù)的哈希,這是一項(xiàng)努力密集型的工作,可保護(hù)網(wǎng)絡(luò)免受更改的影響。
PoH(歷史證明)顯著減少了驗(yàn)證者每個(gè)區(qū)塊需要處理的信息量。通過(guò)使用交易最新狀態(tài)的哈希版本,區(qū)塊確認(rèn)時(shí)間被大幅縮短。當(dāng)驗(yàn)證者(或復(fù)制節(jié)點(diǎn))收到一個(gè)區(qū)塊時(shí),PoH(歷史證明)序列為它們提供了一個(gè)具有加密可靠的交易順序,他們可以在無(wú)需重新驗(yàn)證的情況下信任。這種效率對(duì)于加快共識(shí)機(jī)制至關(guān)重要,因?yàn)榫W(wǎng)絡(luò)可以迅速選擇并轉(zhuǎn)移到下一個(gè)驗(yàn)證者進(jìn)行區(qū)塊驗(yàn)證。
4. 委托權(quán)益證明(DPoS)
在更好地了解 PoH 的基礎(chǔ)上,本節(jié)將解釋 PoH 如何在 Solana 的共識(shí)機(jī)制中(DPoS)得到應(yīng)用。
在 DPoS 中,每個(gè)抵押了 $SOL 的驗(yàn)證者都能夠參與網(wǎng)絡(luò)治理——對(duì)區(qū)塊的有效性進(jìn)行投票,決定是否將其添加到區(qū)塊鏈中。不愿直接參與權(quán)益證明過(guò)程的 $SOL 持有者(包括您和我)可以將其代幣委托給其他驗(yàn)證者,從而有效地使它們成為委托人。這個(gè)委托過(guò)程將委托人的投票權(quán)(與他們擁有的 $SOL 數(shù)量成比例)分配給這些驗(yàn)證者。作為抵押 $SOL 的回報(bào),委托人將獲得區(qū)塊獎(jiǎng)勵(lì)的一部分。
DPoS系統(tǒng)的運(yùn)作原則是,具有較大權(quán)益的節(jié)點(diǎn)更有可能被選擇來(lái)驗(yàn)證交易并將其添加到區(qū)塊鏈中,獲得區(qū)塊獎(jiǎng)勵(lì)的機(jī)會(huì)鼓勵(lì)節(jié)點(diǎn)保持高水平的性能和完整性。
在了解了DPoS和PoH兩者之后,讓我們將這些知識(shí)結(jié)合起來(lái),概述一下在Solana上典型的區(qū)塊確認(rèn)是什么樣的。
5. Solana 共識(shí)機(jī)制的高層概述
1. 領(lǐng)導(dǎo)節(jié)點(diǎn)的選擇:領(lǐng)導(dǎo)節(jié)點(diǎn)負(fù)責(zé)生成 PoH 序列(歷史證明排序交易)和創(chuàng)建區(qū)塊。
這個(gè)選擇過(guò)程是基于節(jié)點(diǎn)的權(quán)益權(quán)重的,這個(gè)權(quán)重通過(guò)代幣持有人委托給它們而增加。領(lǐng)導(dǎo)角色將在驗(yàn)證者之間輪換。
2. 為交易添加時(shí)間戳:領(lǐng)導(dǎo)節(jié)點(diǎn)將接收交易,并使用 PoH 為它們添加時(shí)間戳,形成交易順序。
3. 區(qū)塊創(chuàng)建:通過(guò)來(lái)自 PoH 的序列,領(lǐng)導(dǎo)節(jié)點(diǎn)隨后開始創(chuàng)建一個(gè)區(qū)塊。
4. 區(qū)塊傳播:新創(chuàng)建的區(qū)塊將被發(fā)送到復(fù)制節(jié)點(diǎn)(分布式網(wǎng)絡(luò)中的其他驗(yàn)證者)。
5. 交易有效性驗(yàn)證,復(fù)制節(jié)點(diǎn)將驗(yàn)證以下兩個(gè)組成部分:
a. 交易順序:使用 PoH 序列驗(yàn)證交易是否按正確順序排列。由于它是一個(gè)全局時(shí)鐘,這種驗(yàn)證不需要節(jié)點(diǎn)之間的往返通信(與常見的共識(shí)機(jī)制如 PoW 和 PoS 不同)。
b. 交易有效性:檢查交易是否符合網(wǎng)絡(luò)規(guī)則并且有效。
6. 區(qū)塊最終化:在驗(yàn)證了交易順序和有效性之后,該區(qū)塊將被添加到區(qū)塊鏈中。然后將選擇下一個(gè)領(lǐng)導(dǎo)節(jié)點(diǎn),并且整個(gè)過(guò)程重新開始。
結(jié)論
Solana一直不懈努力改進(jìn)其區(qū)塊鏈架構(gòu),最近的發(fā)展包括QUIC、權(quán)益加權(quán)的QoS和本地化費(fèi)用市場(chǎng)。此外,生態(tài)系統(tǒng)期待著通過(guò)Firedancer的推出顯著提高其效率。值得關(guān)注的是,Solana獨(dú)特的架構(gòu)——OPOS(僅限Solana)可能會(huì)帶來(lái)新的用例。