Skalowanie poziome w Proof of History: Zrozumienie, jak wiele generatorów synchronizuje się
Zatrzymajmy się na chwilę i pomyślmy razem. Kiedy słyszysz słowo skalowanie w kontekście blockchaina, twoja pierwsza myśl może dotyczyć sharding, równoległych łańcuchów lub dzielenia obciążenia. Ale Proof of History (PoH) podchodzi do skalowania w sposób, który na pierwszy rzut oka wydaje się prawie przeciwintuicyjny. Zamiast dzielić sieć na oddzielne shard, pozwala wielu generatorom pracować równolegle i nadal wplatać swoje wyjścia w jedną spójną sekwencję zdarzeń. A sposób, w jaki to osiąga, jest zaskakująco elegancki—prawie jak rozmowa odbywająca się między samymi generatorami.
Więc przejdź ze mną przez to. Wyobraź sobie, że ty i ja piszemy swoje własne dzienniki, dzień po dniu, zdarzenie po zdarzeniu. Teraz wyobraź sobie, że co pewien czas biorę jedną stronę z twojego dziennika i wstawiam ją do mojego, a ty bierzesz jedną stronę z mojego i wkładasz ją do swojego. Od tego momentu to, co następnie napiszę, zależy od tego, co dowiedziałem się z twojej strony. To połączenie tworzy udowodnioną relację między naszymi osiami czasowymi. Nawet jeśli nasze dzienniki są oddzielne, nie są już izolowane. To jest sedno poziomego skalowania w PoH.
Jak wiele generatorów PoH wchodzi w interakcje
Generator PoH produkuje ciąg hashy, każdy hash zależy od poprzedniego. To ustanawia oś czasu. Teraz wyobraź sobie dwa generatory, A i B, które tworzą swoje własne ciągi. Są niezależne - aż zaczną wymieniać swoje najnowsze stany. Gdy Generator A otrzymuje pakiet danych od Generatora B, ten pakiet zawiera najnowszy hash B oraz ostatni stan B, który został zaobserwowany od A. W prostych słowach, B mówi: „Oto gdzie teraz jestem i oto ostatnia rzecz, którą od ciebie widziałem.”
Gdy A wstawia najnowszy hash B do swojego własnego ciągu, następny hash, który A tworzy, staje się zależny od B. To oznacza, że możemy matematycznie powiedzieć, że stan B miał miejsce przed nowym stanem A. A ponieważ haszowanie jest jednokierunkowe i deterministyczne, nikt nie może sfałszować ani odwrócić tego porządku. W momencie, gdy stan B wpływa na następny hash A, dwie osie czasowe stają się połączone.
W tym tkwi prawdziwe piękno. Nie potrzebujesz stałej synchronizacji. Nawet okresowe wymiany tworzą wystarczające połączenie, aby później odtworzyć udowodniony globalny porządek.
Transitive Synchronization: Jak A łączy się z C bez rozmawiania z C
Teraz pomyśl, co się stanie, gdy dodasz trzeci generator, C. Załóżmy, że A synchronizuje się z B, a B synchronizuje się z C. A i C nie muszą komunikować się bezpośrednio. Ponieważ B przenosi część osi czasowej A do C, a część osi czasowej C z powrotem do A przez B, powstaje połączenie transitive. Możesz śledzić zależności w całej trójce.
To jest jak ty mówisz swojemu przyjacielowi coś, a twój przyjaciel mówi komuś innemu. Nawet jeśli nigdy nie rozmawiasz z tą trzecią osobą, to, co powiedzą później, jest pośrednio wpływane przez ciebie. W PoH ta pośrednia relacja jest kryptograficznie udowodniona. System zyskuje zdolność do porządkowania zdarzeń w wielu generatorach bez zmuszania każdego generatora do rozmowy z każdym innym.
Dlaczego poziome skalowanie ma znaczenie
Każdy generator PoH może obsłużyć część nadchodzących zdarzeń. Zamiast jednego generatora przetwarzającego wszystko, obciążenie rozkłada się. To oznacza większą przepustowość, większą pojemność i znacznie bardziej skalowalny system.
Ale w przeciwieństwie do shardingu, to nie dzieli sieci na izolowane części. Globalna oś czasu nadal jest rekonstrukcyjna, ponieważ każdy generator okazjonalnie włącza części innych osi czasowych do swojej własnej. Kończysz z siecią, która może przetwarzać duże ilości danych, nie tracąc zdolności do udowodnienia, co stało się najpierw, co stało się następnie i co zależało od czego.
Koszt alternatywy: Dokładność czasowa vs. Przepustowość
Oczywiście, nic w inżynierii nie jest darmowe. Gdy wiele generatorów synchronizuje się w sieci, napotyka opóźnienia. Generator nie wie od razu, co inny generator właśnie wyprodukował. Dowiaduje się o tym chwilę później. To tworzy małe okno niejednoznaczności - wiele zdarzeń występujących blisko siebie może nie mieć wyraźnego porządku naturalnego opartego wyłącznie na znacznikach czasowych.
Ale PoH rozwiązuje to poprzez deterministyczne porządkowanie. Gdy dwa zdarzenia wpadają w to samo okno synchronizacji, system może po prostu uporządkować je na podstawie wartości haszy lub jakiejkolwiek innej funkcji deterministycznej. Żadnego zgadywania. Żadnych subiektywnych decyzji. Jedna jednolita zasada, którą każdy może zweryfikować.
Więc tak, pewna dokładność w czasie rzeczywistym jest poświęcana. Ale korzyścią jest to, że system może skalować się poziomo i nadal utrzymywać globalny porządek.
Koszt szerokiej synchronizacji: Dostępność
Jedna ostatnia rzecz, o której ty i ja powinniśmy pomyśleć: dostępność. Gdy łączysz wiele generatorów i wymagają one synchronizacji, każde połączenie dodaje zależność. Nawet jeśli każdy generator ma wysoce niezawodne połączenie 1 Gbps z dostępnością 0.999, połączenie dziesięciu takich połączeń w modelu skalowania redukuje całkowitą dostępność do około 0.99. Im więcej generatorów synchronizuje się, tym bardziej system staje się wrażliwy na czas działania sieci.
To cena, którą płacisz za skalowanie bez fragmentacji. Ale przy starannym projektowaniu i redundancji, ten koszt można zarządzać.
@SOLONA $SOL
#Blockchain #ProofOfHistory #SolanaTech #DistributedSystems #solona
