以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

我們為什么投資公鏈 Shardeum:分片的另一種可能_SHA:RICHARD

Author:

Time:1900/1/1 0:00:00

作者:Beam

2022 年 9 月 15 日,以太坊合并(Merge)。這是一個歷史性的時刻,以太坊為此準備了 5 年、推遲了 6 次,由于反復的調試與長期的開發、萬眾矚目的暈輪效應,很多人誤以為合并會自然而然地帶來更高的可擴展性、安全性和可持續性,實際上并不是 — — 我們還是用兩個列車的比喻,從 PoW(工作量證明)到 PoS(權益證明)的過渡,只是更換了軌道和輪子,它并不會直接地帶來更快的速度、更大的容量、更低的車票費用,真正能完成以上三點的,是一整套解決方案:擁有分片能力的主網搭配增強可擴展性的 Layer2 解決方案。

正如以太坊創始?Vitalik Buterin 所指出的,分?是可擴展性三難困境下的一種擴容解決?案,通過將?絡中的節點分成更?的組,處理不同的事務集并實現并行處理。通過分擔處理整個網絡上匯總所需的大量數據的負擔,就像我們在 Walmart 購物結賬時一樣,通過多開設幾條購物結賬的收銀通道,可以直觀地減少排隊時間和提升結賬效率。

這就是分片的邏輯,直接而簡單,然而,魔鬼都在細節中 — — 原理和方向沒錯,但在實施中總會遇到很多問題。本文想通過理順在 “分片” 這條路上的方向和困局,繪制一張仰望星空與腳踏實地的分片探索者地圖。同時通過比較現有的分片解決方案,找到一些共性的問題,并提出一種可行的探索方向:Shardeum 與動態分片。

簡單來說,考慮不可能三角的制約,從以太坊作為坐標系原點(0,0)出發,按照 “縱向” 和 “橫向” 兩種思路,我們將當前的區塊鏈的擴展性方法分為兩大類:

縱向擴容(Vertical Scaling):通過提高系統現有硬件的性能來實現。建立一個去中心化網絡,而網絡中的每個節點都具有超級計算能力,即每個節點都需要 “更好”的硬件 — — 這種方式簡單有效,可以達成吞吐量的初步改進,尤其適用于高頻交易、游戲以及其他對延遲比較敏感的應用場景。然而這種擴容方式會限制網絡的去中心化水平,因為運行驗證節點或全節點的成本變高了。維持去中心化水平受限于計算硬件性能的大致增長速度(這就是所謂的 “摩爾定律”:芯片上的晶體管數量每兩年會翻一倍,計算成本則會減半)。

橫向擴容(Horizontal Scaling):橫向擴容一般有幾種思路。一種是在區塊鏈的語境下,將某一生態中的交易計算量分散到多個獨立的區塊鏈上,每條鏈都擁有自己的區塊生產者和執行能力,這種方式可以充分定制化每條鏈的執行層,比如節點硬件要求、隱私功能、gas 費用、虛擬機以及許可設置等。另一種橫向擴容方案是模塊化區塊鏈,將區塊鏈的基礎架構劃分成執行層、數據可用性層(DA)以及共識層。最主流的區塊鏈模塊化機制就是 rollup。還有一種是將一條區塊鏈分成很多片,并行執行。每個分片可以看成一個區塊鏈,也就是說許多區塊鏈可以并行執行。另外,通常還會有一條主鏈,其唯一的任務就是保持所有分片同步。

需要指出的是,以上的擴容思路都不是孤立存在的,每一種解決方案都是在不可能三角中找到一個權衡點,配合系統中經濟力量創造的激勵機制設計,達到宏觀和微觀層面的有效平衡。

為了討論 “分片”,我們需要從頭開始梳理。

依然假設這樣一種情景,Walmart 購物結賬,為了提高結賬效率,降低客戶等待時間,我們從單一的結賬通道,擴展到 10 個結賬窗口,為了避免賬本錯誤,這個時候我們需要制定統一的規則:

第一,如果我們有 10 個收銀員,該如何分配他們去哪個窗口工作?

第二,如果我們有 1000 個客戶排隊等待,該如何決定每一個客戶去哪個窗口結賬?

第三,這 10 個窗口對應的 10 個單獨賬本,該如何進行匯總?

第四,為了避免發生賬目不匹配的情況,該如何防止收銀員出現錯誤?

這幾個問題其實對應了分片中的幾個關鍵問題,分別是:

該如何確定全網的節點 / 驗證者屬于哪個分片?即:如何進行網絡分片(NetworkSharding);

萬事達卡CFO:我們將加密貨幣視為一種資產類別而非支付工具:金色財經報道,萬事達卡(Mastercard)CFO Sachin Mehra近日分享了他對加密貨幣的看法。他說:“在加密貨幣世界里,當人們使用我們的借記卡和信用卡產品來購買加密貨幣,我們充當的是上行通道的角色。而當人們想要兌現時,我們充當的是下行通道的角色,即我們幫助他們獲得權限,能夠在接受萬事達卡的地方使用他們的加密貨幣余額。”

