Vad Àr datauppdelning och hur fungerar det?
Hem
Artiklar
Vad Àr datauppdelning och hur fungerar det?

Vad Àr datauppdelning och hur fungerar det?

Avancerad
Publicerad Dec 4, 2023Uppdaterad Jan 11, 2024
9m

TL;DR

  • Datauppdelningen delar upp en blockkedja i mindre ”delar” för att ta itu med frĂ„gan om skalbarhet i samband med lager 1-nĂ€tverk.

  • Datauppdelning förbĂ€ttrar transaktionshastigheterna, minimerar bearbetnings- och lagringskostnader samt förbĂ€ttrar nĂ€tverksprestandan.

  • Datauppdelning har sina potentiella nackdelar, sĂ„som nĂ€tverkssĂ€kerhetsproblem och komplexitet i transaktionerna mellan olika uppdelningar.

Introduktion

Blockkedjetekniken har introducerat oövertrÀffad potential inom decentralisering, öppenhet och sÀkerhet. Men den stÄr inför en betydande utmaning: skalbarhet. Skalbarhet Àr en punkt i "blockkedjans trilemma", som ocksÄ innefattar sÀkerhet och decentralisering. Att uppnÄ alla tre samtidigt Àr ett kvarvarande problem i blockkedjevÀrlden. Det Àr hÀr strategiska lösningar som " datauppdelning" kommer in i bilden.

Vad Àr datauppdelning?

Datauppdelning Àr ett koncept lÄnat frÄn traditionell databashantering. Det hÀnvisar till processen att dela upp en större databas i mindre, mer hanterbara delar, kallade uppdelningar. Dess tillÀmpning i blockkedjan syftar till att förbÀttra skalbarheten, samtidigt som principen om decentralisering bibehÄlls. I huvudsak uppstÄr datauppdelning nÀr ett blockkedjenÀtverk Àr uppdelat i mindre delar som kallas uppdelningar, dÀr var och en parallellt kan bearbeta transaktioner och smarta kontrakt.

Hur fungerar datauppdelning?

Att förstÄ hur datauppdelning utförs inom ett blockkedjenÀtverk krÀver en förstÄelse för hur blockkedjedata vanligtvis lagras och bearbetas. Det finns olika sÀtt att behandla data pÄ. Vi kommer att titta pÄ sekventiell och parallell bearbetning.

Vanligtvis Àr varje blockkedjenod ansvarig för att hantera hela transaktionsvolymen i nÀtverket. Denna typ av databehandling kallas vanligtvis sekventiell behandling. Detta innebÀr att varje nod mÄste underhÄlla och lagra all kritisk information, sÄsom kontobalanser och transaktionshistorik. I stort sett mÄste varje nod bearbeta alla nÀtverksoperationer, data och transaktioner.

Även om en sĂ„dan modell stĂ€rker sĂ€kerheten för blockkedjan genom att registrera varje transaktion över alla noder, bromsar den dramatiskt behandlingen av data. Det Ă€r hĂ€r parallell bearbetning av data kommer in i bilden, eftersom det gör det möjligt att utföra flera operationer samtidigt.

Datauppdelning kan vara en kraftfull lösning pĂ„ denna situation, eftersom den delar upp eller ”partitionerar” transaktionsbelastningen över blockkedjenĂ€tverket. Detta innebĂ€r att alla noder inte behöver hantera eller bearbeta hela blockkedjans belastning.

IstÀllet separerar datauppdelningen arbetsbelastningen genom horisontell partitionering. I denna process delas data in i horisontella delmÀngder, dÀr varje uppdelning fungerar som en oberoende databas som kan behandla transaktioner separat frÄn de andra. 

Horisontell kontra vertikal partitionering

Horisontell partitionering och vertikal partitionering Ă€r tvĂ„ viktiga metoder för databasskalning. Även om bĂ„da Ă€r utformade för att hantera stora datamĂ€ngder mer effektivt, fungerar de pĂ„ fundamentalt olika sĂ€tt. Datauppdelning Ă€r en vanlig metod för att genomföra horisontell partitionering.

