Der har været meget snak om blockchain-interoperabilitet for nylig med lanceringen af Cosmos og den potentielle trussel mod Ethereum-økosystemet. Dette stykke bliver en dyb dykke om det tekniske vedr Cosmos og Polkadot, men vil også give dig den forudsætningsviden, du har brug for for at forstå disse protokoller på et teknisk niveau (med billeder til at hjælpe med at forstå).
For det første er det vigtigt at vide hvorfor interoperabilitet betyder noget. På det eksisterende internet kan vi få adgang til og ændre adskillige datasæt gennem API'er (applikationsspecifikke grænseflader). Men med blockchains bliver data lukket af den kæde, de eksisterer på. Så hvad vil det sige at have interoperabilitet?
- Troløs overførsel aktiver mellem forskellige kæder
- Smarte kontrakter på tværs af kæder der kan interagere med hinanden
- Specialiserede kæder som kan bruges af andre blockchains
Før vi kommer ind på detaljerne i en bestemt interoperabilitetstilgang, vil jeg gerne bruge lidt tid på at skitsere nogle af de grundlæggende i distribuerede systemer for at hjælpe os med at forstå begreber senere. Husk på, at blockchains simpelthen er en sæt maskiner over hele verden ved at blive enige om, hvordan en dataindsamling skal se ud.
Distribuerede systemer er, som navnet antyder, en gruppe af computere arbejder sammen at opnå en meget specifikt mål. Et eksempel på dette mål kan være at levere det samme indhold rundt om i verden til mange mennesker (som at holde dit Twitter-nyhedsfeed opdateret). I forsøget på at nå dette mål skal de overvinde følgende problemer:
- Timing. Hver computer/system vil udføre den samme opgave i sit eget tempo og tidspunkt.
- Bestilling. At forsøge at løse, hvad der skete og hvornår med tiden, er stadig meget svært, da ure begynder at "drive" efter et stykke tid. Dette gør orden til en kompliceret udfordring, da hvert system har sin egen beretning om, hvad der skete og hvornår.
- Manglende. Koordinering mellem systemer kan mislykkes på grund af et system, der går ned, ikke modtager/sender beskeder til andre systemer korrekt eller vælger at handle ondsindet (byzantinsk)
Ligesom mennesker er måden at løse de fleste problemer på gennem god kommunikation. Med computere er dette dog lidt mere kompliceret, da de kan kommunikere asynkront or synkront.
Hvad betyder det?
- Synkron = hvert system har en vis tid tildelt til at kommunikere, og de skiftes til. Tænk på det i virkelige samtaler for mennesker.
- Asynkron = hvert system kan kommunikere, når de vil, og der er ingen antagelser om, hvornår de vil tale. Tænk på det som Slack for mennesker.
Alt sagt og gjort, i slutningen af dagen burde en blockchain have sikkerhed (aftale om samme output) og livlighed (kæden bliver ved med at vokse og fungere). Hvis din kæde har sikkerhed, men ikke livlighed, vil den stoppe med at producere blokke. Hvis det har livlighed, men ingen sikkerhed, vil det producere mange gafler og du ved ikke, hvilken der er den rigtige blockchain, medmindre du har en regel (f.eks. længste kæde i Bitcoin)!
Praktisk byzantinsk fejltolerance er en implementering udviklet af Barbara Liskov , Miguel Castro og introduceret i 1999. Proof of Stake-kæder som Cosmos og Polkadot har elementer i deres design inspireret af PBFT, så det er værd at skitsere, hvad det er, og hvordan det fungerer.
- En part vil lytte til adskillige transaktioner, indtil den kan danne en blok af disse transaktioner. Vi vil omtale denne fest som en tilbud, da de foreslå en blok.
- Når en blok er blevet foreslået, deltager alle i en forhåndsstemme for at bekræfte, at de hørte den samme blokering. Det er vigtigt at bemærke, at en blokering kan være ukorrekt/ondsindet, men stadig være gyldig i før-afstemningen, da alle blot forsøger at nå til enighed om, at de har modtaget samme data/blok.
- Når mere end ⅔ af deltagerne er enige om, at de har modtaget den samme blok, flytter de til forpligte sig trin. Der afgives derefter en forhåndsafstemning for at afgøre, om dette er en gyldig blokerer, og der sker ikke noget ondsindet.
- Hvis mere end ⅔ af deltagerne stemmer, at blokeringen faktisk er gyldig og korrekt, kan vi med succes begå denne blok til blockchain.
- Blockchainens højde øges, og trin 1-5 gentages.
Ud fra det, vi har lært ovenfor, kan vi se, at de følgende trin sikrer, at ordrer af blokke er kendt (ved at højden af blockchain stiger, når en commit sker), kan hver computer tage sin tid til at komme til sin egen konklusion og derefter kommunikere, hvilket resultat den kom til (timing) og kan håndtere svigt (ondsindet node, der foreslår en blok eller en node, der ikke kan stemme).
Enter Cosmos, grundlagt i 2016 af Jae Kwon og Ethan Buchman og opvokset over $ 17M+ i deres ICO for ATOM'er. Kosmos Hub er det egen blockchain der forbinder til andre zoner (blockchains) og derfor tillader kommunikation mellem forskellige zoner. Enhver proof-of-work blockchain såsom Bitcoin, Ethereum, ZCash eller en applikationsspecifik blockchain skal forbindes til en brozone via Inter Blockchain Communication-rammen.
At komme ind i de arkitektoniske detaljer, bruger Cosmos Hub Tendermint da det er konsensusalgoritme (inspireret af PBFT) skabt af Jae Kwon i 2014. Hvad dette betyder er, at hver afstemningsfase (pre-vote & pre-commit) har en fast tid, hvor alle kan stemme, før den går videre til den næste scene. Efter en blokering er afsluttet, er der ingen vej tilbage. Dette betyder, at du kan få øjeblikkelige mobil- og internet-of-things-betalinger, da så snart transaktionen er i en blokering, er den afsluttet. Siden ingen bekræftelser er påkrævet, kaldes dette at have "hurtig endelighed".
ATOM'er, der holdes af brugere, kan bruges til blive validatorer i systemet eller til uddelegere ATOM'er til en validator i stedet for. Cosmos blockchain vil have 100 validatorer til at begynde med og planlægge at øge grænsen via et styringsparameter i fremtiden. Kun dem med rimelig magt i netværket vil kunne deltage i netværkets sikkerhed.
For at gøre alt dette mindre teoretisk, vil jeg skitsere et sæt trin til eventuelt at konvertere ETH til BTC. - alles yndlingseksempel.
- A betroet mellemmandszone vil blive oprettet til Ethereum, og der vil være et sæt validatorer, som vil være ansvarlige for at videresende beskeder fra Ethereum-brozonen til Cosmos Hub.
- Da både Ethereum og Bitcoin er probabilistiske (der er en chance for, at den nuværende kæde ikke er den rigtige), skal validatorerne vente for et vist antal bekræftelser for at sikre, at transaktionen rent faktisk gik igennem.
- Når validatorerne er sikre på, at transaktionen er endelig, vil de indlede en transaktion fra deres zone til Cosmos Hub, at de faktisk modtog Ether. Navnet vil derefter skabe en form for Indpakket Cosmos Ether at det holder. Hver anden Cosmos-zone vil nu være klar over, at der er ny Wrapped Cosmos Ether i systemet.
- Forudsat at en valutakurs blev bestemt på forhånd, vil den indpakkede kosmos-ether være det udveksles for Wrapped Cosmos Bitcoin. Denne Wrapped Cosmos Bitcoin er derefter sendt til den betroede mellemmand Bitcoin-zone og sendt til den angivne adresse på den faktiske Bitcoin-kæde.
Der er et par antagelser/ting at være opmærksom på med denne model:
- Cosmos Hub skal sikre, at saldierne af de indpakkede Cosmos-aktiver er korrekt inkrementeret og dekrementeret. Selvom dette er en potentiel ulempe, har Cosmos-teamet designet systemet på en måde, så enhver kan skabe deres egen hub. I det væsentlige vil Cosmos være et netværk af Hubs og Zoner, der drives af forskellige grupper.
- Hver zone skal have tillid til, at de videresender de korrekte beskeder om aktiver, der sendes/modtages. Afsendere skal også stole på, at validatorsættet vil videresende deres beskeder korrekt og ikke stjæle deres aktiver.
Polkadot er grundlagt af Gavin Wood, en medstifter og tidligere CTO for Ethereum og præsident for Web3 Foundation. Polkadot rejste over 145 mio.+ i slutningen af 2017 ved at sælge den oprindelige valuta DOT under et crowdsale. Hvis Cosmos ligner et åbent netværk af hubs og zoner, er Polkadot en enkelt "relækæde", som tilbyder adskillige fordele til kæder, kaldet "parachains" (forkortelse for paralleliserbare kæder), der slutter sig til det.
Et par nøgleaspekter Polkadot sigter mod at innovere er:
- Hver parachain gevinst samlet sikkerhed fra relækædens validatorsæt. Når en kæde har oprettet forbindelse til Polkadot-netværket ved at blive en parachain, er den sikret med samme sikkerhedsniveau som hele Polkadot-netværket. I Cosmos har hver ny kæde brug for sit eget valideringssæt og skal starte sin egen sikkerhed.
- Parachains kan interagere med andre parachains vha tillids-gebyr interchain kommunikation. Brugere, der ønsker at kommunikere på tværs af kæder, behøver ikke at stole på hver kæde, de sender beskeder til, men blot den enestående sikkerhed i hele Polkadot-netværket. Igen er dette forskelligt fra, hvordan Cosmos fungerer, hvor en bruger skal have tillid til kildekæden, routingkæderne og destinationskæden med hver af deres separate validatorsæt.
Polkadots konsensusmekanisme består af to komponenter: BEDSTEFAR , BABE. GRANDPA er en endelig gadget, der trækker på nogle ideer bag GHOST fork choice-reglen (som Ethereums Casper), og BABE er en blokproduktionsmekanisme, der ligner Cardanos Ouroboros. Introduktionen af en finality-gadget gør det muligt for dele af kæden at blive "afsluttet" og beviseligt aldrig blive vendt tilbage. At adskille finality-gadgeten fra blokproduktionen gør det muligt for den langsommere finality-gadget at arbejde i en anden proces end genereringen af nye blokke i kæden. Dette betyder, at den faktiske produktion af blokke kan skaleres i modsætning til den PBFT-bundne Cosmos Tendermint-algoritme.
I Polkadot-økosystemet har du følgende partier:
- Kollatorer — Fremstil blokkene til parachains og videregiv oplysningerne til validatorerne for at verificere.
- tæller — Tildeler deres kapital til validatorer for at deltage i indsatsmekanismen.
- Validator — Kræv et højt bindingskrav, fordi de er ansvarlige for faktisk at forsegle de nye blokke i relækæden. Deres afgørende roller omfatter:
- Forfatter nye blokke.
- Afslutning af stafetkæden gennem deltagelse i GRANDPA.
- Validering af parachain-blokke ved at sikre, at de transaktioner, der fandt sted, er korrekte, og at meddelelserne på tværs af kæden er blevet behandlet.
- Fiskere - Dusørjægere, der "fisker" efter ondsindede aktører ved at se de andre knudepunkter i netværket.
En god måde at tænke på Polkadot er som et sammenkoblet system, der vil forbinde til andre kæder, som det vil kommunikere med gennem broer. Alle parachains og relækæden fungerer som ét, samlet system. En parachain kan inkorporere tilpasset logik og vil være ansvarlig for at håndtere sine egne tilstandsovergange, mens den modtager og sender beskeder til andre kæder. Parachains vil være i stand til kommunikere med andre parachains ved at lytte til hinanden, i modsætning til Cosmos, hvor alt skal føres gennem Huben.
Polkadots arkitektur er elegant i forhold til de kernedesignantagelser, den havde lavet. Dette starter med det faktum, at parachain passivt læst information fra bridge-kontrakter, i stedet for at stole på bridge-kontrakter, der sender beskeder til andre parachains. Hver parachain behandles ikke anderledes til enhver anden parachain. Dette betyder, at Polkadots interchain-kommunikationsramme virkelig er tillidsløs, da parachains handler i relækædens interesse snarere end nogen specifik parachain, de validerer. Desuden er validatorer re-tildelt til en anden parachain med mellemrum og tilfældigt.
Lad os tage et eksempel, der måske er mere relateret, hvordan ville det fungere, hvis du ville konvertere valutaer fra en parachain til en anden? Lad os tage det populære eksempel på at konvertere ETH til BTC.
Kollatorer for Ethereum parachain ville videregive blokoverskrifter til validatorer i deres parachain. Det validatorer vil derefter underskrive og offentliggøre de relevante transaktioner i Ethereum-broens smarte kontrakt i et format, der kan genkendes og kommunikeres med faldskærm zone. Enhver sendt ETH vil blive holdt af et Polkadot-valideringssæt, som også vil give DOT'er som sikkerhed for ugyldige transaktioner. Ethereum-parakæden ville igen kommunikere med Bitcoin-parakæden, som ville frigive BTC til den angivne adresse gennem valideringssættet, der styrer den pågældende parachain. Designbeslutninger er stadig ved at blive afsluttet, men ideen omkring deres kommunikation på tværs af kæder er, at den vil være tillidsløs.
En ting at være opmærksom på er, at Polkadots parachain-mekanisme vil tildele parachain-slots via tilladelsesløse on-chain-auktioner. Disse auktioner ville involvere låsning af DOT'er i nogen tid for at holde parachainen forbundet til Polkadot-netværket. Governance vil være i stand til at træde ind og rette op på situationen i tilfælde af akutte situationer, hvor parachains indeholder en kritisk fejl eller tjener et ondsindet formål. Polkadot vil blive styret af en on-chain-styringsmekanisme, da den mener, at det er den bedste måde at styre krypto-netværk på.
Som Gavin Wood udtalte til denne artikel, "Jeg tror, at enhver blockchain, der ikke introducerer on-chain governance, inklusive en levedygtig mekanisme til at udstede opgraderinger, i sidste ende vil forgifte sig selv gennem giftig populisme. Jeg tror ikke på, at "processer uden for kæden", "on-chain signalering" og "grov konsensus" er et tilstrækkeligt middel til at give de reelle interessenter i kædens økosystem mulighed for effektivt at styre og drive en kæde til langsigtet succes. Jeg tror også på, at det i bund og grund er umuligt at eftermontere regeringsførelse."
Mange af kerneproblemerne for interoperabilitet ser ud til at være løst på et højt niveau, men udførelsen er stadig langt bagud. Cosmos blev lanceret i marts 2019, men har kun fået Cosmos Hub op at køre. Deres næste skridt er at færdiggøre, hvordan Inter-Blockchain kommunikation rammer vil fungere. Polkadot er klar til at blive lanceret udgangen af 2019 med kun relækæden i live.
Samlet set er jeg ekstremt spændt på, at både Cosmos og Polkadot lancerer. Det, der vil være interessant at se, er udviklerens adoption og de politiske kampe i hver kæde, og hvordan de udspiller sig. Applikationsspecifikke kæder er en drøm på dette tidspunkt, da ikke kun den grundlæggende infrastruktur langt fra er færdig, men udviklere bliver nødt til at tænke på ressourcer og mennesker de skal have bag dem for at være forbundet og have tilstrækkelig sikkerhed.
Vil det overhovedet være en relevant afvejning? Det er svært at sige. måske Ethereums off-chain-styring er netop den ting, der gør det muligt for den at trives på trods af den langsommere køreplansudførelse, da den tillader ægte tilladelsesfri innovation med garantierne for en meget sikret kæde.
Bagsiden af dette argument er, at alle kryptonetværk vil opstarte deres sikkerhed på en anden kæde, såsom Ethereum, og derefter opgradere til deres egen kæde, når de kan garantere sikkerheden af det gennem dets eksisterende fællesskab. Et godt eksempel ville være MakerDAO, ville de have ressourcer nok til at skabe deres egen kæde og få nok politisk opbakning til at være en del af Polkadots para-kæde. Hvis den af en eller anden grund ikke kan få nok opbakning til at være en del af para-kæden, kan den etablere en brozone på kosmos og bootstrap deres egen sikkerhed. Polkadot planlægger at give bro-spalter for kæder, der ikke er i stand til at levere samlet sikkerhed, men som stadig giver besked, der går videre.
Jeg tror, det er den slags nuancerede spørgsmål, som vi som samfund er nødt til at stille i stedet for at se på kæder som et nulsumsspil. Jeg er personligt spændt på, hvor alt dette fører os hen og er modtagelig for din feedback på dette stykke. Kontakt mig på Twitter @kermankohli.
Særlig tak til Gavin Wood (Web3 Foundation), Logan Saether (Web3 Foundation), Billy Rennekamp (Cosmos), Chjango Unchained (Cosmos) for deres bidrag med at sikre artiklens tekniske nøjagtighed.
- 2016
- 2019
- adgang
- Konto
- Vedtagelse
- Aftale
- algoritme
- Alle
- API'er
- Anvendelse
- arkitektur
- omkring
- artikel
- Aktiver
- BEDSTE
- Bit
- Bitcoin
- blockchain
- BRIDGE
- BTC
- Bug
- kapital
- casper
- udfordre
- medstifter
- kommer
- Kommunikation
- samfund
- computere
- Konsensus
- kontrakt
- samtaler
- kosmos
- Par
- krypto
- CTO
- Valuta
- Nuværende
- data
- dag
- Design
- Udvikler
- udviklere
- DID
- ETH
- Ether
- ethereum
- Ethereum økosystem
- EU
- EV
- udveksling
- Fix
- gaffel
- formular
- format
- Framework
- fremtiden
- spil
- godt
- regeringsførelse
- gruppe
- Dyrkning
- GV
- Håndtering
- Høj
- hold
- Hvordan
- HTTPS
- Mennesker
- ICO
- idé
- Herunder
- Forøg
- oplysninger
- Infrastruktur
- Innovation
- interesse
- Internet
- Interoperabilitet
- IP
- IT
- deltage
- holde
- Nøgle
- viden
- lancere
- lærte
- Niveau
- Line (linje)
- Lang
- Marts
- Matters
- medium
- Mobil
- model
- bevæge sig
- netværk
- net
- noder
- Tilbud
- åbent
- ordrer
- Andet
- betalinger
- Mennesker
- gift
- Populær
- magt
- præsident
- produktion
- bevis
- Proof-of-Work
- offentliggøre
- Ressourcer
- Kør
- kører
- Sikkerhed
- Scale
- sikkerhed
- sæt
- Kort
- slæk
- Smart
- smart kontrakt
- So
- SOLVE
- tilbringe
- Stage
- spil
- Afsætning
- starte
- Tilstand
- succes
- systemet
- Systemer
- Teknisk
- The Source
- tid
- tolerance
- transaktion
- Transaktioner
- Stol
- us
- brugere
- Stem
- Afstemningen
- WHO
- Arbejde
- virker
- world
- værd
- Zcash