<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深入了解波卡跨共識(shí)消息 XCM(1)

          共 5646字,需瀏覽 12分鐘

           ·

          2022-06-08 12:22

          加入 PolkaWorld 社區(qū),共建 Web 3.0!

          在近期的 Zero Knowledge 播客節(jié)目中,Parity 聯(lián)合創(chuàng)始人 Rob Habermeier 分享了 XCM 如何允許平行鏈相互通信。PolkaWorld 翻譯了該播客內(nèi)容,本文是第一部分,接下來的部分會(huì)在近期發(fā)布在 PolkaWorld 公眾號(hào)上。


          AnnaRose:歡迎來到 Zero Knowledge,我是主持人 AnnaRose。在這檔播客中,我們將探索最新的零知識(shí)研究和去中心化網(wǎng)絡(luò),以及有望改變我們?cè)诰€互動(dòng)和交易方式的新范式。


          本周,我與來自 Parity 的朋友 Robert Habermeier 聊了聊 XCM,即跨共識(shí)消息傳遞格式。我們討論了 XCM 允許平行鏈通過中繼鏈上的驗(yàn)證人相互傳遞消息的方式,這是 Polkadot 原生互操作性協(xié)議。這里做一個(gè)小修正,在對(duì)話中我混淆了兩個(gè)術(shù)語 —— XCM 代表跨共識(shí)消息,XCMP 代表跨鏈消息傳遞。


          Rob 也是我多年的朋友,有時(shí)也和我共同主持這個(gè)節(jié)目。歡迎回來,Rob。


          Rob:謝謝,很高興來到這里。


          AnnaRose:今天我們將了解 Polkadot 的一些進(jìn)展,回顧一下自從上一次你來到節(jié)目后發(fā)生的事情。我想先深入聊聊 XCM 的定義。


          Rob:好的。XCM 代表跨共識(shí)消息,隨著時(shí)間的推移,我們可以用它來連接起許多不同的生態(tài)。一開始,它主要關(guān)注接入到中繼鏈的平行鏈之間的通信,或者說 Polkadot/Kusama 生態(tài)中的區(qū)塊鏈。


          AnnaRose:我剛剛提到了 XCM,但還有個(gè)類似但不一樣的術(shù)語叫 XCMP。它們都是什么意思?


          Rob:這個(gè)確實(shí)值得注意一下。首先說明一下,我們之后很可能會(huì)把 XCM 的名稱改掉,改成一個(gè)更吸引人的名稱。XCM 代表跨共識(shí)消息,它只是一種格式和協(xié)議,而不是消息的實(shí)際數(shù)據(jù)傳遞。消息的傳遞就是我們所說的 XCMP,即跨共識(shí)消息傳遞或跨鏈消息傳遞,也就是讓 Polkadot 生態(tài)系統(tǒng)中的平行鏈互相發(fā)送基本原始數(shù)據(jù)的機(jī)制,這樣它們就可以發(fā)送任何類型的字節(jié)。但我們還創(chuàng)建了跨共識(shí)消息格式 XCM,它將語義含義附加到這些字節(jié),并且作為生態(tài)系統(tǒng)內(nèi)的標(biāo)準(zhǔn),用于表示鏈可能對(duì)每個(gè)字節(jié)采取的不同類型的操作。


          AnnaRose:我們應(yīng)該深入聊聊這一點(diǎn)。但在這之前,我想了解一下,自從我們上次采訪你以來你一直在做什么,上一次采訪應(yīng)該是 2019 年夏天。從那以后發(fā)生了很多事情,可以簡單介紹一下過去快三年里,你經(jīng)歷了什么嗎?


          Rob:讓我們把時(shí)間拉回到過去,這中間真的發(fā)生了好多好多事情。2019 年夏天我們聊的時(shí)候,我們的重點(diǎn)主要是在開發(fā) Substrate 上,包括區(qū)塊鏈 SDK、共識(shí)機(jī)制和 Polkadot 平行鏈如何實(shí)際運(yùn)作的研究。所以當(dāng)時(shí),除了平行鏈協(xié)議如何運(yùn)作的原型之外,我們沒有任何東西。那么在 2019 年,我們?cè)谂ψ鍪裁茨??我們?cè)跇?gòu)建可插拔的共識(shí)和 Substrate,我們?cè)跇?gòu)建 WebAssembly 執(zhí)行的東西,用于構(gòu)建我們稱之為 ENCO 的 runtime,即鏈的業(yè)務(wù)邏輯,我們正在致力于讓 libP2P 可以用于生產(chǎn)環(huán)境。這是在 Kusama 發(fā)布前不久,它于 2019 年秋季上線。


          Kusama 網(wǎng)絡(luò)本質(zhì)上是 Polkadot 的金絲雀網(wǎng)絡(luò),代碼可以在其中以實(shí)際價(jià)值投入生產(chǎn),它也是權(quán)益證明網(wǎng)絡(luò),只是與 Polkadot 主網(wǎng)不同級(jí)別的權(quán)益。所以簡而言之,在 2019 年我們剛剛起步。我認(rèn)為 Polkadot 在很多方面都是一個(gè)獨(dú)特的項(xiàng)目,因?yàn)槲覀儙缀鯊念^開始構(gòu)建了整個(gè)技術(shù)棧。這包括網(wǎng)絡(luò)、WebAssembly 執(zhí)行、WebAssembly 編譯、區(qū)塊格式、Gossip 協(xié)議。我的意思是,絕對(duì)一切都是內(nèi)部構(gòu)建的代碼。所以我們?cè)谀嵌螘r(shí)間里一直在培養(yǎng),很多專業(yè)知識(shí),但就實(shí)際所做的而言,我覺得今天(5 月 11 日)實(shí)際上是我們談?wù)?XCM 的好日子,因?yàn)榻裉靹偤檬?XCM 在波卡啟動(dòng)的日子。


          XCM 已經(jīng)在 Kusama 上啟動(dòng)了幾個(gè)月了,我記得有三四個(gè)月了,平行鏈已經(jīng)能夠相互打開通道并發(fā)送消息。但是今天,一項(xiàng) Runtime 升級(jí)通過了治理的批準(zhǔn)并在 Polkadot 上實(shí)施,這讓平行鏈能夠在 Polkadot 上做完全相同的事情。所以我們現(xiàn)在可以讓價(jià)值在平行鏈之間 “飛行” 了。但與此同時(shí),從 2019 年開始,我們基本構(gòu)建了整個(gè)平行鏈協(xié)議。我們完成了大量的研究,并構(gòu)建了這個(gè)協(xié)議的生產(chǎn)化實(shí)現(xiàn)。這是為了實(shí)際構(gòu)建平行鏈區(qū)塊,發(fā)送給驗(yàn)證人進(jìn)行驗(yàn)證,包括整個(gè)數(shù)據(jù)可用性層和安全協(xié)議、批準(zhǔn)和爭議,我有一個(gè)很長的博客文章總結(jié)了所有這些東西。因此,我們不必在此深入討論所有這些東西,但這些都已經(jīng)處理好了。從去年年底發(fā)布后,我們正在慢慢推出所有剩下的功能。


          AnnaRose:酷。你認(rèn)為 Polkadot 的形成方式與其他一些協(xié)議有什么不同嗎?我看到有很多東西是后來新加進(jìn)去的,你覺得這些內(nèi)容都是先計(jì)劃好了,現(xiàn)在只是交付計(jì)劃的內(nèi)容呢,還是你覺得有一些戰(zhàn)略、技術(shù)、概念會(huì)隨著你們不斷前進(jìn)而有所發(fā)展?你們有沒有遇到在實(shí)施過程中需要更改最初計(jì)劃好的內(nèi)容的情況?


          Rob:當(dāng)然不同。Polkadot 不是 Geth 的分叉,最大區(qū)別之一是我們擁有自己的代碼庫,我認(rèn)為這可以追溯到 Parity,也就是曾經(jīng)的 EthCore 的精神,它是第一個(gè)真正嚴(yán)肅的以太坊替代客戶端,以 Rust 實(shí)現(xiàn),并且是將 Rust 帶入?yún)^(qū)塊鏈?zhǔn)澜绲氖讋?chuàng)。所以我們本質(zhì)上是區(qū)塊鏈節(jié)點(diǎn)編寫者,這給了我們理由來再次實(shí)現(xiàn)很多東西,并以我們自己的方式去做,從過去編寫區(qū)塊鏈節(jié)點(diǎn)中吸取教訓(xùn)。我們有邊實(shí)踐邊學(xué)嗎?絕對(duì)的。開發(fā)過程中的好玩的地方,但也很煩人的地方就是,你需要面對(duì)現(xiàn)實(shí)情況,面對(duì)碎片化和嵌套的復(fù)雜性。


          你可以說 “我們只是要執(zhí)行這段代碼”。那么,你是在一個(gè)單獨(dú)的進(jìn)程中做到這一點(diǎn)的嗎?比如萬一機(jī)器宕機(jī)了,你想怎樣把它持久化到硬盤上?而這些東西,在你剛寫論文,做最小化假設(shè)時(shí),是很難把它們都考慮到的。當(dāng)你寫論文的時(shí)候,你只是說 “不能有三分之一的節(jié)點(diǎn)出故障”。但是在工程實(shí)踐中,你必須非常小心,確保沒有人可以發(fā)送一個(gè)消息包,把所有節(jié)點(diǎn)都宕掉。還要注意你正在使用的資源類型,你的實(shí)際內(nèi)存限制是多少等等。所以我們當(dāng)然必須得適應(yīng)現(xiàn)實(shí)情況。其實(shí) Polkadot 白皮書中描述的內(nèi)容更類似于現(xiàn)在的 Optimistic Rollups。


          AnnaRose:哇哦。也就是更像是博弈論性質(zhì)的?中繼鏈和平行鏈之間的安全性不是欺詐證明?


          Rob:是的,有點(diǎn)類似。還有很多細(xì)節(jié)還沒有探索,比如鏈如何終結(jié)?終結(jié)的必要先決條件是什么?你需要什么樣的分叉選擇規(guī)則來確保避免壞區(qū)塊,以及類似的事情。因此,我們現(xiàn)在會(huì)解釋說,對(duì)于 Rollup 生態(tài)來說,是一種分割并選擇的 Rollup,我們我們使用隨機(jī)抽樣和主動(dòng)檢查以確保平行鏈區(qū)塊的狀態(tài)轉(zhuǎn)換實(shí)際上是有效的,而不是像欺詐證明機(jī)制那樣,只是做出某種潛在的經(jīng)濟(jì)假設(shè) —— 如果現(xiàn)在還沒有人說這件事是壞的,那它可能是好的。我們實(shí)際上有一個(gè)更主動(dòng)的檢查,就像是 —— 現(xiàn)在有這么多人檢查它,如果他們中的一些人消失了,我們會(huì)招募更多的人來檢查它。如果有人提出異議,就會(huì)升級(jí)到每個(gè)人都檢查。然后我們就知道,這些人都已經(jīng)簽署了良好的區(qū)塊,因此我們可以終結(jié)它。所以在安全模型方面,我們現(xiàn)在更像是 ZK Rollups,而不是 Optimistic Rollups 之類的東西。


          AnnaRose:然而它也不是 ZK,它不是有效性證明。你還在做某種檢查,本質(zhì)上是抽樣。


          Rob:是的,沒錯(cuò)。你可以在此模型中做 ZK Rollups。當(dāng)然,ZK Rollups 的經(jīng)典問題是你創(chuàng)建的電路的復(fù)雜性。在 Polkadot 模型中,我們提供的是讓你能夠檢查狀態(tài)轉(zhuǎn)換是否有效的見證數(shù)據(jù)。然后大家實(shí)際上必須去檢查并確保它真的是有效的,而不是僅僅在 Layer 1 共識(shí)機(jī)制上執(zhí)行。


          AnnaRose:這種新模式是如何產(chǎn)生的?中繼鏈?zhǔn)菙?shù)據(jù)可用性鏈嗎?也就是 Rollups 這類的東西存儲(chǔ)的地方?


          Rob:是的,數(shù)據(jù)存儲(chǔ)在中繼鏈的驗(yàn)證人集中。所以我們不做輕客戶端可用性抽樣,這是一種潛在的經(jīng)濟(jì)假設(shè),即會(huì)有足夠的輕客戶端。我們只是說,好吧,這些是中繼鏈的驗(yàn)證人。他們的任務(wù)之一是提供數(shù)據(jù)。因此,我們做了糾刪碼,讓其中任何三分之一的驗(yàn)證人片段都可以重建整個(gè)數(shù)據(jù)。在考慮包含平行鏈區(qū)塊之前,三分之二的驗(yàn)證人必須確認(rèn)他們擁有自己的區(qū)塊。于是就有了這種糾刪碼和代碼塊分配機(jī)制。這是中繼鏈和平行鏈機(jī)制的一部分。


          中繼鏈為平行鏈提供了許多服務(wù),但最重要的是數(shù)據(jù)可用性、安全性和分叉選擇規(guī)則。這個(gè)分叉選擇規(guī)則非常重要,因?yàn)槲覀儗?shí)際上已經(jīng)將中繼鏈的分叉選擇規(guī)則與平行鏈或 Rollup 有效性集成在一起,這意味著你可以非常及時(shí)地處理平行鏈之間的消息,甚至在你知道它們是有效的之前,因?yàn)槿绻惆l(fā)現(xiàn)它們是無效的,你只需在那個(gè)無效區(qū)塊處分叉就行。


          AnnaRose :這個(gè)過程會(huì)很麻煩嗎?還是說你們把它實(shí)現(xiàn)得很簡單?


          Rob:它不是手動(dòng)的,是完全自動(dòng)化的。在良好的網(wǎng)絡(luò)條件下,整個(gè)過程只需要幾分鐘。讓壞區(qū)塊被廢棄,并在其位置上構(gòu)建一個(gè)新區(qū)塊。


          AnnaRose:你們真的見過壞區(qū)塊嗎?


          Rob:在主網(wǎng)上還沒有,在我們的測(cè)試網(wǎng)上有過。在推出這個(gè)功能之前,我們編寫了一個(gè)測(cè)試網(wǎng),其中包含一千個(gè)全球分布的驗(yàn)證人。我們編寫了惡意驗(yàn)證人,它們會(huì)嘗試以多種不同的方式對(duì)其進(jìn)行攻擊。比如說,假設(shè)不分發(fā)數(shù)據(jù)塊或分發(fā)壞的數(shù)據(jù)塊,或者讓數(shù)據(jù)無效或泄露,還有比如把好的說成壞的,壞的說成好的。我們會(huì)以非常高的速度運(yùn)行這些攻擊,測(cè)試網(wǎng)絡(luò)連續(xù)幾周每 10 秒重組一次。我們以這種方式發(fā)現(xiàn)了許多問題。在我們上線到主網(wǎng)之前,已經(jīng)連續(xù)運(yùn)行了幾周。


          AnnaRose:我們又聊回 XCM 吧。你在開頭定義了 XCMP 和 XCM 之間的區(qū)別,我可以把 XCM 看作和 IBC 同類的東西嗎?是不是 XCM 是規(guī)則和標(biāo)準(zhǔn),XCMP 是 action 或者中繼器?


          Rob:我們使用的一個(gè)比喻是,XCM 和 XCMP 的關(guān)系,就像 HTTP 服務(wù)器開發(fā)中的 REST 和 RESTful 的關(guān)系。RESTful 是指你如何回答請(qǐng)求,是無狀態(tài)的,接收請(qǐng)求,做出響應(yīng);而 REST API 本身就是 API。


          AnnaRose:XCM 是 API,XCMP 是 action 嗎?


          Rob:只是數(shù)據(jù),它是數(shù)據(jù)和該數(shù)據(jù)會(huì)送達(dá)的保證。


          AnnaRose:好的,我假設(shè)大多數(shù)聽眾都知道 Polkadot 的架構(gòu),有中繼鏈,有平行鏈接入到上面。對(duì)于接入到波卡的平行鏈,除非它們之間打通一種獨(dú)特的橋,否則沒有任何代幣可以在平行鏈之間移動(dòng),是這樣嗎?


          Rob:是的,有點(diǎn)像側(cè)通道橋,或者更像是團(tuán)隊(duì)創(chuàng)建的臨時(shí)橋。但安全保障的級(jí)別不同。因此,XCMP 的一個(gè)關(guān)鍵點(diǎn)是,本質(zhì)上每條平行鏈都可以創(chuàng)建連接到其他每條平行鏈的橋,我們稱這些橋?yàn)?“通道”。每條平行鏈的安全保障都是一樣的,都有最高級(jí)別的安全性。因此,它們之間的消息傳遞也有著相同級(jí)別的安全性。所以這里面沒有最薄弱的一環(huán),你可以即時(shí)傳遞消息。


          AnnaRose:我猜想 XCM 的主要使用場景之一是移動(dòng)代幣,但你們不稱之為代幣移動(dòng),它不是橋,而是一些消息。如果你要用 XCM 來移動(dòng)代幣的話,這個(gè)過程如何實(shí)際發(fā)生?是不是說,它是一條自動(dòng)路徑,但你還是會(huì)在兩側(cè)構(gòu)建某些東西,例如鎖定/解鎖,鑄造/銷毀等。


          Rob:有很多不同的路徑,我解釋一下消息/action 的情況。就像你在郵件中收到一張支票,你可以存入那張支票,你可以用那張支票做你想做的事,但這個(gè)過程獨(dú)立于郵局,對(duì)吧?郵局只是投遞這張紙,但還有一種通用語言,比如支票的語言,和我們知道如何解釋和檢查這些東西上的簽名。所以 XCMP 就像郵政系統(tǒng)一樣,XCM 就像讓我們能理解支票內(nèi)容的文件。那么說到代幣轉(zhuǎn)移,這是你可以使用 XCM 做的事情之一,并且有幾種不同的方法可以做到這一點(diǎn)。


          一種方法是我們所說的傳送(Teleport),即銷毀/鑄造。但我們有一個(gè) “值得信賴的傳送者” 的概念,也就是其他鏈信任哪些鏈來實(shí)際鑄造和銷毀他們的代幣。他們不一定能控制代碼,這些代碼在其他人的平行鏈或 Rollup 上執(zhí)行,這些鏈可能有自己的治理系統(tǒng)。這與在以太坊或其他一些智能合約平臺(tái)上的可升級(jí)合約的安全保證級(jí)別相同。因?yàn)榇a可以改變,你也不一定知道一年后會(huì)運(yùn)行什么。所以如果用傳送,你要確保相信這條鏈不會(huì)不負(fù)責(zé)任地鑄造和銷毀代幣。


          還有另一種類型的轉(zhuǎn)移,稱為儲(chǔ)備轉(zhuǎn)移。也就是你有另一條鏈充當(dāng)某種代幣的規(guī)范儲(chǔ)備,在波卡中就是中繼鏈,其他鏈的儲(chǔ)備管理帳戶都在上面。因此,他們可以與儲(chǔ)備鏈對(duì)話,來在儲(chǔ)備鏈中移動(dòng)賬戶余額。所以我們有一個(gè)已經(jīng)上線的公共利益鏈,Kusama 上的叫 ?Statemine,波卡上的叫 Statemint。它們是通用的資產(chǎn)儲(chǔ)備鏈,你可以在那里創(chuàng)建一個(gè)代幣,然后它會(huì)自動(dòng)為該代幣提供儲(chǔ)備功能,然后該代幣就可以在生態(tài)系統(tǒng)中的任何地方使用。


          • PolkaWorld Telegram 群:

            t.me/polkaworld

          • PolkaWorld Youtube 頻道:

            https://www.youtube.com/c/PolkaWorld

          • PolkaWorld Twitter:

            @polkaworld_org

          • PolkaWorld 網(wǎng)站:

            https://polkaworld.pro/

          更多內(nèi)容


          Gavin Wood:Web3 應(yīng)用為何沒有普及?障礙在哪?

          Gavin Wood 認(rèn)為區(qū)塊鏈可以修復(fù)社交媒體!

          提名池上線 Kusama 網(wǎng)絡(luò)!查看獎(jiǎng)勵(lì)計(jì)劃!

          關(guān)注 PolkaWorld

          發(fā)現(xiàn)?Web 3.0 時(shí)代新機(jī)遇


          點(diǎn)個(gè) “在看” 再走吧!

          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文天堂资源在线 | 黄色三级片免费 | 欧洲精品一区二区三区 | 日本高清二区 | 日韩三级高清视频 |