來源:機械鐘
撰文:李畫
受訪人:p0n1,安比實驗室研究員;王東,路印協議創始人;劉毅,Cdot?創始人;John,PolyNetwork?創始成員
跨layer、跨鏈、不同跨layer的方式、不同跨鏈的方式,看上去紛繁蕪雜令人迷惑,但它們背后的邏輯是簡單的,本文對各種跨layer與跨鏈方式做了簡要總結,希望能讓「跨」這件事看上去清晰些。
這篇文章更像一個索引,圍繞下圖展開,每種方式的具體實現如果以前文章討論過,便只做關鍵內容的引用,如果你對此了解便可跳過;如果未討論過,便會詳細展開。
01跨layer
Layer2與側鏈是兩種不同的主體,跨Layer與跨鏈是兩件截然不同的事情。以比喻來做說明:
古希臘的神廟用麥子為公民記賬,假設「主神廟」太忙記不過來,便讓其他神廟幫它記,這些神廟記賬后需要定期匯報給主神廟知道,而不管公民的賬被記在哪個神廟,也不管這些神廟是否發生變故,公民想取出資產時總能拿到屬于他的麥子,這是跨Layer。
假設有另一片大陸,一個聰明人為兩地的商人提供一項服務,使大家在古希臘賬本上的資產能跨到這片大陸的賬本上使用,某個人把資產跨過來后,這片大陸為他記賬時是不會把賬目信息匯報給主神廟知道的;此外,這片大陸是不產麥子的,它的記賬單位也不是麥子,如果這個人想在這片大陸取出資產,他拿到的不是麥子,這是跨鏈。他能拿到什么取決于不同的跨鏈方式。
跳出比喻來說就是:Layer2為子賬本,跨Layer?是一套賬本體系下具體的記賬地方發生了變化,Layer2和Layer1的記賬單位相同,Layer2記的賬需要告知Layer1;鏈是不同的賬本,跨鏈是從一套賬本體系到另一套賬本體系,側鏈和主鏈的記賬單位不同,側鏈記的賬不會告知主鏈。
Rollup
在區分Layer2與跨鏈后,來看Layer2。Rollup?是最主流也最有發展潛力的Layer2,目前階段似乎只需要關注它。Rollup是什么:
美國說唱歌手Megan Thee Stallion與Cash App合作發布比特幣科普視頻:美國說唱歌手Megan Thee Stallion與由Square開發的移動支付服務Cash App合作發布了一段名為“Bitcoin for Hotties”的視頻。該視頻從她的角度解釋了什么是比特幣,為什么比特幣有價值等內容。Megan Thee Stallion在Instagram上擁有超過2410萬粉絲,在 Twitter上擁有640萬粉絲。(Bitcoin News)[2021/8/8 1:41:10]
“Rollup?指先在鏈下進行復雜的計算和狀態維護,再將與狀態更改相關的數據通過合約調用的方式,利用更便宜的CALLDATA?在鏈上保存。
任何人都能根據鏈上保存的數據復原出全局的狀態,從而消除因數據可用性問題帶來的安全風險。Rollup將大量交易卷起/匯總成為一個交易,在保證數據可用性的前提下提高TPS。”
通俗來講就是:Rollup?負責處理具體的記賬事宜,但它的賬是如何記得是要匯報并記錄在以太坊上的,這會使以太坊承認Rollup?記的賬。具體而言,Rollup以如下方式工作:
“有一個技術的東西叫MerkleTree,它是把不同的數據一層一層的哈希,最后變成一個簡單的哈希值,這個值就叫樹的根。這個根實際上能代表樹里邊一切的狀態,雖然不知道具體的狀態是什么。
這棵樹本身是要能夠在某個地方找到的,如果沒有這棵樹,只有根,那這個賬戶也是不安全的。ZKRollup就是在Layer2維護這樣一棵樹。它最開始的時候非常簡單,里邊什么都沒有,然后當你交易或支付時,就會改這棵樹里邊的數據,這個改動本身是要放到以太坊上去的,作為一個數據存到以太坊上。
因此,你可以通過以太坊把這棵樹在任何一個時間點的歷史狀態全部恢復出來,恢復出來之后,你可以通過樹根來驗證你恢復的數據是不是對的。任何一個用戶都可以把從葉子節點到根的一串數據拿過來,這一串的數據叫默克爾證明。
把這個證明扔到以太坊的路印協議的智能合約里,合約就會算這個默克爾證明能不能證明你確實是在這棵樹里面,如果能證明你在這棵樹里,就會把這棵樹里標記的你有多少錢從以太坊的智能合約里解鎖出來,直接轉到你的以太坊賬號里。這就是在最不理想的情況下提現的方式。”
人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]
——王東,《專訪王東:關于路印新版本的一切》
Rollup?實現擴容的原理如下:
“為什么ZKRollup?能夠擴容,能夠變得那么快、那么省錢,與對這棵MerkleTree?的更新涉及到的一些計算相關。
比如一個人的賬戶狀態改了,那要怎么改MerkleTree?的根?需要一層一層的去算,算到那個根。所以一筆交易可能要改大約4、5個葉子節點,一筆轉賬大概要改3個葉子節點,這些改動是非常多的。
但現在,這些改動跟以太坊沒有關系,它不用去做這些改動過程的計算,計算都是在MerkleTree?上面,在中繼里邊做的,以太坊上只要把零知識證明驗證一下就行了,可能就花費10萬gas還是多少gas,大概是這樣。
比如說做1000筆交易,改動可能是大約4000個葉子節點,可能要算幾萬次哈希算出一個根,但這些數據都在Layer2,最后扔到以太坊上的數據其實就是三種:第一個是對各個葉子怎么改的;第二個是對根怎么改的;第三個是一個證明來證明前兩者的一致性。
零知識證明做什么呢?零知識證明就是驗證改這棵樹里邊這么多數據的時候,這個根的計算跟各種改動是能夠匹配得上的。零知識證明只是做了這么一件事,就是證明數據的一致性。它對應的也不是每一筆交易怎么去證明,而是說一大堆交易打成一個包/塊,如何去證明這個包,它是一個批處理的過程。“
動態 | 新浪財經:官媒針對區塊鏈的報道從科普宣傳轉向打假監管:據新浪財經今日消息,“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉。據11月初的一項統計,七家黨媒在新政一周內發布了65篇直接相關報道,當時文章中的關鍵詞是數據、產業、安全、創新等,大量文章偏向于科普區塊鏈的概念以及應用介紹,提醒警惕虛擬貨幣炒作的僅有3篇。近期,官媒的批評焦點則紛紛指向借區塊鏈之名進行的虛擬貨幣發行和炒作行為。據統計,新華網、人民網收錄轉載的,以打擊虛擬貨幣或揭露假借區塊鏈行騙為主題的文章,自10月25日到11月25日午間,共28篇;其中,11月19日至11月25日的一周內就高達15篇。這些文章主要圍繞三個觀點展開:厘清區塊鏈和虛擬貨幣的關系,說明二者概念不等;打擊偽“區塊鏈”騙局,或是虛擬貨幣騙局揭露;提醒民眾,區塊鏈不能成為炒作的噱頭,更不是行騙的招牌,需警惕此類活動,理性投資。[2019/11/26]
——王東,《專訪王東:關于路印新版本的一切》
通俗來講就是:Rollup?幫主鏈干活,那么干活的人多了,能同時干的活也就多了。
ZKRollup與OptimisticRollup
在理解Rollup?后,來看ZKRollup與OptimisticRollup,兩者的核心區別如下:
ZKRollup方案的關鍵在于ZK,它的每一次的狀態轉變都需要提供零知識證明,并由主鏈上的合約進行驗證,只有驗證通過才能更改狀態。即,ZKRollup?的狀態轉變嚴格依賴于密碼學證明。
OptimisticRollup方案中,每次狀態轉變無需嚴格驗證,它是先樂觀地假設每次轉變都是正確的,然后在一定時限內可以對某次轉變進行挑戰,如果挑戰成功就證明之前的提交有問題,會懲罰提交者并將狀態回滾。即,OptimisticRollup的狀態轉變依賴于經濟激勵和博弈。
——p0n1,《時髦有趣且有用:這12個以太坊新事物你不能錯過》
ZKRollup?的突出問題在于對可編程性的實現上,這是因零知識證明而起,如果你對此感興趣可以看《徹底讀懂零知識證明及其實現方法:解析zk-SNARK》一文,它介紹了如何實現零知識證明,從中能了解它為何難以實現可編程性。不過,zkSync的VM?及相關設計能夠讓可編程性落地,值得期待。
動態 | 央行官微舊文重發“再科普”:范一飛詳解數字貨幣:據中國經濟網消息,今日,央行官微公眾號頭條重新發布央行副行長范一飛在2018年1月25日題為《關于央行數字貨幣的幾點考慮》的文章,對央行數字貨幣再次進行科普。同時,微信公眾號第二條發布支付司副司長穆長春8月10日在第三屆中國金融四十人伊春論壇上的演講。近年來,各主要國家和地區央行及貨幣當局均在對發行央行數字貨幣開展研究,新加坡央行和瑞典央行等已經開始進行相關試驗,人民銀行也在組織進行積極探索和研究。[2019/8/21]
OptimisticRollup?最被關注的問題似乎是當資金從Layer2返回時,因為挑戰期帶來的延時問題,但可以有中間商提供墊付服務曲線救國,所以這一點也許不會成為困擾。
以上是關于跨layer?的全部,它是在子賬本記賬,記的賬要成批的匯報給以太坊知道;ZKRollup?用密碼學的方法杜絕假賬,OptimisticRollup?用監督舉報的方法避免假賬。
02跨鏈
跨鏈是從一套賬本體系到另一套賬本體系,不管參與方是哪兩條鏈,也不管以何種方式跨鏈,當跨鏈發生時,都需要一個第三者在兩條鏈之間傳話,不然兩條鏈都不會知道對方鏈發生了什么,跨鏈也就無從談起。
一個完整的跨鏈過程如下:
“跨鏈橋很形象,它有兩個橋墩和一個橋梁。兩個橋墩就是兩套智能合約,一個運行在A鏈,一個運行在B鏈;中間是橋梁,橋梁是鏈下進程,負責監控兩邊這兩套智能合約的事件。
假設現在有一個ERC20的代幣,比如說是UNI,它發行在以太坊上,我們想把它跨到PlatON上去。那么以太坊這邊要有一個智能合約,比如叫Vault合約,它是跨鏈橋的一個橋墩;跨鏈的用戶要發給Vault合約Lock方法,把要鎖定的幣種和數量作為參數傳進去,然后還要提供一個PlatON的地址,說我鎖500個UNI?是為了在這個地址上鑄造出500個UNI的替代品。
這個時候,Vault合約就會去調用UNI合約做UNI的轉移,把UNI從用戶地址轉到Vault合約的地址上,也就是把UNI鎖住。鎖完之后,Vault合約就會發一個事件,比如叫AssetLock事件。
科普時報:區塊鏈與云計算長期發展目標不謀而合:據《科普時報》今日報道,區塊鏈與云計算兩項技術的結合,從宏觀上來說,一方面,利用云計算已有的基礎服務設施或根據實際需求做相應改變,實現開發應用流程加速,滿足未來區塊鏈生態系統中初創企業、學術機構、開源機構、聯盟和金融等機構對區塊鏈應用的需求。另一方面,對于云計算來說,“可信、可靠、可控制”被認為是云計算發展必須要翻越的“三座山”,而區塊鏈技術以去中心化、匿名性,以及數據不可篡改為主要特征,與云計算長期發展目標不謀而合。[2018/5/4]
鏈下進程是通過RPC接口連在以太坊節點上的,它會訂閱Vault合約的AssetLock事件,這個事件只要一出現在日志里,鏈下進程就得到這個事件了,這個事件里包含相關參數,比如鎖定的是哪個幣,鎖了多少,另一條鏈上的受益人是誰。鏈下進程也有一個連接PlatON的RPC接口,它會提交一筆交易到PlatON,假設這筆交易叫Mint。
PlatON上也會有一個合約,比如叫Control合約,它是跨鏈橋的另一個橋墩;Control合約事先會創建一個類似ERC20的合約,比如叫EUNI。Control合約收到Mint請求后,驗證這個請求確實來自于見證人,就會調用EUNI合約的Mint方法,告訴它給某個地址鑄造500個EUNI代幣;EUNI鑄造出來后,就會放在用戶之前提供的地址上,用戶就可以用了。
假設用戶把EUNI轉給了另外一個用戶,新用戶想要以太坊上的UNI,那他要做的操作是調用Control合約的Redeem方法,燒掉比如說100個EUNI,并釋放一個事件叫AssetBurn。
鏈下進程監控到Control合約的AssetBurn事件,就會給以太坊Vault合約發一個交易請求,調用Release接口,以太坊驗證這個交易是來自于見證人后,就會把UNI從Vault合約的地址上轉移到指定的用戶地址上,用戶就得到了原始的UNI。這就是一個完整的跨鏈過程。”
——劉毅,《一文詳解跨鏈的技術點及難點:從完美跨鏈談起》
簡單而言,跨鏈是先在A鏈上做一個操作,然后由一個傳話的人把這個消息告訴B鏈,之后B鏈做一個對應的操作。從中也可見側鏈與Layer2方式的不同,側鏈只在跨鏈發生時與主鏈通消息,而Layer2定期要與Layer1通消息。
雖然跨鏈說的是把資產從A鏈跨到B鏈,但B鏈是沒有真正的A鏈資產的,比如,比特幣鏈之外的任何鏈上都不會有真正的BTC,以太坊之外的任何鏈上都不會有真正的ETH。用戶在B鏈上收到的是什么取決于不同的跨鏈實現方式。
鎖定+鑄造
鎖定+鑄造方式這樣工作:在A鏈鎖定資產,在B鏈鑄造出對應的資產;在B鏈銷毀鑄造出的資產,在A鏈解鎖對應的資產。
用戶在B鏈收到的,是他使用的跨鏈協議鑄造出來的資產,比如使用Ren?跨鏈協議,收到的便是renBTC,它類似于BTC?的某種等值兌換券。只要跨鏈協議和B鏈不出問題,這種兌換券便不會有問題。
鎖定+解鎖
假如有一種代幣叫test,其發行方在A鏈和B鏈都發行了代幣,那針對這種代幣就可以使用鎖定+解鎖方式:在A鏈鎖定資產,在B鏈釋放等額資產;在B鏈鎖定資產,在A鏈釋放等額資產。
在這種情況下,用戶在B鏈收到的不是類似于兌換券的「假」資產,而是「真」資產。用戶不用擔心跨鏈橋出問題,因為不再需要依賴跨鏈橋把資產跨回源鏈兌現,鎖定+解鎖方式對跨鏈橋的使用可以是單方向、一次性的。
這種跨鏈方式安全、利落,但只適用于在多條鏈上都做了發行的token,且需要發行方與跨鏈協議合作。它也許是最優選擇,但單獨使用時是不具有普適性的。
跨鏈池:兌換
兌換的方式需要引入跨鏈池這個新主體。跨鏈池既不位于源鏈,也不位于目標鏈,它位于提供跨鏈服務的協議的鏈上,其工作方式如下圖所示:
用戶的USDT?從以太坊跨鏈到BSC?的過程如下:先在以太坊上鎖定USDT,然后在Poly?上釋放PUSDT,之后在跨鏈池中把PUSDT?兌換為PBUSD,接著在Poly?上鎖定PBUSD,最后在BSC?上釋放BUSD。
這個過程看上去比較復雜,有兩次跨鏈操作加一次交易操作,不過對跨鏈用戶而言該過程是無感的,他放入以太坊上的USDT,得到BSC?上的BUSD。在兌換方式下,用戶在目標鏈收到的是「真」資產,因此也不用擔心跨鏈橋出問題。
這種跨鏈方式之所以被發明并開始變得流行,是因為它能帶來兩個好處:
1.隨意跨token。用戶可以在以太坊上放入任意token,獲得BSC?上他希望的任意token。在下圖的例子中,用戶放入ETH,獲得BNB。
相比對應幣種的跨鏈,該跨鏈過程需要多一次的交易操作,此交易并不是發生在跨鏈協議的交易池里,而是發生在源鏈或目標鏈本來的交易協議中,跨鏈協議在此處分別提供源鏈和目標鏈的DEX?聚合器功能,為用戶尋找源鏈或目標鏈上最好的交易價格。
至于交易是發生在源鏈還是目標鏈,取決于哪種跨鏈路徑上的價格更好,比如該跨鏈過程也可以是:ETH-PETH-PBETH-BETH-(BETH:BNB)-BNB。
更進一步,假設用戶想把ETH?換為USDT,此時BSC?上的交易價格好于以太坊,那么一種可能的交易路徑是:ETH-PETH-PBETH-BETH-(BETH:BUSD)-BUSD-PBUSD-PUSDT-USDT。有一些協議稱打通不同鏈的流動性,我想很大程度上便是指這件事情,這種跨鏈架構能夠通過交易路徑的選擇,給用戶提供多條鏈上最好的交易價格。
2.隨意跨鏈。鎖定+解鎖方式是兩條鏈的直連:跨鏈協議在以太坊與BSC?之間建了一條跨鏈橋,在以太坊與Polygon?之間建了一條跨鏈橋,這時候如果想實現BSC?與Polygon?之間的跨鏈,就需要在BSC?與Polygon?之間再新建一條跨鏈橋。
但兌換方式通過跨鏈池把多條鏈連接起來,可實現該架構中任意兩條鏈之間的跨鏈:跨鏈協議接入了以太坊和BSC,這時候如果它接入Polygon,就可以提供Polygon?與以太坊、Polygon與BSC間的跨鏈,無需再一一建橋。其結構如下圖所示:
「跨鏈池:兌換」方式可能會催生一個或多個跨鏈底層協議:各個想要在自己應用中提供跨鏈功能的協議,只需接入這些跨鏈協議即可支持跨鏈;而另一方面,「跨鏈池:兌換」也是應用自己做鏈的方式,已有一些DeFi?應用聲明將要做鏈,它們的鏈并不是像公鏈一樣支持各種應用的鏈,而很大可能是上文所述的這樣一條維護它自己的多鏈的流動性池的鏈。
要注意的是,兌換方式與鎖定+鑄造方式并不一種取代對方的關系,它們解決不同的問題。兌換方式的跨鏈是基于兩條鏈上已經存在的資產的,它不能把目標鏈上沒有的資產從源鏈「帶」過去,當需要在目標鏈鑄造源鏈資產時,需要使用鎖定+鑄造的方式。
跨鏈的其他分類維度
跨鏈需要第三者在兩條鏈之間傳話,上述3種跨鏈方式都不例外。這個傳話的第三者可以是許可式的,比如由跨鏈協議組建的聯盟;也可以是非許可式的,比如由無需許可進入的節點。因此便有3×2=6?種跨鏈方式。
跨鏈還可以分為見證人跨鏈和中繼跨鏈,它們的區別是:
“當目標鏈收到一個消息后,如果是見證人跨鏈,驗證的是這條消息來自于見證人,如果相信見證人,就執行該執行的操作;如果是中繼跨鏈,驗證的不是這條消息來自于哪個中繼,驗證的是這條消息是不是來自于源鏈,如果是,就執行該執行的操作。
也就是說,見證人可以看做是需要被信任的中繼,中繼可以看做是無需被信任的見證人。這就是兩者的核心區別,中繼顯然比見證人更符合trustless的原則。”
——劉毅,《一文詳解跨鏈的技術點及難點:從完美跨鏈談起》
中繼跨鏈優于見證人跨鏈,在這種方式中,負責傳話的第三者是無法作惡的,但該方式需要兩條鏈上互有對方鏈的輕客戶端,而有些鏈是沒有辦法實現別的鏈的輕客戶端的,比如比特幣。
因此這種分類方法不會帶來6×2=12?種跨鏈方式,而是:如果有條件實現中繼跨鏈,跨鏈協議都會去實現它或者以實現它為目標;如果沒有條件實現中繼跨鏈,也只能以見證人的方式跨鏈。
以上是關于跨鏈的全部。跨鏈是跨到另一個賬本記賬,有3種不同的跨鏈方法,不同的方法決定了當跨到目標鏈后你擁有的是什么,也決定了對跨鏈橋的不同的依賴程度。
結束語:
提到跨鏈,我們還會談論波卡與Cosmos。但實際上波卡并不是為跨鏈服務的,它是一個以鏈為單位的結構體,它的跨鏈是指這個結構體內部的鏈與鏈的交互;Cosmos?則是為跨鏈服務的,它做的是鏈之間的通信標準,采用其標準的鏈易于實現跨鏈,但前提是要采用其標準。
最后想要表達的是,雖然現在有一批發展中的公鏈,但其中的絕大部分與以太坊是相似的,真希望未來能出現一些與以太坊不太一樣的公鏈,不是在性能上的不一樣,而是在能做的事情上的不一樣。
Tags:以太坊ROLROLLLAYER以太坊幣今日價格行情實時Roller InuBenjiRollsUnilayerX
本文由中幣研究院原創編輯 熱點摘要: 1.韓國追回某交易所2018年被盜的1360枚ETH;2.「薩爾瓦多將比特幣定為法幣」報紙頭條被寫入比特幣區塊;3.
1900/1/1 0:00:00原文來自Messari,以下為全文編譯:今年年初,“農民們”開始探索DeFi,以尋求更高的資本收益。DeFi的主要游樂場,即以太坊網絡,見證了爆炸性的交易增長.
1900/1/1 0:00:00頭條 ▌美聯儲或在無意間持有比特幣垃圾債在去年疫情凍結了信貸市場之后,美聯儲購買了債券交易所交易基金,以推動市場再次運轉.
1900/1/1 0:00:00隨著DeFi協議應用的發展,越來越復雜的智能合約部署在以太坊網絡中,合約與合約之間的交互過程不但復雜且頻次高,每一次合約交互都隱藏著財富機會,比如套利,比如清算.
1900/1/1 0:00:00美國證券交易委員會(SEC)負責人再次呼吁監管加密貨幣交易。 在PiperSandler舉辦的GlobalExchanges&FinTech虛擬會議期間,SEC主席GaryGensler.
1900/1/1 0:00:00隨著使用需求的不斷擴大,以太坊的性能瓶頸逐漸凸顯,底層擴展性不足的問題極大的限制了應用程序并同時影響了用戶體驗.
1900/1/1 0:00:00