Sharding opdeler en blockchain i mindre dele kaldet shards. Hver shard behandler sine egne transaktioner og lagrer sine egne data. Shardene kommunikerer med hinanden gennem et koordineringslag. Målet er parallelisme. I stedet for at én kæde behandler hver transaktion, behandler mange kæder transaktioner på samme tid. Gennemløbshastigheden stiger med antallet af shards. Ethereums roadmap inkluderer sharding, selvom rollups har fået prioritet som den kortsigtede skaleringsløsning.
Sharding er teknisk vanskeligt. At opdele en kæde betyder at opdele sikkerheden. Hvis én shard kompromitteres, er hele netværket i fare. Kommunikation på tværs af shards tilføjer latenstid og kompleksitet. Validatorer skal tildeles shards tilfældigt og roteres ofte for at forhindre sammensværgelse. Designet skal sikre, at en angriber ikke kan koncentrere magten i én shard og overtage den. Ethereums forslag til danksharding kombinerer sharding med rollups. Shards gemmer rollup-data, men udfører ikke transaktioner. Rollups håndterer udførelse. Sharding håndterer datatilgængelighed. Denne arbejdsdeling er enklere og sikrere end fuld udførelsessharding.
Sharding-afvejninger
- Gennemløb — skalerer med antallet af shards
- Kompleksitet — kommunikation på tværs af shards er vanskelig
- Sikkerhed — hver shard har brug for nok validatorer
- Datatilgængelighed — shards skal offentliggøre data til verifikation
Sharding er ikke en hurtig løsning. Det er en flerårig ingeniørindsats med mange bevægelige dele. Rollups leverer skalering i dag. Sharding er til i morgen.
Comments
No comments yet. Be the first to share a thought.
Leave a comment