Sharding dzieli blockchain na mniejsze fragmenty, zwane shardami. Każdy shard przetwarza własne transakcje i przechowuje własne dane. Shardy komunikują się ze sobą poprzez warstwę koordynacyjną. Celem jest paralelizm. Zamiast jednego łańcucha przetwarzającego każdą transakcję, wiele łańcuchów przetwarza transakcje jednocześnie. Przepustowość rośnie wraz z liczbą shardów. Plan rozwoju Ethereum uwzględnia sharding, choć rollupy stały się priorytetem jako krótkoterminowe rozwiązanie skalowalne.
Sharding jest technicznie trudny. Podział łańcucha oznacza podział zabezpieczeń. Jeśli jeden shard zostanie naruszony, cała sieć jest zagrożona. Komunikacja między shardami zwiększa opóźnienia i złożoność. Walidatory muszą być przypisywane do shardów losowo i często rotowane, aby zapobiec zmowie. Projekt musi gwarantować, że atakujący nie będzie mógł skoncentrować mocy w jednym shardze i przejąć nad nim kontroli. Propozycja dankshardingu Ethereum łączy sharding z rollupami. Shardy przechowują dane rollupów, ale nie wykonują transakcji. Rollupy obsługują wykonywanie. Sharding obsługuje dostępność danych. Taki podział zadań jest prostszy i bezpieczniejszy niż sharding z pełnym wykonaniem.
Kompromisy w rozdrabnianiu
- Przepustowość — skaluje się wraz z liczbą fragmentów
- Złożoność — komunikacja międzyodłamkowa jest trudna
- Bezpieczeństwo — każdy fragment wymaga wystarczającej liczby walidatorów
- Dostępność danych — fragmenty muszą publikować dane w celu weryfikacji
Sharding nie jest rozwiązaniem na szybko. To wieloletni projekt inżynieryjny z wieloma ruchomymi elementami. Rollupy zapewniają skalowalność już dziś. Sharding to rozwiązanie na jutro.
Comments
No comments yet. Be the first to share a thought.
Leave a comment