Vid horisontell partitionering delas data upp i rader och fördelas över olika noder (eller databaser), dÀr var och en innehÄller en delmÀngd av data. Varje rad i en tabell Àr en unik enhet och att separera dem leder inte till nÄgon förlust av dataintegriteten. Ett framtrÀdande exempel pÄ horisontell partitionering som anvÀnds Àr fördelningen av blockkedjenÀtverk, sÄsom Ethereum och Bitcoin.

Vid vertikal partitionering delas data in i kolumner, snarare Ă€n rader. Varje partition i vertikal partitionering innehĂ„ller en delmĂ€ngd data för varje enhet, eller hela datauppsĂ€ttningen, men endast för en viss uppsĂ€ttning attribut. TĂ€nk dig till exempel en kundtabell med kolumner som Namn, Status, Beskrivning och Foto. I ett vertikalt partitioneringsscenario kan ”Namn” och ”Status” sparas i en tabell och ”Beskrivning” och ”Foto” i en annan.

Varför föredras horisontell partitionering?

Horisontell partitionering gynnas generellt framför vertikal partitionering i blockkedjenÀtverk av tre viktiga skÀl: skalbarhet, decentralisering och sÀkerhet.

Skalbarhet: Datauppdelning ger en lösning genom att dela upp data i mindre och mer hanterbara ”uppdelningar”. Varje uppdelning kan fungera oberoende, vilket gör det möjligt att behandla fler transaktioner samtidigt, vilket förbĂ€ttrar nĂ€tverkets hastighet och effektivitet. Vertikal partitionering kan fördela kolumnerna över olika databaser, men krĂ€ver mer komplexitet för att hĂ€mta en fullstĂ€ndig transaktion, vilket kan blockera information och begrĂ€nsa skalbarheten.

Decentralisering: I enlighet med blockkedjans grundlÀggande etos stöder horisontell partitionering decentralisering. NÀr noder bara behöver bearbeta en del av all totala data (en uppdelning) kan fler noder delta i nÀtverket eftersom berÀknings- och lagringsbördorna minskar. Vertikal partitionering skulle jÀmförelsevis begrÀnsa detta, eftersom varje nod skulle behöva Ätkomst till alla partitioner (alla kolumner med data) för att förstÄ och verifiera fullstÀndiga blockdata.

SÀkerhet och dataintegritet: Horisontell partitionering upprÀtthÄller dataintegriteten eftersom varje uppdelning (eller partition) innehÄller fullstÀndiga transaktionsdata, vilket sÀkerstÀller att varje nod har en fullstÀndig, korrekt kopia av sin del av blockkedjan. Vid vertikal partitionering skulle du i huvudsak behöva dela upp ett blockdata över olika noder, vilket gör det svÄrare att sÀkerstÀlla dataintegritet och sÀkerhet, vilka Àr viktiga aspekter i blockkedjanÀtverk.

Vilka Àr fördelarna med datauppdelning?

LÄt oss fördjupa oss i de potentiella fördelarna som datauppdelning ger blockkedjetekniken:

Ökad transaktionshastighet: Datauppdelning underlĂ€ttar parallell bearbetning av transaktioner. IstĂ€llet för att bearbeta transaktioner en efter en pĂ„ ett sekventiellt sĂ€tt kan datauppdelning göra att transaktioner behandlas samtidigt, men pĂ„ olika uppdelningar. Varje uppdelning fungerar oberoende, vilket ökar transaktionshastigheten avsevĂ€rt. Detta pĂ„skyndar inte bara transaktionshastigheten, utan betyder ocksĂ„ att hela nĂ€tverket kan hantera fler anvĂ€ndare, vilket frĂ€mjar anvĂ€ndarna.

Ett exempel pÄ ett befintligt blockkedjenÀtverk som anvÀnder datauppdelning för att hantera skalbarhet Àr Ziliqa. Ziliqas mekanism för datauppdelning gör det möjligt att uppnÄ tusentals transaktioner per sekund.

