解讀Sei新白皮書(shū):Giga升級(jí)引入哪些技術(shù)創(chuàng)新?
作者:Pavel Paramonov, Hazeflow 創(chuàng)始人
編譯:Felix, PANews
Sei發(fā)布了新白皮書(shū),其中介紹了最新的 Giga 升級(jí)。大多數(shù)讀者覺(jué)得 17 頁(yè)的深度技術(shù)內(nèi)容難以閱讀。因此,本文將解釋此次更新的內(nèi)容以及如何在不同層面提升區(qū)塊鏈性能。
1. 關(guān)于異步執(zhí)行的區(qū)塊生成
Giga 的主要思想和基礎(chǔ)如下:
“如果我們的交易列表有序以及區(qū)塊鏈的初始狀態(tài)一致,并且所有誠(chéng)實(shí)的節(jié)點(diǎn)都按照相同的順序處理這些交易,那么節(jié)點(diǎn)們將會(huì)達(dá)到相同的最終狀態(tài)。”
在這種情況下,結(jié)果僅取決于初始狀態(tài)和交易順序。這意味著共識(shí)只需就區(qū)塊內(nèi)交易的順序達(dá)成一致,每個(gè)節(jié)點(diǎn)都可以獨(dú)立計(jì)算最終狀態(tài)。
在這種模型中,將共識(shí)與執(zhí)行分離,允許區(qū)塊異步執(zhí)行。
一旦區(qū)塊最終確定,節(jié)點(diǎn)就會(huì)對(duì)其進(jìn)行處理,并在后續(xù)區(qū)塊中提交其狀態(tài)。
然后通過(guò)狀態(tài)共識(shí)驗(yàn)證該區(qū)塊,以確保所有節(jié)點(diǎn)都計(jì)算出了正確的最終狀態(tài)。
這里的一個(gè)重要細(xì)節(jié)是,執(zhí)行與共識(shí)(生成)是并行進(jìn)行的。節(jié)點(diǎn)在執(zhí)行一個(gè)區(qū)塊的計(jì)算時(shí),也會(huì)接收其他區(qū)塊。
因此,區(qū)塊實(shí)際上是按照總順序(而不是并行)執(zhí)行的,而區(qū)塊生成過(guò)程本身確實(shí)與共識(shí)并行發(fā)生。但是,對(duì)于任何給定的區(qū)塊,這些過(guò)程都是完全異步的。
顯然,同時(shí)對(duì)同一個(gè)區(qū)塊進(jìn)行共識(shí)和執(zhí)行似乎是不可能的。因此,在執(zhí)行區(qū)塊 n 時(shí),節(jié)點(diǎn)會(huì)接收區(qū)塊 n+1 以進(jìn)行下一步。
如果共識(shí)出現(xiàn)偏差(例如網(wǎng)絡(luò)中有三分之一的節(jié)點(diǎn)惡意行事),鏈就會(huì)暫停,這與標(biāo)準(zhǔn)的 BFT 協(xié)議類似。
區(qū)塊內(nèi)執(zhí)行失敗的交易不會(huì)使該區(qū)塊無(wú)效,只是保持失敗狀態(tài),因?yàn)閰^(qū)塊生成和執(zhí)行是分開(kāi)的,并且當(dāng)前區(qū)塊的最終狀態(tài)會(huì)在后續(xù)區(qū)塊中提交。
2. 多提議者模型如何實(shí)現(xiàn)以及 Autobahn 是什么?
該共識(shí)協(xié)議本身被稱為“Autobahn”(就像不限速的德國(guó)高速公路一樣)。Autobahn 將數(shù)據(jù)可用性和交易排序分離開(kāi)來(lái),其背后有一個(gè)有趣的模型。
就像任何一條高速公路的車道一樣,存在多條車道,每個(gè)節(jié)點(diǎn)都有自己的通道。節(jié)點(diǎn)使用這些通道來(lái)提出有關(guān)交易排序的提案。提案只是交易的有序集合。
Autobahn 有時(shí)會(huì)執(zhí)行“tipcut”操作,即聚合多個(gè)提案以最終確定交易的順序。
正如之前所說(shuō),每個(gè)驗(yàn)證者都有自己的通道來(lái)提議交易批次。
當(dāng)一個(gè)節(jié)點(diǎn)收到有效的提議時(shí),會(huì)發(fā)送投票來(lái)確認(rèn)該提議已收到。
提案收集到投票后,會(huì)形成一個(gè)可用性證明(PoA),確保數(shù)據(jù)已被網(wǎng)絡(luò)中至少一個(gè)誠(chéng)實(shí)節(jié)點(diǎn)接收。
Tipcut 的發(fā)生時(shí)間以毫秒為單位,最終來(lái)自 Autobahn 的多個(gè)提案會(huì)被“cut.”。
提議者有動(dòng)力等待發(fā)布區(qū)塊并在可能的情況下發(fā)布單個(gè)區(qū)塊,但每個(gè)區(qū)塊的執(zhí)行時(shí)間限制(類似于 Gas 限制)會(huì)稍微改變這種動(dòng)態(tài)。
一條通道上的一個(gè)提議通常相當(dāng)于一個(gè)區(qū)塊,這意味著當(dāng) Tipcut 發(fā)生時(shí),多個(gè)區(qū)塊會(huì)被同時(shí)切斷。
此后,該 slot 的領(lǐng)導(dǎo)者將 Tipcut 發(fā)送給其他節(jié)點(diǎn)以完成排序。節(jié)點(diǎn)實(shí)際上在對(duì)單個(gè) Tipcut 進(jìn)行投票的同時(shí),就已經(jīng)在準(zhǔn)備下一個(gè) Tipcut 了。
錯(cuò)過(guò)批次的節(jié)點(diǎn)可以從 PoA 中列出的驗(yàn)證者那里異步獲?。哼@就是需要數(shù)據(jù)可用性的本質(zhì)原因。
在同步條件下,如果領(lǐng)導(dǎo)者正確,Autobahn 會(huì)在兩輪通信中完成提議確認(rèn)。如果領(lǐng)導(dǎo)者出現(xiàn)故障,該機(jī)制會(huì)選舉出新的領(lǐng)導(dǎo)者以保持進(jìn)程。
下一個(gè) tip-cut 提議實(shí)際上可以在當(dāng)前 tip-cut 的提交階段開(kāi)始,從而減少延遲,因?yàn)閳?zhí)行與生成并行進(jìn)行。
實(shí)際上,整個(gè)模型是一個(gè)多提議者模型,其中許多節(jié)點(diǎn)可以同時(shí)為其區(qū)塊排序提出提案。每個(gè)驗(yàn)證者都提議自己的區(qū)塊,并接收網(wǎng)絡(luò)擁有這些區(qū)塊的證明(PoA),這有助于提高網(wǎng)絡(luò)的吞吐量和整體效率。
3. 并行執(zhí)行及其適用情況
正如之前提到的,區(qū)塊執(zhí)行過(guò)程與共識(shí)是并行發(fā)生的,盡管區(qū)塊本身實(shí)際上是按順序執(zhí)行的。您可能會(huì)想這是否構(gòu)成真正的并行執(zhí)行。
答案既是肯定的,也是否定的。
雖然區(qū)塊是按順序執(zhí)行,但區(qū)塊內(nèi)的交易確實(shí)可以并行執(zhí)行。如果交易不修改(寫入)相同的狀態(tài),并且一個(gè)交易的結(jié)果不影響另一個(gè)交易,那么它們就可以并行執(zhí)行。
簡(jiǎn)而言之,它們的執(zhí)行路徑不應(yīng)該相互依賴。Giga 沒(méi)有內(nèi)存池,交易會(huì)立即被節(jié)點(diǎn)包含。
Giga 假定大多數(shù)交易之間不存在沖突,并在多個(gè)處理器核心上同時(shí)處理這些交易。
每筆交易的更改會(huì)暫時(shí)存儲(chǔ)在一個(gè)私有緩沖區(qū)中,不會(huì)立即應(yīng)用到區(qū)塊鏈上。
處理完成后,系統(tǒng)會(huì)檢查該交易是否與之前的交易存在沖突。
如果存在沖突,該交易將被重新處理。如果沒(méi)有沖突,其更改將被應(yīng)用于區(qū)塊鏈并最終確定。
也可能存在高頻沖突的情況,在這種情況下,系統(tǒng)會(huì)切換為一次處理一個(gè)事務(wù),以確保事務(wù)能夠推進(jìn)。
簡(jiǎn)單來(lái)說(shuō),并行執(zhí)行將事務(wù)分配到多個(gè)內(nèi)核上,使那些沒(méi)有沖突的事務(wù)能夠同時(shí)運(yùn)行。
4. 存儲(chǔ)問(wèn)題與優(yōu)化
由于交易量很大,數(shù)據(jù)需要既安全又易于訪問(wèn),因此其存儲(chǔ)方式應(yīng)與傳統(tǒng)區(qū)塊鏈存儲(chǔ)略有不同。Giga 以簡(jiǎn)單的鍵值(key-value)格式存儲(chǔ)數(shù)據(jù),這是一種相對(duì)扁平的結(jié)構(gòu),有助于減少數(shù)據(jù)更改時(shí)所需的多次更新或檢查。
此外,Giga 還采用分層存儲(chǔ)方式:近期數(shù)據(jù)保留在 SSD(高速)上,而較少使用的數(shù)據(jù)則遷移到速度較慢、更具成本效益的存儲(chǔ)系統(tǒng)中。
如果某個(gè)節(jié)點(diǎn)崩潰,它可以回放日志以恢復(fù)正確的狀態(tài),并將更新應(yīng)用于 RocksDB(一種專用數(shù)據(jù)庫(kù))以組織數(shù)據(jù)。
該存儲(chǔ)系統(tǒng)采用了一種加密累加器(Cryptographic Accumulator),能夠證明數(shù)據(jù)的正確性而無(wú)需進(jìn)行繁重的計(jì)算。累加器以批處理的方式進(jìn)行更新,使得驗(yàn)證者和輕節(jié)點(diǎn)能夠迅速就區(qū)塊鏈的當(dāng)前狀態(tài)達(dá)成一致。
5. 成為多提議者 EVM L1 區(qū)塊鏈意味著什么?
L1 基礎(chǔ)設(shè)施可以進(jìn)行多種改進(jìn),不同的 L1 也面臨著各種技術(shù)挑戰(zhàn),從 MEV 等經(jīng)濟(jì)方面的問(wèn)題到諸如狀態(tài)管理等技術(shù)方面的問(wèn)題。
作為首個(gè)支持多提議者的 L1 鏈頗具挑戰(zhàn)性,尤其是對(duì)于 EVM L1 而言,因?yàn)?EVM 的設(shè)計(jì)初衷并非支持多提議者系統(tǒng)。
然而,Sei 正在嘗試不同的方法來(lái)保留 EVM 以及許多開(kāi)發(fā)者習(xí)慣使用的工具。
并行事務(wù)執(zhí)行、執(zhí)行過(guò)程中達(dá)成共識(shí)以及多個(gè)提議者并行操作都有助于提升性能,執(zhí)行吞吐量可提升約 50 倍。不過(guò),這些改進(jìn)也可能面臨上述提到的一些風(fēng)險(xiǎn)。
這是 Sei 第二次重大更新,此前 Sei 從 Cosmos 鏈轉(zhuǎn)型為 EVM 鏈,如今 Sei 推出了一個(gè)針對(duì)速度優(yōu)化的執(zhí)行客戶端。
接下來(lái)的發(fā)展以及這些優(yōu)化措施的后續(xù)效果值得關(guān)注。
你可能感興趣的文章
-
值得關(guān)注的潛在Solana殺手:Sui、Aptos、Sei、Sonic和Hyperliquid
潛在“Solana 殺手”的概述——第 1 層區(qū)塊鏈旨在超越 Solana 作為高吞吐量區(qū)塊鏈的聲譽(yù),具有低費(fèi)用和大量零售采用…
2024-08-21 -
什么是Sei Network?SEI代幣經(jīng)濟(jì)學(xué)詳解
Sei是一個(gè)專為交易而設(shè)計(jì)的區(qū)塊鏈,注重速度、可擴(kuò)展性和安全性,本文將討論Sei Network是什么,Sei代幣,其代幣經(jīng)濟(jì)學(xué),統(tǒng)計(jì)數(shù)據(jù),Sei Network的歷史,其特點(diǎn)以及如何購(gòu)買…
2024-05-11 -
Sui Network怎么玩?Sei Network空投玩法詳細(xì)教程
Sui Network是一個(gè)基于區(qū)塊鏈的平臺(tái),目的是讓數(shù)字資產(chǎn)所有權(quán)變得高速、保密、安全且普及,很多投資者想知道Sui Network怎么玩?接下來(lái)是Sui Network空投教程詳細(xì)介紹…
2023-11-15 -
Sei空投指南:Sei構(gòu)建背景、空投如何運(yùn)作和空投常見(jiàn)問(wèn)題
Sei 空投覆蓋了Web3宇宙的每一個(gè)角落,是一次真正的“跨鏈”空投,認(rèn)可了來(lái)自許多生態(tài)系統(tǒng)的區(qū)塊鏈技術(shù)的先驅(qū)用戶,大多數(shù)主流的區(qū)塊鏈用戶可能會(huì)被列入白名單,有資格參與,空…
2023-09-11