解釋 SCP:匯總公式之外的無信任基礎設施範式

作者:吳越,極客Web3

簡介:本文將前瞻性地介紹一個看起來有點特立獨行的 Web3 基礎設施設計範式——存儲共識範式 SCP(基於存儲的共識範式),雖然這個產品設計模式理論上與乙太坊匯總等主流模組化區塊鏈解決方案有很大不同,但在落地簡單和與 Web2 平臺連接難度上,可行性非常高 因為他從一開始就不打算把自己局限在像 Rollup 這樣狹窄的實現路徑上,所以他想用一個更廣泛、更開放的框架來將 Web2 平臺與 Web3 基礎設施合併,可以說是一種開腦洞大開、富有想像力的方法。 簡介:本文將前瞻性地介紹一個有點特立獨行的 Web3 基礎設施設計範式 - 存儲共識範式 (SCP) 雖然這種產品設計模式在理論上與乙太坊 Rollup 等主流模組化區塊鏈解決方案有很大不同,但在實現簡單、與 Web2 平臺對接難度方面是非常可行的,因為他從一開始就不打算將自己局限在 Rollup 這樣狹窄的實現路徑上,而是想將 Web2 平臺和 Web3 設施與更廣泛、更開放的框架進行整合,可以說是一種開腦洞大開、富有想像力的方法。

解读SCP:跳出Rollup定式的去信任化基础设施范式

正文:讓我們想像一個具有以下特徵的公鏈擴容方案:

  • 它的速度可與傳統的 Web2 應用程式或交易所相媲美,遠遠超過任何公鏈、L2、匯總、側鏈等。 *沒有汽油費,使用成本幾乎為零。
  • 資金安全性高,遠超交易所等中心化設施,不如Rollup但大於或等於側鏈。
  • 與 Web2 相同的用戶體驗,無需了解區塊鏈的公鑰和私鑰、錢包、基礎設施等。

這個解決方案確實非常令人興奮:一方面,它基本實現了擴展的極致,另一方面,它為Web3的大規模採用奠定了堅實的基礎,基本上消除了Web2和Web3體驗之間的差距。

但是,我們似乎想不出很多解決方案可以如此完整,因為主流討論和實踐實在太少了。

我們用了上面非常熟悉的擴容話題作為介紹,其實**SCP並不局限於擴容,**其設計靈感確實來自比特幣、乙太坊等公鏈擴容解決方案和社區討論。 其願景和實際應用是構建新一代的Trustless基礎設施,甚至是具有非區塊鏈結構的計算平臺。 **

SCP 基本元件及其工作原理

一般來說,SCP也像乙太坊和Celestia社區所說的“模組化區塊鏈”,有數據可用性層、執行層、共識層、結算層等模組。

數據可用性層:由廣泛認可和經過驗證的公鏈承擔,或存儲設施作為數據可用性層,如乙太坊、Arweave、Celestia等。 執行層:接收和執行使用者事務,並將用戶簽名的交易數據批量提交到 DA 層的伺服器,類似於 Rollup 的排序器。 但是,執行層不必具有區塊鏈式的鏈表結構,它可以完全是Web2資料庫+計算系統,但整個計算系統必須是開源和透明的。 共識層:由一組節點組成,將執行層提交到DA層的數據拉取,並使用與執行層相同的演演演算法對數據進行計算,以確認執行層的結果輸出是否正確,可以作為執行層的防災冗餘。 使用者還可以在共識層讀取每個節點返回的數據,確保執行層不存在欺詐行為。 結算層:由鏈上的一組節點和其他合約或地址組成,用於處理使用者存入SCP或退出SCP的行為,有點類似於跨鏈交互橋的操作模式。 結算層節點通過多重簽名合約或基於TSS的位址控制存款位址的提現功能。 入金時,使用者將資產存入鏈的指定位址,提現時發送請求,結算層節點通過多重簽名或TSS讀取數據並釋放資產。 結算層的安全程度取決於所採用的跨鏈交互機制。

SCP的實踐框架

SCP範式可以通過以下框架來理解。 滿足SCP框架的產品可以具有存款、轉帳、取款、掉期等主要功能,並可在此基礎上進一步擴展。 下圖是此類產品的示意圖:

解读SCP:跳出Rollup定式的去信任化基础设施范式

