波卡上各個平行鏈的資產是如何傳輸的?

語言: CN / TW / HK

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位瞭解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰,然而我們希望通過這樣的努力讓大家能夠正確認知波卡,也讓不瞭解波卡的人方便快速掌握波卡相關知識, 今天是該欄目的第46期,XCM已經正式啟用,意味著資產的可以在鏈間傳輸,因此本期一起來了解平行鏈的資產是如何傳輸的。

當前,XCM已經正式啟用,這意味著程式能從一個鏈到另一個鏈,執行、分叉、分支、排程、轉賬了,也同樣意味著資產能在平行鏈與平行鏈之間傳輸,進一步提升了波卡網路中的互操作性。

而Statemint作為波卡上的第一條平行鏈,同時也是隻用於建立和管理資產的鏈,目前已經有14種資產在Statemint上建立。

隨著XCM允許資產傳輸,波卡生態上將會建立越來越多的資產。那麼這些資產是如何在鏈與鏈之間傳輸的?

Polkadot和Kusama為生態系統帶來的主要屬性之一是去中心化區塊鏈互操作性。

這種互操作性允許資產遠端傳輸:在平行鏈(Parachains)之間移動資產(例如Coin、Token或NFT)的過程,以便像使用該鏈的任何其他原生資產一樣使用它們。

通過XCM和SPREE模組可以實現互操作性,它們共同確保資產不會在多個鏈上丟失或重複。

傳輸是如何實現的?

從上圖中可以看出,該模型中只有2個角色: 來源鏈(Source)和目標鏈(Destination)

我們在來源鏈和目標鏈之間轉移資產的方式在圖上的數字標籤中進行了簡要總結,並在下面進行了更詳細的解釋:

發起傳輸(Initiate Teleport)

來源鏈從傳送賬戶收集要傳輸的資產,並將其從流通供應中取出,同時記下被取出的資產總量。

接收遠端傳輸的資產(Receive Teleported Assets)

然後,來源鏈建立一個名為ReceiveTeleportedAssets的XCM指令,並將從流通中取出的資產數量和接收賬戶作為該指令的引數。

然後,它將這條指令傳送到目標鏈,在那裡進行處理,並相應地將新資產重新投入流通供應中。

存放資產(Deposit Asset)

然後,目標鏈將資產存入資產的接收賬戶。

上面強調了從流通供應中取出和放回流通供應中這兩個短語, 首先是為了說明XCM執行者在實現將資產從流通供應中取出和放回流通供應的語義方面有多大的靈活性

直截了當的辦法是把資產燒掉,讓它們退出流通,但可以想象,確實有多種方法可以實現同樣的目的,比如將資產轉移到本地無法訪問的賬戶,同樣可以將資產重新流通,接收共識系統可以自由選擇通過從預先填充且無法訪問的資產庫中釋放資產來實現這種語義,或者對資產進行鑄幣。

因此,上面也提示了這種模式的缺點——它要求來源鏈和目標鏈都具有高度的相互信任。

目標鏈必須相信來源鏈已經適當地移除了從流通供應中傳送過來的資產,並且來源鏈還必須相信目標鏈能夠將退出流通的資產重新投入流通。資產傳輸的結果應該導致資產的相同流通供應。

如果未能支援這兩個條件中的任何一個,都將導致資產的總髮行量發生變化(在同質化通證的情況下)或者完全損失/複製一個NFT。

使用Polkadot-JS應用程式使用者介面的遠端傳輸令牌

在提交傳輸(Teleport)交易之前,您需要了解以下幾點:

  • 將對源鏈徵收交易費用 。此費用不會從你計劃傳送的傳輸金額中自動扣除。你的賬戶餘額應大於傳輸金額和交易費用。如果你沒有考慮到傳送費用,則傳輸交易將失敗。傳送費用將從你的賬戶餘額中扣除。

現有存款

在傳輸之後,如果你的賬戶餘額低於1.000DOT的現有存款,那麼該餘額將被燒燬並丟失。要麼計劃傳輸你所有的餘額,要麼留下足夠的餘額,這樣賬戶就不會被收割。

  • 目標鏈將收取交易費用 。此費用會自從你傳送的傳輸金額中自動扣除。扣除此費用後,目標鏈上的剩餘賬戶餘額應大於其現有存款。否則,傳輸交易將失敗,傳送費用和傳輸金額將從你的賬戶餘額中扣除。

遠端傳輸可以通過PolkadotJS應用程式介面或通過xcmPallet.limitedTeleportAssets()外部來完成。

在以下的示例中,我們將使用PolkadotJS介面將DOT從Polkadot傳輸到Statemint。

1.導航到PolkadotJS應用程式,並使用你想傳輸的通證連線到鏈上。

2.導航到“Accounts > Teleport”。這將開啟“teleport assets”介面:

3.填寫交易內容:

“send from account”——選擇來源鏈有通證的賬戶。

“destination chain”——選擇要將資產傳送到的平行鏈。

“send to address”——選擇您想控制目標鏈上貨幣的賬戶。

“amount”——插入要傳輸的通證數量。這不包括轉移費。

4.審查完交易資訊和費用後,點選“Teleport”按鈕。請記住,目標鏈對傳輸的金額收取接收費。(目前在Statemint為0.0032 DOT。)

5.點選“Sign and Submit”。

6.輸入你的密碼,然後點選“Sign the transaction”。

交易將被簽署和廣播,通證很快就會出現在目標鏈上。

下面提供了一個有關傳輸(在Kusama上)的影片教程以供參考:https://www.youtube.com/watch?v=PGyDpH2kad8

疑難解答

如果你在PolkadotJS應用程式中沒有看到 "Accounts > Teleport",則你所選擇的來源鏈還不支援Teleportation。

XCM是一種訊息格式,它還需要搭配訊息傳遞協議使用,比如HRMP協議,平行鏈可以開啟與其他平行鏈的HRMP通道,進行跨鏈的訊息傳遞。

而XCM與HRMP的組合,能讓波卡的平行鏈實現跨鏈的可組合性,實現平行鏈間的互惠互利,為波卡生態賦能。

歡迎大家加入我們Polkadot生態研究院的電報:https://t.me/polkadot_eri

歡迎大家訪問波卡生態研究院的Mirror地址:https://mirror.xyz/0x9A259b3a2316281Cc948cE2Cf1Ac610a79844f05