在過(guò)去的幾年里,人們對(duì)區(qū)塊鏈技術(shù)的興趣急劇上升。因此,大量的時(shí)間和金錢被用于創(chuàng)建“殺手區(qū)塊鏈”或“殺手DApp”。事實(shí)上,IDC預(yù)計(jì)2019年全球區(qū)塊鏈消費(fèi)將超過(guò)29億美元!不幸的是,這些區(qū)塊鏈項(xiàng)目都是在真空中構(gòu)建的。開(kāi)發(fā)團(tuán)隊(duì)一直在使用他們自己的共識(shí)算法、他們自己的驗(yàn)證器池和他們自己的自定義應(yīng)用程序創(chuàng)建他們自己的協(xié)議。這種豎井式的方法不利于區(qū)塊鏈的安全性、效率和用戶體驗(yàn)(我的意思是誰(shuí)想為每個(gè)應(yīng)用程序管理單獨(dú)的代幣??)顯然,是時(shí)候開(kāi)始集成我們的區(qū)塊鏈基礎(chǔ)設(shè)施并構(gòu)建一個(gè)連接的、可伸縮的基礎(chǔ)設(shè)施了。幸運(yùn)的是,在這方面已經(jīng)取得了一些重大進(jìn)展,這就是本文的全部?jī)?nèi)容。就讓我們一探究竟吧!
當(dāng)我第一次開(kāi)始學(xué)習(xí)區(qū)塊鏈互操作性時(shí),我有四個(gè)核心問(wèn)題:
1. 系統(tǒng)的互操性作到底意味著什么?
2. 在早期互聯(lián)網(wǎng)的構(gòu)建過(guò)程中,互操作性是一個(gè)問(wèn)題嗎?如果是,解決方案是什么?
3. 集成區(qū)塊鏈基礎(chǔ)設(shè)施的真正好處是什么?
4. 到目前為止,針對(duì)區(qū)塊鏈互操作性提出了哪些解決方案,誰(shuí)在構(gòu)建這些解決方案?
這些問(wèn)題提供了對(duì)該主題的強(qiáng)大基礎(chǔ)理解,所以我決定將它們作為本文的大綱。像往常一樣,你可以自由地跳過(guò),閱讀你最感興趣的部分!
1. 互操作性到底意味著什么?
讓我們從基礎(chǔ)開(kāi)始:互操作這個(gè)術(shù)語(yǔ)實(shí)際上是什么意思?根據(jù)Search Microservices的說(shuō)法,互操作性只是指“不同系統(tǒng)、設(shè)備、應(yīng)用程序或產(chǎn)品以協(xié)調(diào)的方式連接和通信的能力,而無(wú)需最終用戶的努力”。
對(duì)于軟件來(lái)說(shuō),互操作性是指能夠自由交換數(shù)據(jù)、共享文件和使用相同協(xié)議的應(yīng)用程序。對(duì)于電信來(lái)說(shuō),互操作性指的是能夠無(wú)縫地將信息從一個(gè)供應(yīng)商傳遞到另一個(gè)供應(yīng)商的網(wǎng)絡(luò)。您可能已經(jīng)推斷出,加密互操作性意味著信息可以自由地從一個(gè)區(qū)塊鏈網(wǎng)絡(luò)傳遞到下一個(gè)。這種集成將允許區(qū)塊鏈用戶跨鏈交換值和任意數(shù)據(jù)。
這個(gè)定義的后半部分同樣重要。區(qū)塊鏈互操作性不應(yīng)該要求終端用戶做任何額外的工作。這意味著用戶不必為每個(gè)跨鏈交易使用交易所,也不必為每個(gè)代幣維護(hù)單獨(dú)的錢包,等等。相反,應(yīng)該從一個(gè)入口點(diǎn)連接和訪問(wèn)所有內(nèi)容。事實(shí)上,在一個(gè)理想的世界中,單個(gè)區(qū)塊鏈網(wǎng)絡(luò)的復(fù)雜性將被抽象出來(lái),最終用戶將簡(jiǎn)單地訪問(wèn)“區(qū)塊鏈”,就像我們目前訪問(wèn)“互聯(lián)網(wǎng)”的方式一樣。實(shí)現(xiàn)這種程度對(duì)于區(qū)塊鏈的采用將是一個(gè)巨大的步驟,并且只有在我們擁有一個(gè)連接的區(qū)塊鏈生態(tài)系統(tǒng)時(shí)才有可能實(shí)現(xiàn)。但我有點(diǎn)超前了。我們將很快討論集成區(qū)塊鏈網(wǎng)絡(luò)的好處。不過(guò),在此之前,讓我們先來(lái)了解一下這個(gè)問(wèn)題的歷史背景。
2. 互操作性和早期互聯(lián)網(wǎng)
馬克·吐溫曾說(shuō)過(guò)一句臭名昭著的話:“歷史不會(huì)重演,但它經(jīng)常相似?!辈还芩欠裾娴倪@么說(shuō)過(guò),這個(gè)表達(dá)都非常適用于區(qū)塊鏈技術(shù),因?yàn)樵缙诘幕ヂ?lián)網(wǎng)和我們當(dāng)前區(qū)塊鏈基礎(chǔ)設(shè)施的發(fā)展有很多相似之處。最直接的相似之處之一是互操作性的概念。因此,我認(rèn)為強(qiáng)調(diào)互操作性對(duì)互聯(lián)網(wǎng)的采用和可擴(kuò)展性的影響是很有趣的。
互聯(lián)網(wǎng)的誕生(1963-1974)
讓我們從頭開(kāi)始?;ヂ?lián)網(wǎng)最初是由美國(guó)國(guó)防部資助的一項(xiàng)實(shí)驗(yàn)。1963年,國(guó)防部高級(jí)研究計(jì)劃局(ARPA)信息處理技術(shù)辦公室(“IPTO”)第一任主任J.C.R. Licklider首次提出了這個(gè)概念。Licklider支持這樣的想法,即我們可以創(chuàng)建一個(gè)由相互連接的計(jì)算機(jī)組成的“星系間網(wǎng)絡(luò)”。不幸的是,這一理論花了幾年時(shí)間才付諸實(shí)踐。這發(fā)生在1967年,當(dāng)時(shí)拉里·羅伯茨發(fā)表了現(xiàn)在被稱為阿帕網(wǎng)的最初設(shè)計(jì)。
在首次出版兩年后,ARPA在四個(gè)學(xué)術(shù)機(jī)構(gòu)安裝并連接了第一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn):加州大學(xué)洛杉磯分校、加州大學(xué)圣巴巴拉分校、斯坦福大學(xué)和猶他大學(xué)。當(dāng)時(shí),網(wǎng)絡(luò)的功能仍然非常有限(僅限于發(fā)送消息、發(fā)送文件和打印到遠(yuǎn)程打印機(jī))。雖然這種有限的功能在一定程度上阻礙了該網(wǎng)絡(luò)的早期發(fā)展,但更多的研究機(jī)構(gòu)慢慢加入進(jìn)來(lái)。到1971年底,阿帕網(wǎng)已從4個(gè)節(jié)點(diǎn)發(fā)展到15個(gè)節(jié)點(diǎn)。到1973年底,這一數(shù)字增至35人,到1976年底增至63人。
隨著阿帕網(wǎng)在20世紀(jì)70年代中期的不斷擴(kuò)展,研究人員在最終決定網(wǎng)絡(luò)控制協(xié)議之前,對(duì)各種網(wǎng)絡(luò)協(xié)議進(jìn)行了實(shí)驗(yàn)。大約在同一時(shí)間,一些機(jī)構(gòu)開(kāi)始創(chuàng)建自己獨(dú)特的網(wǎng)絡(luò)。值得注意的是,密歇根大學(xué)創(chuàng)建了“功績(jī)網(wǎng)絡(luò)”,法國(guó)政府資助了“基克拉迪斯網(wǎng)絡(luò)”,杜克大學(xué)的兩名學(xué)生創(chuàng)建了Usenet。顯然,計(jì)算機(jī)網(wǎng)絡(luò)開(kāi)始吸引學(xué)術(shù)界和政府機(jī)構(gòu)的大量興趣。唯一的問(wèn)題是每個(gè)網(wǎng)絡(luò)都被限制在網(wǎng)絡(luò)內(nèi)部通信。這意味著,對(duì)于使用密歇根大學(xué)功績(jī)網(wǎng)絡(luò)的人來(lái)說(shuō),無(wú)法通過(guò)加州大學(xué)洛杉磯分校的ARPANET與他們的同行進(jìn)行溝通。這個(gè)問(wèn)題嚴(yán)重限制了早期互聯(lián)網(wǎng)的覆蓋面和實(shí)用性。聽(tīng)起來(lái)熟悉嗎?
那么解決方案是什么呢?為了實(shí)現(xiàn)擁有無(wú)所不在的計(jì)算機(jī)網(wǎng)絡(luò)的目標(biāo),很明顯,要么現(xiàn)有的網(wǎng)絡(luò)必須“獲勝”,要么這些孤立的網(wǎng)絡(luò)需要一種相互通信的方式。1974年,文頓?瑟夫(Vinton Cerf)和羅伯特?卡恩(Robert Kahn)證明,后者將是最務(wù)實(shí)的選擇。
TCP改變了互聯(lián)網(wǎng)(1974-1983)
1974年,文頓·瑟夫(Vinton Cerf)和羅伯特·卡恩(Robert Kahn)發(fā)表了一篇開(kāi)創(chuàng)性的論文,題為《分組網(wǎng)絡(luò)互連協(xié)議》(a Protocol for Packet Network Intercommunication)。在這本書中,他們首先詳細(xì)介紹了連接不同網(wǎng)絡(luò)所面臨的挑戰(zhàn)。這些挑戰(zhàn)本質(zhì)上歸結(jié)為這樣一個(gè)事實(shí):每個(gè)網(wǎng)絡(luò)都有自己的一套規(guī)則來(lái)標(biāo)識(shí)節(jié)點(diǎn)和傳輸數(shù)據(jù)。更具體地說(shuō),每個(gè)網(wǎng)絡(luò)都有唯一的地址、不同的最大數(shù)據(jù)傳輸大小、不同的故障檢測(cè)程序等等。同樣,這聽(tīng)起來(lái)與連接我們現(xiàn)有的區(qū)塊鏈基礎(chǔ)設(shè)施(即每個(gè)區(qū)塊鏈網(wǎng)絡(luò)都有自己獨(dú)特的共識(shí)機(jī)制、最大塊大小等)所面臨的挑戰(zhàn)非常相似。
更重要的是,Cerf和Kahn的論文針對(duì)這些互操作性挑戰(zhàn)提出了一個(gè)解決方案。這個(gè)解決方案是一個(gè)全新的網(wǎng)絡(luò)協(xié)議,稱為傳輸控制協(xié)議(簡(jiǎn)稱TCP)。TCP由以下核心組件組成:
· 網(wǎng)關(guān): 為了使數(shù)據(jù)從網(wǎng)絡(luò)A傳遞到網(wǎng)絡(luò)B,需要重新格式化數(shù)據(jù)以滿足網(wǎng)絡(luò)B的標(biāo)準(zhǔn)。網(wǎng)關(guān)被設(shè)計(jì)用來(lái)處理這個(gè)重新格式化的過(guò)程。此外,他們還負(fù)責(zé)分解超過(guò)下一個(gè)網(wǎng)絡(luò)最小大小要求的數(shù)據(jù)包(我知道這很令人興奮?。?/p>
· 排序: 如上所述,TCP被設(shè)計(jì)為一個(gè)“包交換協(xié)議”。這意味著協(xié)議將數(shù)據(jù)分解成一組更小的數(shù)據(jù)包,然后在網(wǎng)絡(luò)上路由這些數(shù)據(jù)包。為了有效地做到這一點(diǎn),接收計(jì)算機(jī)需要能夠按照正確的順序重新包裝它們。TCP通過(guò)在每個(gè)傳出數(shù)據(jù)包的頭部添加一個(gè)序列號(hào)來(lái)處理這個(gè)過(guò)程。然后,接收方計(jì)算機(jī)上的TCP協(xié)議可以使用這些序列號(hào)將數(shù)據(jù)包恢復(fù)到正確的順序。
· 尋址:TCP還負(fù)責(zé)跨網(wǎng)絡(luò)(或多個(gè)網(wǎng)絡(luò))路由此數(shù)據(jù)。為了做到這一點(diǎn),它需要知道將數(shù)據(jù)發(fā)送到哪里。為此,TCP為每個(gè)網(wǎng)絡(luò)和網(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)分配了一個(gè)惟一的ID。然后,它使用這些標(biāo)識(shí)符在網(wǎng)絡(luò)上路由信息。
幾年后,這個(gè)排序/路由功能被分成兩個(gè)獨(dú)特的協(xié)議。TCP仍然負(fù)責(zé)分解/重新排序數(shù)據(jù)包,而新創(chuàng)建的互聯(lián)網(wǎng)協(xié)議(“IP”)負(fù)責(zé)將數(shù)據(jù)路由到整個(gè)網(wǎng)絡(luò)(因此我們使用“IP地址”來(lái)區(qū)分每個(gè)互聯(lián)網(wǎng)連接的設(shè)備)。這就是現(xiàn)在所知的TCP / IP協(xié)議套件,它是我們整個(gè)互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的骨干!
這里重要的是,通過(guò)標(biāo)準(zhǔn)化數(shù)據(jù)傳輸方法并使用網(wǎng)關(guān)作為網(wǎng)絡(luò)之間的橋梁,TCP能夠連接對(duì)數(shù)據(jù)傳輸有不同需求的豎井網(wǎng)絡(luò)。
指數(shù)級(jí)增長(zhǎng)(1984 -現(xiàn)在)
在看到協(xié)議的潛力后,ARPANET決定將其底層協(xié)議從NCP切換到TCP。這一轉(zhuǎn)變發(fā)生在1983年1月1日(這一天現(xiàn)在被親切地稱為“國(guó)旗日”)。從左邊的圖表中可以看出,國(guó)旗日代表了互聯(lián)網(wǎng)連接設(shè)備發(fā)展的轉(zhuǎn)折點(diǎn)。
這種加速增長(zhǎng)可以歸因于幾個(gè)方面。TCP / IP發(fā)布幾年后,美國(guó)國(guó)家科學(xué)基金會(huì)(NSF)使用協(xié)議套件構(gòu)建了NSFNET,該網(wǎng)絡(luò)在當(dāng)時(shí)發(fā)展成為最健壯的計(jì)算機(jī)網(wǎng)絡(luò)。此外,全球各地的研究機(jī)構(gòu)開(kāi)始使用該協(xié)議來(lái)建立自己的聯(lián)網(wǎng)計(jì)算機(jī)網(wǎng)絡(luò)。隨著更多地理區(qū)域的聯(lián)網(wǎng),互聯(lián)網(wǎng)的實(shí)用性呈指數(shù)級(jí)增長(zhǎng),最終推動(dòng)了對(duì)這項(xiàng)技術(shù)的更多關(guān)注和資金投入。TCP使這種良性循環(huán)成為可能,這就是我們今天享受互聯(lián)網(wǎng)無(wú)處不在的原因。
3.區(qū)塊鏈互操作性的好處
還記得我說(shuō)過(guò),在互聯(lián)網(wǎng)的歷史上有一個(gè)節(jié)點(diǎn),實(shí)際上有兩個(gè)選擇:(1)一個(gè)網(wǎng)絡(luò)“勝出”,(2)我們連接現(xiàn)有的網(wǎng)絡(luò)?區(qū)塊鏈技術(shù)目前也處于同樣的岔路口,這一次,答案似乎有些顯而易見(jiàn)。盡管比特幣的極大化主義者言辭激烈,但值得懷疑的是,是否會(huì)有一條“萬(wàn)能”鏈,能夠針對(duì)每一個(gè)可能的用例進(jìn)行優(yōu)化,并成為整個(gè)區(qū)塊鏈基礎(chǔ)設(shè)施的支柱。因此,合乎邏輯的下一步必須是將它們連接起來(lái)。但是這樣做的實(shí)際好處是什么呢?
一般來(lái)說(shuō),互操作性有兩個(gè)核心好處:它改進(jìn)了用戶體驗(yàn)并支持網(wǎng)絡(luò)專門化。讓我們更深入地研究這些概念。
可用性
這一點(diǎn)很明顯?;ゲ僮餍缘哪康氖窃试S用戶無(wú)縫地將信息從一個(gè)區(qū)塊鏈傳遞到另一個(gè)區(qū)塊鏈。這通??梢苑譃閮深悾簝r(jià)值交換和任意數(shù)據(jù)交換。價(jià)值交換是指用戶不依賴于集中的代幣交換而直接將ETH交換給BTC的能力。通過(guò)啟用不可信的對(duì)等價(jià)值交換,互操作性將大大減少費(fèi)用負(fù)擔(dān)、等待時(shí)間和交易復(fù)雜性。
第二類是任意數(shù)據(jù)交換,指的是“區(qū)塊鏈到區(qū)塊鏈的API調(diào)用”。該功能將允許開(kāi)發(fā)人員編寫跨鏈智能合約。這樣做將使智能合約能夠啟動(dòng)鏈間代幣傳輸、創(chuàng)建表示其他區(qū)塊鏈代幣或真實(shí)世界資產(chǎn)的合成資產(chǎn)、與構(gòu)建在其他區(qū)塊鏈網(wǎng)絡(luò)上的應(yīng)用程序通信,等等。這種程度的鏈間通信將顯著改進(jìn)UX,因?yàn)橛脩魧⒉辉儇?fù)責(zé)自己傳輸或重新創(chuàng)建這些信息。
網(wǎng)絡(luò)專門化
互操作性的第二個(gè)好處是網(wǎng)絡(luò)專門化。這個(gè)不太直觀,我再講一些背景知識(shí)。
目前,如果開(kāi)發(fā)人員想要構(gòu)建分散的應(yīng)用程序,他們有兩種選擇:(1)他們可以從頭創(chuàng)建特定于應(yīng)用程序的區(qū)塊鏈,(2)他們可以在現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)上構(gòu)建。從頭開(kāi)始構(gòu)建區(qū)塊鏈?zhǔn)且豁?xiàng)艱巨的任務(wù),因?yàn)樗枰獜念^開(kāi)始編寫所有代碼,并引導(dǎo)一個(gè)由礦工、用戶等組成的社區(qū)。即使這樣,新應(yīng)用程序也無(wú)法與區(qū)塊鏈生態(tài)系統(tǒng)的其他部分通信。當(dāng)然,大多數(shù)開(kāi)發(fā)人員選擇選項(xiàng)2,并在現(xiàn)有的基于虛擬機(jī)(“基于vm”)的區(qū)塊鏈(如Ethereum)上構(gòu)建應(yīng)用程序。這樣做,他們就不需要構(gòu)建自己的區(qū)塊鏈,并且可以與構(gòu)建在相同平臺(tái)上的其他應(yīng)用程序進(jìn)行“現(xiàn)成的”互操作性。
不幸的是,盡管基于vm的區(qū)塊鏈可以處理一系列令人印象深刻的功能,但它們有幾個(gè)重要的限制:(i)它們具有更大的攻擊面,這降低了網(wǎng)絡(luò)安全性;(ii)它們的伸縮性不是很好;最后一個(gè)限制可能是最重要的。雖然以太坊和其他類似平臺(tái)已經(jīng)被構(gòu)建來(lái)適應(yīng)廣泛的用例,但是它們實(shí)際上并沒(méi)有針對(duì)任何特定的用例進(jìn)行優(yōu)化,這意味著開(kāi)發(fā)人員必須使他們的應(yīng)用程序適應(yīng)平臺(tái)的任何瓶頸、限制和治理結(jié)構(gòu)。在某些情況下,這可能類似于將諺語(yǔ)中的方釘裝進(jìn)圓孔中。
那么解決方案是什么呢?你現(xiàn)在可能已經(jīng)猜到了。解決方案是簡(jiǎn)化創(chuàng)建特定于應(yīng)用程序的區(qū)塊鏈網(wǎng)絡(luò)的過(guò)程,并支持它們之間的互操作性(我們將在下一節(jié)中討論P(yáng)olkadot是如何做到這一點(diǎn)的)。這將帶來(lái)三個(gè)重要的好處:
· 自定義: 可以完全定制特定于應(yīng)用程序的區(qū)塊鏈。這意味著開(kāi)發(fā)人員可以選擇編碼語(yǔ)言、協(xié)商一致機(jī)制、權(quán)限設(shè)置、編程功能等等。這將允許開(kāi)發(fā)團(tuán)隊(duì)為他們獨(dú)特的用例優(yōu)化網(wǎng)絡(luò)的安全性、私密性、效率、靈活性和復(fù)雜性。這將增強(qiáng)構(gòu)建在其上的應(yīng)用程序的性能和功能。
· 可擴(kuò)展性: 承載多個(gè)應(yīng)用程序的大型基于vm的智能合約平臺(tái)存在“交易沖突”的風(fēng)險(xiǎn)。這是一種描述同一代幣可能同時(shí)在多個(gè)交易中使用風(fēng)險(xiǎn)的奇特方法。為了降低這種風(fēng)險(xiǎn),智能合約平臺(tái)按順序執(zhí)行交易,而不是同時(shí)執(zhí)行所有交易。然而,如果每個(gè)應(yīng)用程序都構(gòu)建在特定于應(yīng)用程序的獨(dú)特區(qū)塊鏈上,而不是單一的智能合約平臺(tái)上,交易就可以同時(shí)執(zhí)行。當(dāng)您在整個(gè)區(qū)塊鏈生態(tài)系統(tǒng)中考慮這個(gè)示例時(shí),您可以開(kāi)始想象特定于應(yīng)用程序的體系結(jié)構(gòu)將會(huì)多么高效/可擴(kuò)展。
· 安全性: 當(dāng)從頭創(chuàng)建一個(gè)新的網(wǎng)絡(luò)時(shí),吸引最優(yōu)數(shù)量的驗(yàn)證節(jié)點(diǎn)可能是一個(gè)挑戰(zhàn)。如果驗(yàn)證節(jié)點(diǎn)的數(shù)量不夠理想,則網(wǎng)絡(luò)安全級(jí)別也不夠理想。實(shí)現(xiàn)區(qū)塊鏈互操作性的一種方法是使用一個(gè)中繼鏈體系結(jié)構(gòu)來(lái)集中網(wǎng)絡(luò)安全功能(我們將在下面的中繼一節(jié)中對(duì)此進(jìn)行更詳細(xì)的討論)。使用這個(gè)模型,每個(gè)連接到中繼鏈的區(qū)塊鏈都可以共享一組驗(yàn)證器。這顯著增加了為每個(gè)單獨(dú)的區(qū)塊鏈網(wǎng)絡(luò)供電的驗(yàn)證節(jié)點(diǎn)的數(shù)量,并使驗(yàn)證過(guò)程更加有效。
令人興奮的是,幾個(gè)團(tuán)隊(duì)已經(jīng)在嘗試創(chuàng)建這個(gè)相互連接的基礎(chǔ)設(shè)施層方面取得了很大的進(jìn)展。這就是我們將在本文的最后一節(jié)中深入探討的內(nèi)容。
4. 互操作性的當(dāng)前狀態(tài)
既然我們已經(jīng)很好地理解了互操作性的好處,讓我們繼續(xù)討論最后一個(gè)問(wèn)題:已經(jīng)提出了哪些解決方案來(lái)連接我們的區(qū)塊鏈基礎(chǔ)設(shè)施, 以及誰(shuí)在構(gòu)建它們?在過(guò)去的幾年里,不同的團(tuán)隊(duì)從不同的角度攻擊互操作性。在此期間,有三種潛在的解決方案脫穎而出:原子互換、公證計(jì)劃和中繼鏈。
原子交換(也稱為哈希時(shí)間戳)
原子交換使用一種稱為哈希時(shí)間戳的技術(shù)來(lái)支持直接的對(duì)等代幣交換。原子交換是我們?nèi)齻€(gè)解決方案中最基本的一個(gè)。簡(jiǎn)單地說(shuō),原子交換允許您直接與另一個(gè)人交換代幣,而不需要信任的第三方。換句話說(shuō),如果Alice想用5個(gè)BTC交換Bob的100個(gè)LTC,他們可以使用原子交換來(lái)執(zhí)行對(duì)等轉(zhuǎn)移,而不會(huì)有任何對(duì)手方的風(fēng)險(xiǎn)。
那么它到底是如何工作的呢?它使用一種稱為哈希時(shí)間戳的技術(shù)。我們把它分解一下。在哈希時(shí)間戳中,每個(gè)參與者將各自的代幣鎖在一個(gè)智能合約中。如果雙方同意對(duì)方已經(jīng)向智能合約發(fā)送了適當(dāng)?shù)慕痤~,則代幣將被分發(fā)給雙方。但是,如果任何一方不同意智能合約中鎖定的金額,那么智能合約將過(guò)期,雙方都不會(huì)收到代幣。
為了獲得更多的粒度,讓我們回到前面的示例。為了讓Alice和Bob使用原子交換將5個(gè)BTC交換為100個(gè)LTC,他們將執(zhí)行以下步驟。首先,Alice會(huì)選擇一個(gè)大的隨機(jī)數(shù)(我們稱之為“q”)并對(duì)其進(jìn)行哈希。然后她會(huì)創(chuàng)建一個(gè)智能合約,說(shuō)她將發(fā)送5個(gè)BTC給Bob,并用q的哈希鎖定該智能合約。如果Bob查看智能合約并同意Alice鎖定了適當(dāng)?shù)臄?shù)量,他將創(chuàng)建第二個(gè)智能合約,聲明他將發(fā)送Alice 100 LTC并使用相同的哈希鎖定它。最后,如果Alice同意Bob也鎖定了適當(dāng)?shù)臄?shù)量,她將使用q解鎖100個(gè)LTC,這樣Bob就會(huì)知道q的值并使用它解鎖他的5個(gè)BTC。當(dāng)然,總有一方不履行協(xié)議的可能。如果發(fā)生這種情況,那么合約將過(guò)期,交易也不會(huì)發(fā)生。
原子掉期已經(jīng)變得非常流行,現(xiàn)在在一些最著名的交易所 (“DEX’s”)上使用,包括0x、Lightning Labs和Komodo。使用原子交換可以減少鏈間交易的費(fèi)用負(fù)擔(dān),并避免與交換相關(guān)的一些安全問(wèn)題。盡管如此,原子交換也有一些缺點(diǎn)。最重要的是,它們速度很慢,只能用相同的哈希算法在鏈之間進(jìn)行交換,而且目前只能用于支持基本智能合約的區(qū)塊鏈。
公證計(jì)劃(即單向及雙向掛鉤)
實(shí)現(xiàn)互操作性的第二種方法稱為“公證計(jì)劃”。從技術(shù)角度來(lái)看,公證員制度是最簡(jiǎn)單的解決方案(至少根據(jù)Vitalik的觀點(diǎn))。這種方法依賴于一組受信任的驗(yàn)證節(jié)點(diǎn)(稱為“公證人”)來(lái)驗(yàn)證跨鏈的交易。從本質(zhì)上講,公證人向一個(gè)區(qū)塊鏈提供了一個(gè)保證,即某個(gè)事件發(fā)生在一個(gè)單獨(dú)的區(qū)塊鏈上。例如,它們可以用來(lái)檢查一定數(shù)量的代幣被鎖定在區(qū)塊鏈A上,以便可以在區(qū)塊鏈B上綜合創(chuàng)建它們。
公證人制度的一種常見(jiàn)類型稱為聯(lián)邦掛鉤旁證(我們將其簡(jiǎn)稱為“FPS”)。FPS本質(zhì)上使用多簽名錢包在區(qū)塊鏈之間創(chuàng)建單向和雙向掛鉤。這聽(tīng)起來(lái)可能有點(diǎn)混亂,讓我們回到之前的例子。如果Alice想用FPS把她的5個(gè)BTC換成100個(gè)LTC,她可以把她的5個(gè)BTC發(fā)送到一個(gè)由公證員聯(lián)合會(huì)控制的多簽名地址。然后,這組公證人負(fù)責(zé)批準(zhǔn)交易。一旦獲得批準(zhǔn),就可以在litecoin區(qū)塊鏈上綜合創(chuàng)建資產(chǎn),供Alice使用。相反,Alice (或任何與她交換萊特幣的人)可以銷毀這些合成幣。如果發(fā)生這種情況,那么公證人將把之前鎖在多sig錢包中的5個(gè)BTC發(fā)送給毀滅者。這種創(chuàng)建和銷毀合成大筆的能力開(kāi)啟了一系列新功能,包括代幣化鏈外資產(chǎn)的能力、創(chuàng)建穩(wěn)定值代幣的能力,當(dāng)然還有代幣互操作性。
那么,目前哪些項(xiàng)目使用公證人制度呢?最有信譽(yù)的將是內(nèi)部分類和流動(dòng)。
· Interledger是Ripple實(shí)驗(yàn)室創(chuàng)建的一種協(xié)議。它主要模仿TCP / IP,并使用一個(gè)“連接器”網(wǎng)絡(luò)來(lái)促進(jìn)互操作性。它目前正在運(yùn)行,已經(jīng)有一些公司在它的基礎(chǔ)上建設(shè),包括 Coil, StrataLabs, Kava,等。
· Liquid是一個(gè)與貨幣掛鉤的聯(lián)邦側(cè)鏈,它建立在比特幣網(wǎng)絡(luò)之上,以促進(jìn)快速的鏈間轉(zhuǎn)賬和對(duì)現(xiàn)實(shí)世界資產(chǎn)(如法定貨幣)的代幣化。隨著35個(gè)項(xiàng)目(主要是交易所、交易部門和金融機(jī)構(gòu))的建立,Liquid”開(kāi)始獲得一些吸引力。此外,Liquid預(yù)計(jì)將在近期完成幾項(xiàng)值得注意的集成,包括與Tether和BitMEX的集成。
當(dāng)然,如果我不討論公證制度的弊端,那就是我的失職。這里的核心缺點(diǎn)是這個(gè)過(guò)程并不是完全不可靠的。當(dāng)然,您不需要依賴集中式交換。然而,本質(zhì)上您只是用一組公證人的信任替換了集中實(shí)體中的信任。如果超過(guò)要求的公證人比例是惡意的,那么整個(gè)系統(tǒng)仍然可能受到危害。
中繼鏈
我們需要討論的最后一種互操作性技術(shù)稱為中繼鏈。在我看來(lái),這是迄今為止最令人興奮的解決方案。顧名思義,中繼器用于簡(jiǎn)單地將信息從一個(gè)區(qū)塊鏈“傳遞”到下一個(gè)區(qū)塊鏈。在公證方案上使用中繼的優(yōu)點(diǎn)是,它完全消除了對(duì)一組可信中介的需要。
那么它到底是如何工作的呢?基本上, 中繼器是一個(gè)智能合約區(qū)塊鏈(我們稱之為區(qū)塊鏈),作為光客戶機(jī)在一個(gè)單獨(dú)的區(qū)塊鏈(我們稱之為區(qū)塊鏈B)為背景,光客戶機(jī)是一個(gè)連接到一個(gè)完整的智能合約區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)。因此,通過(guò)充當(dāng)區(qū)塊鏈B上的輕客戶機(jī),中繼器能夠理解事件變化并將信息傳遞給區(qū)塊鏈A。
那么目前誰(shuí)在使用這種接力技術(shù)呢?最有名的項(xiàng)目可能是BTC Relay。BTC Relay是一個(gè)基于以太的智能合約,它連接到比特幣區(qū)塊鏈上的一個(gè)完整節(jié)點(diǎn),以提取和存儲(chǔ)BTC塊頭。它宣稱的目標(biāo)是使用這些塊頭在以太坊上構(gòu)建一個(gè)迷你版的比特幣區(qū)塊鏈。這種特殊的中繼技術(shù)的唯一缺點(diǎn)是它僅限于單向互操作性(即BTC中繼只能將BTC信息拉到ETH區(qū)塊鏈上,反之亦然)。
中繼鏈?zhǔn)褂谩癶ub=and-spoke”體系結(jié)構(gòu):中繼鏈?zhǔn)亲鳛槊總€(gè)成員鏈上的輕客戶機(jī)的“hub”。幸運(yùn)的是,可以克服這個(gè)限制,創(chuàng)建一個(gè)支持雙向互操作性的中繼體系結(jié)構(gòu)!這就是所謂的“中繼鏈”。從本質(zhì)上說(shuō),中繼鏈?zhǔn)且粋€(gè)惟一的區(qū)塊鏈網(wǎng)絡(luò),它充當(dāng)所有連接到它的區(qū)塊鏈網(wǎng)絡(luò)上的輕客戶機(jī)(我們將把這些稱為“成員鏈”)。中繼鏈有效地成為將所有成員鏈連接在一起的中心集線器,促進(jìn)了值和任意數(shù)據(jù)的交換。
那么誰(shuí)在建造這些中繼鏈呢?目前,Polkadot 和 Cosmos是這一領(lǐng)域的領(lǐng)先者。這些項(xiàng)目都專注于開(kāi)發(fā)它們的核心中繼鏈基礎(chǔ)設(shè)施,以及一個(gè)健壯的軟件開(kāi)發(fā)人員工具包(“SDK”),它簡(jiǎn)化了創(chuàng)建和連接新成員鏈的過(guò)程。正如我們?cè)谇耙还?jié)中討論的,這種方法的好處是(i)簡(jiǎn)化了創(chuàng)建定制的、特定于應(yīng)用程序的區(qū)塊鏈的過(guò)程,(ii)提高了總體可擴(kuò)展性,因?yàn)榻灰卓梢酝瑫r(shí)執(zhí)行而不是按照順序執(zhí)行。
有趣的是,雖然這兩個(gè)項(xiàng)目都使用了中繼鏈架構(gòu),但它們都采用了非常不同的方法。
· Polkadot: Polkadot正在設(shè)計(jì)它的中繼鏈來(lái)處理建立在它之上的任何成員鏈的一致性和網(wǎng)絡(luò)功能。這意味著所有的Polkadot成員鏈將共享一組公共的驗(yàn)證器。因此,這些成員鏈將從強(qiáng)大的安全性中獲益,并且不需要引導(dǎo)自己的驗(yàn)證節(jié)點(diǎn)集。然而,該模型的缺點(diǎn)是成員鏈對(duì)狀態(tài)更改沒(méi)有最終發(fā)言權(quán)。相反,該電源駐留在中繼鏈的驗(yàn)證器中。
· Cosmos: Cosmos正在采取一種不同的方法。它的中繼鏈僅用于在成員鏈之間中繼數(shù)據(jù)。這意味著每個(gè)成員鏈負(fù)責(zé)引導(dǎo)自己的驗(yàn)證器社區(qū)并運(yùn)行自己的協(xié)商共識(shí)機(jī)制。這種方法的好處是,成員鏈可以在很大程度上控制哪些驗(yàn)證器保護(hù)其區(qū)塊鏈。此外,成員鏈將對(duì)任何狀態(tài)更改擁有最終發(fā)言權(quán)。
如果您正在尋找關(guān)于這些解決方案之間差異的更多信息,我強(qiáng)烈建議您閱讀本文。重要的是,這兩個(gè)項(xiàng)目都處于區(qū)塊鏈互操作性的最前沿,并且很可能對(duì)它們自己獨(dú)特類型的區(qū)塊鏈項(xiàng)目/開(kāi)發(fā)人員具有吸引力。
最后,如果我不簡(jiǎn)要地提到中繼鏈體系結(jié)構(gòu)的缺點(diǎn),那就不完整。中繼鏈面臨的主要挑戰(zhàn)是,它們不容易與現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)(如以太坊和比特幣)互操作。雖然這些項(xiàng)目都很清楚這一點(diǎn),但它們可能無(wú)法在短時(shí)間內(nèi)確定優(yōu)先級(jí)。
結(jié)論
以上就是我關(guān)于互操作性文章的全部?jī)?nèi)容,希望您能從中獲益!我知道有大量的信息需要處理,但我的結(jié)論是:
1. 從可用性的角度來(lái)看,互操作性是至關(guān)重要的,如果我們想要實(shí)現(xiàn)主流的區(qū)塊鏈采用,就必須優(yōu)先考慮互操作性。
2. 在這方面有令人印象深刻的勢(shì)頭。雖然我們目前的解決方案沒(méi)有一個(gè)是完美的,但我們應(yīng)該期望在未來(lái)幾年看到快速的改進(jìn),這將導(dǎo)致一個(gè)連接更緊密、可伸縮的區(qū)塊鏈基礎(chǔ)設(shè)施。
評(píng)論
查看更多