Hur skapar man en decentraliserad applikation som skalas? AnvÀnd mindre blockchain

Nej, att lansera en decentraliserad applikation (dapp) pÄ blockkedjan kommer inte att leda till en framgÄngsrik verksamhet. Faktum Àr att de flesta anvÀndare inte ens tÀnker pÄ om applikationen körs pÄ blockchain - de vÀljer helt enkelt en produkt som Àr billigare, snabbare och enklare.

TyvÀrr, Àven om blockchain har sina egna unika funktioner och fördelar, Àr de flesta applikationer som körs pÄ den mycket dyrare, lÄngsammare och mindre intuitiva Àn sina centraliserade konkurrenter.

Hur skapar man en decentraliserad applikation som skalas? AnvÀnd mindre blockchain

Ganska ofta i whitepapers av applikationer som Àr byggda pÄ blockkedjan kan du hitta ett stycke som sÀger: "Blockkedjan Àr dyr och kan inte stödja det antal transaktioner som krÀvs per sekund. Lyckligtvis arbetar mÄnga smarta mÀnniskor med att skala blockkedjan och nÀr vÄr applikation lanseras kommer den att bli ganska skalbar."

I ett enkelt stycke kan en dapp-utvecklare avstÄ frÄn en djupare diskussion om skalbarhetsproblem och alternativa lösningar pÄ problem. Detta leder ofta till en ineffektiv arkitektur dÀr smarta kontrakt som körs pÄ blockkedjan fungerar som backend och kÀrna i applikationen.

Det finns dock fortfarande oprövade tillvÀgagÄngssÀtt för decentraliserad applikationsarkitektur som möjliggör mycket bÀttre skalbarhet genom att minska beroendet av blockkedjan. Blockstack arbetar till exempel med en arkitektur dÀr det mesta av applikationsdata och logik lagras utanför kedjan.

LÄt oss först titta pÄ ett mer traditionellt tillvÀgagÄngssÀtt, som anvÀnder blockchain som en direkt mellanhand mellan applikationsanvÀndare, och som inte skalar sÀrskilt vÀl.

TillvÀgagÄngssÀtt #1: Blockchain som backend

För att göra saker tydligare, lÄt oss ta hotellbranschen som exempel. Detta Àr en enorm bransch dÀr mellanhÀnder som Booking.com, de tar ut en stor avgift för att koppla samman gÀster och hotell.

I alla situationer dÀr vi vill besegra en sÄdan mellanhand med detta tillvÀgagÄngssÀtt, kommer vi att försöka replikera dess affÀrslogik med smarta kontrakt pÄ en blockchain som Ethereum.

Smarta kontrakt med öppen kÀllkod som körs pÄ "vÀrldsdatorn" kan koppla handlare till konsumenter utan en tredje part emellan, vilket i slutÀndan minskar de avgifter och provisioner som tas ut av mellanhanden.

Som visas pÄ bilden nedan anvÀnder hotell en decentraliserad applikation för att lÀgga upp information pÄ blockchain om rum, deras tillgÀnglighet och priser pÄ vardagar eller helger, och kanske till och med en beskrivning av rummen med all annan relevant information.

Hur skapar man en decentraliserad applikation som skalas? AnvÀnd mindre blockchain

Alla som vill boka ett rum anvÀnder den hÀr applikationen för att söka efter hotell och rum pÄ blockchain. NÀr anvÀndaren har valt ett rum görs bokningen genom att skicka det nödvÀndiga antalet tokens till hotellet som en deposition. Och som svar uppdaterar det smarta kontraktet informationen i blockkedjan om att numret inte lÀngre Àr tillgÀngligt.

Det finns tvÄ sidor av skalbarhetsproblemet med detta tillvÀgagÄngssÀtt. Först det maximala antalet transaktioner per sekund. För det andra mÀngden data som kan lagras pÄ blockkedjan.

LÄt oss göra nÄgra grova berÀkningar. Booking.com sÀger att de har nÀstan 2 miljoner hotell registrerade hos dem. LÄt oss sÀga att ett genomsnittligt hotell har 10 rum och att vart och ett Àr bokat bara 20 gÄnger per Är - det ger oss i genomsnitt 13 bokningar per sekund.