*專案的DA層使用永久存儲設施Arweave,這是圖中的大圓圈。 協調器,即執行層。 **使用者將事務提交給協調器,協調器執行計算並呈現結果,然後將使用者的原始輸入數據批量提交到 DA 層。 檢測器,從 Arweave 中提取協調器提交的原始事務數據,並使用與協調器一致的演演演算法驗證數據和結果。 檢測器用戶端也是開源的,可以由任何人運行。

  • **守望者,一組負責提款系統多重簽名的探測器。 **提款請求根據交易數據進行驗證和發佈。 此外,守望者還負責簽署提案。

我們可以看到整個系統,他們實現的共識都是鏈下,這是存儲共識範式的核心——它摒棄了區塊鏈式的 NodeConsensus 系統,讓執行層擺脫了繁重的共識溝通和確認過程,只需要做一個伺服器的工作,從而實現幾乎無限的 TPS 和經濟性。 這與 Rollup 非常相似,但 SCP 採取了與 Rollup 不同的路徑,試圖從特定於規模的用例轉向從 Web2 到 Web3 的新過渡模型。 **

上面提到的協調器是一個伺服器,但這並不意味著協調器可以做任何他想做的事情。 與 Rollup 的排序器類似,在將使用者提交的原始數據批量提交給 Arweave 後,任何人都可以運行測試程式對其進行驗證,並將其與協調器返回的狀態進行比較。 在某種程度上,這與銘文的應用是相同的想法。 **

在此體系結構中,集中式伺服器或資料庫不會構成根本挑戰。 這是SCP範式的另一點,它綁定和解耦了“中心化”和“單一實體”這兩個概念——**在一個去信任的系統中,可以有中心化的元件,**甚至是一個核心的元件,但這並不影響整體的去信任。

解读SCP:跳出Rollup定式的去信任化基础设施范式

我們可以喊出這樣的口號——“下一代去信任基礎設施不必依賴共識協定,而應該是開源系統和P2P節點網络”。

人們發明和使用區塊鏈的初衷是去信任,帳本是一致的、不可偽造的、可追溯的等陳詞濫調的基本原理,這在比特幣白皮書中都有明確說明。 但在乙太坊之後,無論是舊公鏈的擴容方案,還是 Rollup 或模組化區塊鏈,大家都形成了一種心態:我們做的一定是區塊鏈(由節點的共識協議組成),還是 Rollup,看似是鏈式解決方案(只有區塊鏈數據結構,但節點沒有直接的共識消息交換)。

但現在,基於SCP的框架,即使不是區塊鏈,也可以實現無信任、一致帳本、非偽造、可追溯等一系列需求,當然前提是有更明確的實現細節。

執行層

執行層在整個系統中至關重要,它承擔著整個系統的計算過程,也決定了系統上可以運行什麼樣的應用程式。

無限可能的執行環境

從理論上講,執行層中的執行環境可以以任何形式製作,並且可能性是無窮無盡的,這取決於專案團隊如何定位其專案:

*交換。 基於SCP,可以構建一個開放、透明、高TPS的交易所,既能具備CEX速度、零成本的特點,又能保持DEX的去中心化。 CEX和DEX之間的區別在這裡變得模糊。 *支付網路。 類似於支付寶、貝寶等。 *支援虛擬機/區塊鏈載入器/合約。 任何開發人員都可以在其上部署任何應用程式,與其他程式共用所有用戶數據,並根據使用者的指示進行操作。

SCP是一種支援任意執行環境的設計模式,它有其獨特的優勢:它不再需要依賴某些帶有歷史包袱的元件,尤其是乙太坊社區創建的“帳戶抽象”概念,這對SCP來說本質上是不可取的。

在 SCP 架構下,沒有帳戶抽象的概念——您可以自由採用 Web2 標準帳戶和區塊鏈帳戶。 從這個角度來看,許多成熟的 Web2 用例不需要重新考慮和構建以直接在 SCP 上工作。 這可能是SCP相對於匯總的優勢。 **

解读SCP:跳出Rollup定式的去信任化基础设施范式

透明度和不對稱

上面提到的賬戶系統,敏感的讀者應該已經注意到,雖然SCP可以利用Web2的賬號系統,但按原樣使用似乎有問題。

由於整個系統是完全透明的,直接使用使用者到伺服器的交互模型會導致嚴重的問題,導致根本沒有安全性。 讓我們回顧一下傳統的伺服器使用者模型是如何工作的:**

  1. 帳號註冊:使用者在應用的註冊頁面輸入使用者名和密碼。 為了保護用戶的密碼,伺服器在收到密碼后會通過哈希函數處理密碼。 為了增加散列的複雜性並防禦彩虹表攻擊,每個用戶的密碼通常連接到隨機生成的字串串(稱為“鹽”)並散列在一起。 **使用者名、鹽、哈希值以明文形式存儲在服務提供者的資料庫中,不公開。 但即便如此,還是要加鹽和安全處理,一個是為了防止內部鬼魂,一個是為了防止襲擊。

