Nyligen har man talat om interoperabilitet med blockchain med lanseringen av Cosmos och det potentiella hotet mot Ethereum-ekosystemet. Det här stycket kommer att bli en djupdykning om tekniska egenskaper hos Kosmos och Polkadot, men kommer också att ge dig den förutsättningskunskap du behöver för att förstå dessa protokoll på en teknisk nivå (med bilder för att förstå).
För det första är det viktigt att veta varför interoperabilitet frågor. På det befintliga internet kan vi få åtkomst till och modifiera flera datauppsättningar via API: er (applikationsspecifika gränssnitt). Men med blockchains, data är tystade av kedjan som de finns på. Så vad betyder det att ha interoperabilitet?
- Överföringslöst tillgångar mellan olika kedjor
- Tvärkedjor smarta kontrakt som kan interagera med varandra
- Specialiserade kedjor som kan användas av andra blockchains
Innan vi går in på detaljerna om en viss interoperabilitetsstrategi, skulle jag vilja spendera lite tid på att beskriva några av grunderna för distribuerade system för att hjälpa oss att förstå begrepp senare. Tänk på att blockchains helt enkelt är en uppsättning maskiner över hela världen kommer överens om hur en insamling av data ska se ut.
Distribuerade system är, som namnet antyder, en grupp datorer arbetar tillsammans att uppnå en mycket specifikt mål. Ett exempel på detta mål kan vara att servera samma innehåll runt om i världen för många människor (som att hålla din Twitter-nyhetsfeed uppdaterad). När de försöker uppnå detta mål måste de övervinna följande problem:
- Tidpunkten. Varje dator / system kommer att utföra samma uppgift i sin egen takt och tid.
- Beställning. Att försöka lösa vad som hände och när med tiden är fortfarande mycket hårt eftersom klockor börjar "driva" efter en tid. Detta gör ordningen till en komplicerad utmaning eftersom varje system har sin egen redogörelse för vad som hände och när.
- Misslyckande. Koordinering mellan system kan misslyckas på grund av att ett system kraschar, inte tar emot / skickar meddelanden till andra system korrekt eller väljer att agera skadligt (bysantinsk)
Liksom människor är sättet att lösa de flesta problem genom god kommunikation. Men med datorer är detta lite mer komplicerat eftersom de kan kommunicera asynkront or synkront.
Vad betyder det?
- Synkron = varje system har en viss tid tilldelad dem för att kommunicera och de tar tur. Tänk på det verkliga samtal för människor.
- Asynchronous = varje system kan kommunicera när de vill och det finns inga antaganden om när de kommer att prata. Tänk på det som slack för människor.
Allt sagt och gjort, i slutet av dagen skulle en blockchain ha säkerhet (avtal om samma utgång) och livlighet (kedjan fortsätter att växa och fungera). Om din kedja har säkerhet men inte livlighet gör det sluta producera block. Om det har livlighet men ingen säkerhet kommer det producera många gafflar och du vet inte vilken som är rätt blockchain om du inte har en regel (t.ex. längsta kedja i Bitcoin)!
Praktisk byzantinsk feltolerans är en implementering utvecklad av Barbara Liskov och Miguel Castro och introducerades 1999. Proof of Stake-kedjor som Cosmos och Polkadot har element i sin design inspirerade av PBFT så det är värt att beskriva vad det är och hur det fungerar.
- En part lyssnar på flera transaktioner tills den kan bilda ett block av dessa transaktioner. Vi kommer att hänvisa till detta parti som en erbjudande, eftersom de föreslå ett block.
- När ett block har föreslagits deltar alla i en pre-rösta för att bekräfta att de hörde samma block. Det är viktigt att notera att ett block kan vara felaktigt / skadligt men ändå vara giltigt i förvägsfasen eftersom alla helt enkelt försöker komma till enighet om att de fick Samma data / blocket.
- När mer än ⅔ av deltagarna håller med om att de fick samma block flyttar de till förbinda dig steg. En röst för förpliktelse görs sedan för att avgöra om detta är en giltigt blockera och inget skadligt pågår.
- Om mer än ⅔ av deltagarna röstar att blocket verkligen är giltigt och korrekt kan vi framgångsrikt förbinda detta block för blockchain.
- Blockchainens höjd ökas och steg 1–5 upprepas.
Från vad vi har lärt oss ovan kan vi se att följande steg säkerställer att beställa av block är känt (med höjden på blockchainen ökar när en engagemang inträffar) kan varje dator ta sig tid att komma till sin egen slutsats och sedan kommunicera vilket resultat den kom till (Tidpunkten) och kan hantera misslyckande (skadlig nod som föreslår ett block eller en nod som inte kan rösta).
Enter Cosmos, grundades 2016 av Jae Kwon och Ethan Buchman och uppvuxen $ 17M+ i deras ICO för ATOM. Kosmos Nav är det egen blockchain som ansluter till andra zoner (blockchains) och därmed möjliggör kommunikation mellan olika zoner. Eventuellt fungerande blockchain som Bitcoin, Ethereum, ZCash eller en applikationsspecifik blockchain måste vara ansluten till en brozon via Inter Blockchain-kommunikationsramen.
När man kommer in på de arkitektoniska detaljerna använder Cosmos Hub Tendermint eftersom det är en konsensusalgoritm (inspirerad av PBFT) skapad av Jae Kwon 2014. Vad detta betyder är att varje röstningssteg (förröstning och förpliktelse) har en fast tid för alla att rösta innan den går vidare till nästa skede. Efter att ett block har slutförts finns det ingen väg tillbaka. Det betyder att du kan få omedelbara mobil- och internet-of-things-betalningar eftersom så snart transaktionen är i ett block är den slutförd. Eftersom inga bekräftelser krävs detta kallas "snabb finalitet".
ATOM som innehas av användare kan användas till bli validerare i systemet eller till delegera ATOM till en validator istället. Cosmos blockchain kommer att ha 100 validerare till att börja med och planera att höja gränsen via en styrningsparameter i framtiden. Endast de med rimlig kraft i nätverket kan delta i nätverkets säkerhet.
För att göra allt detta mindre teoretiskt, kommer jag att beskriva en uppsättning steg för att möjligen konvertera ETH till BTC. - allas favoritexempel.
- A tillförlitlig mellanhandzon kommer att skapas för Ethereum och det kommer att finnas en uppsättning validatorer som kommer att ansvara för att vidarebefordra meddelanden från Ethereum bridge-zonen till Cosmos Hub.
- Eftersom både Ethereum och Bitcoin är probabilistiska (det finns en chans att den nuvarande kedjan inte är den rätta) måste valideringarna vänta för ett visst antal bekräftelser för att säkerställa att transaktionen faktiskt gick igenom.
- När valideringarna är säkra på att transaktionen är slutgiltig kommer de att initiera en transaktion från sin zon till Cosmos Hub som de verkligen fick Etheren. Navet kommer då skapa en form av Inpackad Cosmos Ether att det kommer att hålla. Varje annan Cosmos-zon kommer nu att vara medveten om att det finns en ny inpackad Cosmos Ether i systemet.
- Förutsatt att en växelkurs bestämdes i förväg kommer Wrapped Cosmos Ether att vara utbyts för Wrapped Cosmos Bitcoin. Denna inpackade Cosmos Bitcoin är då skickas till den betrodda mellanhandssidan för Bitcoin och skickas till den angivna adressen på den faktiska Bitcoin-kedjan.
Det finns några antaganden / saker att vara medvetna om med denna modell:
- Cosmos Hub måste se till att saldorna för Wrapped Cosmos-tillgångar ökas och dekrementeras korrekt. Även om detta är en potentiell nackdel har Cosmos-teamet utformat systemet på ett sätt som vem som helst kan skapa sitt eget nav. I huvudsak kommer Cosmos att vara ett nätverk av hubbar och zoner som drivs av olika grupper.
- Varje zon måste lita på att de vidarebefordrar korrekta meddelanden om tillgångar som skickas / tas emot. Avsändare måste också lita på att valideringsinställningarna kommer att vidarebefordra sina meddelanden korrekt och inte stjäla sina tillgångar.
Polkadot grundas av Gavin Wood, en grundare och tidigare CTO för Ethereum och ordförande för Web3 Foundation. Polkadot höjde över 145 Mkr + i slutet av 2017 och sålde den inhemska valutan DOT under en storskala. Om Cosmos liknar ett öppet nätverk av nav och zoner, är Polkadot en enda "reläkedja" som erbjuder många fördelar för kedjor, kallad "fallskärmar" (kort för parallella kedjor), som går med i det.
Ett par viktiga aspekter som Polkadot syftar till att förnya är:
- Varje fallskärmsvinst poolad säkerhet från validatoruppsättningen för reläkedjan. När en kedja har anslutit sig till Polkadot-nätverket genom att bli en fallskärm säkerställs den med samma säkerhetsnivå som hela Polkadot-nätverket. I Cosmos behöver varje ny kedja sin egen valideringsuppsättning och måste starta sin egen säkerhet.
- Fallskärmar kan interagera med andra fallskärmar med förtroende-avgift interchain kommunikation. Användare som vill kommunicera över kedjor behöver inte lita på varje kedja som de överför meddelanden till, utan bara singulär säkerhet för hela Polkadot-nätverket. Återigen skiljer det sig från hur Cosmos fungerar där en användare skulle behöva lita på källkedjan, routingkedjorna och destinationskedjan med var och en av sina separata valideringsuppsättningar.
Polkadots konsensusmekanism består av två komponenter: MORFAR och BRUD. GRANDPA är en finalitetsgadget som bygger på några idéer bakom GHOST-gaffelvalsregeln (som Ethereums Casper) och BABE är en blockproduktionsmekanism som liknar Cardanos Ouroboros. Införandet av en finalitetsgadget möjliggör att delar av kedjan "slutförs" och sannolikt aldrig kan återvändas. Att separera finalitetsgadgeten från blockproduktionen gör det möjligt för den långsammare finalitetsgadgeten att arbeta i en annan process än generationen av nya block i kedjan. Detta innebär att den faktiska produktionen av block kan skala till skillnad från i den PBFT-bundna Cosmos Tendermint-algoritmen.
I Polkadot-ekosystemet har du följande parter:
- Samlare - Tillverk blocken för fallskärmar och skicka informationen till valideringarna för att verifiera.
- nämn - Tilldelar sitt kapital till validerare för att delta i insatsmekanismen.
- validator - Kräva ett högt bindningskrav eftersom de är ansvariga för att faktiskt täta de nya blocken i reläkedjan. Deras avgörande roller inkluderar:
- Författar nya block.
- Slutföra reläkedjan genom deltagande i GRANDPA.
- Validera fallskärmsblock genom att säkerställa att de transaktioner som har inträffat är korrekta och att meddelandena mellan kedjorna har behandlats.
- fiskare - Bountyjägare som "fiskar" efter skadliga skådespelare genom att titta på de andra noderna i nätverket.
Ett bra sätt att tänka på Polkadot är som ett sammankopplat system som kommer att ansluta till andra kedjor som det vill kommunicera med genom broar. Alla fallskärmar och reläkedjan fungerar som ett, enhetligt system. En fallskärm kan innehålla anpassad logik och kommer att ansvara för att hantera sina egna tillståndsövergångar samtidigt som de mottar och skickar meddelanden till andra kedjor. Fallskärmar kommer att kunna kommunicera med andra fallskärmar genom att lyssna på varandra, till skillnad från Kosmos där allt måste dirigeras genom navet.
Polkadots arkitektur är elegant för de centrala designantagandena som den hade gjort. Detta börjar med det fallet fallskärm läs passivt information från bridge-kontrakt, snarare än att förlita sig på bridge-kontrakt som skickar meddelanden till andra fallskärmar. Varje fallskärm behandlas inte annorlunda till någon annan fallskärm. Detta betyder att Polkadots ramverk för interchainkommunikation verkligen är osäker, eftersom fallskärmar agerar i reläkedjens intresse snarare än någon specifik fallskärm som de validerar. Validerare är dessutom återtilldelad till en annan fallskärm i intervaller och slumpmässigt.
Låt oss ta ett exempel som kan vara mer relatabelt, hur skulle det fungera om du ville konvertera valutor från en fallskärm till en annan? Låt oss ta det populära exemplet på att konvertera ETH till BTC.
Samlare för Ethereum-fallskärmen skulle skicka blockhuvud till validerare i deras fallskärm. De validerare skulle sedan underteckna och publicera relevanta transaktioner i Ethereum bridge smartkontrakt i ett format som kan erkännas och kommuniceras med fallskärm zon. All ETH som skickas skulle hållas av en Polkadot-valideringsuppsättning, som också skulle ge DOT som säkerhet för ogiltiga transaktioner. Ethereum-fallskärmen skulle i sin tur kommunicera med Bitcoin-fallskärmen, som skulle släppa BTC till den angivna adressen via den valideringsuppsättning som styr den specifika fallskärmen. Designbeslut håller fortfarande på att slutföras, men idén kring deras tvärgående kommunikation är att det kommer att vara tillförlitligt.
En sak att vara medveten om är att Polkadots fallskärmsmekanism kommer att tilldela fallskärmsspår via tillåtna auktion på kedjan. Dessa auktioner skulle innebära att låsa upp DOT under en viss tid för att hålla fallskärmen ansluten till Polkadot-nätverket. Styrning kommer att kunna kliva in och fixa situationen i brådskande situationer där fallskärmarna innehåller ett kritiskt fel eller har något skadligt syfte. Polkadot kommer att styras av en styrningsmekanism på kedjan eftersom den anser att det är det bästa sättet att styra kryptonätverk.
Som Gavin Wood uttalade för den här artikeln, ”Jag tror att alla blockchains som inte introducerar styrning på kedjan, inklusive tillhandahållande av en hållbar mekanism för att utfärda uppgraderingar, i slutändan kommer att förgifta sig genom giftig populism. Jag tror inte att "off-chain-processer", "on-chain-signalering" och "grov konsensus" ger ett tillräckligt medel för att låta de verkliga intressenterna i kedjans ekosystem effektivt styra och driva en kedja till långsiktig framgång. Jag tror också att det i huvudsak är omöjligt att eftermontera styrning. ”
Många av kärnproblemen för interoperabilitet verkar vara lösta på en hög nivå, men exekveringen är fortfarande långt efter. Cosmos lanserades i mars 2019, men har bara startat Cosmos Hub. Deras nästa steg är att slutföra hur Inter-Blockchain-kommunikation ramverket kommer att fungera. Polkadot kommer att starta slutet av 2019 med bara reläkedjan som är live.
Sammantaget är jag oerhört upphetsad för att både Cosmos och Polkadot ska lanseras. Det som kommer att vara intressant att se är utvecklarens antagande och de politiska striderna i varje kedja och hur de spelar ut. Applikationsspecifika kedjor är en rördröm vid denna tidpunkt eftersom inte bara den grundläggande infrastrukturen långt ifrån färdigställd, utan utvecklare måste tänka på resurser och människor de behöver bakom sig för att vara anslutna och ha tillräcklig säkerhet.
Kommer det till och med att vara en relevant avvägning? Det är svårt att säga. Kanske Ethereums styrning utanför kedjan är just det som låter det frodas trots att det är långsammare att utföra färdplanen eftersom det tillåter verklig tillåtelsefri innovation med garantier från en högt säkrad kedja.
Bakifrån till detta argument är att alla kryptonätverk kommer att starta upp sin säkerhet i en annan kedja, till exempel Ethereum, och sedan examen till sin egen kedja när de kan garantera säkerheten för den genom sin befintliga gemenskap. Ett bra exempel skulle vara MakerDAO, de skulle ha tillräckligt med resurser för att skapa sin egen kedja och få tillräckligt med politiskt stöd för att vara en del av Polkadots parakedja. Om det av någon anledning inte kan få tillräckligt stöd för att vara en del av parakedjan, kan det etablera en brozon på Cosmos och bootstrap sin egen säkerhet. Polkadot planerar att tillhandahålla bryggor för kedjor som inte kan tillhandahålla samlad säkerhet men fortfarande ger meddelande som går längs linjen.
Jag tror att det är sådana nyanserade frågor som vi som samhälle behöver ställa i stället för att se kedjor som ett nollsummespel. Jag är personligt upphetsad för var allt detta leder oss till och är mottaglig för din feedback om detta. Nå ut till mig på Twitter @kermankohli.
Särskilt tack till Gavin Wood (Web3 Foundation), Logan Saether (Web3 Foundation), Billy Rennekamp (Cosmos), Chjango Unchained (Cosmos) för deras bidrag för att säkerställa artikelns tekniska noggrannhet.
- 2016
- 2019
- tillgång
- Konto
- Antagande
- Avtal
- algoritm
- Alla
- API: er
- Ansökan
- arkitektur
- runt
- Artikeln
- Tillgångar
- BÄST
- Bit
- Bitcoin
- blockchain
- BRO
- BTC
- Bug
- kapital
- Casper
- utmanar
- medgrundare
- kommande
- Kommunikation
- samfundet
- datorer
- Konsensus
- kontrakt
- konversationer
- Cosmos
- Par
- crypto
- CTO
- Valuta
- Aktuella
- datum
- dag
- Designa
- Utvecklare
- utvecklare
- DID
- ETH
- Eter
- ethereum
- Ethereum ekosystem
- EU
- EV
- utbyta
- Fast
- gaffel
- formen
- format
- Ramverk
- framtida
- lek
- god
- styrning
- Grupp
- Odling
- GV
- Arbetsmiljö
- Hög
- hålla
- Hur ser din drömresa ut
- HTTPS
- Människa
- ICO
- Tanken
- Inklusive
- Öka
- informationen
- Infrastruktur
- Innovation
- intresse
- Internet
- Interoperabilitet
- IP
- IT
- delta
- hålla
- Nyckel
- kunskap
- lansera
- lärt
- Nivå
- linje
- Lång
- Mars
- Betyder Något
- Medium
- Mobil
- modell
- flytta
- nät
- nätverk
- noder
- Erbjudanden
- öppet
- beställa
- Övriga
- betalningar
- Personer
- gift
- Populära
- kraft
- VD
- Produktion
- bevis
- Proof-of-Work
- publicera
- Resurser
- Körning
- rinnande
- Säkerhet
- Skala
- säkerhet
- in
- Kort
- slak
- smarta
- smart kontrakt
- So
- LÖSA
- spendera
- Etapp
- spel
- utsättning
- starta
- Ange
- framgång
- system
- System
- Teknisk
- källan
- tid
- tolerans
- transaktion
- Transaktioner
- Litar
- us
- användare
- Rösta
- Röstning
- VEM
- Arbete
- fungerar
- världen
- värt
- Zcash