Minimerade bearbetnings- och lagringskostnader: Den konventionella blockkedjedesignen tvingar varje nod att lagra alla transaktioner, vilket intensifierar kraven pĂ„ hĂ„rdvara nĂ€r blockkedjan vĂ€xer. Men med datauppdelning ansvarar varje nod bara för att bearbeta och lagra en brĂ„kdel av hela nĂ€tverkets data – detta minskar resurserna som krĂ€vs för att en nod ska kunna delta i nĂ€tverket.

DÀrför kan fler deltagare gÄ med som validerare, vilket förbÀttrar nÀtverksdecentraliseringen utan att Ädra sig oöverkomliga kostnader. Det mildrar problem dÀr endast enheter med avancerade och dyra datorresurser realistiskt sett kan delta i processen och dÀrmed kan den demokratiserade karaktÀren hos blockkedjenÀtverk bibehÄllas.

FörbÀttrad nÀtverksprestanda: Datauppdelning kan bidra till att förbÀttra övergripande nÀtverksprestanda och kapacitet. I de traditionella blockkedjorna, dÀr fler noder deltar i nÀtverket, minskar prestandan paradoxalt pÄ grund av behovet av ökad datakommunikation och synkronisering mellan noder.

Datauppdelning förÀndrar dock detta scenario. Eftersom varje uppdelning fungerar separat och samtidigt kan systemet bearbeta fler transaktioner och berÀkningar. NÀr en ny nod ansluter kan den lÀggas till i en uppdelning istÀllet för i hela nÀtverket, vilket förbÀttrar nÀtverkets kapacitet att skala. Effektiviteten förbÀttras, vilket leder till smidigare transaktioner och bÀttre anvÀndarupplevelse.

Kom ihÄg att framtida utvecklingar och förbÀttringar inom datauppdelningstekniken kan skapa andra fördelar, eller stÀrka dessa befintliga, vilket stÀndigt förbÀttrar blockkedjans ekosystem.

Vilka Àr begrÀnsningarna för datauppdelning?

Även om datauppdelning erbjuder flera potentiella fördelar som kan hjĂ€lpa blockkedjenĂ€tverk att bli effektivare, introducerar processen ocksĂ„ en unik uppsĂ€ttning utmaningar. NĂ„gra potentiella sĂ„rbarheter som introduceras av datauppdelning innefattar: 

Övertagningsattacker av en enda uppdelning: I en datauppdelningsmiljö Ă€r berĂ€kningskraften för att ta över en enda uppdelning dramatiskt mindre Ă€n den kraft som krĂ€vs för att ta över hela nĂ€tverket. Detta gör dessa enskilda uppdelningar mer sĂ„rbara för en "enprocentsattack" eller "överttagningsattack av en uppdelning" – varigenom en angripare med en liten mĂ€ngd resurser jĂ€mfört med hela nĂ€tverket potentiellt kan ta över en enskild uppdelning.

Transaktioner mellan uppdelningar: Transaktioner som sker över olika uppdelningar (tvÀruppdelningar) utgör en unik utmaning. Transaktioner mellan uppdelningar Àr komplexa och kan potentiellt leda till dubbla spenderingar om de inte hanteras noggrant. Om en uppdelning inte exakt spÄrar tillstÄndet för den andra uppdelning under en transaktion kan anvÀndare utnyttja detta för "dubbla spenderingar".

Problem med datatillgÀnglighet: Datauppdelning gör det svÄrt att upprÀtthÄlla hela nÀtverkstillstÄndet. Om vissa uppdelningar inte Àr tillgÀngliga nÀr de behövs (eftersom noderna som underhÄller dessa uppdelningar Àr offline) kan det leda till problem med datatillgÀnglighet och störa hela nÀtverket.

NÀtverkssÀkerhet: Datauppdelning krÀver implementering av ett robust protokoll som balanserar belastningen mellan uppdelningarna. Om det inte görs korrekt kan detta leda till ojÀmn fördelning av data eller obalans i resurserna, vilket kan leda till potentiell instabilitet i nÀtverket.

