Jednym z głównych problemów, przed którymi obecnie stoi sieć blockchain Ethereum, jest tak zwana skalowalność. Obecnie sieci nie można przystosować na większą skalę (globalną), biorąc pod uwagę jej ograniczenia pod względem przepustowości i prędkości działania.
Plasma, koncepcja rozwiązania problemu skalowalności sieci Ethereum, została zaproponowana przez współtwórcę tej kryptowaluty Vitalika Buterina i Josepha Poona w sierpniu 2017 r. Joseph Poon był odpowiedzialny za stworzenie koncepcji Lightning Network w 2015 r. Dla sieci Bitcoin, na której pracował z Thaddeusem Dryją.
Chociaż Plasma i Lightning Network zostały zaproponowane jako rozwiązania do pomiaru i rozwiązania problemu skalowalności, każda z tych koncepcji opiera się na własnych mechanizmach i specjalnych cechach, które odróżniają jedną od drugiej.
Ten artykuł posłuży jako krótkie wprowadzenie i wyjaśnienie koncepcji plasmy w sieci Ethereum. W tym miejscu należy jednak zauważyć, że plasma to nie tylko projekt, ale technologia, która umożliwia skalowanie sieci poza jej głównym łańcuchem (poza łańcuchem) i platformą do budowania skalowalnych aplikacji, które można wdrażać i stosować w różnych sposobów różnych grup badawczych lub firm.
Jak dokładnie działa Plasma?
Plasma w głównej mierze polega na stworzeniu sieci łańcuchów bocznych (ang. side chains), które tworzone są w celu ograniczenia ruchu w głównym łańcuchu (w tym przypadku łańcuchu sieci Ethereum), a które komunikują się z nim i wchodzą z nim w interakcje tak rzadko jak to tylko możliwe. Framework Plasma zaprojektowany jest aby działać jak (dosłownie) drzewo blockchain, które ułożone jest hierarchicznie, a w którym wiele mniejszych łańcuchów może zostać utworzonych w ramach głównego łańcucha. Mniejsze łańcuchy nazywane są Plasma chains lub child chains (dosłownie, pol. Łańcuchy potomne)
Plasma skonstruowana jest w głównej mierze z inteligentnych kontraktów (ang. smart contracts) oraz Drzew Merkle (ang. Merkle trees), dzięki czemu możliwym staje się stworzenie nieograniczonej wręcz ilości child chainów – które co do zasady są mniejszymi kopiami głównego łańcucha sieci blockchain Ethereum. Co więcej, na bazie każdego z child chains możliwe jest stworzenie kolejnych łańcuchów. Analogia do drzewa na którym wyrasta gałęzi na gałęziach jest tutaj jak najbardziej prawidłowa.
Ogólnie rzecz ujmując, każdy z łańcuchów typu child chain jest tak naprawdę odpowiednio skonstruowanym inteligentnym kontraktem. Każdy z tych kontraktów (a co za tym idzie Plasma chainów) może funkcjonować w inny sposób i spełniać potrzeby niż pozostałe łańcuchy. Oznacza to, że łańcuchy mogą istnieć i funkcjonować niezależnie od siebie, ale mogą również ze sobą współpracować. Docelowo Plasma umożliwi właścicielom biznesów oraz firmom wdrażanie skalowalnych rozwiązań na różne, odpowiednie dla nich sposoby, zgodnie z ich specyficznymi potrzebami oraz biorąc pod uwagę kontekst ich interesu.
W momencie gdy prace nad technologią Plasma zostaną zakończone i zostanie ona wdrożona do sieci Ethereum, główny łańcuch sieci ETH automatycznie stanie się mniej narażony na zatory i spowolnienie, ponieważ każdy z child chainów zostanie zaprojektowany do pracy w określony sposób na poczet z góry określonych celów – które niekoniecznie są powiązane z celami głównego łańcucha. Ziszczenie się takiego scenariusza w konsekwencji sprawi, że Plasma chains dosłownie “odblokują” główny łańcuch.
Ochrona przed nadużyciami (ang. Fraud proofs)
Komunikacja między łańcuchami potomnymi a łańcuchem głównym jest zabezpieczona mechanizmem o nazwie Dowody oszustwa, co oznacza, że odpowiedzialność za utrzymanie bezpieczeństwa całej sieci i karanie ludzi (lub łańcuchów) negatywnie wpływających na pracę całej sieci spoczywa na główny łańcuch.
Każdy z łańcuchów plasmy wykorzystuje wybrany przez siebie mechanizm sprawdzania poprawności bloku, który może być oparty na różnych algorytmach konsensusu. Najpopularniejsze algorytmy to Proof of Work (pol. Dowód Pracy), Proof of Stake (pol. Dowód Stawki) oraz Proof of Authority (pol. Dowód Tożsamości).
Mechanizm kontroli oszustw daje każdemu użytkownikowi łańcucha plasmy możliwość zgłaszania potencjalnie podejrzanych lub złośliwych działań, węzłów lub transakcji w celu ochrony własnych funduszy, co powoduje zakończenie transakcji i interakcję z głównym łańcuchem. Innymi słowy, dowody oszustwa pozwalają każdemu uczestnikowi łańcucha plasmy dosłownie złożyć skargę, która w zależności od poziomu trafia do łańcucha macierzystego lub głównego łańcucha (ang. Root chain).
MapReduce
Plasma wykorzystuje także interesujący zestaw funkcji, który w dokumencie technicznym opisującym plasmę (ang. whitepaper) został nazwany obliczeniami MapReduce. Zasadniczo MapReduce to zestaw funkcji, które są bardzo przydatne w organizowaniu i przetwarzaniu danych z wielu baz danych.
W kontekście technologii plasmowej bazy danych są łańcuchami blokowymi. „Drzewiasta” struktura łańcuchów pozwala na wykorzystanie MapReduce jako sposobu na ułatwienie weryfikacji danych, co znacznie zwiększa wydajność sieci.
Problem masowego usuwania łańcuchów (ang. Mass Exit problem)
Jednym z głównych problemów związanych z funkcjonowaniem plasmy jest tak zwane masowe wyjście – problem związany ze scenariuszem, w którym wielu użytkowników jednocześnie próbuje zamknąć swój łańcuch plasmy, dosłownie zalewając główny łańcuch informacjami i powodując masowe przeciążenie sieci . Taka sytuacja może wystąpić w ramach planowanej, nieuczciwej aktywności, ataku sieciowego lub innej krytycznej usterki, która może nagle wystąpić (czytaj: zostać wykryta) w jednym z łańcuchów plasmy lub w grupie takich łańcuchów.
Wnioski
Plasma jest zasadniczo rozwiązaniem problemu skalowalności, który działa poza głównym łańcuchem i który ma na celu znaczne zwiększenie ogólnej wydajności sieci Ethereum. W tym celu plasma tworzy „drzewo”, które składa się z wielu mniejszych, kilku większych i jednego głównego łańcucha, który jest podstawą wszystkiego. Ten projekt może znacznie poprawić działanie głównej sieci, która dzięki zwolnieniu i przeniesieniu odpowiedzialności za określone działania (tj. Interakcje) na inne łańcuchy byłaby w stanie obsłużyć więcej transakcji na sekundę.
Hierarchiczny model połączonych łańcuchów bloków zaproponowany w plasmie ma ogromny potencjał i jest obecnie testowany przez wiele grup badawczych. Zakładając odpowiedni rozwój, Plasma może potencjalnie zwiększyć wydajność głównego łańcucha Ethereum i zapewnić lepsze ramy dla wdrażania prostych i szybkich zdecentralizowanych aplikacji. Co więcej, pomysł można dostosować i wdrożyć także przez inne sieci (np. Kryptowaluty), które mogą sięgać po Plasmę, aby uniknąć problemów ze skalowalnością w przyszłości.
Ethereum Plasma to projekt typu open source, którego publiczne repozytorium zawierające między innymi kod i dokumentację jest dostępne na GitHub. Wiele innych projektów kryptowalut pracuje obecnie nad rozwojem i testowaniem technologii plasmy poza Ethereum w ramach głównego repozytorium kodu lub własnych repozytoriów. Wybrane z projektów wykorzystujących lub wspierających rozwój Plasmy: OmiseGO, Loom Network i FourthStateLabs. Więcej informacji na temat zasad plasmy i jej założeń można znaleźć w białej księdze i na stronie internetowej LearnPlasma.