文章閱讀頁通欄

分片和跨分片的信任模型簡介

來源: 區塊網 作者:考拉
擴展區塊鏈的挑戰得到了很好的證明。當今運行中最成功的區塊鏈形成了一個線性鏈,其中每個區塊或更新都引用前面的區塊。網絡上的每個節點都存儲了......
擴展區塊鏈的挑戰得到了很好的證明。當今運行中最成功的區塊鏈形成了一個線性鏈,其中每個區塊或更新都引用前面的區塊。網絡上的每個節點都存儲了賬本歷史記錄中的完整副本。線性鏈模型在保持整個世界的共識方面非常有效。不幸的是,它在總體網絡吞吐量方面相當有限,因為每個節點都需要接收和驗證全局發生的每個交易。

背景

已經提出了許多方法來幫助區塊鏈擴展。目前最流行的方法是第2層解決方案,如閃電網絡或等離子體。有兩種可能性可以替代線性區塊鏈:DAG和分片。

關于DAG的注意事項

有向無環圖(DAG)是由IOTA、Byteball和Nano等項目提出的。他們認為,對于每個人來說,擁有全局狀態并不重要,相反,節點應該只需要與它們相關的本地狀態,以及與其他節點的足夠連接來驗證它們的本地狀態是否與其他節點的視圖沖突。

在沒有全局狀態的情況下,如果攻擊者能夠獨占受害者節點的傳入連接,那么Eclipse攻擊之類的攻擊是可能的。直到2019年5月,IOTA通過一個每個人都可以連接的集中式協調器解決了這個問題。可以說,這推翻了DAG的全部觀點。他們最近宣布從協調器切換到稱為Coordicide的投票模塊。共識參與者將被期望對沖突的交易進行積極的投票,在我看來,這聽起來很像傳統的區塊鏈共識。

分片

分片系統類似于DAG,但它們承認全局狀態視圖的重要性,并對賬本施加正式結構,以確保整個系統保持一致。分片將區塊鏈的驗證工作劃分為幾個組,每個組負責工作的一個子集。

目前有許多用于分片的設計,但很少用于生產。主要的設計考慮是是否有一個信標鏈。信標鏈的行為很像傳統的區塊鏈,但它不是驗證交易和賬本狀態本身,而是依賴于每個分片在自己的狀態上達成一致。然后,將此狀態壓縮為一個merkle根,該根由分片驗證器的仲裁簽名。然后,信標鏈將分片根編織成一個整體的鏈根。

沒有信標鏈的分片是可能的,但是必須付出更多的努力來公平分配資源,防止大規模重組和分片接管攻擊。

復雜性

在分片系統中,指定的目標是將工作分配給工作人員,從而提高吞吐量。首要的關鍵問題之一是理解工作是如何劃分的。必須采取保護措施,以確保不誠實的驗證器不能覆蓋特定的分片。

上面的可視化提示,如果只關注單個分片,那么即使只有1%的驗證器也可能造成嚴重破壞。以太坊計劃使用一個改組過程,以不可預知的方式將驗證器分配給分片,以防止壞參與者接管分片。

跨分片通信

這些分片的邊界上發生了什么?它們是如何相互作用的?一個顯而易見的答案是, 如果一個應用程序不在我的分片上,我可以在不同的分片上創建一個新的帳戶,或者我甚至可以使用一個跨分片服務,它將我的錢包地址放在一個分片上,并允許我與任何其分片片上的應用程序交互。

想象一下,您希望從與您不在同一分片中的網絡參與者那里收到一筆付款。您如何從您沒有參與的分片中收到錢?

以太坊研究人員提出的可視化樣本方法

這里,我們使用收據的概念來說明。通過提供源分片中交易的merkle路徑,收件人可以證明他們將從一個外國分片中來接收代幣。目標分片使用收據并記入收件人的帳戶。這必須以原子的方式完成。發送方和接收方的帳戶要么一起修改,要么不一起修改。如果有一個缺口或一端失敗了,發送者可以欺騙接收者,讓他們相信他們已經收到了他們永遠不會得到的資金。

在途交易

真正的跨分片的原子交易是一個困難的問題,因為它需要分片之間同步通信的驗證器。如果對跨分片交易的需求足夠高,那么性能可能會下降,因為必須有更多的分片工作人員協作來處理跨分片交易。

  分片系統必須開發信任網絡不會從外部分片逆轉這些交易的機制。如何保護自己免受可能發生的大規模重組的影響?

到目前為止,我們得到的最佳答案是確保一個分片中的驗證器數量超過某個最小閾值,這樣不誠實的驗證器壓倒單個分片的幾率就會很低。定期(但不是過于頻繁)的驗證器旋轉限制了池中驗證器集潛在賄賂的能力。如果驗證器旋轉太頻繁,那么運行一個節點的成本將會增加,而分散化將會受到損害,因為節點將需要更多的存儲和帶寬來跟上分片的變化。

終結性

一個顯著簡化這些問題的特性是終結性。一旦一個區塊被系統中的多數派認定為最終區塊,我們可以肯定,我們腳下的外國分片不會發生變化。終結性會將整個賬本密封起來,這樣就不能對其進行修改,而且以前的跨分片交易也可以被認為是安全的,就像只有一條鏈一樣。

權益關系證明能夠保證終結性,而工作量證明永遠不能。這就是以太坊開發人員將PoS和分片組合到他們的Eth2.0路線圖計劃中的原因。

關鍵詞: 分片  跨分片  
0/300
? 小霸王曾道人