För att sÀtta denna siffra i perspektiv Àr det vÀrt att notera att Ethereum kan behandla cirka 15 transaktioner per sekund.

Samtidigt Àr det vÀrt att tÀnka pÄ att vÄr applikation Àven kommer att innehÄlla transaktioner frÄn hotell - för att ladda ner och stÀndigt uppdatera information om deras rum. Hotell uppdaterar rumspriser mycket ofta, ibland till och med dagligen, och varje pris- eller beskrivningsÀndring krÀver en transaktion pÄ blockkedjan.

Det finns ocksÄ storleksproblem hÀr - vikten av Ethereum blockchain passerade nyligen 2TB-mÀrket. Om applikationer med detta tillvÀgagÄngssÀtt blev riktigt populÀra, skulle Ethereum-nÀtverket bli extremt instabilt.

Ett sÄdant blockkedjebaserat system kan utesluta utomstÄende pÄ grund av dess opartiskhet och brist pÄ centralisering, de frÀmsta fördelarna med blockkedjeteknik. Men blockkedjan har ocksÄ andra funktioner - den Àr distribuerad och inte omskriven, dessa Àr utmÀrkta egenskaper, men du mÄste betala för dem i hastigheten och provisionen av transaktioner.

DÀrför mÄste dapp-utvecklare noggrant utvÀrdera om varje funktion som anvÀnder blockkedjan verkligen behöver distribution och icke-skrivbarhet.

Till exempel: vad Ă€r fördelen med att distribuera varje hotells data över hundratals maskiner runt om i vĂ€rlden och lagra den dĂ€r permanent? Är det verkligen viktigt att historisk data om rumspriser och tillgĂ€nglighet alltid finns med i blockkedjan? Antagligen inte.

Om vi ​​börjar stĂ€lla frĂ„gor som dessa kommer vi att börja se att vi inte nödvĂ€ndigtvis behöver alla dyra blockchain-funktioner för alla vĂ„ra funktioner. SĂ„, vad Ă€r alternativet?

TillvÀgagÄngssÀtt #2: Blockstack-inspirerad arkitektur

Även om huvudtyngdpunkten Blockstack pĂ„ applikationer dĂ€r anvĂ€ndare Ă€r Ă€gare till deras data (till exempel lufttext, BentenSound, Bildoptimerare eller Grafit), har blockstack ocksĂ„ en filosofi att anvĂ€nda blockkedjan lĂ€tt – bara nĂ€r det Ă€r absolut nödvĂ€ndigt. Deras huvudargument Ă€r att blockchain Ă€r lĂ„ngsam och dyr, och dĂ€rför endast bör anvĂ€ndas för enstaka eller sĂ€llsynta transaktioner. Resten av interaktionen med applikationer bör ske genom peer-to-peer, d.v.s. anvĂ€ndare av decentraliserade applikationer mĂ„ste dela data direkt med varandra, snarare Ă€n genom blockkedjan. De Ă€ldsta och mest framgĂ„ngsrika decentraliserade applikationerna som BitTorrent, e-post och Tor skapades trots allt före sjĂ€lva konceptet med blockchain.

Hur skapar man en decentraliserad applikation som skalas? AnvÀnd mindre blockchain
VÀnster: Det första tillvÀgagÄngssÀttet, dÀr anvÀndare interagerar via blockkedjan. Höger: AnvÀndare interagerar direkt med varandra, och blockkedjan anvÀnds endast för identifiering och liknande.

LÄt oss gÄ tillbaka till exemplet med hotellbokning. Vi vill ha ett opartiskt, oberoende och öppet protokoll för att koppla gÀster till hotell. Vi vill med andra ord ta bort den centraliserade mellanhanden. Vi behöver till exempel inte stÀndigt lagra rumspriser i en gemensam distribuerad reskontra.

