1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        深入了解波卡跨共識消息 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)容,本文是第一部分,接下來的部分會在近期發(fā)布在 PolkaWorld 公眾號上。


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


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


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


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


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


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


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


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


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


        Rob:讓我們把時間拉回到過去,這中間真的發(fā)生了好多好多事情。2019 年夏天我們聊的時候,我們的重點主要是在開發(fā) Substrate 上,包括區(qū)塊鏈 SDK、共識機制和 Polkadot 平行鏈如何實際運作的研究。所以當(dāng)時,除了平行鏈協(xié)議如何運作的原型之外,我們沒有任何東西。那么在 2019 年,我們在努力做什么呢?我們在構(gòu)建可插拔的共識和 Substrate,我們在構(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ò),代碼可以在其中以實際價值投入生產(chǎn),它也是權(quán)益證明網(wǎng)絡(luò),只是與 Polkadot 主網(wǎng)不同級別的權(quán)益。所以簡而言之,在 2019 年我們剛剛起步。我認(rèn)為 Polkadot 在很多方面都是一個獨特的項目,因為我們幾乎從頭開始構(gòu)建了整個技術(shù)棧。這包括網(wǎng)絡(luò)、WebAssembly 執(zhí)行、WebAssembly 編譯、區(qū)塊格式、Gossip 協(xié)議。我的意思是,絕對一切都是內(nèi)部構(gòu)建的代碼。所以我們在那段時間里一直在培養(yǎng),很多專業(yè)知識,但就實際所做的而言,我覺得今天(5 月 11 日)實際上是我們談?wù)?XCM 的好日子,因為今天剛好是 XCM 在波卡啟動的日子。


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


        AnnaRose:XCM 是 API,XCMP 是 action 嗎?


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


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


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


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


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


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


        還有另一種類型的轉(zhuǎn)移,稱為儲備轉(zhuǎn)移。也就是你有另一條鏈充當(dāng)某種代幣的規(guī)范儲備,在波卡中就是中繼鏈,其他鏈的儲備管理帳戶都在上面。因此,他們可以與儲備鏈對話,來在儲備鏈中移動賬戶余額。所以我們有一個已經(jīng)上線的公共利益鏈,Kusama 上的叫 ?Statemine,波卡上的叫 Statemint。它們是通用的資產(chǎn)儲備鏈,你可以在那里創(chuàng)建一個代幣,然后它會自動為該代幣提供儲備功能,然后該代幣就可以在生態(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ò)!查看獎勵計劃!

        關(guān)注 PolkaWorld

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


        點個 “在看” 再走吧!

        瀏覽 68
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            99久久久久久99久久久久久 | 少妇嫩逼 | 中文av无码av猫咪av伊人 | 欧美被狂躁喷白浆精品 | 北条麻妃操逼图片 | 天天操好逼网 | 大香蕉560 | 中国一级美女毛片 | 大香蕉超碰人人操人人操 | 《放荡的情欲》完整版 |