跨鏈到底在跨什麼?

買賣虛擬貨幣
第0章 引言跨鏈是今年區塊鏈裡最火爆的技術,主打跨鏈技術的專案多的很,超級明星cosmos和polkadot主戰場都是跨鏈。

但跨鏈到底是什麼意思啊?

第1章 資產跨鏈

跨鏈技術很早就出現了,在2013年就大量出技術在討論比特幣的跨鏈。主要有三大跨鏈技術,閃電網路、側鏈和中繼。

在以太坊出現之前,區塊鏈很少談及“合約”,當時只談“幣”,當時的跨鏈技術都是指的是“資產(幣)的跨鏈”。資產跨鏈,或許應該稱為幣跨鏈。

資產跨鏈簡單來說是兩條鏈的幣相互發給對方。但這怎麼發?幣的跨鏈技術有很多,有雙向錨定(two-way-peg),雜湊時間鎖,原子交換,資產質押轉移,閘道器,聯邦簽名等等。

雙向錨定是比特幣側鏈技術中非常重要的概念,用來實現比特幣主鏈幣和側鏈幣之間的跨鏈。雙向錨定能夠讓側鏈“知道”主鏈上的特定幣是否處於鎖定狀態,並且依此鎖定狀態來解鎖或銷燬對應數量的側鏈幣。這就好像BTC“跨”到了側鏈,或者反過,側鏈幣“跨”回了主鏈。

位元股是一個去中心化的交易所,裡面可以交易比特幣,哎,這裡面的比特幣是怎麼出現的呢?用的就是閘道器技術。原理很簡單,就是使用者將比特幣發給一個叫“閘道器”的地方,然後“閘道器”會生成一個比特幣穩定幣在位元股流通。使用者要提比特幣時,就反過來,閘道器會銷燬比特幣穩定幣,然後將相同數量的比特幣發給使用者。

幣的跨鏈有一個非常重要的概念叫“原子交換”。所謂的原子交換是指:A鏈上的一筆交易,和B鏈上的一筆交易,要麼同時成立,要麼同時不成立。

比如BTC和LTC,兩個人,張三願意拿1BTC換李四的100LTC,為了防止毀約,雙方使用原子交換技術來完成幣的互換。

張三給李四一個LTC地址;李四給張三一個BTC地址。
張三使用原子交換協議構建了一筆BTC交易,將1BTC發到李四的BTC地址。這筆交易成立的條件是張三的LTC地址收到李四發來的100LTC。
李四使用原子交換協議構建了一筆LTC交易,將100LTC發到張三的LTC地址。這筆LTC交易成立的條件是李四的BTC地址收到了張三發來的1BTC。

上述兩筆交易要麼同時成立,要麼同時不成立,沒有任何一方可以做到在收到對方的幣後,不給幣就跑路。

這就是幣的跨鏈。本質上幣的跨鏈並沒有真實的幣從一條鏈跑到另外一條鏈,只是幣在各自鏈上相互糾纏一樣鎖定和解鎖的狀態。

第2章 合約跨鏈

以太坊誕生後,區塊鏈開始大量討論智慧合約。智慧合約本質上就是程式碼,這些程式碼可以依據區塊鏈上的特定資料來觸發執行。

智慧合約我們可以簡化理解成為一個函式,輸入特定的引數,程式碼就會自動觸發執行,就能得出特定的結果,並且給出穩定的輸出結果。

f(x)=y
f()就是合約程式碼
x就是啟用的程式碼的條件
y就是合約執行結果。

不跨鏈的智慧合約,f(),x,和y都是在一條鏈上,不會出現在多條鏈上。

舉一個例子說明。

EOS的眾籌就是一個智慧合約,這個合約有一個合約地址。
使用者可以將從自己控制私鑰的以太坊地址將ETH轉入這個合約地址。
EOS的眾籌合約每隔23小時就會計算合約地址一共收到多少ETH,並且計算出每個使用者的地址將獲得多少EOS代幣。
過了23小時後,使用者就可以向這個合約地址發起一次呼叫函式,要求合約返回計算好的EOS代幣。
這個EOS的眾籌合約就會將相應的EOS代幣傳送到使用者的以太坊地址。

但以太坊上的智慧合約,程式碼是在以太坊區塊鏈上,要啟用合約也需要在以太坊區塊鏈上傳送特定的交易。

以太坊誕生後,整個區塊鏈社羣又搞出了非常非常多的鏈,很多都帶有智慧合約的功能。然後就有人提出來,我們能不能在一條鏈上釋出一個智慧合約,然後依據另外一條鏈的特定資訊,來觸發這個智慧合約來執行特定的操作呢?