此外,他認為,任何東西要想成為我們心目中的支付工具,就需要具有價值存儲。如果某樣東西的價值每天都在波動,從消費者心態的角度來看,這就是一個問題。因此,我們更多地將加密貨幣視為一種資產類別,而非支付工具。

Mehra表示,在支付工具方面,穩定幣和央行數字貨幣(CBDC)可能會有更多的發展空間。(彭博社)[2022/8/4 2:58:16]

該如何確定每一筆交易分配給哪個分片?即:如何進行交易分片(Transaction Sharding);

區塊鏈資料如何在不同分片中儲存?即:如何進行狀態分片(State Sharding);

復雜意味著風險,在以上所有的基礎上,該如何避免整個系統安全性的分裂?

如果我們將區塊鏈簡單理解成一種去中心化賬本,無論是 PoS 還是 PoW 的共識機制,都是為了讓各個節點按一定的既定規則爭奪記賬權,在這個過程中保證賬本的正確性。而網絡分片是指,需要另一種既定規則,將區塊鏈網絡分片,在盡量降低互相通信的前提下,由各個分片處理鏈上交易,爭奪記賬權 — — 即,節點的分組規則。

而在這個過程中遇到的問題是,隨著區塊鏈內部節點被劃分成不同的片,攻擊者的難度和成本會直線下降。我們可以推理,假定這個分組過程的規則和結果是固定且可以預知的,那攻擊者想要控制整個區塊鏈網絡,只需要定向地控制其中一個分片,收買分片內的部分節點即可。

Near 的創始人 Alexander Skidanov 這樣描述這個問題:如果一個有 X 個驗證者的單一鏈決定硬分叉成一個分片鏈,并將 X 個驗證者分成 10 個分片,每個分片現在只有 X/10 個驗證者,破壞一個分片只需要破壞 5.1%(51% / 10) 的驗證者總數。這就引出了第二點:誰為每個分片選擇驗證者?只有當所有這 5.1% 的驗證者都在同一個分片中時,控制 5.1% 的驗證者才是有害的。如果驗證者無法選擇在哪個分片中進行驗證,則控制 5.1% 的驗證者的參與者極不可能將所有驗證者都放在同一個分片中,從而大大降低了他們破壞系統的能力。

分片系統必須開發一種機制來信任網絡不會從外部分片中逆轉這些交易。迄今為止,可能最好的答案是確保分片內的驗證者數量高于某個最小閾值,這樣不誠實的驗證者壓倒單個分片的幾率就會很低。最常見的辦法是構建一定程度上的無偏隨機性,依靠數學的方式,將攻擊者的成功概率降到最低。比如以太坊,以太坊的解決辦法是隨機從所有驗證者中選出某個分片的驗證者,并且每 6.4 分鐘(一個 epoch的長度)更換一次驗證者。

說的簡單一點就是將節點隨機分組,再將工作分配給各組節點獨立驗證。

然而需要指出的是,區塊鏈中的隨機性是一個非常具有挑戰性的話題,按照邏輯來說,這個隨機數的生成過程不應該依賴于任何特定分片的計算。對于該計算,很多的現有設計思路都是開發一個單獨的區塊鏈,維護整個網絡。這樣的鏈在 Ethereum和 Near 中稱為 Beacon 鏈,在 PolkaDot 中稱為 Relay 鏈,在 Cosmos 中稱為 Cosmos Hub。

交易分片是指關于 “哪些交易要被分配到哪些分片” 的規則制定,則既能夠達到并行處理的目的又能避免雙花問題的出現。區塊鏈的帳本模型的不同會對交易分片的開發造成影響。

目前區塊鏈網絡中存在兩類記賬方式,分別為 UTXO(Unspent Transaction Outputs,未使用交易輸出)模型和賬戶 / 余額模型,前者的典型代表是 BTC,后者如 ETH。

美聯儲梅斯特:我們需要加快加息步伐,以降低通貨膨脹率:5月10日消息,美聯儲梅斯特表示,我們需要加快加息步伐,以降低通貨膨脹率。 (金十)[2022/5/10 3:04:38]

UTXO 模型:在 BTC 交易中,每筆交易都會有一個或多個輸出,UTXO 指尚未花費的區塊鏈交易的輸出,可以作為新交易的輸入,而已花費的交易輸出不可再花費,類似紙幣交易情況下的支付和找零,顧客將一張或多張紙幣支付給店家,店家則將一張或多張紙幣找零給顧客。UTXO 模型下,交易分片需要跨分片通信。一筆交易可能包括多個輸入和多個輸出,沒有帳戶的概念,也不會有余額的紀錄,一個可能的方式是:按照其交易的某個輸入值將其放入哈希函數處理成為離散型的哈希值以確定數據應該去哪個分片。如下:

