TeleportDAO:平衡數據驗證安全性和效率 —— 輕節點設計的最新實踐

進階Jul 14, 2024
TeleportDAO 和 Eigen Labs 最近共同撰寫了一篇論文,探討輕節點在訪問和驗證 Proof of Stake(PoS)區塊鏈上鏈上數據時面臨的安全性和效率問題。該論文提出了一種新穎的解決方案,通過經濟激勵、保險的預安全機制、可定製的“可編程安全”和成本效益等多種措施,增強了 PoS 區塊鏈中輕節點的安全性和效率。
TeleportDAO:平衡數據驗證安全性和效率 —— 輕節點設計的最新實踐

簡而言之

Teleportdao和Eigen Labs最近發表了一篇論文,重點關注光節點在訪問和驗證鏈上數據時在權益證明(POS)區塊鏈中面臨的安全性和效率挑戰。本文提出了一種新的解決方案,通過經濟激勵、保險預安全機制、可定製的“可程式設計安全性”和成本效益來確保POS區塊鏈中輕節點的安全性和效率。這種創新方法值得進一步研究。注:重質押協定Eigenlayer和Eigenda背後的開發商Eigen Labs已從A16Z,Polychain和Blockchain Capital等知名風險投資公司籌集了超過1.5億美元。Teleportdao總部位於加拿大溫哥華,專注於比特幣和EVM公鏈之間的跨鏈通信基礎設施。該協定通過Coinlist上的公開銷售成功籌集了900萬美元,投資者包括Appworks,OIG Capital,Definancex,Oak Grove Ventures,Candaq Ventures,Ton,Across和Bitsmiley。

輕節點設計問題

目前,在POS(權益證明)區塊鏈中,驗證者通過鎖定一定數量的權益(如乙太坊中的32 ETH)來參與共識網路來確保網路安全。這意味著POS區塊鏈的安全性在經濟上得到了保障:總權益越大,任何試圖攻擊網路的人的成本或潛在損失就越高。這種沒收機制依賴於一種稱為「問責安全」的功能,該功能允許在驗證者簽署衝突狀態時沒收他們的股份。全節點對於維護POS區塊鏈的完整性至關重要。它們存儲所有交易數據,驗證共識簽名,維護完整的交易歷史記錄並執行狀態更新。這些任務需要大量的計算資源和先進的硬體;例如,運行一個完整的乙太坊節點至少需要 2 TB 的 SSD 儲存空間。另一方面,輕節點通過僅存儲區塊頭來減少計算資源需求,使其適用於驗證移動錢包和跨鏈橋等應用中的特定交易/狀態。但是,輕節點在交易驗證過程中依賴於全節點獲取區塊資訊。目前,節點服務提供者的市場份額相當集中,這損害了安全性、獨立性和即時性。本文探討了平衡數據採集成本和延遲的解決方案,以實現輕節點的最佳安全性。

現有輕節點設計方案

比特幣引入了簡單支付驗證(SPV)作為輕節點的協議。SPV允許輕節點使用Merkle證明和區塊標頭驗證交易是否包含在特定區塊中。這意味著輕節點只需要下載區塊標頭以通過檢查區塊的深度來驗證交易的確定性。因此,比特幣中輕節點共識驗證的計算成本相對較低。然而,在類似以太坊的PoS區塊鏈中,共識檢查本質上更加複雜。它們涉及維護整個驗證者集合,跟踪其權益變化,以及對共識網絡進行大量的簽名檢查。此外,PoW輕節點安全性依賴於大多數全節點是誠實的假設。為了克服SPV的限制,Flyclient和非交互式工作證明(Nipopow)為客戶提供了次線性成本證明。然而,這些方法對於PoS共識模型來說效果較差。

在POS區塊鏈中,安全性是通過沒收機制實現的。該系統假設共識參與者是理性的,這意味著如果成本超過任何潛在利潤,他們就不會攻擊網路。為了降低驗證成本,乙太坊目前的輕節點協定使用由512個隨機選擇的驗證者組成的同步委員會,每個驗證者質押32 ETH,但簽名過程不會被沒收。這種非沒收設計存在重大安全漏洞;同步委員會中的不誠實簽名可能會誤導輕節點接受無效數據而不會受到任何懲罰。即使有沒收機制,與龐大的乙太坊驗證者池(截至 2024 年 3 月超過 100 萬)相比,同步委員會的總股份也很小。因此,此方法不會為輕節點提供相當於乙太坊驗證器集的安全性。該模型是理性設置下多方計算的特殊變體,但缺乏經濟保證,無法解決來自惡意、非理性數據提供者的威脅。

