Równoległość

Średnio zaawansowany


Czym jest przetwarzanie równoległe?

Przetwarzanie równoległe (równoległe wykonywanie transakcji) to metoda przetwarzania wielu zadań naraz. Podstawę przetwarzania równoległego stanowi koncepcja równoległości, która jest pojęciem w informatyce oznaczającym zdolność do wykonywania wielu zadań naraz. W przypadku technologii blockchain takie podejście zwiększa liczbę transakcji na sekundę (TPS) i poprawia ogólną wydajność sieci.

Jak działa przetwarzanie równoległe

Przetwarzanie równoległe organizuje sieć tak, aby zatwierdzała wiele transakcji naraz zamiast przetwarzać je sekwencyjnie (po kolei). Zapewnia wykorzystanie dostępnych zasobów sieciowych i rozkłada zadanie realizacji transakcji na wiele węzłów

Przetwarzanie równoległe polega na sprawdzaniu wielu potencjalnych stanów sieci naraz, z których każdy pokazuje wynik zatwierdzenia określonego zbioru transakcji. Dzięki analizie tych stanów sieć rozumie, jaki byłby wpływ danej transakcji na księgę, gdyby została zatwierdzona. Po zakończeniu kontroli sieć osiąga wspólny stan, który odzwierciedla wynik zatwierdzania równoległego.

Modele przetwarzania równoległego 

Są dwa modele przetwarzania równoległego: przetwarzanie równoległe optymistyczne i przetwarzanie równoległe z dostępem do stanu.

1. Przetwarzanie równoległe optymistyczne. W optymistycznym modelu przetwarzania równoległego sieć pomija etap sortowania i zaczyna przetwarzać transakcje jednocześnie. Działa zgodnie z założeniem, że transakcje w kolejce są niezależne i sprawdza je ponownie, a także koryguje wszelkie nieprawidłowe wykonania. Jeżeli między transakcjami występują dalsze zależności, sieć ponownie realizuje transakcję z dokładnymi danymi.
2. Przetwarzanie równoległe z dostępem do stanu. W modelu przetwarzania równoległego z dostępem do stanu sortowanie transakcji początkowo przebiega na podstawie ich wpływu na stan sieci z uwzględnieniem takich czynników, jak interakcja z określonymi smart kontraktami lub kontami. Następnie odbywa się wprowadzanie posortowanych transakcji do systemu konsensusu z podziałem na transakcje powiązane i niepowiązane. W celu optymalizacji wydajności realizacja transakcji niepowiązanych odbywa się jednocześnie, a transakcje powiązane podlegają przed przetwarzaniem koordynacji, przy czym szeregowanie pod względem ważności odbywa się według opłaty gas, aby zwiększyć szybkość przetwarzania.

Korzyści z przetwarzania równoległego

Duża szybkość przetwarzania transakcji

Rozdzielenie zadań na wiele węzłów znacznie skraca czas realizacji transakcji, ponieważ zwiększa szybkość ich przetwarzania. W związku z tym sieci, które mają wdrożone przetwarzanie równoległe, są na ogół bardziej wydajne niż sieci z modelami przetwarzania sekwencyjnego.

Skalowalność

Przetwarzanie równoległe rozwiązuje problem skalowalności sieci blockchain poprzez rozdzielenie zatwierdzania transakcji na węzły sieci. Przyspiesza to proces i umożliwia skalowanie poziome. Skalowanie poziome to zdolność sieci do rozszerzania swoich zasobów poprzez dodawanie węzłów w okresach większego zapotrzebowania oraz ich ograniczania, kiedy zapotrzebowanie spada.

Niższe koszty gas

Przetwarzanie równoległe minimalizuje opłaty poprzez rozdzielanie transakcji na podgrupy węzłów, co daje niższe koszty niż przetwarzanie sekwencyjne, w którym każdy węzeł zatwierdza każdą transakcję. Większa szybkość transakcji zmniejsza również rywalizację o zatwierdzanie, co skutkuje dalszą obniżką opłat za transakcję. 

Wniosek

Przetwarzanie równoległe to podejście do przetwarzania transakcji, które stanowi potencjalne rozwiązanie problemu skalowalności sieci blockchain. Dzięki jednoczesnemu wykonywaniu transakcji i rozdzieleniu ich zatwierdzania na wiele węzłów przetwarzanie równoległe umożliwia sieciom blockchain obsługę większej liczby transakcji, obniżenie kosztów gas oraz osiągnięcie szybszego czasu przetwarzania.