為了確保條目以一致的方式放置在正確的分片中,輸入到哈希函數中的值都應該來自同一列。此列稱為Shard Key。之后,將產生為 1 值的交易都分入分片 1,將產生為 2 值的交易都分入分片 2。而這種方式的弊端在于,分片之間不得不進行通信以避免雙花攻擊。如果限制跨分片交易將限制平臺的可用性,而允許跨分片交易則不得不權衡跨分片通信的成本和性能提升帶來的收益。

賬戶 / 余額模型:系統記錄每個賬戶的余額,在進行交易時,系統檢查賬戶是否有足夠余額用于支付,類似于銀行轉賬時,銀行會記錄每個賬戶的余額,只有賬戶余額大于所需轉賬金額時,交易才能夠進行。在賬戶 / 余額模型下,由于一筆交易只有一個輸入,因此只要將交易按照發送者地址進行分片,就可以保證同一個賬戶的多筆交易在同一個分片中處理,有效防止雙花。因此,大多數采用分片技術的區塊鏈,都是像以太坊一樣的賬戶帳本系統。

狀態分片指的是,在區塊鏈資料是如何分配在不同分片中儲存的。

依舊沿用我們 Walmart 排隊的例子,每個窗口都有一筆賬,他們的賬本是如何記錄的?如果:客戶來排哪個隊,就記哪個賬,比如 A 客戶去了 A 窗口,那第二天該客戶去了別的結賬窗口比如 B 窗口,而 B 窗口并沒有該客戶的過往賬戶信息(比如涉及到了儲值卡等結賬方式),該怎么辦?向 A 窗口調用該客戶的賬戶信息?

狀態分片是分片最大的難題,比上述的網絡分片和交易分片更棘手。因為在分片機制下,交易會根據地址分配在不同的分片處理,也就是說,狀態只會儲存在其地址所在的分片中,此時要面臨的一個問題是,交易不會只在一個分片中進行,時常會涉及到跨分片(Cross-Sharding)。

考慮一種轉賬情形,A 賬戶轉賬 10U 給 B 賬戶,而 A 的地址分配在分片 1,交易的紀錄也會儲存在分片 1。B 的地址分配在分片 2,交易的紀錄就會儲存在分片 2。

一但 A 要轉賬給 B,就會形成跨分片交易,分片 2 就會向分片 1 調用過去的交易紀錄,確認交易的有效性,如果 A 頻繁地打幣給 B,分片 2 就必須不斷跟分片 1 互動,交易的處理效率便會因此降低。但是,如果不下載和驗證特定分片的整個歷史,參與者則不一定能確定他們之間交互的狀態是某些有效塊序列的結果,且這樣的塊序列確實是分片中的規范鏈。

因此,相比于無分片的單一鏈,分片系統面臨的新挑戰是用戶無法直接完全驗證任何給定鏈的有效性和可用性,因為數據太多。必須為用戶提供最大限度的去信任和實用的間接方法來驗證哪條鏈是完全可用且有效,以便于他們可確定哪條鏈是規范鏈。在實踐中,區塊鏈開發者可以使用如下技術解決驗證中的一些問題:如委員會、SNARKs/STARKs、漁夫機制、以及欺詐和數據可用性證明等。

有兩種思路可以解決這個問題,一個是同步跨分片(Synchronous),即緊耦合(Tight Coupling),每當需要執行跨分片交易時,包含狀態轉換的相關塊都同時發生,每個分片上的節點協作執行交易。看起來很自然,使用體驗也最好,該模型最著名的設計稱為 Merge Blocks,但在實踐中實現這一點很復雜。要完成以上,需要分片之間的驗證器彼此同步通信。如果對跨分片事務的需求足夠高,性能可能會降低,因為更多的分片工作者必須一起協作來處理跨分片事務。

微軟CEO首談收購動視暴雪交易:這將是我們進軍元宇宙的一大步:金色財經報道,微軟首席執行官Satya Nadella日前在接受媒體采訪時表示,游戲將推動微軟的業務轉型。這也是自微軟上個月同意斥資750億美元收購游戲開發商動視暴雪以來,納德拉首次接受媒體采訪。Nadella表示,

因為用戶將會把更多的時間花在元宇宙,終有一天,最初為視頻游戲開發的技術將塑造微軟的大部分軟件,并成為下一個大型計算平臺的核心。

納德拉還表示,提升其游戲構建能力接近該公司為開發者創造軟件工具的最初業務。這將使微軟能夠“讓游戲建設民主化,這在今天只能在娛樂的背景下進行。”在未來,同樣的技術將“帶來它任何想要建造任何空間,并把人、地點和事物數字化。”我們可以開始夢想,通過元宇宙,我可以真正地在游戲中,就像我可以在會議室和你開會一樣。這會在不同的環境中表現出來。[2022/2/4 9:30:28]

另一種方式是異步跨分片(Asynchronous),即松耦合(Loosely Coupling)。這種思路的采用更廣泛,比如 NEAR、以太坊、Cosmos、Kadena 等。而在這個過程中,最具有挑戰的事項是交易的原子性。根據 Scalar Capital 的聯合創始人 Jordan Clifford,如果我們想象收據(Receipt)的概念,接收者通過提供源分片中的交易的默克爾路徑來證明他們將從外部分片接收了 Token。目標分片使用收據并將其記入收件人的帳戶。這必須以原子方式完成。發件人和收件人的帳戶要么一起修改,要么不一起修改。如果存在差距或一端失敗,發件人可能會欺騙收件人,讓他們相信他們已經收到了他們永遠不會得到的資金。

這里對原子性一詞做出一種生活化的比喻,比如我們想要進行一趟海邊旅行,需要同時訂購機票以及酒店,如果預定不到酒店,我希望也不要購買飛機票,如果預定不到飛機票,則也不要預定酒店。這就叫做原子性 — — 要不然都成功,要不然就都不要成功。

我們回顧一下以上有關于分片的討論時,提到的一些關鍵性問題:

一是如何進行狀態分片,即區塊鏈資料是如何分配在不同分片中儲存,如果要進行跨分片通訊時,該如何保證其中的效益平衡。

二是如何處理交易的原子性問題,一個分片對于共同訪問的狀態的修改,需要及時地讓另一個分片知道,否則就容易出現狀態錯亂。

在下文中,我們梳理了業內比較知名的公鏈以及其技術解決方案。其中可以窺見部分脈絡,并在此基礎上討論 Shardeum 的前沿性和革新性。

Zilliqa 是最早嘗試分?的智能合約平臺之?,是分片技術的一種很有益也很有效的嘗試。

其成立于 2017 年,由與新加坡國立大學相關的專門研究人員和學者組成的團隊推動,主要目標是解決可擴展性問題,專為計算密集型任務而構建。Zilliqa 網絡能夠通過稱為計算分片的并行化過程,在其網絡上處理高吞吐量的交易。在分片式區塊鏈網絡上,計算交易的任務分布在網絡的各個分片上。

從分片過程來說,Zilliqa 將其分為兩部分。首先,選擇目錄服務(DS)委員會節點,然后啟動分片過程并將節點分配給每個分片。一旦在分片中驗證了交易,便可以通過整個網絡對其進行驗證,并進入一個全局狀態,該狀態將所有分片中的交易組合到 Zilliqa 區塊鏈上的單個可驗證真相來源。

簡單來說,對于區塊鏈中的節點具有的三個主要功能:

- 處理交易

- 打包交易并廣播到其他節點

- 存儲整個網絡的歷史賬本

Zilliqa 利用了一種簡潔有效的思路來解決我們提到的跨分片通訊以及原子性問題,即:只進行計算分片,不進行網絡和儲存的分片。該平臺中的所有節點都存儲了完整的狀態,并且每個交易都被每個節點接收。為了驗證交易,?絡根據賬?的地址空間被分割成多個分區。這被稱為計算分?,因為它劃分了驗證交易的?作,這通常是計算密集型的。由于每個節點仍然接收每筆交易并更新所有賬?的狀態,因此?絡帶寬和存儲操作仍然成為瓶頸 — — ?絡和存儲沒有分?,因此?法真正擴展。

更為通用的分片方法是將帳戶的地址空間劃分為多個稱為分片的固定大小區域,并將網絡中的節點分配給不同的分片。這稱為狀態分片。 Near、Elrond 和 Harmony 等平臺正在采用這種方法。盡管以太坊最初計劃實施狀態分片,但新方法僅對數據進行分片以增加可訪問性。

聲音 | Ripple CTO回應V神簽證被拒一事:再申請試試,我們一直都需要優秀實習生:據ambcrypto消息, V神前幾日分享了他2013年希望成為Ripple的實習生而簽證被拒未能成行的經歷。Ripple CTO Schwartz對此恢復稱:這讓我很難過,想想你可能達到的成就!再申請試試?我們一直都需要優秀實習生。不過這一回應被部分V神的支持者認為“不夠尊重”,之后Schwartz表示他只是在開玩笑。[2019/4/22]

2.1 以太坊的數據分片構想

在以太坊環境中,分片將通過分擔處理整個網絡上匯總所需的大量數據的負擔,與 Layer2 協同工作。這將繼續減少網絡擁塞并增加每秒交易量。

應該指出的是,隨著更有效的擴展路徑的開發,以太坊的分片計劃也在不斷發展。以太坊對于未來分片構想其中一個方案版本是基于 “數據可用性” 的分片,“Danksharding” 是一種新的分片方法,它不使用分片 “Chain” 的概念,而是使用分片 “Blob”來分割數據,同時使用 “數據可用性抽樣” 來確認所有數據是否可用。

而另一種方案版本涉及到在方案一的基礎上,為每個分片添加額外的功能,使每一個分片更像今天的以太坊主網,允許分片存儲和執行代碼并處理交易,因為每個分片都將包含其獨特的智能合約和賬戶余額集,跨分片通信將允許分片之間的交易。然而這種方案還在社區辯論中,因為方案一的數據可用性加上 Layer2 的協同,已經可以為以太坊提供足夠的可拓展性,因此社區還在評估版本二的經濟成本與收益價值。

2.2 Harmony

Harmony 是一個基于 PoS 的分片網絡,采用了一種更為標準的分片方法,這種方法的想法是擁有多個稱為分片的小型區塊鏈,每個分片負責狀態的一部分,以及一個協調它們的區塊鏈,在 Harmony 中稱為信標鏈。我們按照之前的討論,先看看 Harmony 是如何從下到上解決網絡分片、交易分片和狀態分片的問題。

網絡分片:Harmony 將驗證者網絡分為不同分片,每個分片都包含一組不同的驗證器,它們彼此緊密相連,在它們之間運行共識。

交易分片:Harmony 的交易由單個分片處理和處理。這使得分片能夠同時處理交易,提高了區塊鏈的總交易容量。對于交易,用戶只需在簽名交易中指定 shard_id字段,表示交易所屬的分片。

狀態分片:在 Harmony 中,每個分片的驗證者都需要存儲 1/N 的全局狀態,因為他們維護自己的區塊鏈和狀態數據庫(N= 分片數)。這減輕了驗證者對數據可用性的擔憂。此外,交叉分片進一步提高了分片之間的狀態一致性。

Harmony 主網支持多個分片中的數千個節點,在幾秒鐘內生成具有即時確定性的塊。通過質押機制的安排減少了中心化,同時支持質押委托、獎勵復合和雙簽削減。采用了 EPoS (Effective Proof-of-Stake) 的有效抵押機制和安全的隨機分片技術(Random Sharding),靠協議的規定把大戶抵押的代幣打散成許多細小的部分,并隨機分配到多個分片里,這樣任何人就無法把他抵押的代幣集中到單一分片內,從而無法攻擊單一分片。

而關于跨分片,在跨分片交易和信標鏈同步的情況下,來自不同分片的驗證者通過全球連接的網絡跨分片發送消息。根據 Harmony 官方文檔,采用了「Kademlia 跨片路由技術」,來控制跨片間通信的網絡開銷,并且利用「糾刪碼」對區塊廣播過程進行優化,使廣播者的網絡壓力更小,避免發送者的網絡瓶頸問題,從而實現高效的橫向分片擴展。已經裝備自己成為第一個完成跨分片消息傳遞的分片區塊鏈。借助有效的跨分片消息傳遞協議和全網狀設計,分片之間將能夠進行無縫通信,隨著團隊積極朝著這個目標努力,用戶和開發人員可以期待今年晚些時候在 Harmony上的跨分片消息傳遞協議。

對于 Harmony 上的構建者和開發者來說,這是一個重大突破,因為他們可以通過整理特性和使用駐留在不同分片上的數據來構建。此外,分片間數據的一致性也很重要。這兩種追求將決定這種無限可擴展性的可持續性。

2.3 Elrond

McAfee:我們在數字貨幣中沒有選擇的自由:John McAfee剛剛發推文稱“要想有隱私權,就必須要有選擇的自由。我們在數字貨幣領域還沒有這個自由。我們目前已經完成了數字貨幣運動的創始文件:數字貨幣獨立宣言。”另外,McAfee附上獨立宣言鏈接,請人們閱讀它并在區塊鏈上簽名。[2018/5/25]

Elrond 是一個高吞吐量的公共區塊鏈,旨在提供安全性、效率、可擴展性和互操作性。使 Elrond 與眾不同的兩個最重要的特性是自適應狀態分片和安全的權益證明共識機制。

對于交易、數據和網絡,Elrond 采用所有級別的自適應狀態分片。動態自適應分片機制將執行分片合并和分片拆分,同時考慮可用驗證節點的數量和網絡使用情況。由于跨分片的定期節點改組,對惡意攻擊保持高彈性。每個 epoch,每個分片中最多 1/3 的節點被重新洗牌到其他分片,以防止串通。在隨機性方面,使用 BLS 簽名保護隨機源,這使其無偏見和不可預測。

而對于分片狀態架構上的智能合約采用跨分片執行過程處理,分片負載均衡。跨分片平衡智能合約允許 Elrond 并行運行多個智能合約。