為了應對pos引導過程中的安全和效率挑戰,popos引入了一個分段遊戲,以有效地挑戰pos時間的對抗性默克爾樹。同時實現最小的空間要求,避免客戶需要始終在線並維持利益,但允許客戶下線並重新加入網絡而不產生重大成本的問題仍未解決。

另一種研究方法使用零知識證明創建簡潔證明。例如,Mina和Plumo使用遞歸SNARK組合和基於SNARK的狀態轉換證明實現輕量級共識驗證。然而,這些方法對於生成證明對區塊生產者施加了重大的計算負擔,並且沒有解決補償輕節點可能損失的問題。在其他POS協議(如Cosmos中的Tendermint協議)中,輕節點的角色已經在它們的跨區塊鏈通信(IBC)協議中得到了探索。但是,這些實現是針對其特定的生態系統量身定制的,並不適用於以太坊或其他POS區塊鏈。

設計一個新的輕節點計畫

一般而言,新計劃包含一個經濟安全模塊,實現“可編程安全”,使輕節點可以根據其特定的安全要求選擇不同的設計。安全假設遵循1/n + 1/m原則,這意味著只要在完整節點網絡和檢查節點網絡中至少有一個誠實且有效的節點,網絡就可以正常運作。

涉及的模組/角色

  • 區塊鏈: 該協議建立在可編程的區塊鏈上,具有針對區塊最終性的定義規則。例如,在以太坊區塊鏈上,一個區塊在至少兩個後續時期後被認為是最終的,通常需要大約13分鐘。
  • 喪失智能合約:該協議包括一個遵循標准智能合約抽象的鏈上喪失合約。它可以訪問區塊鏈中前一個區塊的區塊哈希。所有參與方都可以向此合約發送信息。
  • 數據提供商:數據提供商運行完整節點並跟踪區塊鏈的最新狀態。他們承諾資產並提供服務,以驗證輕節點請求的狀態的有效性。他們使用與其公鑰對應的密鑰對所有發送到輕節點的數據進行簽名,確保數據的來源和完整性。
  • 檢查員:檢查員是連接到輕節點的完全節點,有助於驗證數據。任何人都可以成為檢查員,通過監控和懲罰行為不端的方​​式來獲得獎勵。為了簡單起見,以下計劃假設每個輕節點至少連接到一個誠實的檢查員。
  • 輕節點:輕節點旨在以最小成本驗證特定狀態/交易是否包含在區塊鏈中。在驗證過程中,它們與一組數據提供者和檢查員建立連接。
  • 網絡: 數據提供者形成點對點(p2p)網絡,並使用傳聞協議傳播數據。輕節點連接多個數據提供者發送請求並接收回應。

計劃1:首要安全

計劃1旨在通過挑戰期和檢查員網絡確保數據的可靠性。簡而言之,當輕節點收到由提供者簽名的數據後,它將此數據轉發給檢查員網絡進行審查。如果在指定期限內檢測到任何欺詐數據,檢查員將通知輕節點該數據不可靠,智能合約的沒收模組將從數據提供者那裡沒收抵押的代幣。否則,輕節點可以信任數據的可靠性。輕節點請求數據的具體過程如下:

  1. 輕節點從當前網絡獲取最新的數據提供者列表,並設置挑戰期。請注意,每個輕節點的挑戰期是獨立的,但有一個最大的挑戰期適用於所有輕節點。挑戰期是檢查網絡驗證數據可靠性的最長時間,因此挑戰期越長,單個交易的延遲時間就越長。
  2. 獲取列表後,輕節點選擇一組數據提供者,並確保其存入的資金超過當前交易的價值。理論上,存入的資金越高,數據提供者惡意行為的成本就越高,輕節點的信任成本就越低。
  3. 輕節點向這組數據提供者發送數據請求,包括區塊號和目標狀態(交易的包含證明)。
  4. 數據提供者回應相應區塊的哈希和交易包含證明,以及他們的簽名。
  5. 當輕節點接收到這些信息時,它將其轉發到連接的檢查器網絡。如果在挑戰期結束時未收到任何數據可靠性警告,輕節點將驗證簽名,如果正確,確認數據的可靠性。

  1. 然而,如果從檢查者網絡收到警告,輕節點必須捨棄先前接收的簽名。檢查者網絡將向智能合約的喪失模塊提交證據。如果智能合約驗證出惡意活動,數據提供者的股份將被沒收。由於一些或所有選定的數據提供者已被處罰,輕節點需要從當前網絡獲取新的數據提供者列表來確認喪失事件。

其他要點:

  • 任何完整節點都可以通過向智能合約提交“註冊”和“提款”請求來加入或離開數據提供者網絡。加入數據提供者網絡需要最低鎖定要求。一旦完整節點發起提款,其狀態變為“已離開”,將不再接收輕節點的請求,以防止快速進出的惡意行為。此外,數據提供者網絡定期更新活躍提供者列表。在此期間,數據提供者無法提款,提款請求將在當前更新期結束時生效。更新頻率高於最大挑戰期,以確保完成所有輕節點數據可用性測試。由於網絡的活動,輕節點需要在每個更新週期獲取新的活躍提供者列表。如果更新週期延長,輕節點可以享受更簡單的驗證過程(通過估計基於以前的“註冊”和“提款”請求的活躍列表),但希望離開的節點將面臨更長的等待時間。
  • 當檢查器網絡收到數據簽名時,它會檢查簽名是否屬於數據提供者,以及數據是否在共識網絡中“最終確認”。如果數據未出現在有效鏈上,有兩種可能性。首先,數據尚未在區塊鏈上最終確認,因為不同的鏈具有不同的最終性規則,例如最長鏈原則。其次,交易位於另一個有效鏈的區塊中。如果數據是欺詐性的,檢查器網絡將向智能合約發送喪失請求,包括數據提供者的公鑰、簽名和區塊編號,以及喪失事件的證據,以通知輕節點。智能合約將使用共識層的最終性原則將當前確認的區塊編號與收到的數據進行比較。如果它們不匹配,將觸發喪失事件。此外,如果數據提供者在被輕節點選擇後因另一組數據請求而受到懲罰,檢查器網絡將及時通知輕節點數據提供者的可靠性降低,促使輕節點獲取新列表並選擇其他提供者。

評估:

  • 安全性:輕節點使用權益模組和檢查者網路來確定理性和非理性數據提供者惡意行為的成本,從而提高數據的可靠性。然而,由於整個協議是基於共識網路(在本文中在以太坊上進行測試),如果共識層受到攻擊,該協議也將面臨潛在的信任危機。因此,在極端情況下可以引入聲譽機制以確保系統的安全性。
  • 全節點級別的安全性:這個解決方案旨在提供與以太坊的POS相等的安全性假設,這意味著如果全節點做出虛假陳述,它們必須承擔喪失風險。
  • 網絡活動:如果當前網絡只有幾個合理的數據提供者,輕節點將經歷多輪延遲。但是,由於每個數據提供者的吞吐量不為零,每個請求仍然可以完成。因此,只要網絡中有一個合理的全節點,它就可以繼續運作。此外,由於數據提供者的收入與其抵押金額掛鉤,這鼓勵全節點過度抵押以保護網絡。
  • 效率:作者估計以太坊驗證者將成為主要參與者作為數據提供者,因為他們已經運行完整節點並且可以通過該協議獲得額外收入。小額交易可能從單個數據提供者處獲得可靠數據(輕節點僅需一次驗證),而大額交易可能需要多個數據提供者獲得可靠數據(驗證次數隨提供者數量成線性增加)。

計劃2:優先考慮效率

計劃2在計劃一的基礎上引入了一種快速數據確認的保險機制。簡而言之,輕節點根據保單金額和期限確定保險,部分或全部數據提供者的股份可以用來補償輕節點因惡意數據而造成的任何後續損失。這使得輕節點在接收並驗證來自提供者的數據簽名後能夠立即建立數據的初始可信度。輕節點請求數據的具體流程如下:

  1. 輕節點計算當前交易的潛在最大損失,然後設置政策金額和期限。數據提供者在保險中抵押的資金應超過政策金額,以確保足夠的補償。
  2. 輕節點確定交易的挑戰期。 值得注意的是,政策期可以涵蓋多筆交易的包含檢查,因此輕節點選擇的總挑戰期不能超過政策期;否則,某些交易可能無法得到保證。
  3. 在選擇參數(保單金額、保單期限、數據提供者在保險中抵押的資金金額和數據提供者意圖列表)後,輕節點向智能合約發送請求。等待區塊的最終確認時間後,它驗證保險購買是否成功。如果失敗,可能是因為其他輕節點也選擇了相同的數據提供者並先行解決,導致剩餘押注不足以滿足原始需求。
  4. 輕節點發送一個數據請求,其中包括區塊號、目標狀態(交易的包含證明)和保險號。
  5. 資料提供方傳送資料和簽名後,輕節點進行驗證並轉發至檢查器網路。交易隨後被初步確認。
  6. 在收到數據和簽名後,檢查員首先驗證數據的可信度。如果檢測到惡意行為,將證據提交給智能合約,並對應的數據提供者進行懲罰,罰款將分配給輕節點。

其他注意事項:

  • 保險中數據提供者抵押的代幣對於不同輕節點請求是獨立的,以防止多次保險賠償的風險。一旦輕節點選擇了一個數據提供者,智能合約將鎖定保險中對應的抵押代幣,其他輕節點在政策期滿之前無法分配此抵押。如果交易是獨立的,保單金額等於最大交易金額。如果交易不是獨立的,保單金額等於總交易金額。在相同的抵押金額下,輕節點通常會選擇尽可能少的數據提供者以確保驗證效率。
  • 數據提供者可以在保險期結束之前發起“提款”請求,但提款金額只能在保單期結束後收到。
  • 嚴格來說,政策期應該比區塊的最終確認時間+總挑戰期+通信延遲+計算/驗證延遲更長。選擇的數據提供者越多,根據總挑戰期需要的政策期就越長。

評估:

  • 可擴展性:方案二的可擴展性取決於數據提供者願意在保險中押注的代幣總量。
  • 政策成本:由於較高的安全水平與挑戰期相關,數據提供者必須抵押的時間等於或長於挑戰期。因此,更高的安全要求導致更長的抵押期和輕節點的更高成本。在公式術語中,數據提供者的抵押成本計算為數據提供者節點收入 /(平均年度抵押利用率乘以每年的總塊數)。輕節點需要支付的價格是抵押成本乘以政策期限和政策規模。

計劃效果

首先,關於輕節點的計算效率,兩個輕節點方案均顯示毫秒級的驗證效率(輕節點只需驗證數據一次)。其次,關於輕節點的延遲,在不同的實驗配置下(如下圖所示),延遲也在毫秒級。值得注意的是,延遲隨著數據提供者的數量呈線性增長,但始終保持在毫秒級。此外,在方案一中,由於輕節點需要等待挑戰期結果,延遲為 5 小時。如果檢查器網絡足夠可靠和高效,這 5 小時的延遲可以大大減少。

第三,在輕節點成本方面,在實踐中,輕節點會產生兩個主要成本:燃氣費和保險費,這兩者都會隨著保單金額增加。此外,對於檢查員來說,提交數據所涉及的燃氣費將會由被沒收的金額報銷,以確保足夠的參與激勵。

擴張方向

  • 更多抵押品:目前,數據提供者抵押以太幣代幣,但交易信息是以美元計算的。這要求輕節點在獲取數據時每次評估以太坊的匯率,以確保足夠的抵押品。允許多種代幣進行抵押將為數據提供者提供更多選擇,並減少與單一貨幣相關的風險。
  • 授權: 類似於聯合挖礦,一些零售投資者可以授權他們的eth給完整節點,以參與數據提供者網絡,收益根據他們的協議分配,類似於lsd。
  • 區塊保證:為了避免在以太坊上等待最終確認期(12-13秒),輕節點可以使用保證來減少等待時間。輕節點在進行數據請求時添加一個符號/標識,並指定所需的保證類型(最終確認/建議)。數據提供者在收到請求後提供相應的數據和簽名。如果數據提供者在“建議保證”情況下未能提出區塊,將受到懲罰。

注意:提議的區塊最終將被確定或成為叔區塊。

  • 成本和費用:對於檢查器網絡來說,他們需要抵押一定數量的代幣(大於燃氣費)來向智能合約提交證明。此外,使用零知識證明(ZKP)可以減少與這些證明相關的成本。在保險機制下,輕節點支付的保險費用會給數據提供者,而檢查器網絡則從惡意提供者的被沒收收益中獲得一部分。
  • 數據可用性:數據提供程式本質上是全節點。除了參與共識層網路外,他們還可以驗證數據的可用性。有兩種方案可用於驗證可用性:拉取模型和推送模型。拉取模型涉及輕節點從全節點隨機採樣數據。推送模型涉及區塊生產者將不同的區塊分發給數據提供者。使用拉取模型的數據提供程式負責回應採樣請求。輕節點將接收到的數據轉發給受信任的節點/驗證者,他們試圖重建區塊。如果他們不能,數據提供者將受到處罰。本文提出的輕節點協定引入了一種保險機制,為數據可用性研究提供了新的方向。

摘要和評估

本文提出的輕節點方案為各種情況下的安全需求提供了“可編程安全”。方案一以增加延遲的代價優先考慮更高的安全性,而方案二則使用保險機制為輕節點提供“即時確認”服務。這些方案適用於需要交易確定性的場景,例如原子交易和跨鏈交易。

免責聲明:

  1. 本文轉載自[Eureka合作夥伴]. 所有版權屬於原作者 [安迪、亞瑟]. 如果對此次轉載有異議,請聯繫。Gate.io 學習團隊將會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者自己的觀點,並不構成任何投資建議。
  3. 由 Gate.io 學習團隊負責將文章翻譯成其他語言。未經許可,禁止複製、分發或抄襲已翻譯的文章。

