Hvorfor progressiv desentralisering er blockchains beste håp

Uforanderlighet er blockchains største styrke og største barriere. Progressiv desentralisering kan være svaret.

Da vi ga ut CryptoKitties for ett år siden, valgte vi å ikke finansiere den på forhånd med en ICO, men i stedet bygge den på en bærekraftig inntektsmodell. Den modellen er denne: vi samler inn et gebyr på 3,75% fra hver transaksjon i spillet. Med tanke på at vi ikke kunne endre gebyret når vi lanserte - CryptoKitties er bygget på Ethereum blockchain - spør folk ofte hvordan vi kom fram til det tallet.

Det høres ut som et smart, velbegrunnet valg. Jeg kunne snurre en overbevisende historie om hvordan vi kjørte simuleringer med avanserte prediksjonsmodeller for å finne gebyret som ville gi optimal avkastning.

Men det stemmer ikke.

Sannheten er at vi har gjort en utdannet gjetning. Vi valgte et nummer som føltes rettferdig og vi forpliktet oss til det.

Uforanderlighet er kjempebra og skummelt

Vi kunne lett ha valgt galt, og siden du ikke kan endre noe når du legger det til i blockchain, ville det ha vært kattestrofisk. Heldigvis for CryptoKitties er samfunnet vårt så lidenskapelig og Kitties er så søte at 3,75% fungerte helt fint.

Uforanderlighet, manglende evne til å redigeres, er på en gang blockchains største styrke og dens største barriere for meningsfull adopsjon. Presset fra udødelig kode lammer utviklere: du kan tulle i et testmiljø for alltid, men det vil alltid være virkelige variabler du ikke kan forutse. Å dekke blikket og treffe lanseringen er ingen måte å gjøre gjennombrudd på. Det er mer sannsynlig å produsere sammenbrudd.

Gebyret vårt var bare en avgjørelse blant mange: hvor lang tid skulle avl en Kitty ta? I hvilken grad bør avlsfrontene deres bremse? Hvor mye skal en Gen 0-katt koste? På blockchain kan til og med et tilsynelatende lite valg gi alvorlige, til og med kritiske, konsekvenser.

Desentralisering gir hverdagslige mennesker enorme fordeler: rettferdigheten av permanente og universelle regler og åpenheten om kode og atferd som, sammen, skaper trygghet. Fordi det ofte implementeres med uforanderlighet med alt-eller-ingenting, gjør blockchain smidig utvikling umulig og bremser team til å gjennomsøke.

Smidighet krever iterasjon. Iterating raskt er nøkkelen til å bygge de beste produktene, og de beste produktene taper masseadopsjon.

Gå inn i progressiv desentralisering

Vi møtte disse hindringene selv ved å bygge CryptoKitties, som tvang oss til å forhandle om å inkludere desentraliserte funksjoner mens vi bygger noe som, vet du, fungerer. Siden den gang har vi begynt å utforske progressiv desentralisering i utvikling, en ide vi introduserte for en stund siden.

La oss ta et dypere dykk nå.

Enkelt sagt foreslår progressiv desentralisering å ta seg ned i desentralisering i etapper fremfor å dykke i hodet. Det som ser ut er å bygge mekanismer til smarte kontrakter som gir spesielle krefter til skaperne foran, og deretter trinnvis låser disse kreftene på en transparent og systematisk måte.

Den kritiske betingelsen er at låsemekanismene må være offentlige og uforanderlige fra starten av. Skaperen kan ikke bestemme seg for å finjustere begrepene senere og utvide kraften på ubestemt tid. Denne balansen er avgjørende: gjort riktig, progressiv desentralisering gir skaperne fleksibilitet til å reparere koden sin uten å kompromittere de desentraliserte funksjonene i kontrakten.

Progressiv desentralisering kan ha mange former

Det er ingen riktig måte å implementere gradvis desentralisering på. Det er mange titalls variabler du bør vurdere, og den beste tilnærmingen vil variere fra prosjekt til prosjekt.

Her er et par måter utviklere kan tilnærme seg progressiv desentralisering:

  1. Forfatter flere kontrakter med passende separasjon av bekymringer og muligheten til å erstatte noen av disse kontraktene. Noen desentraliserte apper (“dapps”) som Decentraland, som har oppgraderbare kontrakter, bruker allerede dette.
  2. Konfigurerbare variabler og tillatelser for å endre disse verdiene uavhengig. Etheremon gir for eksempel spesielle tillatelser til grupper av brukere som blir moderatorer.
  3. Innarbeide et forhåndsdefinert sett med stigende nivåer i kontrakten, som hver gir skaperne visse muligheter. Nivåene kan bare økes, aldri reduseres, så backtracking er ikke et alternativ. På nivå 1, for eksempel, kan kontraktseierne leke med alle spillvariabler. På nivå 2 slutter deres evne til å endre kjernevariabler. På sluttnivå trekker kontrakten tilbake alle spesielle privilegier.

For dø-harde desentralister, høres nok noe av dette ut for sentralisert. Men dette er bare utgangspunktet. Det er ytterligere tiltak for å balansere desentralisering med iterasjon. Løsningen kombinerer åpenhet om formålet og betingelsene og begrensningene i kontraktene. Disse begrensningene kan omfatte:

  1. Utvalg: Ikke alt kan endres, bare de spesifikke elementene som vi trenger å iterere.
  2. Område: For mange av spørsmålene rundt spilløkonomier kan vi ha en generell idé, men ikke vite det nøyaktige svaret. Begrensning av konfigurasjon til et visst område garanterer brukere at iterasjonen vil lande innenfor et rimelig omfang.
  3. Retning: I likhet med "nivåene" -konseptet ovenfor, la visse variabler bare bevege seg i en retning, redusere eller øke, men aldri backtracking.

Å holde skaperne ansvarlige

Alt dette høres bra ut i teorien. Men hvordan sikrer vi at skaperne holder seg til sitt veikart og når den fullstendig desentraliserte versjonen av kontraktene? Hvordan kan brukere melde seg på tidlig med garantien for at systemet er en anvendelse av progressiv desentralisering? Hvordan kan vi vite at vi ikke ender opp med enda et mangelfullt, sentralisert system?

Progressiv desentralisering inkluderer grunnleggende elementer for å holde skaperne ansvarlige:

Tids- eller blokkbasert løpetid

Lås visse konfigurasjonsverdier, tilbakekalle eierens funksjoner eller gå til neste modenhetsnivå forbi et bestemt tid eller et blokkeringsnummer. Når dette punktet er nådd, endres kontrakten automatisk.

Tenk deg for eksempel at CryptoKitties hadde en rullebane på 360 000 blokker (rundt 60 dager) fra det øyeblikket det ble lansert for å justere Kitties 'avlsboksvariabler. Vi kunne finjustere cooldown-mekanikken til det punktet, gi oss selv pusterommet for å perfeksjonere balansen, samtidig som vi garanterer spillerne at vi ikke ville ha den kraften på ubestemt tid.

Bruksbasert løpetid

Lås disse funksjonene når et visst antall brukere eller transaksjoner er fullført. Dette alternativet må være nøye gjennomtenkt for å unngå utnyttelse, men vi kan for eksempel ha bygget konfigurerbare avgifter i CryptoKitties som ville låses inn etter 10 000 transaksjoner.

Økonomisk insentiv

Juster skapernes insentiver med økt desentralisering. I dette scenariet tjener skaperne mer når kontrakten blir mer desentralisert. Kanskje stiger gebyret med hvert nivå utvikleren stiger opp, og låser seg inn på det maksimale gebyret når de når full desentralisering. Eller, alternativt, tjener de kanskje ikke penger i det hele tatt før full desentralisering er på plass. Denne økonomiske belønningen motiverer utvikleren til å nå desentralisering i rimelig tempo.

Det er ingen beste tilnærming til å bygge videre på blockchain

"Progressiv desentralisering" er virkelig en paraply som omfatter mange strategier, mekanismer og verktøy for å gjøre byggingen på blockchain mer levedyktig. Den beste måten å anvende progressiv desentralisering vil alltid avhenge av prosjektet og bruke en blanding av konseptene som er skissert ovenfor.

Progressiv desentralisering er ikke perfekt. Den ideelle smarte kontrakten er enkel og grei, og disse tiltakene gir kompleksitet. Hvordan og hvor mye du skal innlemme er en avveining som må evalueres fra sak til sak.

Selv om det kan virke vred på harde desentralister, tror vi progressiv desentralisering er langt bedre for brukere på lang sikt: ved å gi utviklere fleksibilitet til å tilpasse seg, får forbrukeren et mer nyttig produkt. Det betyr at de faktisk vil bruke det, og når det først gir verdi til livene sine, vil de synge rosene til menneskene rundt seg. Slik starter masseadopsjon.

Forfattere: Arthur Camara, Dieter Shirley og Grady Mitchell