Sharding
Sharding is een schaaltechniek die de werklast van een blockchain verdeelt over meerdere parallelle segmenten – shards – zodat het netwerk meer kan verwerken dan welke afzonderlijke node ook aankan. Het idee, geleend uit databaseontwerp, is dat niet elke node elke transactie verifieert, maar dat verschillende delen van het netwerk verschillende shards afhandelen, waardoor de totale capaciteit toeneemt terwijl de hardwarevereisten per node bescheiden blijven.
Het lastige is dit te doen zonder de beveiliging te verzwakken: als elke shard door slechts een deel van het netwerk wordt gevalideerd, hoeft een aanvaller alleen dat deel te overmeesteren, en transacties die meerdere shards beslaan, vereisen zorgvuldige communicatie tussen shards. Deze moeilijkheden hebben de roadmap van Ethereum hervormd. Het oorspronkelijke plan voor 64 uitvoerings-shards – parallelle blockchains die allemaal transacties uitvoeren – werd verlaten ten gunste van rollups die de uitvoering doen, waarbij de basisketen alleen data in shards verdeelt. De eerste stap, "proto-danksharding" (EIP-4844), werd in maart 2024 opgeleverd en voegde goedkope tijdelijke "blob"-ruimte toe die de kosten van rollups drastisch verlaagde; volledige danksharding, waarmee nodes blobdata zouden kunnen verifiëren door kleine stukjes te bemonsteren in plaats van alles te downloaden, ligt nog in het verschiet. Andere netwerken kozen andere routes: NEAR draait sharded uitvoering in productie, en TON is ontworpen om shards onder belasting dynamisch te splitsen.
Een veelvoorkomende misvatting is dat Ethereum "sharding heeft" in de oorspronkelijke zin van parallelle transactieverwerkende blockchains; wat het bouwt is datasharding ten dienste van rollups. De bredere les is dat sharding niet één techniek is maar een familie van ontwerpen, die elk op verschillende plekken complexiteit inruilen voor capaciteit.