Nodsynkronisering: Nodsynkronisering kan orsaka nÀtverksförseningar pÄ grund av den tid det tar att dela och uppdatera information mellan olika noder. Om en nod med lÄngsammare bearbetningsmöjligheter eller nÀtverksanslutning dessutom slÀpar efter kan detta bromsa hela synkroniseringsprocessen, vilket minskar den totala prestandan för blockkedjenÀtverket.

Är datauppdelning implementerad pĂ„ Ethereum?

Ethereum har planer pÄ att implementera datauppdelning som en del av deras Ethereum 2.0-uppgradering. Ethereum 2.0, Àven kÀnd som Eth2 eller Serenity, Àr en uppgradering till Ethereums blockkedja som syftar till att förbÀttra nÀtverkets hastighet, effektivitet och skalbarhet, sÄ att det kan bearbeta fler transaktioner och minska överbelastningen.

FrÄn och med nu genomförs uppgraderingen i faser, med den sista fasen (fas 2) inklusive fullstÀndig implementering av datauppdelning. Ethereum-utvecklarna hoppas att dessa förbÀttringar kommer att ta itu med nÄgra av de nuvarande utmaningarna i samband med skalbarhet och transaktionskostnader som nÀtverket stÄr inför.

Det Àr dock viktigt att komma ihÄg att implementeringen av datauppdelning har sina egna utmaningar, sÀrskilt nÀr det gÀller att upprÀtthÄlla sÀkerheten och decentraliseringen av nÀtverket. DÀrför lÀgger Ethereum-utvecklarna noggrann eftertanke och omfattande tester i denna övergÄng, för att sÀkerstÀlla uppgraderingens framgÄng nÀr den Àr helt implementerad.

Sammanfattningsvis

Sammantaget representerar datauppdelning ett enormt framsteg för att lösa blockkedjans trilemma. Även om det introducerar nya komplexiteter och möjliga nackdelar, Ă€r dess potential för att öka skalbarheten utan att kompromissa med decentraliseringen enorma löften för framtiden för blockkedjenĂ€tverk.

Det Àr inte konstigt att olika blockkedjor utforskar datauppdelning som en potentiell lösning. Ethereum integrerar datauppdelning som en del av Ethereum 2.0-uppgraderingen för att ta itu med skalbarhetsproblem. Detta genomförande förvÀntas ske genom Cancun-uppgraderingen, som Àr en kritisk del av den övergripande förbÀttringsplanen. Liksom alla andra utvecklande tekniker kommer framgÄng dock att bero pÄ pÄgÄende forskning, utveckling och rigorös testning av datauppdelningsimplementeringar.

Mer information

Ansvarsfriskrivning: Detta innehĂ„ll presenteras för dig ”i befintligt skick" och avser allmĂ€n information och information för utbildningsĂ€ndamĂ„l, utan representation eller garantier av nĂ„got slag. Det ska inte tolkas som ekonomisk, juridisk eller annan professionell rĂ„dgivning, och Ă€r inte heller avsett att rekommendera köp av nĂ„gon specifik produkt eller tjĂ€nst. Du bör söka egna rĂ„d frĂ„n lĂ€mpliga professionella rĂ„dgivare. Om det till artikeln har bidragits av en tredje parts bidragsgivare, ska det observeras att de Ă„sikter som uttrycks tillhör tredjepartsbidragsgivaren och inte nödvĂ€ndigtvis Ă„terspeglar Binance Academys Ă„sikter. LĂ€s vĂ„r fullstĂ€ndiga ansvarsfriskrivning hĂ€r för mer information. Priserna pĂ„ digitala tillgĂ„ngar kan vara volatila. VĂ€rdet pĂ„ din investering kan gĂ„ ner eller upp och du kanske inte fĂ„r tillbaka det investerade beloppet. Du Ă€r ensam ansvarig för dina investeringsbeslut och Binance Academy ansvarar inte för eventuella förluster du kan drabbas av. Detta material ska inte tolkas som ekonomisk, juridisk eller annan professionell rĂ„dgivning. För mer information, se vĂ„ra anvĂ€ndarvillkor och vĂ„r riskvarning.