同時,對于跨分片,Elrond 采用他們稱為元鏈(Meta Chain)的設計,可以做到在幾秒鐘內快速確定跨分片交易(Finality)。通過研究其技術白皮書,我們簡化其過程如下:假定 Elrond 網絡僅有兩個分片和元鏈。假設用戶從他的錢包中生成一筆交易,該錢包的地址位于分片 0,并希望將 EGLD 發送給另一個錢包地址位于分片 1的用戶,則需要下圖所示的步驟來處理跨分片交易。

塊的結構由包含有關塊的信息(塊隨機數、輪次、提議者、驗證者時間戳等)的塊頭表示,以及包含內部實際交易的每個分片的小塊(miniblock)列表。在我們的例子中,對于分片 0 中的一個塊,通常會有 3 個小塊(miniblock):

miniblock 0:包含分片 0 的分片內交易

miniblock 1:包含與分片 0 中的發送者和分片 1 中的目的地的跨分片交易

miniblock 2:包含跨分片交易,發件人在分片 1,目的地在分片 0。這些交易已經在發件人分片 1 中處理,將在當前分片處理后完成。

一個塊中具有相同發送者和接收者的小塊的數量沒有限制。這意味著具有相同發送者和接收者的多個小塊(miniblock)可以出現在同一個塊中。在這個過程中,跨分片執行的原子處理單元是一個小塊(miniblock):要么立即處理小塊(miniblock)的所有事務,要么不處理,小塊(miniblock)的執行將在下一輪重試。

Elrond 的跨分片交易策略使用異步模型。驗證和處理首先在發送者的分片中完成,然后在接收者的分片中完成。交易首先在發送者的分片中分派,因為它可以完全驗證從該分片中的帳戶發起的任何交易。之后,在接收者的分片中,節點只需要元鏈提供的執行證明,進行簽名驗證和檢查重放攻擊,最后為接收者更新余額,添加交易金額。

分片 0 處理小塊 0 (miniblock 0)中的分片內交易和一組跨分片交易,這些交易的地址來自分片 1 作為小塊 1 (miniblock 1)中的接收者。塊頭和小塊(miniblock)被發送到元鏈。元鏈通過創建一個新的元鏈塊(元塊)來公證分片 0 的塊,其中包含有關每個小塊(miniblock)的以下信息:發送者分片 ID、接收者分片 ID、小塊哈希。

分片 1 從元塊中獲取小塊 1 (miniblock 1)的哈希,從分片 0 請求小塊(miniblock),解析交易列表,請求丟失的交易(如果有),在分片 1 中執行相同的小塊 1 (miniblock 1)并發送到元鏈結果塊。經過公證,交叉交易集可以被認為是最終確定的。下圖顯示了完成交易所需的輪數。這些輪次被認為是從第一個包含在小塊(miniblock)中到最后一個小塊(miniblock)被公證。

Near 是一個全狀態分片、對開發者友好的可拓展性公鏈,他們提出了一種新的協議和解決方案,稱之為夜影協議(Nightshade)。

與上述兩個分片公鏈不同的是,它的技術架構并不是由一個信標鏈和多個分片鏈組成的,而是把系統建模成一個單獨的區塊鏈,在區塊級別進行了分片,每個分片中有很多 “段”。

Nightshade 將系統建模為單個區塊鏈,其中每個塊在邏輯上包含所有分片的所有事務,并更改所有分片的整體狀態。在物理上,沒有參與者下載完整狀態或完整邏輯塊。相反,網絡的每個參與者只維護與他們驗證交易的分片相對應的狀態,并且塊(Block)中所有交易的列表被分成物理塊(Chunk),每個分片一個塊。

在理想條件下,每個塊每個塊的每個分片恰好包含一個塊,這大致對應于具有分片鏈的模型,其中分片鏈以與信標鏈相同的速度生成塊。然而,由于網絡延遲,一些塊可能會丟失,因此實際上每個塊的每個分片都包含一個或零個塊。

在 Nightshade 中有兩個角色:區塊生產者和驗證者。在任何時候,系統都包含 w個塊生產者(Block Producer)和 wv 個驗證者(Validator),在 near 的模型中 w=100 v = 100, wv = 10, 000。系統包含 n 個分片,在 near 的模型中 n = 1000。在 Nightshade 中沒有分片鏈,而是所有的區塊生產者和驗證者都在構建一個單一的區塊鏈,稱之為主鏈。主鏈的狀態被分割成 n 個分片,每個區塊生產者和驗證者在任何時候都只在本地下載了與該分片的某個子集對應的狀態子集,并且只處理和驗證影響這些部分的交易狀態。網絡的維護是按時期完成的,其中一個時期是幾天的時間段。