這就是合約(呼叫)跨鏈。

就比如,如果有人做發一個ICO,目標是眾籌穩定幣USDT(為了舉例,我們只考慮這是Omni版本的USDT),穩定幣可以規避波動性風險。專案方向外界公佈收幣的BTC地址。
又因為比特幣上不方便構建代幣。專案方就在以太坊構建ERC20代幣。專案方透過構建一個支援跨鏈的智慧合約來分發這些ERC20代幣。
使用者使用自己控制私鑰的BTC地址將USDT轉入專案方公佈的BTC地址上。
智慧合約可以讀取專案方公佈的BTC地址的收幣狀態,合約能夠讀取到使用者的付款地址,並且計算相應的代幣數量。
使用者透過以太坊錢包,和自己的比特幣地址特定簽名向合約發起呼叫函式。
合約依據呼叫函式和計算結果,向使用者支付ERC20代幣。

你看,這種的合約就涉及到兩條鏈,這就是合約跨鏈。一條鏈上的智慧合約,能夠讀取另外一條鏈上的特定資訊,來執行合約程式碼,並給出確定性的結果。

第3章 跨鏈的應用舉例

跨鏈有什麼用呢?

第一場景是做去中心化的交易所。依賴幣可以跨鏈,支援使用者掛單,透過跨鏈合約來提供撮合,撮合成交後使用幣的跨鏈來完成幣的轉移。理論上是可以做到完成不依賴於特定的伺服器的。

現在的去中心化交易所,以太坊和EOS上的交易所,並不是嚴格意義上的跨鏈去中心化交易所。都是ETH和ERC20之間的交易,和EOS和EOS上的代幣的交易。位元股是一個去中心化的交易所,透過閘道器發行穩定幣的方式來將BTC等遷移到BTS內網來交易。

第二個場景是資產抵押。某條鏈上的幣是否解鎖,取決於另一條鏈上的特定資訊。

第三個場景是讀取鏈外資料(預言機)的智慧合約。比如賭球,有專門的鏈外資料,即預言機,提供球賽結果。然後使用者在以太坊上透過合約來對賭,雙方押幣進合約,合約採集預言機的特定資料來判決賭資歸誰。

第4章 實現跨鏈生態

跨鏈這個概念的提出,會出現兩種情況。第一種情況是,在現有鏈之間相互跨。比如讓以太坊和比特幣相互跨。第二種情況是,我造一個標準,以後大家按這個標準來設計新的鏈,所有這些新鏈就可以非常方便相互跨。

在跨鏈概念的早期,大家都想著第一種情況。最著名的就是閃電網路,中繼和側鏈三大技術。這種在現有鏈相互跨的生態裡,是不會發一個叫“跨鏈幣”的幣的。跨鏈技術本生是不會發幣。比如閃電網路就不是一種幣,只是一種技術。

但在現有的鏈之間相互跨,因為各自鏈設計之處就沒有考慮過要你跨我我跨你的場景,所以跨鏈還是很難的。你看側鏈,中繼,閃電網路等發展了那麼多年,你有實際做過跨鏈嗎?沒有。

因為早期的鏈,很多基本上就是複製比特幣技術。比如LTC基本上就是複製了BTC。程式碼都是複製的嘛,所以相互跨就有了理論上的依據。

在第一種情況發展了那麼多年後,大家發明,哎呀,這玩意也搞不成啊。然後說,算了算了,看來我們還得想辦法搞點別的事。這就誕生了今年的跨鏈熱門。

現在的跨鏈熱門,其實都包含了造鏈技術。就是我自己設計一條區塊鏈,如cosmos,polkadot,vsystem。這些區塊鏈裡都包含了一組造鏈協議,就是按照特定的標準來設計一條新的鏈。只要在這個標準下設計出來的鏈,那相互跨就非常容易了。這些標準協議就是跨鏈的基礎設施。

當然,在第二種情況下,並不是只有新造出來的鏈能相互跨,他們也會想辦法讓現有的鏈也加入到跨鏈生態中。也就是說,在第二種情況下往往是包含了第一種情況的。其中cosmos和polkadot都是使用類似於中繼的技術來實現和現有的鏈跨。

polkadot就將跨現有的鏈叫著中繼鏈。原理就是將原有鏈上的資產透過多重簽名來鎖定,然後在中繼鏈上發行對應的穩定幣。

第5章 結束語

未來是萬鏈互跨呢?還是萬鏈歸一呢?

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;