區塊鏈的跨鏈技術是什麼?

自比特幣10年前誕生以來,數以千計的區塊鏈公鏈被開發出來,基於各種公鏈的加密貨幣數量更呈現井噴式增長。客觀來看,各條公鏈都具有自己獨特的優勢和特徵,以 EOS 為代表的公鏈更是提出了「側鏈」的概念。基於「側鏈」的概念,EOS 打出了百萬級 TPS(系統吞吐量) 的口號。要知道比特幣的 TPS 最高值僅有 7,也就是說比特幣每秒鐘僅支持 7 筆交易。作為區塊鏈 2.0 代表的以太坊的 TPS 也不過才 30~40。而 EOS 號稱可以達到百萬級 TPS 的技術基礎正是「側鏈跨鏈」。

跨鏈技術可以被理解為一種協議,解決兩個或多個不同鏈上的資產以及功能狀態不能互相傳遞、轉移、交換的問題。也就是說,跨鏈技術能夠增加區塊鏈的可拓展性,能夠從根本上解決不同公鏈/側鏈之間交易困難產生的」數據孤島「問題

跨鏈技術的難點

跨鏈技術從 Blockstream 提出側鏈概念以來,一直是區塊鏈技術的重點攻關方向。目前並沒有被普遍認可的跨鏈機制,原因在於各個公鏈之間的底層技術實現差異巨大給跨鏈技術帶來了不小的障礙。

跨鏈需要解決的幾個難點問題:

  • 保證跨鏈信息真實可信原鏈上的交易信息對於另一條鏈來說是一個外部信息,如何保證這個外部信息進入另一條鏈時是正確的,是整個跨鏈機制的重要環節。如果要考慮到使用 POW 機制的區塊鏈上沒有終局狀態(始終存在分叉的情況,只是隨著確認塊的增加,概率逐漸變小),這個問題的複雜度會更高。
  • 跨鏈交易要確保原鏈上的 Token 總量不會因為跨鏈而減少或增多跨鏈技術很重要的一個應用方向就是數字資產的跨鏈轉移,如何保證不同鏈上的數字資產能夠安全地從一條鏈轉移到其他鏈,又可以從其他區塊鏈安全地返回主鏈是亟待解決的問題之一。

    對於數字資產的跨鏈轉移來說,原鏈上 Token 總量減少的後果是當 Token 需要跨回原鏈時,原鏈無法產生新的 Token ,也就是隻能單向跨鏈。原鏈 Token 增多是名義上的增多,實際上是本來已經跨鏈至另一個賬本的 Token 在原鏈上被雙重支付了,這種情況違背了精確記賬的原則,是在任何時候都無法接受的。因此當 Token 跨出原鏈時,原鏈上的 Token 必然需要進入「鎖定」的狀態,當 Token 跨回原鏈時,這些 Token 需要被解鎖。如何通過去中心化的管理機制完成「鎖定」、「解鎖「的過程就成為了跨鏈的關鍵。

  • 保證整個跨鏈交易的原子性交易的原子性,簡單來說是指交易處理的某個環節停止,整個交易能夠撤銷,而不會存在部分成功,部分失敗的情況,無法保證原子性會造成雙重支付。在跨鏈技術中保證原子性的難點在於,跨鏈雙方是兩條獨立的鏈,可能具有不同的共識機制、數據結構、交易處理邏輯等等,造成交易最終沒有被執行的原因也千差萬別。

現有的跨鏈技術方案

目前主流的區塊鏈跨鏈技術有公證人機制(Notary schemes)、側鏈/中繼(Sidechains/relays)、哈希鎖定(Hash-locking)。

公證人機制

公證人技術的代表就是瑞波 Interledger 協議。2012年,瑞波實驗室提出 Interledger 協議,旨在連接不同賬本並實現它們之間的協同。Interledger 協議適用於所有記賬系統、能夠包容所有記賬系統的差異性,該協議的目標是要打造全球統一支付標準,創建統一的網路金融傳輸的協議。

Interledger 協議使兩個不同的記賬系統可以通過第三方「連接器」或「驗證器」互相自由地傳輸通證。記賬系統無需信任「連接器」,因為該協議採用密碼演算法用連接器為這兩個記賬系統創建資金託管,當所有參與方對交易達成共識時,便可相互交易。

側鏈

側鏈是以錨定某種原鏈上的通證為基礎的新型區塊鏈,正如美金錨定到黃金。側鏈是連接各種鏈,其它區塊鏈則可以獨立存在。

側鏈技術的代表是 BTC Relay。它被認為是區塊鏈上的第一個側鏈。BTC Relay 把以太坊網路與比特幣網路通過使用以太坊的智能合約連接起來,可以使用戶在以太坊上驗證比特幣交易。它通過以太坊智能合約創建一種小型版本的比特幣區塊鏈,但智能合約需要獲取比特幣網路數據,因此實現去中心化比較困難。BTC Relay 進行了跨區塊鏈通信的有意義的嘗試,打開了不同區塊鏈交流的通道。

中繼技術

中繼技術的代表是 Polkadot。Polkadot 是由原以太坊主要核心開發者推出的公有鏈。它主要解決當今兩大難題:即時拓展性可擴展性。Polkadot 計劃將私有鏈/聯盟鏈融入到公有鏈的共識網路中,同時又能保有私有鏈/聯盟鏈的原有的數據隱私和許可使用的特性。它可以將多個區塊鏈互相連接。

