Sharding

Sharding ist eine weitere Möglichkeit Blockchains wie Ethereum skalierbarer zu machen.
Während Protokolle wie Raiden oder Plasma als *2nd-Layer Protokolle* versuchen auf der Basis des ETH Protokolls etwas zu verändern, ist Sharding ein *Base-Layer* Protokoll, das an der Ethereum Blockchain selbst etwas verändert.

Das Hauptproblem bei Ethereum oder Bitcoin ist, dass jede Node jede Transaktion bestätigen muss. Das führt neben der begrenzten Blocksize dazu, dass aktuell lediglich 15 Transaktionen pro Sekunde durchgeführt werden können.

Vitalik Buttern beschreibt Sharding als einen Prozess, in dem mehrere ‚Paralleluniversen’ geschaffen werden.

Aktuell validiert in einem Netzwerk von z.B. 1000 Nodes, jede Node die gleiche Transaktion. Im Sharding-Prozess werden diese 1000 Nodes in – nehmen wir mal an – 10 Gruppen eingeteilt und validieren nur Teile der Daten in der Gruppe. Diese Teil-Verifizierungen von Daten werden dann zu einer Gesamtverifizierung zusammengeführt.
Man kann sich diesen Prozess wie eine effiziente Arbeitsteilung vorstellen.

Veranschaulichung

Nodes X, Y, Z müssen Data A verifizieren. Anstatt, dass Nodes X,Y,Z jeweils Data T verifizieren, wird Data T in 3 *„shards” geteilt*. *Shard 1 wird von X, shard 2 von Y und shard 3 von Z verifiziert*. Anschließend wird diese Information zusammengeführt.

Zilliqa ist beispielsweise eines der ersten Projekte, das Sharding von Beginn verwenden möchte und somit bei der aktuellen Transaktionsrate von Ethereum 1000x mehr Transaktionen durchführen könnte.