作者:Patrick McCorry;編譯:0×26,區塊律動
本文來自 Arbitrum 基金會和 Lemniscap 的 Patrick McCorry。Patrick 是英國第一位加密貨幣博士畢業生,在 2013 到 2016 年攻讀博士期間,研究比特幣和以太坊相關方向,之后在倫敦國王學院擔任助理教授,UCL、NCL 和 UIUC 做研究員。2019 年,Patrick 離開大學進行 Layer2 方向創業,并被 Infura 收購,他在 Infura 期間還制作了一整套區塊鏈課程。之后 Patrick 加入了 Lemniscap 和 Arbitrum Foundation。
本文分兩部分,第一篇為《區塊鏈作為數據庫》(Blockchain as a Database),第二篇是《數據庫跨鏈》(Bridging Databases)。Patrick 用第一性原理,將區塊鏈抽象成共識協議+數據庫的形式,并以此為基礎,解釋了 Layer1、Layer2 和跨鏈橋的工作原理,以及 Layer1 和 Layer2 的區別等。
以下為經律動編譯的文章原文:
關于驗證橋是否定義了 rollup 存在了很大的爭議,或者換句話說:
rollup 等于橋?
我們先退后一步,用第一性原理看這個問題。
什么是區塊鏈?
如何把資產從一個數據庫通過橋轉移到另一個數據庫?
我們通過兩篇文章討論上述兩個話題,討論完畢后再回過頭審視這兩個話題,評估其正確與否。
區塊鏈的主要目的:允許任何第三方算出相同的數據庫信息,并相信這份數據有效。
區塊鏈的核心是數據庫,其中記錄著:
賬戶余額
智能合約代碼
程序狀態
在幾乎所有的系統中,區塊鏈都定義了所有歷史交易的順序。
至少這是很長一段時間內,我們學到的。
它不必是一串交易列表。很可能是一個狀態差異列表,邊上還有零知識證明。
那,什么是區塊鏈?
區塊鏈,是一組有順序的數據表,可以根據確定的規則計算出數據庫副本。
重新強調下區塊鏈的目的:
允許用戶計算出數據庫副本。
唯一的任務就是讓復制這個數據庫成為可能。
很無聊對吧?
關于區塊鏈,其中的一個難題是:
社區如何達成全球一致(共識),并且認識到什么是真正的區塊鏈。
如果我們能對同一個區塊鏈達成統一,那全球的用戶都能算出同樣的數據庫。
這引出了共識協議的想法,目標很簡單:
使一群可能是匿名的、互不信任的各方,就一個決定達成一致。
在區塊鏈的語境中,共識協議使一個方能夠提出一個數據『塊』,將其附加到數據序列的最上端,所有其他方都同意這確實是新的區塊頭。
這就是為什么它被稱為區塊鏈,就是因為我們都在就同一串數據塊達成一致!
在設計和實施共識協議時,需要考慮許多技術挑戰:
我們能否實現開放,讓任何人都可以參與?
各方達成一致需要多大的通信復雜性?
是否可能為人們提供經濟激勵,讓他們主動參與?
盡管這是一個非常有趣且復雜的主題,我們暫時先不關注這些挑戰。唯一需要記住的是,只需要存在一個共識協議,它可以使所有各方就新的數據塊達成一致。
多年來,特別是在追尋區塊鏈 Layer 1 的過程中,社區已經經歷過各種各樣的共識協議配置的嘗試:
Bitcoin 上的 Nakamoto
Ethereum 上的 Gasper
Cosmos 上的 Tendermint
Avalanche 上的 Snowman
中共中央辦公廳:探索區塊鏈技術在社會保險費征收等方面的應用:中共中央辦公廳、國務院辦公廳表示,深化稅收大數據共享應用。探索區塊鏈技術在社會保險費征收、房地產交易和不動產登記等方面的應用,并持續拓展在促進涉稅涉費信息共享等領域的應用。不斷完善稅收大數據云平臺,加強數據資源開發利用,持續推進與國家及有關部門信息系統互聯互通。(金十)[2021/3/24 19:14:08]
在幾乎所有情況下,(協議)進入市場的策略都是發布一個新的共識協議,協議會持續對數據庫進行更新。不僅僅是關于部署共識協議,還包括所有圍繞它的基礎設施。以及社會層面上,使誠實的大多數無準入的參與其中。
這是一個艱巨的任務。
同時也引發了一個有趣的問題:
如果我想推出一個鏈,最終成為新的數據庫,我真的還需要推出一個新的共識協議么?
令人驚訝的是,答案是不!
區塊鏈可以像一個公告欄一樣,讓所有人看到一樣的訊息。
在深入探討之前,我們先設想一個抽象概念:
公告欄,確保持續性的讓所有有需求的人看到數據。
這是一個與電子投票協議有關的概念。公告欄允許所有用戶可以獲得同樣的協議記錄。用戶可以獲得這份記錄,獨自執行,并驗證協議是否正確。在電子投票這個例子中,(公告欄)可以用來檢查投票活動是否正確運行,以及所有票數是否正確記錄。
這和區塊鏈有什么關系?好吧,只要:
任何人都能獲得公告欄中的數據。
那么,任何人都能得到帶有時間戳的數據并且計算出數據庫的副本。實際上,許多 Layer-1 鏈,特別是 Bitcoin 和 Ethereum,是特別好的公告欄。此外,它們還讓在公告欄上寫入數據變得很容易。
只需匯總(roll up)數據并將它發布到區塊鏈系統上。
重用現存的區塊鏈系統被稱為 rollup。
Rollup:所有的數據被匯總并發布到相應的鏈上。
決定數據的排序,并保證任何人都可以訪問數據的繁重工作,留給了現有的區塊鏈系統。這不是一個新的想法。事實上,它已經存在了大約 10 年。rollup 方法已經成為引導新數據庫的一種流行方式。
有許多例子:Coloredcoins,MasterCoin / Omni,Ordinals,Arbitrum,Optimism,StarkEx,ZkSync,Polygon Hermez,Scroll。
上述所有項目,以及一些其他的項目,都在試圖在 Bitcoin 或 Ethereum 基礎上引導新的數據庫。
事實上,由于這種方式的流行,還有一個名為 Celestia 的平臺,它專注于構建專門用于啟動 rollup 的數據庫。
我們仍然可以把 rollup 看作是區塊鏈:
一系列定期發布的數據,
并會附加在有順序的相關數據庫中。
區塊可能會看起來不一樣,甚至可能是一串數據塊。但總的來說,它仍然是僅附加數據結構,最終總具有(或因果的)排序。
最終,不論是開發出一種新的共識協議還是重拾已有的,目標是一樣的:引導出一個數據庫。
由社區來執行并強制執行全球公認的規則,特別是反擊系統內部節點。
假設各方都可以獲取相同的數據,最后的挑戰是讓所有各方遵循同一套規則,即同一套解析數據塊和計算數據庫副本的規則(『狀態轉換函數』)。
解析數據的一個例子:
取一個數據塊,
將其解析為一個交易,
檢查交易是否可執行,
在特定的虛擬機上執行它,
將更新傳遞到數據庫。
這導致了加密貨幣的一個獨特問題:
全國首個金融案件多元解紛一體化平臺正式上線,實現全流程在線區塊鏈存證:12月25日消息,北京高院、人行營管部、北京銀保監局共同簽署《金融糾紛多元化解機制合作備忘錄》,同步上線金融案件多元解紛一體化平臺,為化解金融糾紛提供綠色通道。此次上線的金融案件多元解紛一體化平臺將助力上述機制落到實處。目前,平臺已實現全流程在線區塊鏈存證、訴前調解、司法確認、批量立案、電子送達、文書自動生成、電子卷宗隨案生成、一鍵歸檔等諸多功能,使得金融數據點對點對接,避免大量紙質化訴訟文件和繁雜的人工核算工作,從而高效、便捷、低成本地處理金融糾紛。(京法網)[2020/12/15 15:17:34]
在面對解析數據時,需要一套擁有全球共識的解析規則。
在協調全球一致解析規則時,我們需要評估兩種情況:
操作執行。所有各方都同意的規則,99.9% 的時間都在執行。
規則的治理。所有各方都有一個設定過程,提出并同意新的規則。
首先,幾乎所有的討論都將區塊鏈網絡的安全性與日常的規則執行操作聯系起來。這十分重要,因為它關注的是軟件,和參與的各方,如何持續執行同一套規則來保護數據庫。
然而,保護區塊鏈網絡的最終保障,特別是當操作執行出現問題時——意味著要更新規則。關于如何改變規則,何時執行新的規則,這必須有一個過程,讓所有參與者達成社會層面的共識。
讓我們更詳細地探討執行和治理的概念。
我們所有人都有責任持續執行規則,驗證每一個提出的數據庫更新。
日常操作執行是使區塊鏈系統計算數據庫如此令人興奮的原因!
我們只需要對以下兩點達成一致:
在哪里找到數據塊的總排序
解析數據塊的規則。
這就夠了。只要遵循規則的數據庫,所有參與者都有機會獲取數據塊,執行規則。
無論參與者是大還是小,是排序發起者還是家庭節點,每個人都應該對數據庫的內容有信心。
進一步說,只要所有的市場參與者都執行同樣的規則,他們都可以計算出同樣的數據庫副本,那么我們就可以讓市場決定什么應該被認為是真正的區塊鏈。
所有的區塊鏈系統都必須用一套解析數據和計算數據庫的規則來引導。
幾乎所有的區塊鏈系統都需要一個引導階段:
(Bitcoin)比特幣核心來自中本聰
(Ethereum)黃皮書來自 Gavin Wood。
通常情況下,一個項目是由一小群開發者引導的,他們決定規則,啟動區塊鏈,然后將軟件(以及規則)交給更廣大的社區。
下一步就是改變規則。
關于改變規則有很多原因,例如軟件升級或者修復漏洞。任何規則的修改都需要獲得更廣泛的同意,或者叫做,社會共識。
有兩種方式達成改變規則的共識:
粗略的共識。不透明且不明確的過程。
鏈上治理。明確的代幣治理者投票的過程。
前者,粗略的共識,是像比特幣和以太坊這樣的區塊鏈網絡的核心部分。它涉及到人為的過程,與各種參與者達成一致,然后開發者實施升級,提出一個標記日,升級可以生效。
后者,鏈上治理,首先由 Tezos 開創,使參與者能夠明確地投票決定是否應該部署升級,然后提供一個時間表,成功投票后,軟件可以在這個時間表上更新。正如我們將很快看到的,鏈上治理的方法已經在 DAOs 中流行起來,作為一種管理單一項目的方式。
在上述兩種情況下,仍然需要就提議的升級達成一致,(即使這樣)也不能保證它會順利進行:
沒有區塊鏈分裂:升級順利執行,全球一致(包括市場)只接受一個新規則的數據庫。
區塊鏈分裂:如果升級有爭議,且爭議雙方仍然運行,那么它可能導致永久的分叉,因為兩個社區應用不同的規則,計算出不同的數據庫,各自有自己的市值。
美股開盤:美股區塊鏈概念股漲多跌少:美股三大股指小幅高開,道指漲0.03%,納指漲0.45%,標普500指數漲0.03%。美股區塊鏈概念股漲多跌少,柯達下跌1.63%,埃森哲上漲0.13%,overstock.com上漲1.62%;RiotBlockchain下跌5.59%,MarathonPatent上漲4.51%,Square上漲0.48%。[2020/8/26]
換句話說,治理過程只提供了一個模糊的結果,社區可能會接受提議的升級。(真正的結果)我們只能在標記日和升級執行后才能確定。很有可能社區成員會反對,忽視新的規則,允許兩個競爭的數據庫出現。就像 BTC/BCH 和 ETH/ETC 一樣。
最后,有兩種方式執行新規則的改變:
硬分叉。未升級節點將拒絕的規則的可檢測變化。對規則進行可檢測的更改,未升級的節點將無法參與新規則。
軟分叉。非升級節點將忽視的規則的不可檢測變化。對規則進行不可檢測的更改,未升級的節點將這部分忽略。
硬分叉或軟分叉的概念關注的點在于,是否可以檢測到規則的變化,以及它如何對此做出反應。很容易就會圍繞應該使用哪種方法展開激烈的辯論,因為它最終會影響網絡的抗審查性,抵御惡意攻擊,以及用戶是否可以明確選擇規則變更。
區塊鏈網絡的整個追求就是構建一個開放的數據庫,允許任何人讀取,寫入和保護它。
過去 14 年來,社區最大的實驗始終集中在如何構建一個「更好」的數據庫。
已經有了明顯的演變:
托管數據庫。復制 web2 的體驗,但信任操作員保護數據庫的完整性和活力。
公共數據庫。允許任何人讀取數據庫,但最終信任一個操作員來更新它。
開放數據庫。允許任何人讀取,寫入和保護數據庫。
舉一些例子:
中心化交易平臺。幾乎所有的交易平臺都實現了 web2 風格的數據庫,不可能有任何人計算出數據庫的副本。
權威證明(PoA)。一些區塊鏈系統依賴于一個指定的,或多個指定的權威,發布新的區塊來更新數據庫。任何人都可以下載區塊,解析數據塊,計算出數據庫的副本。他們只是沒有權威提出新的區塊。
中本聰共識。任何愿意使用財務資源的人,都可以參與更新數據庫的過程,通過發布(和投票)新的區塊。同樣,任何人都可以下載區塊,解析數據塊,計算出數據庫的副本。
現在——我們使用「更好」的這個詞,因為答案——什么是好的數據庫,是非常主觀的,它取決于社區試圖優化的指標:
看重可以參與共識協議的參與者?
看重可以下載數據庫副本的參與者?
限制誰可以寫入數據庫,而不需要受信任的操作員的批準?
不在意在系統上進行交易的成本?也許在試圖保持數據對任何人開放的同時?
什么對奶奶來說最容易進行交易?
我們可以客觀地定義指標,并評估區塊鏈系統如何實現其聲明的目標。社區會永遠爭論哪些指標重要,以及他們如何比競爭對手更好地實現這些指標。然而,最終重要的是用戶選擇在哪里進行交易,以及他們為什么做出這個決定。
只有一個問題——我們如何將資產從一個數據庫移動到另一個數據庫?例如,一個典型的用戶流程可能包括:
上線。在 Coinbase 上購買代幣
轉移。將代幣從 Coinbase 轉移到以太坊
行動。嘗試 DeFi 應用,
轉移。將代幣從以太坊轉移到 Arbitrum
轉移。將代幣從 Arbitrum 轉移到 Binance,
鏈下。變成法幣。
所有命名的系統都是各自具有不同安全性和可審計性的數據庫。但是,為了實現資產的轉移,我們需要談談橋,這將是我們下一篇文章的重點!"
橋接世界——引言
簡短回顧:《區塊鏈作為數據庫》
上文探討了 "什么是區塊鏈?",這是一個了解區塊鏈目的的絕佳機會。
那么,什么是區塊鏈?
區塊鏈只是一種數據結構,用于規定數據(交易)的整體排序。
行情 | 美股區塊鏈概念股漲跌各異:今日美股收盤,美股區塊鏈概念股漲跌各異。柯達收跌1.24%,埃森哲收跌0.06%,Overstock.com收跌0.79%,Riot Blockchain收漲4.93%,Marathon Patent收漲9%,Square收漲0.49%。[2019/11/23]
只有一個目的:
任何人都可以獲取區塊鏈,按順序解析數據(交易),并計算出同一數據庫的副本。
現在輪到了——區塊鏈網絡中最難解決的問題之一:參與者如何驗證他們擁有相同、且唯一的區塊鏈副本?
簡單來說,區塊鏈工程的整個領域都集中在以下方面:
實現單一數據庫。
在全球范圍內,所有各方匯聚到同一個區塊鏈上的唯一方法就是加入共識協議。它讓所有各方共同商定出決定——添加最新的數據塊。
一個有趣的附帶說明是,數據塊不一定是交易列表,事實上有兩種選擇:
交易歷史。要執行的事務的明確列表。狀
態差異。可用于更新數據庫中存儲槽的「狀態差異」列表。
由參與者決定如何將數據解析為可應用于數據庫更新的規則集("狀態轉換函數")。由于有效性證明的興起,狀態轉換方法是最近才出現的。
因此,歸根結底,所有區塊鏈協議的重點都是保證正確的數據排序,并向所有人公開。事實上,有一個非常微妙的假設:
最近廣播。共識協議只能保證數據在某個時間點的發布。
并不能保證歷史上達成一致的決策都是可用的,而且大多數提供數據的節點都是利他的(譯者注,大多數提供歷史交易數據的節點是出于利他主義行為。這是因為在區塊鏈網絡中,節點沒有義務一直保存所有的交易數據。)。
最后,在決定如何確保數據庫數據的公開性時,項目可以做出以下選擇:
部署一個新的共識協議("Layer1")
重新使用現有的共識協議("rollup")
前者是一項艱巨的工作。它需要引導整個生態系統愿意站出來,并且通常需要誠實的大多數參與者來保護系統。
rollup 承認引導這樣一個生態系統是很困難的,而且造輪子的價值不大。利用 Layer1 作為公告板,并讓其保證所有相關數據的可用性(和排序)要容易得多。
無論一個項目決定部署新的 Layer1 還是 rollup,所有方法都會導致一個具有不同程度的信任假設和安全性的數據庫世界。
我們可以很容易地將它們歸類為「封閉」、「公共」或「開放」數據庫,其重點在于數據庫是否可以公開讀取,以及用于實現向數據庫寫入的機制。
將資產從一個數據庫轉移到另一個數據庫的跨鏈橋。
上述內容聽起來很理論化,但有經驗證據表明,我們現在生活在一個有成百上千個數據庫希望與加密資產互動的世界。
這就引出了下一個問題:
用戶如何將其資產從一個數據庫轉移到另一個數據庫?
我們需要研究用戶如何將其資產從一個數據庫轉移到另一個數據庫。
更廣義地說,他們如何在不同的系統間傳遞信息。讓我們一探究竟!
這一切都是關于如何通過橋將消息從一個數據庫發送到另一個數據庫。
有一個組件可以助力實現想象中的那種區塊鏈世界:
橋:為難以或不可能跨越的事物提供通道。
其實橋的工作很簡單。它應該讓消息從一個數據庫傳遞到另一個數據庫。它可以被視為一種通信協議,其中實體(橋)位于發送者和接收者之間。
所有通信協議都盡力滿足以下屬性:
傳遞及時。消息盡可能快的被接收者使用。
完整。應該傳遞完整的內容。
可驗證。接收者可以驗證該消息確實是由發送者發起的。
有一點值得注意,橋作為通信協議,并不致力于保護消息的隱私性。這在橋這個領域是可選項,且(現在)還沒有保護消息隱私的橋協議。
金色財經現場報道 鏈塔智庫創始人兼CEO張翔:區塊鏈的用戶規模非常少:金色財經現場報道,在清華大學區塊鏈教育、產業創新峰會?暨青藤鏈盟成立大會上,鏈塔智庫創始人兼CEO張翔表示,區塊鏈核心的其實是分布式數據庫,數據是區塊鏈重要的一環,數據能夠幫助我們洞察行業現狀,根據鏈塔智庫統計,目前區塊鏈已經有超過500家區塊鏈媒體,超過一萬月活的,只有3-5家,用戶量目前還是比較少,目前落地的區塊鏈應用真正有用戶規模的行業還是非常少。[2018/5/27]
現在,橋需要解決的主要問題是能夠讓接收者相信消息的真實性,即證明過程。
我們相信人為運營的操作系統能夠傳遞信息并證明其真實性。
在幾乎所有橋的設計中,發送者(數據庫 A)和接收者(數據庫 B)之間都有一組權威機構。當然,發送者和接收者很可能是存在于各自數據庫中的智能合約。
這些權威機構將:
獲取。從數據庫 A 獲取新的消息。
簽名。對將發送到數據庫 B 的所有消息進行數字簽名。
證明。將數字簽名和消息發送到數據庫 B。
證明過程要求接收方的數據庫(數據庫 A)驗證消息確實是由受信任的權威機構簽名的。如果是這樣,它就可以對消息的內容和來源有信心。
關鍵問題:信任這些指定的權威機構。
更進一步,發送者和接收者都必須百分百的信任指定的機構來傳遞消息并證明其完整性。這是因為如果沒有第三方的幫助,發送者和接收者就無法看到外界。
這種橋可以被稱作人工運營橋。
它依靠人類(服務器端應用程序)來促進通信并代表發送者或接收者強制執行所有規則。它是最容易部署的橋類型,可以應用于各種不同的區塊鏈,但它是最難大規模保護的。
不幸的是,加密貨幣和中本聰發起運動的全部意義在于消除系統運行所需的所有信任,并用加密證明取而代之。
我們需要做得更好。
我們可以嘗試減少中間人為操作角色的權限,直至僅攜帶消息的郵遞員。
我們應該將加密證明與發送者的消息一起發送,以證明消息的真實性。
如果成功,這份證明應該使接收方智能合約對消息的真實性毫無疑問地相信,而不必信任人工一方。
可以減少人工運營的角色:協助將消息(作為中繼器)從數據庫 A 中傳遞到數據庫 B。
讓我們探討幾種不同程度的方法來證明其的實際意義。
對于這種方法,我們提出以下問題:
我們是否可以通過要求人工運營對其證明負責來減少對人工運營的信任?
在這種方法中,權威機構仍然需要證明消息的真實性,但如果權威機構試圖作弊,可能會立即受到懲罰。例如,通過不正確且沖突的消息。
Nomad 協議是實施這種負責方法的一個例子。
它假設有兩個權威方:
認證權。負責讀取數據庫 A,簽署其發出的消息,并將簽名提交給數據庫 A。
否決權。負責交叉驗證簽名消息是否源自數據庫 A,以此保護數據庫 B。
執行認證權一方應該鎖定相當大的資產,以阻止惡意行為,并且任何人都可以扮演這個角色。另一方面,否決權必須在協議實際運行之前指定,如何使否決權角色無準入化仍然是一個開放的研究問題。
Nomad 協議有三個階段:
認證消息。認證者讀取數據庫 A 中的消息,簽署消息并將簽名提交給數據庫 A。
消息中繼。任何人都可以拿到簽名的消息并將其轉發到數據庫 B。
否決階段。有一個固定的時間窗口(例如,30 分鐘),供有否決權的一方檢查發送到數據庫 B 的消息是否與數據庫 A 上的消息完全相同。如果不是同一個,那么應該否決并取消消息。
雖然出于說明目的,我們的示例假設只有一個接收數據庫,但 Nomad 協議可以擴展,允許多個數據庫接收相同的簽名消息。
數據庫 A 承擔認證的責任,但依賴擁有否決權的另一方,來監視所有支持的數據庫上的惡意簽名消息。
我們需要考慮擁有權力的一方可能試圖欺騙橋協議的情況:
1. 認證方確認并簽署了一份沒有數據庫 A 確認的消息。
2. 否決方否決數據庫 A 認可的消息。
在第一種情況下,認證方獨斷的生成了一個數字簽名,如果他們試圖欺騙接收者,數據庫 A 將無法識別該數字簽名。任何一方都可以獲取簽名,將其發送到數據庫 A,并授權數據庫 A 懲罰認證方。
在第二種情況下,它仍然是一個完全受信任的角色,并且協議內沒有方法可以反擊。需要注意的是,協議記錄對所有參與者都是公開的,并且在事后可以通過投票取消否決權。然而,到那時可能已經造成了損失,因為否決誠實的消息可能會對依賴基于時間的行動(即清算)類的智能合約產生重大影響。
跟蹤被各自共識協議同意的區塊,以及有關特定交易和更一般的數據庫記錄證明。
對于第二種方法,我們提出以下問題:
我們可以跟蹤數據庫 A 的共識協議嗎?
正如上文中提到的,所有區塊鏈網絡都有一個共識協議,該協議同意定期在鏈最頂端生成新區塊。區塊可以被認為是對數據庫的批量更新。
在這種方法里,目標是允許數據庫 B 上接收(消息)的智能合約,能夠跟蹤且相信來自數據庫 A 的共識協議生成的數據。
為了實現這一點,共識協議默認情況下必須是輕客戶端友好的:
輕客戶端:需要最少的計算和數據即可了解且相信數據庫的當前狀態。
簡而言之,輕客戶端允許用戶了解數據庫中記錄的值,并確信共識協議同意該數據應該存在于數據庫中。
輕客戶端的概念和比特幣一樣古老。
比特幣白皮書中將其稱為簡化支付驗證(Simplified Payment Verification,SPV)模式。SPV 允許用戶驗證他們確實收到了比特幣,而無需驗證和保存整個比特幣數據庫的副本。
所有的區塊頭形成一個鏈式結構,并且每個區塊頭的哈希值都包含了工作量證明的結果
SPV 過程按以下方式運行:
加密承諾。每個塊頭都包含代表整個比特幣數據庫的加密承諾(默克爾根)。此外,區塊頭還包含前一個區塊的鏈接及其自身的工作證明。
檢查最長鏈。任何用戶應該都可以獲得區塊頭數據并且獨立的驗證(PoW)目前為止的最長鏈。
包含證明。一旦用戶確信他們的區塊頭列表代表了主鏈,任何人都可以向用戶提供數據庫中特定數據的包含證明(默克爾根)。
確信。用戶可以將包含證明與相關塊頭進行交叉檢查,然后確信數據庫中的特定數據。
比特幣 SPV 模式可以作為構建輕客戶端橋的基礎,允許另一個區塊鏈上的智能合約了解比特幣數據庫中的內容。
一個名為 BTCRelay 的舊項目在比特幣(數據庫 A)和以太坊(數據庫 B)之間實現了輕客戶端橋。這是以太坊上的智能合約,可以解析比特幣區塊頭、包含證明,并通過工作量證明追蹤最長的鏈。最終,它的目的是驗證 UTXO 是否確實存儲在比特幣數據庫中,然后允許另一個智能合約對其進行操作。
不幸的是,BTCRelay 有點超前了。雖然它的功能很完整,但它沒有受到太多的關注。
我們可以從該項目中學到一些經驗教訓:
累積 gas 成本。跟蹤區塊頭需要許多鏈上交易,財務成本會隨著時間的推移而累積。
只適用于比特幣的分叉。BTCRelay 只兼容分叉比特幣代碼庫的區塊鏈。使用不同共識協議的區塊鏈需要專門實現其各自的輕客戶端。
仍然需要信任共識。BTCRelay 只能檢查工作證明是否正確,而不能檢查區塊頭是否有效。如果一個敵對的礦工用有效的工作證明制作了一個惡意的區塊頭,那么橋就可能被破壞。等待約 6 次確認并依賴比特幣的誠實多數假設(>51% 的礦工是誠實的)仍然是必要的。
有些研究主要集中在,通過將多個區塊頭聚合到一個更新中來降低累積 gas 成本的能力上。例如,NIPOPOWS 和 Glimpse 專注于與 PoW 相關的輕客戶端。
然而,隨著其他區塊鏈網絡上的許多橋遵循構建輕客戶端橋的理念,成功的曙光已經閃現:
Cosmos 的 IBC
Near 的 Rainbow bridge
Ava 的 P-Chain
IBC 和 P-Chain 都有一個專用層來跟蹤來自不同的共識協議。它們都遵循共識協議產生的誠實的大多數簽名,但更多的時候,如果共識協議決定欺騙基礎層,簽署一個沖突的消息,并不總是有后果。
所有的工作都集中在將信任傳遞給最有可能被信任的各方,但最終仍然依賴于信任誠實的大多數各方!
總覽本文列舉的所有橋,我們始終依賴于一組中間人,他們必須保證通過橋發送的消息的真實性,即使只是保證一個共識協議達成了一個單一的決定。
我猜想有這樣一個基本要求,即橋總是需要一組中間人來幫助將消息從發送方數據庫傳送到接收數據庫。
如果我們接受這個前提,那么我們也可以認為跟蹤共識協議中參與者所做的決定是有意義的,因為他們是決定將應用于數據庫的更新總排序的真理之源。
這就引出了最后一個問題:
我們能否建立一座橋,獨立檢查共識協議所做決定的有效性?
這有一個微妙的區別。
橋不僅要檢查共識協議是否同意數據庫更新的總排序,還要檢查更新本身相對于數據庫的所有其他更新是否有效。
如果能夠做到這一點,那么接收方的智能合約(數據庫 B)就可以確信數據庫 A 中應用了更新,并確信數據庫中的數據實際上是有效的。
然后,它就可以讀取數據庫,提取相關信息,然后對其執行操作。
可以這樣做嗎?答案是肯定的。
我們可以重復使用數據庫 A 的共識協議對所有數據塊進行排序,然后驗證節點橋可以獨立檢查所有數據塊作為數據庫 B 更新的有效性。
驗證橋核心是使智能合約不僅能夠檢查是否做出了決定,而且能夠獨立驗證決定的內容是否正確。
總體思路是比輕客戶端橋多走幾步:
欺詐與有效性證明。擴展輕客戶端的能力,簡潔地驗證大型計算的正確性。
數據可用性層。通過重新使用數據庫 A 對數據塊進行排序,從數據庫 B 中移除共識協議。
開放成員。允許各方自我任命,并為執行所有數據庫更新的有效性做出貢獻。
為了避免重復驗證橋的分析——僅有最后一個問題需要討論。
本文只關注:
在數據庫之間來回傳遞消息的能力。
使接收者對消息的真實性有信心。
我們還沒有討論橋如何在數據庫之間持有或轉移資產。
這是因為,從根本上說,所有橋都負責及時傳遞消息,并使接收方確信消息的真實性。
金庫在數據庫 A 中持有代幣,并通過橋授權在數據庫 B 中發行相同數量的代幣。
現在,我們可以在每個數據庫上部署智能合約,智能合約可以通過在橋上發送消息進行交互。
最常見的應用是將資產從數據庫 A 轉移到數據庫 B(反之亦然)。
這兩種智能合約包括:
金庫。發送數據庫上的智能合約,用于保管資產。
發行。接收方數據庫中的智能合約,有權為金庫中的資產出具欠條。
在更高維度上,這兩個智能合約可以實現大多數想要將資產轉移到另一個系統的用戶非常熟悉的存款/取款流程:
存款流程。用戶可以將錢幣存入數據庫 A 的金庫,金庫可以通過橋發送信息,在數據庫 B 的用戶地址發行相同數量的資產。
提款流程。用戶可以通過請求發行者在數據庫 B 上銷毀代幣并通過橋發送消息讓金庫將相同數量的代幣釋放到用戶的地址來提取代幣。
這種設計的好處之一是,任何人只要有數據庫 A 中金庫的讀取權限和數據庫 B 中發行人的讀取權限,就可以驗證資產是否覆蓋負債。換句話說,任何人都可以驗證發行的代幣是否有一個完全抵押的金庫作為后盾。
當然,如果我們想在數據庫中移動資產,并使其大規模運行,這一切都取決于橋的安全性,以及我們如何信任發送的信息的完整性。
歷史上,我們一直未能建立起安全的橋,因為它們都依賴于人類來保護發送的信息。包括 BitFinex、Binance、Bitstamp 在內的大多數大型交易所,以及最糟糕的 MtGox,都曾因橋事故而導致用戶資金損失。此外,還有 PolyNetwork、Ronin Bridge 和 Harmony 等跨區塊鏈轉移資金的橋。
作為一個社區,我們多年來一直在嘗試各種橋的設計,有些只是依賴于可信的中介,而有些則試圖將信任從中介轉移到各自區塊鏈的共識協議上。
驗證橋只是更進一步——不僅信任共識協議做出的決定,而且檢查它是否是一個有效的決定。
區塊律動BlockBeats
媒體專欄
閱讀更多
金色財經
金色薦讀
區塊鏈騎士
金色財經 善歐巴
Block unicorn
Foresight News
深潮TechFlow
DeFi數據 1、DeFi代幣總市值:480.31億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量38.
1900/1/1 0:00:00美國司法部宣布了首個涉及對 DEX 運行的智能合約攻擊的刑事案件。身為一家國際科技公司高級安全工程師的 Shakeeb Ahmed 利用他的專業知識,欺詐了在 Solana 上的去中心化交易所及.
1900/1/1 0:00:00以太坊社區會議(EthCC)于 2023 年7月17日在法國巴黎正式開幕,本次會議為期 4 天,與往屆會議一樣,ETHCC6將聚焦以太坊核心技術,匯集以太坊開發者、研究者和愛好者.
1900/1/1 0:00:00作者:bitcoinist,編譯:區塊鏈騎士2021年6月5日,薩爾瓦多通過一項法案,宣布將BTC作為該國的法定貨幣,這一消息在金融領域引起了不小的轟動.
1900/1/1 0:00:00金色財經記者Jessy 一場傳統銀行業的變革正在發生。當傳統銀行的支付、清算、結算等功能全部上公鏈之后,并與加密貨幣打通之后,一個極具想象力的應用出現了.
1900/1/1 0:00:00作者:Uniswap blog;翻譯:金色財經0xxz自Uniswap協議第一個版本于2018年推出以來,鏈上交易已呈爆炸式增長.
1900/1/1 0:00:00