特別感謝Micah Zoltu,Toni Wahrstätter,Justin Traglia和pcaversaccio的討論
增加L1燃氣限制最常見的批評,除了對網路安全的擔憂外,還包括增加全節點運行的難度。
特別是在關注路線圖的背景下拆分完整節點,解決這個問題需要了解完整節點的作用。
在歷史上,人們認爲完整節點用於驗證鏈;請參閱這裏對於我自己對普通用戶無法驗證可能發生的情況的闡述。如果這是唯一的問題,那麼ZK-EVMs可以解鎖L1擴展:唯一的限制是保持區塊構建和證明成本足夠低,以至於兩者都能保持1-of-n無需審查且競爭激烈的市場。
然而,實際上這並不是唯一的關注點。另一個主要關注點是:擁有一個完整節點是很有價值的,這樣你就可以擁有一個本地的RPC服務器,可以以一種不受信任、抗審查和注重隱私的方式讀取鏈。本文將討論對當前L1擴展路線圖的調整,從而實現這一目標。
我上個月發布的隱私路線圖側重於TEE + ORAM作爲短期補丁加PIR作爲長期解決方案。 這與Helios和ZK-EVM驗證一起,將允許任何用戶連接到外部RPC,並完全確信(i)他們獲得的鏈是正確的,以及(ii)他們的數據隱私受到保護。因此,值得問的問題是:爲什麼不就此結束呢?這些先進的加密解決方案難道不會使自托管節點成爲過時的遺跡嗎?
這裏我可以給出一些回復:
基於這些原因,繼續確保更輕鬆地運行個人節點是有價值的。
一旦我們啓用無狀態驗證,就有可能運行一個支持RPC的節點(即一個存儲狀態的節點),而無需存儲狀態Merkle分支。這進一步將存儲要求減少約2倍。
這是一個新的想法,將成爲允許個人節點操作的關鍵,即使在 L1 氣體限制增長10-100倍的情況下。
我們添加了一個節點類型,該節點無狀態地驗證區塊,並驗證整個鏈(通過無狀態驗證或ZK-EVM),並保持狀態的一部分是最新的。只要所需數據在狀態的子集內,該節點就能夠響應RPC請求;其他請求將失敗(或者必須回退到外部托管的加密解決方案;是否這樣做應該由用戶決定)。
partial_statelessness.drawio776×341 19.9 KB
要持有的狀態確切部分將取決於用戶選擇的配置。一些例子可能是:
配置可以由鏈上合約管理:用戶將運行其節點並使用—save_state_by_config 0x12345…67890,地址將以某種語言指定地址列表、存儲槽或其它過濾狀態區域,節點將保存並保持最新。請注意,用戶無需保存默克爾分支;他們只需要保存原始值。
這種類型的節點將爲用戶提供直接本地訪問所需關心的狀態的好處,以及對該狀態的最大全面隱私訪問。
Compartir
特別感謝Micah Zoltu,Toni Wahrstätter,Justin Traglia和pcaversaccio的討論
增加L1燃氣限制最常見的批評,除了對網路安全的擔憂外,還包括增加全節點運行的難度。
特別是在關注路線圖的背景下拆分完整節點,解決這個問題需要了解完整節點的作用。
在歷史上,人們認爲完整節點用於驗證鏈;請參閱這裏對於我自己對普通用戶無法驗證可能發生的情況的闡述。如果這是唯一的問題,那麼ZK-EVMs可以解鎖L1擴展:唯一的限制是保持區塊構建和證明成本足夠低,以至於兩者都能保持1-of-n無需審查且競爭激烈的市場。
然而,實際上這並不是唯一的關注點。另一個主要關注點是:擁有一個完整節點是很有價值的,這樣你就可以擁有一個本地的RPC服務器,可以以一種不受信任、抗審查和注重隱私的方式讀取鏈。本文將討論對當前L1擴展路線圖的調整,從而實現這一目標。
我上個月發布的隱私路線圖側重於TEE + ORAM作爲短期補丁加PIR作爲長期解決方案。 這與Helios和ZK-EVM驗證一起,將允許任何用戶連接到外部RPC,並完全確信(i)他們獲得的鏈是正確的,以及(ii)他們的數據隱私受到保護。因此,值得問的問題是:爲什麼不就此結束呢?這些先進的加密解決方案難道不會使自托管節點成爲過時的遺跡嗎?
這裏我可以給出一些回復:
基於這些原因,繼續確保更輕鬆地運行個人節點是有價值的。
一旦我們啓用無狀態驗證,就有可能運行一個支持RPC的節點(即一個存儲狀態的節點),而無需存儲狀態Merkle分支。這進一步將存儲要求減少約2倍。
這是一個新的想法,將成爲允許個人節點操作的關鍵,即使在 L1 氣體限制增長10-100倍的情況下。
我們添加了一個節點類型,該節點無狀態地驗證區塊,並驗證整個鏈(通過無狀態驗證或ZK-EVM),並保持狀態的一部分是最新的。只要所需數據在狀態的子集內,該節點就能夠響應RPC請求;其他請求將失敗(或者必須回退到外部托管的加密解決方案;是否這樣做應該由用戶決定)。
partial_statelessness.drawio776×341 19.9 KB
要持有的狀態確切部分將取決於用戶選擇的配置。一些例子可能是:
配置可以由鏈上合約管理:用戶將運行其節點並使用—save_state_by_config 0x12345…67890,地址將以某種語言指定地址列表、存儲槽或其它過濾狀態區域,節點將保存並保持最新。請注意,用戶無需保存默克爾分支;他們只需要保存原始值。
這種類型的節點將爲用戶提供直接本地訪問所需關心的狀態的好處,以及對該狀態的最大全面隱私訪問。