TeleportDAO:平衡數據驗證安全性和效率 —— 輕節點設計的最新實踐

進階Jul 14, 2024
TeleportDAO 和 Eigen Labs 最近共同撰寫了一篇論文,探討輕節點在訪問和驗證 Proof of Stake(PoS)區塊鏈上鏈上數據時面臨的安全性和效率問題。該論文提出了一種新穎的解決方案,通過經濟激勵、保險的預安全機制、可定製的“可編程安全”和成本效益等多種措施,增強了 PoS 區塊鏈中輕節點的安全性和效率。
TeleportDAO:平衡數據驗證安全性和效率 —— 輕節點設計的最新實踐

簡而言之

Teleportdao和Eigen Labs最近發表了一篇論文,重點關注光節點在訪問和驗證鏈上數據時在權益證明(POS)區塊鏈中面臨的安全性和效率挑戰。本文提出了一種新的解決方案,通過經濟激勵、保險預安全機制、可定製的“可程式設計安全性”和成本效益來確保POS區塊鏈中輕節點的安全性和效率。這種創新方法值得進一步研究。注:重質押協定Eigenlayer和Eigenda背後的開發商Eigen Labs已從A16Z,Polychain和Blockchain Capital等知名風險投資公司籌集了超過1.5億美元。Teleportdao總部位於加拿大溫哥華,專注於比特幣和EVM公鏈之間的跨鏈通信基礎設施。該協定通過Coinlist上的公開銷售成功籌集了900萬美元,投資者包括Appworks,OIG Capital,Definancex,Oak Grove Ventures,Candaq Ventures,Ton,Across和Bitsmiley。

輕節點設計問題

目前,在POS(權益證明)區塊鏈中,驗證者通過鎖定一定數量的權益(如乙太坊中的32 ETH)來參與共識網路來確保網路安全。這意味著POS區塊鏈的安全性在經濟上得到了保障:總權益越大,任何試圖攻擊網路的人的成本或潛在損失就越高。這種沒收機制依賴於一種稱為「問責安全」的功能,該功能允許在驗證者簽署衝突狀態時沒收他們的股份。全節點對於維護POS區塊鏈的完整性至關重要。它們存儲所有交易數據,驗證共識簽名,維護完整的交易歷史記錄並執行狀態更新。這些任務需要大量的計算資源和先進的硬體;例如,運行一個完整的乙太坊節點至少需要 2 TB 的 SSD 儲存空間。另一方面,輕節點通過僅存儲區塊頭來減少計算資源需求,使其適用於驗證移動錢包和跨鏈橋等應用中的特定交易/狀態。但是,輕節點在交易驗證過程中依賴於全節點獲取區塊資訊。目前,節點服務提供者的市場份額相當集中,這損害了安全性、獨立性和即時性。本文探討了平衡數據採集成本和延遲的解決方案,以實現輕節點的最佳安全性。

現有輕節點設計方案

比特幣引入了簡單支付驗證(SPV)作為輕節點的協議。SPV允許輕節點使用Merkle證明和區塊標頭驗證交易是否包含在特定區塊中。這意味著輕節點只需要下載區塊標頭以通過檢查區塊的深度來驗證交易的確定性。因此,比特幣中輕節點共識驗證的計算成本相對較低。然而,在類似以太坊的PoS區塊鏈中,共識檢查本質上更加複雜。它們涉及維護整個驗證者集合,跟踪其權益變化,以及對共識網絡進行大量的簽名檢查。此外,PoW輕節點安全性依賴於大多數全節點是誠實的假設。為了克服SPV的限制,Flyclient和非交互式工作證明(Nipopow)為客戶提供了次線性成本證明。然而,這些方法對於PoS共識模型來說效果較差。

在POS區塊鏈中,安全性是通過沒收機制實現的。該系統假設共識參與者是理性的,這意味著如果成本超過任何潛在利潤,他們就不會攻擊網路。為了降低驗證成本,乙太坊目前的輕節點協定使用由512個隨機選擇的驗證者組成的同步委員會,每個驗證者質押32 ETH,但簽名過程不會被沒收。這種非沒收設計存在重大安全漏洞;同步委員會中的不誠實簽名可能會誤導輕節點接受無效數據而不會受到任何懲罰。即使有沒收機制,與龐大的乙太坊驗證者池(截至 2024 年 3 月超過 100 萬)相比,同步委員會的總股份也很小。因此,此方法不會為輕節點提供相當於乙太坊驗證器集的安全性。該模型是理性設置下多方計算的特殊變體,但缺乏經濟保證,無法解決來自惡意、非理性數據提供者的威脅。

為了應對pos引導過程中的安全和效率挑戰,popos引入了一個分段遊戲,以有效地挑戰pos時間的對抗性默克爾樹。同時實現最小的空間要求,避免客戶需要始終在線並維持利益,但允許客戶下線並重新加入網絡而不產生重大成本的問題仍未解決。

另一種研究方法使用零知識證明創建簡潔證明。例如,Mina和Plumo使用遞歸SNARK組合和基於SNARK的狀態轉換證明實現輕量級共識驗證。然而,這些方法對於生成證明對區塊生產者施加了重大的計算負擔,並且沒有解決補償輕節點可能損失的問題。在其他POS協議(如Cosmos中的Tendermint協議)中,輕節點的角色已經在它們的跨區塊鏈通信(IBC)協議中得到了探索。但是,這些實現是針對其特定的生態系統量身定制的,並不適用於以太坊或其他POS區塊鏈。

設計一個新的輕節點計畫

一般而言,新計劃包含一個經濟安全模塊,實現“可編程安全”,使輕節點可以根據其特定的安全要求選擇不同的設計。安全假設遵循1/n + 1/m原則,這意味著只要在完整節點網絡和檢查節點網絡中至少有一個誠實且有效的節點,網絡就可以正常運作。

涉及的模組/角色

  • 區塊鏈: 該協議建立在可編程的區塊鏈上,具有針對區塊最終性的定義規則。例如,在以太坊區塊鏈上,一個區塊在至少兩個後續時期後被認為是最終的,通常需要大約13分鐘。
  • 喪失智能合約:該協議包括一個遵循標准智能合約抽象的鏈上喪失合約。它可以訪問區塊鏈中前一個區塊的區塊哈希。所有參與方都可以向此合約發送信息。
  • 數據提供商:數據提供商運行完整節點並跟踪區塊鏈的最新狀態。他們承諾資產並提供服務,以驗證輕節點請求的狀態的有效性。他們使用與其公鑰對應的密鑰對所有發送到輕節點的數據進行簽名,確保數據的來源和完整性。
  • 檢查員:檢查員是連接到輕節點的完全節點,有助於驗證數據。任何人都可以成為檢查員,通過監控和懲罰行為不端的方​​式來獲得獎勵。為了簡單起見,以下計劃假設每個輕節點至少連接到一個誠實的檢查員。
  • 輕節點:輕節點旨在以最小成本驗證特定狀態/交易是否包含在區塊鏈中。在驗證過程中,它們與一組數據提供者和檢查員建立連接。
  • 網絡: 數據提供者形成點對點(p2p)網絡,並使用傳聞協議傳播數據。輕節點連接多個數據提供者發送請求並接收回應。

計劃1:首要安全

計劃1旨在通過挑戰期和檢查員網絡確保數據的可靠性。簡而言之,當輕節點收到由提供者簽名的數據後,它將此數據轉發給檢查員網絡進行審查。如果在指定期限內檢測到任何欺詐數據,檢查員將通知輕節點該數據不可靠,智能合約的沒收模組將從數據提供者那裡沒收抵押的代幣。否則,輕節點可以信任數據的可靠性。輕節點請求數據的具體過程如下:

  1. 輕節點從當前網絡獲取最新的數據提供者列表,並設置挑戰期。請注意,每個輕節點的挑戰期是獨立的,但有一個最大的挑戰期適用於所有輕節點。挑戰期是檢查網絡驗證數據可靠性的最長時間,因此挑戰期越長,單個交易的延遲時間就越長。
  2. 獲取列表後,輕節點選擇一組數據提供者,並確保其存入的資金超過當前交易的價值。理論上,存入的資金越高,數據提供者惡意行為的成本就越高,輕節點的信任成本就越低。
  3. 輕節點向這組數據提供者發送數據請求,包括區塊號和目標狀態(交易的包含證明)。
  4. 數據提供者回應相應區塊的哈希和交易包含證明,以及他們的簽名。
  5. 當輕節點接收到這些信息時,它將其轉發到連接的檢查器網絡。如果在挑戰期結束時未收到任何數據可靠性警告,輕節點將驗證簽名,如果正確,確認數據的可靠性。

  1. 然而,如果從檢查者網絡收到警告,輕節點必須捨棄先前接收的簽名。檢查者網絡將向智能合約的喪失模塊提交證據。如果智能合約驗證出惡意活動,數據提供者的股份將被沒收。由於一些或所有選定的數據提供者已被處罰,輕節點需要從當前網絡獲取新的數據提供者列表來確認喪失事件。