塊生產者和塊生產者根據固定的時間表輪換每個塊。區塊生產者有一個訂單,并按該順序重復生產區塊。例如,如果有 100 個區塊生產者,第一個區塊生產者負責生產區塊 1、101、201 等,第二個區塊生產者負責生產 2、102、202 等)。由于塊生產與塊生產不同,需要維護狀態,并且對于每個分片,只有 sww/n 個塊生產者維護每個分片的狀態,相應地,只有那些 sww/n 個塊生產者輪換創建塊。

而關于跨分片,如果一個事務需要影響 Near 中的多個分片,則需要分別在每個分片中連續執行。完整的交易被發送到第一個受影響的分片,一旦該交易被包含在該分片的塊中,并在該塊被包含在一個塊中后應用,它會生成一個收據交易,該交易被路由到下一個需要在其中執行事務的分片。如果需要更多步驟,則收據事務的執行會生成新的收據事務,依此類推。具體見下圖:

由上述對 Harmony、Elrond 以及 Near 的分析中,我們可以看到對于我們提出的兩個問題的解答:

1. 目前的 Layer1,最通?的分??法是將賬戶的地址劃分為多個稱為分?的固定??區域,并將?絡中的節點分配給不同的分?。

2. 在具有狀態分片的網絡中,同一分片中的合約之間的交易快速而簡單,而跨多個分片的交易則慢得多,但并非不可能。如果一個事務需要影響多個分片,則需要在每個分片中連續執行。因為交易被分組到塊中并且共識是在塊級別完成的,所以影響多個分片的交易有可能在一個分片中被確認,但在另一個分片中被回滾。此外,影響多個分片的事務將需要與它們影響的分片數量成比例的額外處理時間。

但是同時,通過分析目前市場上的探索與解決方案,我們發現了目前階段公鏈分片的一些新問題:

1. 在跨分片交易時,如何在避免分片連續執行的基礎上,同時保證交易的原子處理?

2. 如果要網絡中增加了不足一個分片節點數量的節點,網絡如何處理多出來的這部分節點?

作為一個專注于促進區塊鏈的大規模應用、重塑 web3 價值范式與賦能未來的專業投資公司,Jsquare 一直關注區塊鏈的擴展性和安全性,在關注 Web3 運用層的同時,對更去中心化的基礎架構、無感的區塊鏈使用體驗以及依托于加密技術的安全性未來抱有極大的信心。即使分片的概念并不是新的,即使在這個道路上人們已經探索了一年又一年,我們在接觸 Shardeum 的時候,依然覺得他們對于分片賽道的洞察以及他們所做出的革命性技術改善值得我們下注。與這兩個問題對應的,Shardeum 提出了兩種新穎的解決方式。

Shardeum 形成了一種獨特的技術與共識算法,該算法將法定人數證明 (PoQ) 與權益證明 (PoS) 相結合,共識算法將通過 trustless 投票收集和驗證節點的質押來幫助保護網絡。每個交易會在被分組到塊 / 分區之前按照收到的順序進行處理。

而與上述成名已久的公鏈網絡不同,Shardeum 網絡上的共識是在每個交易(Transaction)級別而不是塊(Block)級別完成的,允許跨分片同時處理事務,而不是像Near 的塊(Block)級共識那樣連續處理。這種交易級共識消除了確保原子處理(Atomic Processing)所需的復雜性。因此可以做到秒級的 finality 和低延遲,從而防止網絡擁塞。

要解釋什么叫線性擴展,我們需要想象下面一種情形:

Near 主? 1 個 100 個節點的分?。預計將來會添加更多分?。Harmony 有 4 個分片,每個分片 250 個節點,主網共 1000 個節點。所有的合約在同一個分片。Elrond 有 3 個分片與 1 個元鏈,每個分片 800 個節點,主網共 3200 個節點。

如果在 Harmony 中添加 100 個節點,不足一個分片中需要的 250 個節點,Harmony 該如何處理這部分節點?是否可以考慮將這共 1100 個節點分成 11 個分片,每片100 個節點?

聽起來更美好,但是由于某些分片的靜態特性,許多額外的節點需要加入網絡才能創建新的分片。假如,我們要向上述網絡中加入一些節點,如果只增加 1 個單獨的節點,是無法提高整個區塊的表現的,至少要為目前 “最小分片大小” 數量的節點(在 Near 中即為 100 個節點) — — 因為目前的分片都是靜態分片,不支持線性擴展,還沒有生產網絡實際能做到靜態分片的拆分和合并。

在 “交易級別的共識” 之外,Shardeum 的白皮書提到,一個獨特功能是它使用動態狀態分片,不同于靜態分片中的所有節點都覆蓋相同的地址范圍,Shardeum 的虛擬分片(也即動態分片)可以讓每個節點持有不同的地址范圍,覆蓋的地址之間存在重疊節點 — — 這樣做具有更大的復雜性,但是好處是它允許真正的線性縮放。

