Łańcuchy napędowe umożliwiają operatorom węzłów bocznych płacenie górnikom za wydobycie — i nie tylko!

By Bitcoin Magazyn - 1 rok temu - Czas czytania: 7 minuty

Łańcuchy napędowe umożliwiają operatorom węzłów bocznych płacenie górnikom za wydobycie — i nie tylko!

Łańcuchy napędowe, podobnie jak łańcuchy miękkie, to kolejna implementacja łańcucha bocznego z funkcją dwukierunkowego kołka.

To jest opinia redakcyjna Shinobi, samouka w Bitcoin zorientowany na przestrzeń i technologię Bitcoin gospodarz podcastu.

Tym razem zamierzam szczegółowo opisać i omówić działanie łańcuchów napędowych; zostały pierwotnie zaproponowane w 2015 r. Spośród wszystkich omówionych do tej pory propozycji łańcuchy napędowe są najstarszymi i najbardziej rozbudowanymi pod względem konkretnych szczegółów wdrożenia i projektu, udokumentowanymi w BIP 300 i 301. Paul Sztorc, twórca koncepcji, miał na myśli kilka głównych celów projektowych i choć nie jest to wcale wyczerpujące, oto kilka:

Odizoluj każdy łańcuch boczny, aby jakakolwiek awaria lub problem dotyczył tylko tych, którzy go używają. Pozwól na uruchomienie łańcuchów bocznych bez konieczności tworzenia nowego forka dla każdego z nich. Włącz przesyłanie bitcoin do i z sidechaina za pomocą dwukierunkowego kołka. Ma nadzieję, że umożliwienie swobodnych eksperymentów w projektowaniu sprawi, że altcoiny staną się przestarzałe.

Cały projekt składa się z dwóch podstawowych aspektów, dlatego też istnieją dwa oddzielne BIP-y. Pierwszym z nich jest mechanizm kołka (BIP300), który umożliwia działanie kołka dwukierunkowego. Sztorc zaprojektował coś, co nazywa się depozytem hashrate, który w najbardziej podstawowym ujęciu umożliwia górnikom jako grupie amorficznej zbiorowe przechowywanie monet we wszystkich łańcuchach bocznych. Drugi to „ślepy” program scalonego wydobycia, którego celem jest umożliwienie bitcoin górnicy będą producentami bloków na poziomie konsensusu bez konieczności zatwierdzania w tym celu łańcucha bocznego. Obydwa te elementy razem stanowią dwukierunkowy mechanizm kołkowy i sposób na bitcoin górników do wzięcia udziału w wydobywaniu łańcuchów bocznych, próbując jednocześnie złagodzić ryzyko centralizacji, jakie to stwarza.

BIP300 określa logikę dla propozycji nowego łańcucha bocznego, aktywację nowego łańcucha bocznego, propozycję pakietu wypłat, zatwierdzanie takiego zestawu wypłat, logikę walidacji dla rzeczywistych transakcji wypłat oraz walidację dla transakcji wpłat.

Aktywacja nowego łańcucha bocznego w ramach propozycji łańcucha napędowego jest bardzo podobna do procesu miękkiego forka aktywowanego poprzez sygnalizację górniczą. Główna różnica polega oczywiście na tym, że w rzeczywistości nie jest to soft fork — pojedynczy fork aktywujący reguły konsensusu łańcucha napędowego pozwala górnikom w dowolnym momencie wysłać sygnał do aktywacji nowego sidechaina w ciągu zasady konsensusu w zakresie łańcucha napędowego. Aby zaproponować aktywację nowego łańcucha bocznego, górnik musi umieścić dane OP_RETURN w swoich danych wyjściowych coinbase, które zawierają unikalny identyfikator dla tego łańcucha bocznego, klucz publiczny do użycia w operacjach wpłat, dane wersji, czytelne dla człowieka opisy i skróty klienta oprogramowania i historię tego na GitHub (nie ma tu egzekwowania konsensusu, tylko dane, do których mogą się odwoływać ludzie).

Kiedy górnik proponuje aktywację nowego łańcucha bocznego i włączenie wszystkich niezbędnych danych do swojej bazy monet, staje się to swego rodzaju okresem „sygnalizacji górnika” dotyczącego tego, czy utworzyć ten nowy łańcuch boczny z punktu widzenia konsensusu w łańcuchu głównym. Górnik może użyć specjalnego formatu, aby uwzględnić propozycję w swoich wynikach bazy monet, a inni górnicy mogą utworzyć kolejny wynik zgodnie z drugim formatem, aby zasygnalizować aktywację. Nowa propozycja łańcucha bocznego wymaga, aby 90% bloków w okresie trudności sygnalizowało aktywację, aby można było potwierdzić utworzenie nowego łańcucha bocznego. Tworzy to mechanizm kołków umożliwiający łańcuch boczny, ale interakcja między łańcuchem bocznym a łańcuchem głównym jest bardziej zniuansowana.

W tym momencie każdy może przypiąć monety do łańcucha bocznego. Aby połączyć się z łańcuchem bocznym, użytkownik po prostu tworzy transakcję z dwoma wejściami z własnym wejściem i UTXO odpowiadającym saldzie łańcucha bocznego z pojedynczym wyjściem przypisującym wszystko do łańcucha bocznego. Gwarantuje to, że łańcuch boczny ma tylko jedno UTXO zawierające wszystkie zablokowane w nim fundusze. Wypłaty są obsługiwane przez głosowanie górników. Mainchain nie ma pojęcia, kto jest właścicielem czego w sidechain, a mainchain uzna każdą wypłatę zatwierdzoną przez górników w ramach mechanizmu głosowania za ważną. Z tego powodu proces wypłaty jest bardzo opóźniony. Proces wycofywania się z łańcucha bocznego składa się z dwóch etapów: propozycja wycofania (pakiet), a następnie faza głosowania na wycofanie. Górnicy muszą utworzyć wynik OP_RETURN w swojej transakcji coinbase z hashem proponowanej transakcji wypłaty, aby zaproponować wypłatę. Jednak ten skrót, podobnie jak sighash, oznacza tylko część transakcji, a nie całość. Nie zobowiązuje się do wejściowego UTXO, który reprezentuje fundusze zablokowane w łańcuchu napędowym, ani do wyjścia, które zwraca wszystko, co nie zostało wypłacone, do specjalnego UTXO łańcucha bocznego. Dzieje się tak, ponieważ wszelkie depozyty w drivechain stworzyłyby nowe UTXO, a tym samym unieważniłyby zobowiązanie do transakcji wypłaty, gdy ludzie poszliby ją zweryfikować.

Od tego momentu rozpoczyna się okres głosowania górników nad propozycją wycofania się. Po zaproponowaniu pakietu górnicy mogą głosować, czy go zatwierdzić, czy nie. Każdy wydobyty blok pozwala górnikowi zwiększyć lub zmniejszyć znacznik akceptacji o jeden lub dwa, aby powstrzymać się od jakichkolwiek działań. Oprócz tego istnieją pewne szczególne ograniczenia, ponieważ możliwe jest posiadanie więcej niż jednego pakietu dla pojedynczego łańcucha bocznego — jeśli górnik zdecyduje się głosować na „tak” (podnieść licznik o jeden) za pakiet wypłat dla łańcucha bocznego, musi głosuj na „nie” (obniż licznik o jeden) dla każdego innego pakietu powiązanego z tym konkretnym sidechainem.

Ma to zagwarantować, że nie wystąpią „podwójne wypłaty”, w przypadku których ktoś ma wyjście w wielu pakietach, które wypłaciłyby mu więcej bitcoin w łańcuchu głównym, niż są należne.

Z drugiej strony górnicy mogą również głosować na „nie” dla każdego proponowanego pakietu. Ma to działać jako rodzaj alarmu dla wszystkich, że górnik sprawdzający te wypłaty (upewniający się, że są to monety legalnie posiadane w pobieranym łańcuchu bocznym) zauważył, że dzieje się coś nieprawidłowego. Pamiętaj, że kluczowym punktem tego projektu jest to, że górnicy nie muszą sprawdzać niczego w łańcuchu bocznym, więc jeśli tak się nie stanie, wielu górników może głosować za pakietami, których nie weryfikują. Ta funkcja alarmu ma na celu powiadomienie ich o konieczności sprawdzenia pakietów, aby upewnić się, że nie ma miejsca oszukańcza wypłata.

Gdy pakiet osiągnie wymagany próg (13,150 90 bloków, czyli około 2017 dni), transakcja faktycznie przetwarzająca wypłatę staje się ważna i może zostać potwierdzona. Ale co ludzie robią, jeśli górnicy zatwierdzą oszukańczą wypłatę, która kradnie pieniądze z sidechaina? Propozycja Sztorca polega na zastosowaniu soft forku aktywowanego przez użytkownika (UASF), aby unieważnić nieprawidłową transakcję typu peg-out. Stanowi to ogromne ryzyko pod względem konsensusu w łańcuchu głównym. UASF w XNUMX r. był posunięciem wysokiego ryzyka, które ledwo się powiodło Bitcoin był znacznie mniejszy niż obecnie. Większa Bitcoin rośnie, tym trudniej będzie koordynować takie działania.

Jeśli pamiętasz z artykuł o łańcuchach kosmicznychprojekt ten opierał się na ślepym wydobyciu scalonym (BMM). Projekt BMM Rubena Somsena jest właściwie jego drugim wariantem, pierwszym jest projekt Sztorca przedstawiony w BIP301. Specyfikacja BMM w drivechains składa się z dwóch komunikatów: komunikatu żądania i komunikatu akceptacji. Obydwa są koordynowane odpowiednio poprzez specjalny typ transakcji w łańcuchu głównym i specjalne dane wyjściowe w transakcji bazy monet górnika.

Transakcja żądania jest konstruowana przez osobę tworzącą bloki sidechain. Cały sens BMM polega na tym, że tą osobą może być osoba, która nie zajmuje się wydobywaniem, więc transakcja żądania ma na celu umożliwienie jej zapłaty górnikom za potwierdzenie proponowanego bloku sidechain. Propozycja bloku sidechain konstruuje transakcję, która zawiera hash bloku sidechain, identyfikator przypisany do sidechain podczas jego tworzenia i ostatnie cztery bajty poprzedniego nagłówka bloku mainchain. W przypadku tego typu transakcji obowiązują trzy dodatkowe zasady konsensusu. Po pierwsze, transakcja żądania jest nieprawidłowa, chyba że w transakcji Coinbase tego bloku znajduje się również pasujące wyjście akceptacji. Ma to zagwarantować, że górnicy nie będą mogli pobrać opłaty od żądania bez zaakceptowania i wydobycia bloku sidechain. Po drugie, dla każdego łańcucha bocznego w bloku łańcucha głównego może być zawarta tylko jedna transakcja żądania. Ma to na celu zapewnienie, że w każdym bloku mainchain będzie można wydobyć tylko jeden blok z dowolnego łańcucha bocznego. Na koniec ostatnie cztery bajty poprzedniego bloku łańcucha głównego muszą się zgadzać. Gwarantuje to, że żądanie będzie ważne tylko do wydobycia w następnym bloku, a takie transakcje nie mogą zostać wydobyte później i ukraść pieniędzy od proponującego blok sidechain po wydobyciu bloku innej osoby.

Dane wyjściowe accept są bardzo proste: dane nagłówka wiadomości i skrót bloku łańcucha bocznego. Jeśli górnik sam prowadzi węzeł drivechain, może po prostu zignorować transakcje żądań i zawsze uwzględniać własne dane wyjściowe w swojej bazie coinbase, aby kopać własne bloki sidechain. Razem te dwa aspekty pozwalają górnikom samodzielnie obsługiwać węzeł łańcucha bocznego lub innym nie-górnikom i płacić górnikom za wydobycie ich bloków. Chodzi o to, że jeśli górnicy sami nie prowadzą łańcuchów bocznych i nie ponoszą dodatkowych kosztów walidacji, to ktoś inny może to za nich zrobić. Jeśli istnieje konkurencja wśród osób nie będących górnikami, które próbują uzyskać opłaty w łańcuchu bocznym, prawdopodobnie będą nadal licytować opłatę, którą są skłonni zapłacić górnikom w ramach transakcji żądania, dopóki nie będzie to stanowić większości opłat, które zarabiają, z górnik zachowuje tylko niewielki procent zysku, a resztę płaci górnikom.

Taka jest mechanika działania łańcuchów napędowych. Następnie stowarzyszone łańcuchy boczne, a następnie zestawienie wszystkich negatywów i wad, jakie może mieć każdy projekt.

To jest gościnny post Shinobi. Wyrażone opinie są całkowicie ich własnymi i niekoniecznie odzwierciedlają opinie BTC Inc lub Bitcoin Czasopismo.

Pierwotnym źródłem: Bitcoin Magazyn