
Prowadzenie własnego węzła i dlaczego większość go nie potrzebuje
Za każdym razem, gdy portfel pokazuje ci saldo, powtarza coś, co powiedział mu serwer. Nie patrzysz na blockchain. Patrzysz na odpowiedź jednego komputera na pytanie o blockchain i przyjmujesz ją na wiarę.
Własny węzeł to sposób, by przestać. To także więcej pracy, niż się zwykle mówi, i dla większości ludzi rzecz naprawdę zbędna. Obie rzeczy są prawdą, a ciekawe jest ustalić, po której stronie tej linii stoisz.
Czym właściwie jest węzeł
Węzeł pobiera blockchain i samodzielnie sprawdza każdą regułę. Czy podpisy były ważne? Czy coś wydano dwa razy? Czy każdy blok spełnił cel trudności? Czy transakcja coinbase wypłaciła właściwą nagrodę?
To nie jest kopanie. Kopanie to wyścig o wytworzenie nowych bloków. Węzeł tylko weryfikuje, a to rozróżnienie ma znaczenie, bo weryfikacja jest tą częścią, która rozstrzyga, co jest prawdą dla ciebie.
O to właśnie chodzi. Prowadząc węzeł, nikogo nie pytasz, czy transakcja jest ważna. Twoja maszyna wyprowadza to z reguł. Jeśli blok je złamał, twój węzeł go odrzuca — bez względu na to, ilu innych go przyjęło, i bez względu na to, co mówi jakakolwiek przeglądarka.
Trzy rzeczy, które faktycznie dostajesz
Weryfikację. Sprawdzasz konsensus sam, co liczy się najbardziej akurat wtedy, gdy jest najmniej wygodnie: przy spornym rozwidleniu, rozłamie łańcucha czy błędzie konsensusu. Awaria konsensusu Ravencoina to zdarzenie tego rodzaju, w którym „co mówi przeglądarka” i „co mówią reguły” mogą na chwilę się rozejść. Węzeł nigdy nie musi zgadywać, za którym łańcuchem iść.
Prywatność — i to ta niedoceniana. Gdy portfel pyta publiczny serwer o saldo, mówi mu, które adresy są twoje. Co gorsza, portfele synchronizujące się rozszerzonym kluczem publicznym oddają możliwość wyprowadzenia każdego adresu, jakiego konto kiedykolwiek użyje — dokładnie tego powiązania, którego unikanie stanowi istotę prywatności w łańcuchu. Zapytaj własny węzeł i nie ma komu tego zdradzić. Pytasz samego siebie.
Rozgłaszanie, którego nikt nie może odmówić. Twój węzeł ogłasza transakcję bezpośrednio sieci peer-to-peer, zamiast oddawać ją usłudze, która mogłaby ją porzucić.
Koszty, powiedziane uczciwie
Dysk. Pełny, archiwalny węzeł Bitcoina zajmuje kilkaset gigabajtów i co roku rośnie. Przycinanie mocno to zmniejsza, ale przycięty węzeł wyrzucił historię, co ogranicza ponowne skanowanie i sprawia, że nie zasili indeksera.
Synchronizacja początkowa. Weryfikacja łańcucha od bloku genezy trwa godziny na dobrym sprzęcie i dni na Raspberry Pi z wolnym dyskiem. Robi się to raz i jest to naprawdę nużące.
Dostępność i utrzymanie. Wyłączony węzeł to węzeł w tyle. Gdy wracasz, nadrabia, a w międzyczasie portfel czeka albo korzysta z cudzego serwera. Oprogramowanie trzeba aktualizować, dyski się zapełniają, pojawiają się zmiany konsensusu.
Awaria, o której nikt nie mówi. Zaniedbany węzeł jest gorszy niż żaden. Jeśli ma tygodnie opóźnienia, cicho utknął albo działa na wersji, która odrzuciła soft fork przyjęty przez wszystkich, z pewnością siebie poda ci błędne odpowiedzi. Samoweryfikacja pomaga tylko wtedy, gdy to, co weryfikuje, jest zdrowe.
Uczciwy werdykt
Większość ludzi nie powinna prowadzić węzła i nie ma w tym nic wstydliwego.
Korzyść rośnie wraz z tym, ile posiadasz, jak często wykonujesz transakcje i jak bardzo zależy ci, by nie zdradzać osobie trzeciej, które adresy są twoje. Dla kogoś, kto ma skromną kwotę i wysyła transakcję co kilka miesięcy, węzeł to hobby — ciekawe, owszem — a nie zysk bezpieczeństwa proporcjonalny do wysiłku.
Naprawdę się opłaca, gdy trzymasz kwotę, której utrata by bolała, transakcje robisz na tyle często, że ktoś trzeci ułoży sobie realny obraz twojej aktywności, prowadzisz firmę mającą regulacyjne lub operacyjne powody do niezależnej weryfikacji, albo po prostu wolisz posiadać infrastrukturę niż ją wynajmować.
Kto twierdzi, że samodzielne przechowywanie wymaga węzła, przesadza. Kto twierdzi, że węzeł nic nie zmienia, nie docenia. Kupuje konkretne rzeczy za konkretną cenę, a rachunek dla każdego wychodzi inaczej.
Co SSP faktycznie ci umożliwia
Oto część, która czyni to konkretnym, a nie teoretycznym.
SSP nie przywiązuje cię do naszej infrastruktury. Ustawienia pozwalają nadpisać backend dla każdego łańcucha — node, api i explorer są edytowalne, a portfel nakłada twoje wartości na domyślne w czasie działania. Zgrabny szczegół implementacji: jeśli zapisywana wartość jest identyczna z domyślną, zostaje usunięta z magazynu, a nie zapisana, więc magazyn nadpisań zawiera wyłącznie prawdziwe zmiany.
Jeśli więc prowadzisz własną infrastrukturę, możesz wskazać ją SSP i przestać odpytywać naszą.
Teraz uczciwe zastrzeżenie, bo jest realne. W łańcuchach UTXO SSP rozmawia z indeksatorem w stylu Blockbook, a nie z gołym węzłem. Samo bitcoind nie wystarczy — potrzebowałbyś jeszcze indeksowania Blockbook na wierzchu, co jest cięższe niż zwykły pełny węzeł: więcej dysku, więcej konfiguracji, więcej utrzymania. W łańcuchach EVM poprzeczka jest niżej, bo wskazanie własnego punktu RPC przypomina raczej bezpośrednią podmianę.
To wyraźna różnica między „możesz użyć własnego węzła” a „łatwo użyć własnego węzła” i wolimy ją nazwać, niż pozwolić, by pole w ustawieniach sugerowało gładszą drogę, niż jest naprawdę.
Jeszcze jedno dla jasności: własny węzeł zmienia to, co widzą serwery danych łańcucha. Nie zmienia tego, co obsługuje przekaźnik, gdy twoje dwa urządzenia się koordynują. To osobne pytania z osobnymi odpowiedziami, a rozwiązanie jednego nie rozwiązuje drugiego.
Jeśli chcesz spróbować
Zacznij od łańcucha, na którym zależy ci najbardziej, a nie od wszystkich. Użyj maszyny, którą możesz zostawić włączoną, z prawdziwym dyskiem SSD — początkowa synchronizacja na dysku talerzowym jest naprawdę męcząca. Pozwól jej się w pełni zsynchronizować, zanim na niej polegniesz. Potem skieruj na nią jeden portfel i zobacz, czy zauważysz różnicę.
Może nie zauważysz, i to uprawniony wynik. Nauczysz się czegoś konkretnego o własnym modelu zagrożeń, co jest warte więcej niż abstrakcja, od której zaczynałeś.
Myśl u podstaw warto zachować, nawet jeśli nigdy żadnego nie uruchomisz. Każde saldo, jakie kiedykolwiek widziałeś, skądś pochodziło i wytworzył je czyjś serwer. Wiedza, że ufasz odpowiedzi — zamiast wierzyć, że widzisz łańcuch — to większość wartości. Prowadzenie węzła to tylko możliwość, by przestać.