解读SCP:跳出Rollup定式的去信任化基础设施范式

  1. 使用者登錄:使用者在登錄表單上輸入使用者名和密碼。 系統將處理后的密碼哈希與存儲在資料庫中的哈希值進行比較。 如果兩個哈希匹配,表明使用者提供了正確的密碼,則登錄過程將繼續。

3、操作認證:登錄驗證通過後,系統會為用戶創建會話。 通常,會話資訊存儲在伺服器上,並且伺服器向使用者的瀏覽器或應用程式發送標識碼(例如,或令牌)。 使用者不再需要在下一步中重新輸入使用者名和密碼:瀏覽器或應用程式保存標識碼並將標識碼附加到每個請求,指示他們具有關聯伺服器的許可權。

讓我們回顧一下典型的 Web3 區塊鏈-使用者交互系統:

1.帳戶註冊:幾乎沒有帳戶註冊過程,也沒有使用者名密碼系統。 帳戶(位址)不需要註冊,它自然存在,誰持有其私鑰誰就控制帳戶。 私鑰由錢包在本地隨機生成,不涉及網路過程。

2.用戶登錄:使用區塊鏈不需要登錄,大多數dApp沒有登錄流程,而是連接到錢包。 一些dApp會要求使用者在連接到錢包后進行簽名和驗證,以確保用戶確實持有私鑰,而不僅僅是將錢包位址傳遞給前端。

3、操作認證:使用者直接向節點提交簽名數據,節點驗證后將交易廣播到整個區塊鏈網路,滿足區塊鏈網路共識后確認使用者操作。

兩種模式之間的差異是由對稱性和不對稱性引起的。 在伺服器-用戶體系結構中,雙方都持有相同的機密。 在區塊鏈用戶架構中,只有使用者持有機密。

雖然SCP的執行層不能是區塊鏈,但所有數據都需要同步到公開可見的DA層,因此SCP使用的登錄和操作的認證方式必須是非對稱的。 但是,由於我們不希望出現影響大規模採用的繁瑣操作和不良體驗,例如讓使用者保留私鑰和使用錢包,因此基於SCP構建的應用程式也強烈需要使用傳統的ID密碼或OAuth三方身份驗證登錄,那麼如何將兩者結合起來呢?

由於非對稱密碼學和零知識證明對的非對稱性質,我設想了兩種可能的情況:

  • 如果要使用ID密碼系統,可以將此密碼儲存模組保留在SCP之外,以便其他人看不到它。 SCP執行層仍然使用區塊鏈的公鑰和私鑰帳戶和操作邏輯,無需註冊、登錄等。 使用者的ID實際上對應於私鑰。 **當然,這個私鑰不能保留在專案端,更可行的解決方案是使用 2-3 MPC 來解決集中存儲的問題,同時不允許使用者使用私鑰。 當依賴OAuth登錄時,JWT(Json Web Token)可以用作身份驗證手段。 **這種方法會比上面稍微集中一些,因為它本質上需要依靠 Web2 製造商提供的第三方登錄服務作為身份驗證。

解读SCP:跳出Rollup定式的去信任化基础设施范式

  • 首次使用第三方登錄時,請在 JWT 中註冊代表使用者身份和系統中服務提供者身份的欄位。 在使用者後續操作中,操作指令作為公共輸入,JWT作為一個整體作為秘密見證來驗證每個使用者與ZKP的交易。

每個 JWT 都有一個到期日期,使用者下次登錄時會申請新的 JWT,因此無需永久保留。 此外,這個系統還需要依靠JWK,可以理解為大廠提供的公鑰來驗證JWK。 所以如何將JWK去中心化輸入到系統中,以及未來如何處理私鑰輪換,也值得探索。

無論哪種方式,開發和計算都比傳統方法更昂貴,但這也是去中心化付出的必要代價。 **當然,如果專案組不認為最終的去中心化是必要的,或者在不同的發展階段有不同的里程碑,那麼有這些設計是可以的,因為去中心化不是非黑即白的,而是中間有一個灰色地帶。

隱私