Polkadot的提出者 Gavin Wood 希望用一條中繼鏈(Relay-chain)來實現其他所有鏈的交易的驗證工作, 再通過平行鏈的創建實現與原鏈的交易與通信。

具體來說,現在想在鏈 A 和鏈 B 間進行跨鏈轉賬,他們的中繼鏈為鏈 C。鏈 A 先將數據發送到中繼鏈 C 上,然後在中繼鏈 C 上進行數據校驗。校驗完成後,將一份成功的憑證發送給鏈 A,同時向鏈 B 發送數據,鏈 B 接收數據後,向中繼鏈 C 發送接收憑證。在鏈 B 操作執行成功後,會向中繼鏈 C 發送成功憑證。

哈希鎖定技術

哈希鎖定技術的代表是閃電網路。閃電網路底層運用了 HTLC 技術和 RSMC 技術,構建了一個個鏈下支付通道。這些通道合在一起成為一個網路。交易雙方的數目比較小的微支付可以通過一系列的鏈下協議完成,從而拓展比特幣的性能。

什麼是 HTLC 哈希時間鎖技術?舉個例子。A 與 B 達成這樣一個協議:協議將鎖定 A 的1個比特幣,在 T 時刻到來之前,如果 B 能夠告訴 A 一個正確的「暗號」 R,使得 R 的哈希值等於約定的值(R),B 就能獲得者一個比特幣。如果 B 在 T 時刻到來時不能提供正確的「暗號」 R,那麼這一個比特幣自動解鎖,回歸 A 所有。

「不需要記錄在區塊鏈上」的閃電網路還應用了 RSMC(可撤銷的順序成熟度協約)技術。具體來看,假設 A 與 B 之間有一個支付通道,二人共同存入一定資金,必須當二人都簽名時才能動用這些資金。每次交易時,都要共同確認資金分配,並達成分配合約。當新的分配合約生效後,舊的分配合約失效。一旦有人,比如 A 仍然使用舊的合約來動用資金,作為懲罰這筆錢必須退還給 B 作為補償。

FIBOS 的跨鏈思考

哈希鎖定作為 FIBOS 跨鏈技術的選型並不理想。一來哈希鎖定無法保證數據來源的可信度;此外,它還需要用戶在一定時間窗口完成操作,用戶本身也成為了跨鏈的一部分,提升了用戶使用門檻。

公證人機制天然比較契合 FIBOS 的生態,因為 FIBOS 中 BP 節點(Block Producer)恰好可以作為公證人。但這也帶來了一定的問題,首先,BP 節點由投票產生,其變動速度較快,公證人列表需要不斷的更新,需要考慮如何去中心化的同步公證人列表、以及公證人列表和 FIBOS BP 不一致所帶來的數據同步問題;其次,BP 節點的可信度也存在問題,因為 BP 是由 FIBOS 選出,其公信力不能影響到其他鏈,這會使得跨鏈數據的真實信被質疑;最後,公證人機制本身存在數據重複發送的問題,降低了效率。同時,得到的數據依靠「多簽」機制來判斷能否執行,不能在數學層面上驗證,這也會產生風險。

側鏈方案有一定的可取性。由於其區塊狀態同步在合約內進行,所以會產生不必要的 CPU,RAM 等資源消耗。同時帶來的問題是,由於 FIBOS 出塊速度較快(0.5s),在 FIBOS 側鏈進行多塊的狀態同步,容易產生超時問題。使用側鏈來解決數據的可信度是一個很好的方案,可是不應該將其放在合約內進行。

中繼方案看起來更為可取,因為中繼鏈的存在,不會因同步狀態消耗額外資源在源鏈上。同時,異構鏈的數據結構不同問題,可以用在中繼鏈內進行數據轉換解決。這使得中繼方案不僅比較經濟,而且能在異構鏈之間進行轉賬。唯一的問題在於鎖定資產賬戶由誰來控制,以及狀態和數據同步由誰進行,這一點在上述的中繼技術方案裏並沒有給出答案。

對於 FIBOS 生態來說,解決跨鏈問題是一個戰略性的挑戰,尤其在談到和 EOS 之間的跨鏈轉賬問題時,跨鏈技術是必須要攻克的難關之一。對此,融合公證人機制和中繼的方案有著較高的可行性。資產鎖定賬號由公證人共同掌握,公證人同時負責區塊狀態的初始化和給出一個同步地址。當出現跨鏈轉賬操作時,首先由見證人執行多簽對跨鏈資產進行轉出,然後進入中繼鏈,進行數據驗證。驗證成功後,再由多簽操作轉入目標鏈。這使得公證人機制能夠在數學層面上被驗證,同時使得中繼鏈的數據來源較為可信。

區塊鏈從技術上來說是P2P網路、加密技術和分散式賬本,從經濟上來說,它是價值網路。而目前,由於不同鏈之間通信壁壘的存在,導致了區塊鏈的價值網路呈割裂的狀態。區塊鏈作為價值網路的基礎設施部分,不應該只侷限於和止步於一個個「價值孤島」,更不能僅僅將價值圈定於一個個小的生態中。我們需要跨鏈技術,需要將不同鏈之間進行連接和拓展,構建價值網路的高速公路。隨著區塊鏈技術的高效迭代和創新,我們相信跨鏈技術終將成熟,區塊鏈價值網路的高速公路也終將會把一個個「孤島」連接起來。


推薦閱讀:
相關文章