通過地址空間和節點對應關系的動態變化,加上一種新的數據可用性證明來做跨分片驗證,Shardeum 可以做到擬合或者近似的 “線性擴展”。這種按照 “交易級別” 進行驗證和確認的方式,可能會一定程度上犧牲單片內的性能,但是對于網絡整體,是非常有益的擴展。

Shardeum 目前擁有 10 個分片,每個分片 128 個節點,共 1280 個節點,主網預計2022 年第四季度上線。雖然 Shardeum 仍在開發中,但在協議層面使用的 Shardus技術已被證明可以實現線性擴展。 在 2021 年第三季度的更新活動中,shardus 運行在 AWS t3.medium 硬件上的 1000 個節點的網絡被證明可以達到 5000 TPS 的跨分片交易。

2022 年 8 月,Shardeum 在具有完整分片功能的測試網 Liberty 2.0 上,通過 ERC20 代幣轉移成功展示了 100TPS 的能力。通常來說,一個區塊鏈需要幾年的時間才能建立并達到更高的 TPS,但 Shardeum 在推出 Liberty 1.0 后不到 4 個月就實現了這一目標。目前,Shardeum 用 50 個節點測試并發布了 Liberty 2.0,其中每個節點存儲了約 1/5 的總數據,執行了 1/5 的總交易。

一個真正的分片和可擴展的區塊鏈需要從頭開始。同樣,一個擁有鉆石般共識的社區也需要從無到有地構建,而社區的建設從來不比技術的研究和突破輕松容易。我們看到了 Shardeum 測試網上線后,活躍的測試人數以及測試交易數,興奮于我們發現的革新之路有更多人攜手同行,同時也看到了一些質疑的聲音,只是我們相信進步的道路是螺旋而曲折的,任何的創意和探索都值得一試。

正如《抱樸子·用刑》中說,“國有六職,百工與居一焉。或坐而論道,或作而行之”。也有一說,與其坐而論道,不如起而行之,Jsquare 始終以開放的態度,希望更多建設者們加入去中心化與分片的測試與探索中。2022 年 4 月 26 日 Shardeum推出了 Shardeum alphanet(Liberty)1.0,從那時起,很多用戶參與了 Shardeum測試,超過 100K+ 的錢包創建,1000+ 的智能合約部署,導致更大的 TPS 要求。正如我們相信,只有在 Web3 大面積采用的時候,那些高質量高性能去中心化的公鏈才會在市場競爭中脫穎而出,也正如我們所相信的,那些經歷了質疑、指責、公開討論和反復論證的社區,才能在去中心化的路上走得越來越遠。

Beam

個人專欄

閱讀更多

金色早8點

區塊律動BlockBeats

金色財經

1435Crypto

吳說區塊鏈

blockin

比推 Bitpush News

Block unicorn

Foresight News

Odaily星球日報

Bankless

DeFi之道

Tags:區塊鏈SHAHARDSHARD區塊鏈技術專業SHANG幣RICHARDAree Shards

萊特幣價格
審視 DeFi 新敘事:真實收益的概念與計算方法_ELD:REAL

撰文:DODO 研究院 自 8 月份以來,推特上的 KOL 對 Real Yield 的討論越來越激烈。這一討論的起源和爆火與 GMX 在熊市里出色的表現相吻合.

1900/1/1 0:00:00
觀點: 我所理解的Layer0、1、2層到底是什么?

作者:Jason 這是我第一篇宏觀分析類型的文章,之前的文章都是分析某一個具體的項目,這次想試著講講更宏大也是我更不擅長的領域.

1900/1/1 0:00:00
10月:BNB鏈上的8顆閃星_RAC:WOMEN價格

10月,我們發現了8個BNB項目之星,其中包括NFT游戲、GameFi平臺、DEX協議、Web3平臺、DAO工具、Layer2解決方案、Oracle等.

1900/1/1 0:00:00
鏈游賽道的新機遇和挑戰:SLG鏈游的春天在哪里?_SLG:WEB4

這個長文系列的第一篇休閑破冰類游戲發出后,反響比預計的要熱烈,看的出經過了 10 個月的鏈游熊市,玩家們看到一個項目已經不再是開頭就問:怎么賺錢最快?而是先思考和判斷值不值得深度介入.

1900/1/1 0:00:00
金色Web3.0日報 | 馬斯克:自己將擔任推特CEO_ETH:泰達幣區塊鏈交易查詢

DeFi數據 1、DeFi代幣總市值:469.53億美元DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量28.

1900/1/1 0:00:00
流動性池:你需要知道的一切_SDC:cusdc幣是什么

本文轉自公號:老雅痞 信息來源自medium,略有修改,作者Yehoshua Zlotogorski流動性池中需要多少代幣流動性?在建立流動性池時.

1900/1/1 0:00:00
ads