上面提到的透明度問題不僅會影響使用者的交互範式,還會影響用戶的數據。 用戶的數據是直接公開的。 雖然這在區塊鏈中不是問題,但在某些應用程式中不是很可以接受,因此開發人員也可以構建私有交易系統。

收費

執行層如何收費是另一個關注點。 這是因為向 DA 層提交數據也會產生相關成本,包括其自身伺服器的操作。 傳統區塊鏈向使用者收取gas費用的第一個核心目的是避免使用者刷卡大量重複交易來擾亂交易網路,第二個核心目的是根據gas對交易進行排序。 Web2 沒有類似的問題,所以只有洪水和 DDoS 等基本概念。

執行層可以自定義各種充電策略,比如完全免費或部分充電,也可以變現其他行為,比如MEV(在音序器中已經非常成熟)、營銷活動等。

抗審查

執行層不抗審查,理論上可以無限期地拒絕使用者的交易。 在 Rollup 中,L1 合約的強制聚合功能可以保證抗審查性,而側鏈或公鏈是一個完整的分散式區塊鏈網路,也很難審查。

**目前沒有明確的解決方案來解決審查阻力問題,這是SCP範式的問題。 **

共識層

該層由鬆散節點組成,這些節點並不主動形成網路,因此嚴格來說並不是共識層,而只是用於向外界(如使用者)確認執行層的當前狀態。

例如,如果您對這些節點的健康狀態有疑問,可以下載其檢測器用戶端,該用戶端運行與協調器相同的程序代碼。 **

但是,這與 Rollup 類似,因為數據是批量提交的,因此執行層始終向使用者返回比 DA 層更新的狀態。 這涉及預確認問題:

執行層給使用者預確認和軟終結的結果,因為還沒有提交到DA層;

** 共識層為使用者提供了硬性。 使用者可能並不特別關心這一點,但對於跨鏈交互橋等應用,必須遵循硬終結性。 例如,交易所的存款和取款系統不會信任 Rollup 序列化器在鏈下廣播的數據,並且必須等待這些數據上傳到乙太坊才能被識別。

除了用於確認結果外,共識層還起著重要作用,那就是作為執行層的災難冗餘。 **如果執行層永久罷工並造成嚴重弊端,此時,理論上任何共識層都可以接管執行層的工作並接收使用者請求。 如果發生如此嚴重的情況,社區應該選擇一個穩定可靠的節點作為執行層的伺服器。

沉降層

由於SCP不是Rollup,因此它無法在沒有像Rollup的提款結算層那樣人工干預的情況下完全基於密碼學和智慧合約代碼實現無信任提款。 SCP跨鏈交互橋與側鏈或第三方見證跨鏈交互橋相同,需要依靠授權的多重簽名管理器來釋放資產,我們稱之為見證模型。

解读SCP:跳出Rollup定式的去信任化基础设施范式

見證橋盡可能去中心化是許多跨鏈交互研究的主題。 由於篇幅所限,這裡就不展開了。 一個設計良好的SCP平臺還必須在實踐中擁有信譽良好的去中心化橋多重簽名合作夥伴。

**有人可能會問為什麼SCP不使用帶有智慧合約的鏈作為DA層?**這可以創建一個提供合約並且完全不信任的結算層。

從長遠來看,只要克服一些技術難點,如果將DA層放在乙太坊等合約的DA層,並搭建相應的驗證合約,SCP也可以獲得與Rollup相同的結算安全,而不需要使用多重簽名。

但在實踐中,這不一定是最佳的:**

1.乙太坊不是專門用於數據保存的,與純數據存儲公鏈相比,價格太高了。 對於SCP範式,足夠低或固定的存儲成本至關重要。 只有這樣,才能支援 Web2 級輸送量。

2.證明系統很難開發,因為SCP不僅可以類比EVM,還可以實現任何邏輯。 ** 看看像 Optimism 這樣的團隊仍然沒有在線進行欺詐證明,以及 zkEVM 開發的難度,我們可以想像,在乙太坊上實現各種系統的證明是極其困難的。

因此,Rollup 解決方案僅在特定情況下更實用,如果您計劃實施一種更廣泛、更開放的方法,從 EVM 系統轉向更多的 Web2 功能,乙太坊匯總的想法是不合適的。

**SCP 不是公鏈擴容方案,而是更大的 Web3 計算平台架構,因此顯然沒有必要遵循乙太坊第 2 層的思想。 **

將SCP與其他範式進行比較的圖表

解读SCP:跳出Rollup定式的去信任化基础设施范式

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)