Publiczne blockchainy mają obecnie jeden poważny problem – przytłoczenie sieci. Największą wadą zdecentralizowanych baz danych jest brak skalowania. W skrócie, bez względu na to, jak bardzo wzrasta wydajność sieci, szybkość przetwarzania transakcji nigdy się nie zmieni. Dzieje się tak, ponieważ każdy blockchain ma stały rozmiar bloku i block-time. W przypadku Ethereum () jest to blok ~ 25 kb raz na 15 sekund.
Protokół Ethereum podczas zmiany wydajności sieci (przypływ i odpływ minerów) automatycznie modyfikuje trudność tak, aby bloki nie były generowane zbyt szybko lub zbyt wolno.
Jest to oczywiście problem. Cały blockchain może zawiesić relatywnie prosta aplikacja. Może pamiętacie jeszcze CryptoKitties – grę, w której można krzyżować i wysyłać specjalne koty.
Poszukiwanie rozwiązania
Zespół programistów Ethereum od jakiegoś czasu szuka rozwiązania. Jednym z bardziej obiecujących jest tzw. sharding, który jednocześnie rozwiązuje problem ze wzrostem rozmiaru blockchaina. Protokół shardowy, według Vitalika, może stworzyć w przyszłości do 100 Shardów, przy czym każdy Shard będzie mniej lub więcej taki samo wydajny jak główny blockchain.
Na Twitterze opublikowano częściowy Proof-of-Concept tego systemu, wraz z ilustracyjnym obrazem przedstawiającym blockchain stworzony z dwunastu Shardów.
Sharding is coming.https://t.co/Aqo9MBiCj0 pic.twitter.com/FXEQeiKGDr
— Vitalik "Not giving away ETH" Buterin (@VitalikButerin) April 30, 2018
Szczegółowe dane techniczne są zbyt zaawansowane na potrzeby przedstawiania informacji w tym magazynie chcąc dotrzeć do szerszej publiczności. W każdym razie, jeśli jesteś zainteresowany, zalecamy lekturę posta Vitalika do Redditu (gdzie również znajdziecie Proof-of-Concept).
Problemy shardingu
Najważniejszą częścią systemu jest „fork choice rule“ – reguła, która definiuje interakcję Sharda z głównym blockchainem. Trudno zwiększyć prędkości blockchaina bey ujmy na bezpieczeństwie. W przypadku shardingu każdy węzeł sieci nie będzie miał pełnego blockchaina, a transakcje/smart-kontrakty nie będą już wykonywane jednocześnie w całej sieci, co zwiększa ryzyko ataków.
Vitalik obiecuje sobie dużo od Shardingu. W przyszłości dzięki niemu zwiększy przepuszczalnoć sieci, węzły nie będą musiały przechowywać całej historii transakcji, a wszelkie zmiany w protokołach będą łatwiejsze do przetestowania. Nie będzie konieczne ich wdrożenie w całej sieci, wystarczy tylko jeden Shard.
Nie przegap nowe wiadomości i włącz opcję dzwonka w lewym dolnym rogu lub śledź nas na Facebooku.