其他要點:

  • 任何完整節點都可以通過向智能合約提交“註冊”和“提款”請求來加入或離開數據提供者網絡。加入數據提供者網絡需要最低鎖定要求。一旦完整節點發起提款,其狀態變為“已離開”,將不再接收輕節點的請求,以防止快速進出的惡意行為。此外,數據提供者網絡定期更新活躍提供者列表。在此期間,數據提供者無法提款,提款請求將在當前更新期結束時生效。更新頻率高於最大挑戰期,以確保完成所有輕節點數據可用性測試。由於網絡的活動,輕節點需要在每個更新週期獲取新的活躍提供者列表。如果更新週期延長,輕節點可以享受更簡單的驗證過程(通過估計基於以前的“註冊”和“提款”請求的活躍列表),但希望離開的節點將面臨更長的等待時間。
  • 當檢查器網絡收到數據簽名時,它會檢查簽名是否屬於數據提供者,以及數據是否在共識網絡中“最終確認”。如果數據未出現在有效鏈上,有兩種可能性。首先,數據尚未在區塊鏈上最終確認,因為不同的鏈具有不同的最終性規則,例如最長鏈原則。其次,交易位於另一個有效鏈的區塊中。如果數據是欺詐性的,檢查器網絡將向智能合約發送喪失請求,包括數據提供者的公鑰、簽名和區塊編號,以及喪失事件的證據,以通知輕節點。智能合約將使用共識層的最終性原則將當前確認的區塊編號與收到的數據進行比較。如果它們不匹配,將觸發喪失事件。此外,如果數據提供者在被輕節點選擇後因另一組數據請求而受到懲罰,檢查器網絡將及時通知輕節點數據提供者的可靠性降低,促使輕節點獲取新列表並選擇其他提供者。

評估:

  • 安全性:輕節點使用權益模組和檢查者網路來確定理性和非理性數據提供者惡意行為的成本,從而提高數據的可靠性。然而,由於整個協議是基於共識網路(在本文中在以太坊上進行測試),如果共識層受到攻擊,該協議也將面臨潛在的信任危機。因此,在極端情況下可以引入聲譽機制以確保系統的安全性。
  • 全節點級別的安全性:這個解決方案旨在提供與以太坊的POS相等的安全性假設,這意味著如果全節點做出虛假陳述,它們必須承擔喪失風險。
  • 網絡活動:如果當前網絡只有幾個合理的數據提供者,輕節點將經歷多輪延遲。但是,由於每個數據提供者的吞吐量不為零,每個請求仍然可以完成。因此,只要網絡中有一個合理的全節點,它就可以繼續運作。此外,由於數據提供者的收入與其抵押金額掛鉤,這鼓勵全節點過度抵押以保護網絡。
  • 效率:作者估計以太坊驗證者將成為主要參與者作為數據提供者,因為他們已經運行完整節點並且可以通過該協議獲得額外收入。小額交易可能從單個數據提供者處獲得可靠數據(輕節點僅需一次驗證),而大額交易可能需要多個數據提供者獲得可靠數據(驗證次數隨提供者數量成線性增加)。

計劃2:優先考慮效率

計劃2在計劃一的基礎上引入了一種快速數據確認的保險機制。簡而言之,輕節點根據保單金額和期限確定保險,部分或全部數據提供者的股份可以用來補償輕節點因惡意數據而造成的任何後續損失。這使得輕節點在接收並驗證來自提供者的數據簽名後能夠立即建立數據的初始可信度。輕節點請求數據的具體流程如下:

  1. 輕節點計算當前交易的潛在最大損失,然後設置政策金額和期限。數據提供者在保險中抵押的資金應超過政策金額,以確保足夠的補償。
  2. 輕節點確定交易的挑戰期。 值得注意的是,政策期可以涵蓋多筆交易的包含檢查,因此輕節點選擇的總挑戰期不能超過政策期;否則,某些交易可能無法得到保證。
  3. 在選擇參數(保單金額、保單期限、數據提供者在保險中抵押的資金金額和數據提供者意圖列表)後,輕節點向智能合約發送請求。等待區塊的最終確認時間後,它驗證保險購買是否成功。如果失敗,可能是因為其他輕節點也選擇了相同的數據提供者並先行解決,導致剩餘押注不足以滿足原始需求。
  4. 輕節點發送一個數據請求,其中包括區塊號、目標狀態(交易的包含證明)和保險號。
  5. 資料提供方傳送資料和簽名後,輕節點進行驗證並轉發至檢查器網路。交易隨後被初步確認。
  6. 在收到數據和簽名後,檢查員首先驗證數據的可信度。如果檢測到惡意行為,將證據提交給智能合約,並對應的數據提供者進行懲罰,罰款將分配給輕節點。