Varför tillÄter vi inte bara gÀster och hotell att interagera direkt snarare Àn via blockchain. Hotell kan lagra sina priser, rumstillgÀnglighet och all annan information nÄgonstans dÀr den kommer att vara tillgÀnglig för alla - till exempel IPFS, Amazon S3 eller till och med deras egen lokala server. Det Àr precis vad Blockstacks decentraliserade lagringssystem kallade Gaia. Det lÄter anvÀndare vÀlja var de vill att deras data ska lagras och kontrollera vem som kan komma Ät den genom ett tillvÀgagÄngssÀtt som kallas lagring för flera anvÀndare.

För att skapa förtroende Àr all hotelldata kryptografiskt signerad av hotellet sjÀlvt. Oavsett var denna data lagras kan dess integritet verifieras med hjÀlp av de offentliga nycklar som Àr associerade med hotellets identitet lagrad i blockchain.

NÀr det gÀller Blockstack lagras endast din identitetsinformation pÄ blockkedjan. Information om hur man skaffar varje anvÀndares data lagras i zonfiler och distribueras genom ett peer-to-peer-nÀtverk med hjÀlp av noder. Och Äterigen behöver du inte lita pÄ data som noderna ger, eftersom du kan verifiera dess Àkthet genom att jÀmföra den med hasharna som lagras i blockchain och andra anvÀndare.

I en förenklad version av systemet kommer gÀsterna att anvÀnda Blockstack peer-to-peer-nÀtverket för att söka efter hotell och fÄ information om sina rum. Och Àktheten och integriteten för all data du tar emot kan verifieras med hjÀlp av offentliga nycklar och hash som lagras i virtuell krets Blockstack.

Denna arkitektur Àr mer komplex Àn den första metoden och krÀver en mer omfattande infrastruktur. Faktum Àr att det Àr precis hÀr Blockstack kommer in, och tillhandahÄller alla nödvÀndiga komponenter för att skapa ett sÄdant decentraliserat system.

Hur skapar man en decentraliserad applikation som skalas? AnvÀnd mindre blockchain

Med denna arkitektur lagrar vi bara data pÄ blockkedjan som verkligen behöver distribueras och inte skrivas över. NÀr det gÀller Blockstack behöver du bara transaktioner pÄ blockkedjan för att registrera och ange var din data ska lagras. Du kan behöva göra fler transaktioner om du vill Àndra nÄgon av denna information, men detta Àr inte en Äterkommande hÀndelse.

Dessutom körs applikationslogiken, i motsats till den första metoden, pÄ klientsidan och inte pÄ smarta kontrakt. Detta gör att utvecklaren kan Àndra denna logik utan kostsamma eller ibland omöjliga smarta kontraktsuppdateringar. Och genom att behÄlla applikationsdata och logik utanför kedjan, kan decentraliserade applikationer uppnÄ prestanda och skalbarhetsnivÄer för traditionella centraliserade system.

Slutsats

Applikationer som körs pÄ Blockstack kan skalas mycket bÀttre Àn konventionella blockkedjeapplikationer, men det Àr ett yngre tillvÀgagÄngssÀtt med sina egna problem och obesvarade frÄgor.

Till exempel, om en decentraliserad applikation inte körs pÄ smarta kontrakt, minskar detta behovet av verktygstokens. Detta kan orsaka problem för företag med tanke pÄ att ICO har varit den huvudsakliga finansieringskÀllan för decentraliserade applikationer (inklusive Blockstack sjÀlv)

HÀr finns Àven tekniska problem. Det Àr till exempel relativt enkelt att implementera en hotellbokningsfunktion i ett smart kontrakt, dÀr man i en atomverksamhet gör rumsreservationer i utbyte mot polletter. Och det Àr inte sÀrskilt uppenbart hur bokning kommer att fungera i en Blockstack-applikation utan smarta kontrakt.

Appar som riktar sig till globala marknader med potential för miljontals anvÀndare mÄste skalas mycket vÀl för att bli framgÄngsrika. Det Àr ett misstag att förlita sig enbart pÄ blockkedjor för att uppnÄ denna nivÄ av skalbarhet inom en snar framtid. För att kunna konkurrera med stora centraliserade marknadsaktörer som Booking.com bör decentraliserade applikationsutvecklare övervÀga alternativa tillvÀgagÄngssÀtt för att designa sina applikationer, som den som erbjuds av Blockstack.

KĂ€lla: will.com

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster