Förstå XCM på Polkadot och hur det möjliggör användningsfall över kedjegränserna

MOONBEAM i Sverige
9 min readDec 23, 2022

--

Dec 22, 2022

Att förbättra användarupplevelsen är ett mål som Moonbeam har som främsta prioritet i sin kedjeöverskridande strategi. Moonbeam arbetar för att befria användarna från de begränsningar som fragmenteringen av kedjorna innebär genom att göra det enkelt för utvecklare att utforma smarta kontrakt som kommunicerar över kedjorna — vilket kommer att minska den komplexitet som användaren ställs inför. Denna skalning och konnektivitet uppnås med hjälp av säker meddelandehantering som möjliggörs av Polkadots XCM och annan säker meddelandehantering.

I takt med att vi rör oss mot en alltmer driftskompatibel värld med flera kedjor arbetar team i många ekosystem för att lösa problemen med isolerade blockkedjor och bristen på möjligheter och tillämpningar för anslutning över kedjorna. XCM är en lösning.

XCM-format

XCM är ett format för Cross-Consensus Communication (XCM), eller “meddelanden” mellan Polkadot- eller Kusama-parachains, smarta kontrakt, pallar, broar och delade enklaver som skapats av Polkadot för användning över alla blockkedjor.

XCM definierar hur meddelanden skickas mellan blockkedjor och formatet gör det möjligt att överföra meddelanden och substrat-tokens mellan Moonbeam eller Moonriver och Relay Chain, samt andra parachains på Polkadot respektive Kusama. Detta, i kombination med Polkadots heterogena sharding (fancy speak för “varje kedja som är ansluten till den kan arkitektoniskt utformas helt annorlunda samtidigt som den fortfarande åtnjuter delad säkerhet”) innebär att applikationer som byggs på Moonbeam kan utnyttja olika funktioner och resurser i det bredare ekosystemet. Så Moonbeam dApps kan använda lagrings-, identitets- eller till och med sekretessfunktionalitet som finns på olika “layer one”-kedjor inom Polkadot, men från Moonbeam-upplevelsen. Den här typen av funktionalitet, plus Polkadot- och Moonbeam-verktygssviten, skapar nya fall för utvecklare att skapa applikationer som går över flera kedjor.

För slutanvändaren är XCM betydelsefullt eftersom det möjliggör kommunikation över blockkedjor, vilket innebär en mindre komplex upplevelse på ytan — komplexiteten hanteras av smarta kontrakt bakom kulisserna så att användaren inte behöver göra allt manuellt.

Generellt sett kommer användarna inte att skapa XCM-meddelanden själva, men kommer att kunna dra nytta av appar och smarta kontrakt som använder det. Användare kan få tillgång till och interagera med applikationer på Moonbeam som har funktionalitet och tokens från många Polkadot-baserade projekt, utan att behöva använda en bro mellan oberoende nätverk. Det innebär att personer som är nya för Polkadot kan dra nytta av Moonbeams Ethereum-kompatibla miljö genom att använda MetaMask och Ethereum-liknande adresser för att interagera med de många applikationer som är live. Genom att låta användarna utnyttja många funktioner från en enda dApp på Moonbeam effektiviserar XCM användarupplevelsen.

Innovation av XCM-teknik

XCM:s innovation ligger i det faktum att den är kraftfull, men ändå förblir öppen och mångsidig så att utvecklare kan använda den för att åstadkomma vilket arbete med meddelandeöverföring som helst som de vill slutföra över blockkedjor. XCM kan användas för att flytta tokens från en parachain till en annan, utlösa en överföring.

Polkadots XCM-protokoll gör det möjligt att använda alla anslutna kedjors tokens i kedjeöverskridande DApps när tillgången har erkänts via styrning. Med hjälp av XCM kommunicerar smarta kontrakt direkt, så det går mindre tid och gasavgifter åt att byta mellan plånböcker och plattformar och manuellt flytta tokens mellan kedjor. Transaktioner och aktiviteter som spel är förenklade och snabbare att utföra än tidigare. Med XCM är det som om alla blockkedjor talar samma språk.

XCM skapar ett utrymme för utvecklare att skapa applikationer som kan kommunicera över kedjor utan traditionella broar. XCM-formatet är flexibelt eftersom XCM i sig självt inte skickar meddelanden mellan system utan är ett format för hur meddelandeöverföringar ska utföras. Oavsett vilket format meddelandet skickas i båda ändarna kan meddelanden levereras mellan dem med XCM och XCMP.

XCM är inte en typ av protokoll utan snarare ett universellt språk som förbinder annars inkompatibla dialekter för att leverera information på ett korrekt sätt mellan blockkedjor. Genom att låta olika konsensus tala samma språk kan man lösa problem mellan kedjorna som inte är möjliga på annat sätt.

XCM, tillsammans med XCMP, GMP och XC-20s, är en del av de många driftskompatibilitetslösningar som är tillgängliga för byggare på Moonbeam och som gör Moonbeam ledande inom säker kommunikation mellan kedjor.

Definition av tekniska nyckeltermer för Cross-Chain och XCM

XCM står för cross-consensus messaging (meddelandehantering). Det är ett format eller språk som definierar hur ett meddelande kan skickas mellan interoperativa blockkedjor och ser till att meddelanden levereras och tolkas korrekt, i ordning och i tid. Det är skapat för, men inte exklusivt för, Polkadot.

XCMP står för cross-consensus message passing, vilket är en av transportmetoderna i XCM. XCMP gör det möjligt för parachains att utbyta meddelanden med varandra på Polkadots eller Kusamas reläkedja och kräver inget särskilt format.

Med hjälp av en enkel kö-mekanism säkerställer XCMP korrekt kommunikation mellan parachains och alla typer av information som skickas mellan smarta kontrakt, paletter med mera. Flexibiliteten i denna kommunikation möjliggör ultimat framtidssäker interoperabilitet inte bara mellan parachains själva utan även mellan de unika blockkedjornas övriga mekanismer, som smarta kontrakt.

HRMP-kanaler är horisontella relay-routed message-passing-kanaler. Det är ett provisoriskt protokoll som förmedlar meddelanden med hjälp av reläkedjan. Den tillfälliga HRMP-kanalen är avsedd att fasas ut när cross-chain message passing (XCMP) tar över och möjliggör direkt kommunikation mellan parachainer.

GMP står för “General Message Passing” (allmän meddelandeöverföring). Det är den term som används för att beskriva den senaste utvecklingen av driftskompatibilitet mellan kedjor med hjälp av XCM utanför Polkadots ekosystem. GMP gör det möjligt för utvecklare att ansluta smarta kontrakt på olika kedjor till varandra för att flytta tokens, data och nyttolaster.

Cross-Chain Connected Contracts avser samarbetet mellan smarta kontrakt på “baksidan” av de DApps som användarna interagerar med på blockkedjan. Dessa kontrakt är anslutna över blockkedjor så att det inte finns något behov av att överbrygga tokens för att använda dem i någon applikation, på någon ansluten kedja. Utöver tokenförflyttning kan Connected Contracts interagera med data och resurser som finns på andra blockkedjor bakom kulisserna. Connected Contracts kommunicerar med hjälp av XCM och GMP.

XC-20 är en tokenstandard som är unik för Moonbeam och som representerar ERC-20 som är redo för flera kedjor. Den gör det möjligt för Substrate tokens (från andra Polkadot-projekt) att interagera som om de vore ERC-20s, samtidigt som de drar nytta av Moonbeams möjligheter att korsa kedjan. För Moonbeam-baserade tokens innebär detta att de enkelt kan skapas som en ERC-20 och enkelt flyttas över Polkadots ekosystem när de väl är ombord via governance.

XC-20s gör det möjligt för Moonbeam att fungera som en expansionspunkt för Polkadot

XC-20 är det enklaste sättet att integrera DOT eller andra inhemska tokens i en befintlig applikation där en ERC-20 behövs. All komplexitet med Substrate- och Rust-baserad utveckling är borta och utvecklare kan arbeta med dessa tokens från Moonbeams Ethereum-kompatibla miljö.

Många team med flera kedjor har valt Moonbeam som sin Polkadot-expansionspunkt på grund av dess säkra meddelandealternativ (inklusive XCM), XC-20 och den fullständiga Ethereum-kompatibilitet som Moonbeam erbjuder. Lido och Osmosis är två protokoll som ger tillgång till Relay Chain-funktionaliteten för mer än bara tokenöverföringar.

Lido-teamet använde Moonbeams Ethereum-utvecklarverktyg och fick tillgång till den särskilda kedjeöverskridande funktionaliteten hos Moonbeams smarta kontakter för att styra staking-verksamheten på Relay Chain of Polkadot så att användarna kan njuta av flexibiliteten hos liquid staking och stDOT.

Osmosis fungerar med Axelar GMP liksom Moonbeam, vilket gör det möjligt att lägga till DOT i Osmosis utbyte via Moonbeam. I denna process används en kombination av Axelars allmänna meddelandeöverföring över kedjan och Moonbeams XCM-funktioner på Polkadot.

För andra parachain-team är det också en stor vinst att kunna få tillgång till DeFi och andra tjänster på Moonbeam med sin token, tillsammans med att få tillgång till tokens som USDC utan en bro. Ett större antal parachain-tokens är omedelbart tillgängliga som XC-20s när de deponeras på Moonriver och Moonbeam Dapp.

För utvecklare av nya protokoll ger skapandet av deras token som en myntad XC-20 maximal valmöjlighet. De kan börja bygga sin app och sitt community lokalt på Moonbeam, men i slutändan flytta sin token till andra kedjor för att få tillgång till tjänster där, eller till och med till sin egen parachain i framtiden.

XC-20:s inverkan på Moonbeams ekosystem

Som teknisk standard för representationer av fungibla tokens på EVM-kompatibla blockkedjor har ERC-20-implementationer en gemensam uppsättning instruktioner som är nödvändiga för att dApps ska kunna interagera med tokens. Dessa konsekventa tokenstandarder som används av Moonbeam och andra kedjor gör det möjligt för utvecklare att använda gemensam kodning som är bekant, men också att föreställa sig tvärkopplade kontrakt som möjliggörs av denna grund.

Kombinationen av XCM:s delade kommunikationsstandard och kompatibiliteten hos XC-20s i ERC-20-stil möjliggör en rik interaktion mellan icke-inhemska blockkedjor genom att inte bara tokens kan flyttas mellan kedjor, utan även data kan delas och funktioner nås från fjärrblockkedjor genom ett enkelt programgränssnitt.

Införandet av XC-20 berikar de tokens som finns tillgängliga på Moonriver- och Moonbeam-ekosystemen och främjar diversifiering av tokens. Tokens från andra parachains på Polkadot kommer att kunna cirkulera sömlöst på Moonriver och Moonbeam, vilket kommer att göra det möjligt för protokoll på kedjan (inklusive DeFi, spel, NFT och andra domäner) att utnyttja denna funktion för att utforma och bygga olika användningsfall och därmed skala upp fantasin hos användare och projekt.

Dessutom gör XC-20s det möjligt för tokens från Relay Chain att visas på parachains, vilket gör det möjligt för många användare som har tokens i Polkadot.js att smidigt och snabbt överföra KSM/DOT till Moonriver/Moonbeam via Cross-Consensus Messaging-format utan assistans och säkerhetsimplikationer av cross-chain bridges, vilket ger många nya användningsområden till Relay Chain governance token.

Hur man interagerar med XC-20s

De grundläggande stegen anges nedan, men en detaljerad handledning för interaktion med XC-20s som xcDOT finns också tillgänglig.

  1. Lägg till Moonriver- eller Moonbeam-nätverket i din MetaMask-plånbok.
  2. Navigera till Moonriver eller Moonbeams officiella dApp.
  3. Leta upp “add to MetaMask” i mitten av sidan. Xc-20s är listade på huvudsidan med enkla instruktioner.

Protokollet XCMP (Cross-Chain Message Passing) och XCM

Med XCM etablerat implementerade Polkadot gemensamma mönster för protokollmeddelanden mellan sina parachains, varav ett är Cross-Chain Message Passing (XCMP). XCMP gör det möjligt för parachains att utbyta meddelanden (tokens, data och nyttolaster) med varandra när de är anslutna till samma reläkedja och när XCM-kanaler mellan de två parachains är etablerade.

XCM är språket för att beskriva det meddelande som skickas mellan nätverken. Det behöver inte finnas på Polkadot. XCMP använder XCM-formatet för att låta parachains prata med varandra inom Polkadot.

XCMP är exklusivt för Polkadot (och Kusama) och övervinner kompatibilitetsproblem mellan kedjor för att förhindra ändringar som kan ske med tiden, som nya funktioner och uppdateringar som kan ändra den inhemska översättningen eller meddelanden, medan XCM inte är exklusivt och är tänkt att användas även av andra blockkedjor.

XCMP gör det möjligt för parakedjor att växa och utvecklas med inte bara ekosystemets gemensamma säkerhet utan även skydd mot oavsiktliga ändringar av transaktioner, vilket skapar ett ekosystem som är unikt flexibelt och säkert interoperabelt.

Hur meddelandehantering över kedjan möjliggör anslutna kontrakt.

Moonbeam gör det möjligt för utvecklare att utforma smarta kontrakt som utnyttjar säker meddelandehantering.

Moonbeam är den optimala platsen för att skapa dessa kedjeöverskridande tillämpningar eftersom den ger tillgång till det bredaste utbudet av protokoll för meddelandeöverföring. Dessa inkluderar XCM och allmänna protokoll för meddelandeöverföring som gör det möjligt för utvecklare att interagera med kedjor utanför Polkadots ekosystem.

Några kedjor som är tillgängliga via varje protokoll är bland annat:

  • XCM: Polkadot-parakedjor som Acala, Astar, Bifrost, Statemint med flera (se alla XCM-relaterade tillkännagivanden).
  • Axelar: Avalanche, BNB Chain, Cosmos, Ethereum, Polygon med flera.
  • LayerZero: Avalanche, BNB Chain, Ethereum, Polygon och kedjor med två lager som Arbitrum och Optimism.
  • Wormhole:: Avalanche, BNB Chain, Ethereum, Polygon, Solana och många EVM-kedjor.
  • Hyperlane: Avalanche, BNB Chain, Ethereum, Polygon och kedjor med två lager som Arbitrum och Optimism.

Genom att ansluta till Moonbeam kan projekt få tillgång till funktionaliteten hos Polkadot Relay Chain, inklusive dess säkra valideringsuppsättning och driftskompatibilitet med de andra parakedjorna. Utvecklare som använder dessa anslutna smarta kontrakt är inte begränsade till lokalt tillgängliga tokens och funktionalitet på en enda kedja, utan kan i stället utnyttja resurser över Polkadot (genom XCM) och externa kedjor som Avalanche och Ethereum (genom de allmänna protokoll för meddelandeöverföring som anges ovan) utan att använda traditionella broar.

Uppgraderingar fortsätter att förstärka vad XCM kan användas till, inklusive till exempel XCM-to-EVM-funktionen, som gör det möjligt för utvecklare på andra kedjor att utlösa funktionsanrop på Moonbeams EVM och få tillgång till alla dess funktioner från sina hemkedjor.

Läs mer om Moonbeams möjligheter att arbeta över flera kedjor.

originalartikeln här

Läs mer: https://moonbeam.network/

--

--

MOONBEAM i Sverige

Det är en decentraliserad och tillståndsfri, Ethereum-kompatibel plattform för smarta kontrakt som underlättar skapandet av initialt kompatibla tillämpningar.