本文作者:Patrick McCorry
加密貨幣正在引領一場數據庫技術的範式轉移
加密貨幣的基石就是數據庫。它記錄著所有用戶賬戶的餘額、智能合約的代碼和狀態。
任何的用戶操作最終都會通過執行交易與更新數據庫的形式反映出來。
“Web2”數據庫技術的問題都在於使它得以運作的信任上。它依賴於一個可信第三方來維護和保護數據庫。
如果這些第三方掉線了,那麼對數據庫的所有訪問都會被中斷。如果他們在更新數據庫時出了錯,那麼這個錯誤可能一直不被發現。
為了建立起公眾對數據庫的信心,可以僱傭審計員,通過回溯檢查數據庫更新的有效性(不是一項簡單的任務)以證明數據完整性。
一組開放成員制的參與者群體可能可以取代一個可信第三方,這也是加密貨幣正在引領數據庫技術範式轉移(“Web3”) 的原因。
它允許願意貢獻資源的任何人進行讀取、寫入、審計,並最終保護數據庫的完整性和內容。這個群體可以實時檢查數據庫的更新,也使得他們可以立刻拒絕錯誤,並在更新後馬上發現錯誤。
開放成員制的群體是這種範式轉移的基礎,它可以分為兩種角色:
-
提議者:可以提議更新數據庫的主體。
-
驗證者:可以檢查更新數據庫提議有效性的主體。
參與的思維模式與加密協議類似,其中一組參與方(提議者)想要證明一個聲明是正確的,而另一組參與方(驗證者)必須在接受它前檢查它的正確性。這種互動的過程會在數據庫的每一次更新時不斷重複。
然而,如何實現開放成員制群體需要提出幾個重要問題:
-
誰是提議者?我如何變成一位提議者?這個群體的規模需要多大?
-
誰是驗證者?我需要註冊嗎?這個群體的規模需要多大?
-
我們如何在接受一個更新上達成共識?
這個系統的架構以及它對數據庫安全的根本意義將回答上述問題。我們探討L1 和L2 的架構,最終的目標是幫助讀者建立一種良好的思維模式。
L1 的思維模式
L1 的數據庫必須為經濟上的大多數(“世界”)所接受
在L1 的系統中,可信第三方被公共共識所替代。
其目的在於讓所有參與者同意數據庫的更新。這就需要一組能被各方客觀遵循的共同規則(“共識規則”)。
這些規則用來證明數據庫更新的有效性。一個或更多的提議者可以提議一個競爭性的更新,但最終所有參與者收斂於數據庫的一個更新和關於數據庫內容的一個事實。
對網絡共識的需求影響著參與情況:
限定比率的提議者數。成員資格需要是開放的,但會限制在那些從這個系統的長期成功獲得經濟激勵的參與者。這是為了防止衝突更新的氾濫,最終使得各方難以就一個更新達成一致。
最大化驗證者數量。更新的頻次和大小將決定驗證者數量,因為他們必須具備計算和帶寬資源實時驗證所有更新。否則,他們將跟不上,也將無法計算出最新的數據庫副本。
我們可以藉這個機會討論如何限制誰能成為提議者、如何權衡數據庫的廣泛副本以及誰是一條權威鏈(和數據庫) 的最終決定者。
限定比率的提議者數。我們的目標是要找到”共擔風險”的提議者,他們的經濟利益與網絡的長期繁榮相一致。
這可以通過分配成為提議者的權利來實現,其依據是對稀缺資源的所有權(獲得這種資源在經濟上是很貴的) 。
例如,在工作量證明機制中,提議者必須擁有高效的硬件和具有成本效益的電力來源,才能在挖礦市場上競爭。
而在權益證明機制中,提議者必須擁有該鏈的代幣並鎖進鏈上程序裡。在這兩種情況裡,提出新更新的頻率與所有其他參與者數成正比。
可負擔性VS 可驗證性。這個網絡的吞吐量取決於一個更新被所有參與者接受所需的時間。
在擁堵期間,由於用戶爭相讓自己的交易先於別人的交易被接受,網絡的吞吐量和交易的可負擔性之間會有權衡。
實際上,像Bitcoin 和Ethereum 這樣的網絡最大限度地提高了可以作為驗證者參與的情況,而像Solana 這樣的網絡則以低費用為目標,只要它可以保持下去。有趣的是,ICP 的驗證者必須得到許可並從特定的供應商那裡購買硬件。
經濟大多數。大部分時間,我們可以把提議者和驗證者視作一個保護數據庫的集體。然而,其最終目標是說服經濟大多數,即從使用角度有既得經濟利益的那些人。
這些提議者和驗證者只是經濟大多數在正常運行情況下的代理,但如果對網絡共識規則的修改出現爭議,那麼最終是由全球的大多數用戶來決定,他們將從結果數據庫的外部經濟價值來判斷。
例如,Bitcoin 對比Bitcoin Cash 以及Ethereum 對比Ethereum Classic 的市值,清晰地表明了社區在前進道路上出現重大分歧後的贏家是誰。
總而言之,L1 的思維模式是把L1 看作是數據庫,它最終負責決定資產所有權和讓一個經濟大多數接受所有對數據庫更新的需求。這就是為什麼從技術、社會和經濟角度來看,去中心化對L1 的成功至關重要。
它的目的在於盡可能廣泛地複制數據庫的副本,最大化參與數據庫保護過程的驗證者數量,最後,依賴於經濟大多數來決定它在現實世界的價值。
L2 的思維模式
橋接合約持有所有的資產而L2 數據庫記錄負債情況
在L2 系統上,可信第三方被智能合約所取代,其中要考慮兩個組件:
-
橋接合約(Bridge contract),L1 系統上持有資產的智能合約。
-
鏈下數據庫,為鏈下系統記錄負債情況的數據庫。
橋接負責把資產從一個數據庫(L1 系統)橋接至另一個數據庫(L2 系統)。
橋接合約的唯一責任就是通過檢查鏈下數據庫的完整性,保護橋接資產。
為了維護它的完整性,該合約會檢查每一個對鏈下數據庫提議的更新,在接受之前檢查其有效性(比如,應用在L2 系統上的數據庫的每次狀態改變)。
這對於確保橋接合約上持有的資產可以涵蓋鏈下數據庫所記錄的負債來說至關重要,否則就將導致資金大規模退出的情況。
維持橋接合約的獨立性會影響參與情況:
-
任何人都可以提議。橋接合約應該允許任何人強制打包最終將在L2 系統的鏈下數據庫中執行的交易。
-
單個驗證者。只有當橋接合約確信對鏈下數據庫提議的更新是有效的,才會允許釋放資產。
下面我們思考了L2 系統的架構、信任假設如何演變,以及讓數據庫可以公開訪問的目的。
架構和中心化服務。 L2 系統的架構與中心化服務(如Coinbase) 類似。用戶將代幣存到L1 上的橋接合約中,存款會反映在鏈下數據庫上,並且大多數交易都由鏈下數據庫處理。
在過去12 年裡,這種方法幫助加密貨幣市場擴大了規模,因為多數用戶與中心化服務進行交互,並把底層L1 系統當作互操作性的解決方案,將資金從一種服務轉移至另一種。
在歷史上,鏈下數據庫都是由運營商(如Coinbase) 保護,並決定一筆提款是否由橋接合約進行處理。
信任假設的演變。在過去幾年裡,我們見證了橋接合約在信任假設上的變化,即它如何確信鏈下數據庫的完整性。信任假設已經從單個機構橋接、多個機構橋接演變到一個外部區塊鏈的共識協議。
在任何情況下,橋接合約在將資產返還給用戶之前,必須盲目信任一組參與方的判斷。
這也導致了數十億美元被盜,因為數十億美元提供安全性的人工處理流程是很難復製到數百個橋接上的。 L2 系統的目標是完全消除對中間方的信任,使橋接可以獨立驗證對數據對數據庫提議的更新。
數據庫可訪問性。只有橋接合約可以決定什麼是真正的數據庫並將資產釋放給用戶。讓數據庫可公開訪問是為了保證L2 系統的活性。
合約假設誠實的一方會出現,他會成為提議者,接手待處理交易的列表,並向數據庫提議更新。
因此,沒有必要創建一個非常大型驗證者網絡來保護數據庫,或是依賴經濟大多數來決定哪個數據庫應該會有外部的現實世界價值。
因此,L2 的思維模式是關於橋接合約以及支持合約盡力保護其所持有資產。無論大多數參與者相信什麼,合約擁有著決定數據庫的哪個更新可以被接受的唯一權力。
與此同時,參與者網絡仍然希望可以確保L2 系統的活性,並保證會持續不斷地有更新被提議至智能合約上。然而,這並不是要靠著全球網狀網絡來保護數據庫的完整性(安全屬性)。
* optimistic rollup 有一點需要提醒,由於它假設了會有誠實一方協助橋接合約驗證鏈下數據庫的更新,但最終,真正重要的橋接合約所做的最終決定。
對比與總結
L1 和L2 系統的架構和目的是不一樣的:
-
L1 系統。其目標是達成公共共識,並最終收斂於關於數據庫狀態的單一全局事實。
-
L2 系統。其目的在於建構一個系統,使智能合約相信鏈下數據庫的完整性(和狀態)。
兩個系統在信任假設上有著根本區別。 L1 系統必須依賴於誠實的大多數以保護數據庫的完整性,並依靠經濟大多數給數據庫所記錄的資產賦予現實世界的價值。
然而,在L2 系統上,不需要大多數的同意或是外部的資產估價。它已經假設L1 系統獲得了公共共識,其唯一的關注點是保護智能合約持有的資產。因此,它可以依靠誠實一方的出現,保證系統持續往前運行。
在我看來,這就是為什麼L1 和L2 之間的對比是兩個完全不同的東西之間的比較。兩個系統有著不同的信任假設、參與主體以及最終的系統架構。
我們社區試圖對兩者進行對比的唯一原因在於,L2 系統的出現是因為L1 可擴展性遇到了瓶頸。我的一個軟目標是改變這種說法,因為第二層系統應該被看作是橋接合約的進化。
所以,它們應該與託管服務(如Coinbase,它保護著所有加密資產的10% 以上)進行對比,因為兩邊的系統都負責保護鏈下的數據庫和一籃子的資產。
最後,我希望這篇文章可以幫助讀者在L1 和L2 系統的系統架構和信任假設方面建立一個良好的思維模式。也希望L2 協議能夠長盛不衰,展示它們相比於託管解決方案的優越性。
不是因為用戶關心系統的安全性,而是因為我相信運營商可以提供完全相同的服務,而無需承擔保護數十億美元的風險。如此,託管(和信任)將變成一種沒有必要、礙手礙腳的責任。