其他注意事項:

  • 保險中數據提供者抵押的代幣對於不同輕節點請求是獨立的,以防止多次保險賠償的風險。一旦輕節點選擇了一個數據提供者,智能合約將鎖定保險中對應的抵押代幣,其他輕節點在政策期滿之前無法分配此抵押。如果交易是獨立的,保單金額等於最大交易金額。如果交易不是獨立的,保單金額等於總交易金額。在相同的抵押金額下,輕節點通常會選擇尽可能少的數據提供者以確保驗證效率。
  • 數據提供者可以在保險期結束之前發起“提款”請求,但提款金額只能在保單期結束後收到。
  • 嚴格來說,政策期應該比區塊的最終確認時間+總挑戰期+通信延遲+計算/驗證延遲更長。選擇的數據提供者越多,根據總挑戰期需要的政策期就越長。

評估:

  • 可擴展性:方案二的可擴展性取決於數據提供者願意在保險中押注的代幣總量。
  • 政策成本:由於較高的安全水平與挑戰期相關,數據提供者必須抵押的時間等於或長於挑戰期。因此,更高的安全要求導致更長的抵押期和輕節點的更高成本。在公式術語中,數據提供者的抵押成本計算為數據提供者節點收入 /(平均年度抵押利用率乘以每年的總塊數)。輕節點需要支付的價格是抵押成本乘以政策期限和政策規模。

計劃效果

首先,關於輕節點的計算效率,兩個輕節點方案均顯示毫秒級的驗證效率(輕節點只需驗證數據一次)。其次,關於輕節點的延遲,在不同的實驗配置下(如下圖所示),延遲也在毫秒級。值得注意的是,延遲隨著數據提供者的數量呈線性增長,但始終保持在毫秒級。此外,在方案一中,由於輕節點需要等待挑戰期結果,延遲為 5 小時。如果檢查器網絡足夠可靠和高效,這 5 小時的延遲可以大大減少。

第三,在輕節點成本方面,在實踐中,輕節點會產生兩個主要成本:燃氣費和保險費,這兩者都會隨著保單金額增加。此外,對於檢查員來說,提交數據所涉及的燃氣費將會由被沒收的金額報銷,以確保足夠的參與激勵。

擴張方向

  • 更多抵押品:目前,數據提供者抵押以太幣代幣,但交易信息是以美元計算的。這要求輕節點在獲取數據時每次評估以太坊的匯率,以確保足夠的抵押品。允許多種代幣進行抵押將為數據提供者提供更多選擇,並減少與單一貨幣相關的風險。
  • 授權: 類似於聯合挖礦,一些零售投資者可以授權他們的eth給完整節點,以參與數據提供者網絡,收益根據他們的協議分配,類似於lsd。
  • 區塊保證:為了避免在以太坊上等待最終確認期(12-13秒),輕節點可以使用保證來減少等待時間。輕節點在進行數據請求時添加一個符號/標識,並指定所需的保證類型(最終確認/建議)。數據提供者在收到請求後提供相應的數據和簽名。如果數據提供者在“建議保證”情況下未能提出區塊,將受到懲罰。

注意:提議的區塊最終將被確定或成為叔區塊。

  • 成本和費用:對於檢查器網絡來說,他們需要抵押一定數量的代幣(大於燃氣費)來向智能合約提交證明。此外,使用零知識證明(ZKP)可以減少與這些證明相關的成本。在保險機制下,輕節點支付的保險費用會給數據提供者,而檢查器網絡則從惡意提供者的被沒收收益中獲得一部分。
  • 數據可用性:數據提供程式本質上是全節點。除了參與共識層網路外,他們還可以驗證數據的可用性。有兩種方案可用於驗證可用性:拉取模型和推送模型。拉取模型涉及輕節點從全節點隨機採樣數據。推送模型涉及區塊生產者將不同的區塊分發給數據提供者。使用拉取模型的數據提供程式負責回應採樣請求。輕節點將接收到的數據轉發給受信任的節點/驗證者,他們試圖重建區塊。如果他們不能,數據提供者將受到處罰。本文提出的輕節點協定引入了一種保險機制,為數據可用性研究提供了新的方向。

摘要和評估

本文提出的輕節點方案為各種情況下的安全需求提供了“可編程安全”。方案一以增加延遲的代價優先考慮更高的安全性,而方案二則使用保險機制為輕節點提供“即時確認”服務。這些方案適用於需要交易確定性的場景,例如原子交易和跨鏈交易。

免責聲明:

  1. 本文轉載自[Eureka合作夥伴]. 所有版權屬於原作者 [安迪、亞瑟]. 如果對此次轉載有異議,請聯繫。Gate.io 學習團隊將會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者自己的觀點,並不構成任何投資建議。
  3. 由 Gate.io 學習團隊負責將文章翻譯成其他語言。未經許可,禁止複製、分發或抄襲已翻譯的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!