Twój portfel nie trzyma kopii łańcucha. Pyta węzeł, a adres, pod który pyta, to właśnie endpoint zapisany w ustawieniach sieci. Zmiana tego adresu zajmuje kilka sekund i zmienia to, kto odpowiada na każde twoje pytanie o własne saldo. Dlatego warto robić to świadomie, a nie odruchowo.
Czym jest endpoint w ustawieniach sieci
Endpoint zdalnego wywołania procedur to adres internetowy, pod który portfel wysyła swoje pytania. Czy pod tym adresem są środki, ile teraz kosztuje transakcja, czy ta została już włączona do bloku, przekaż ten podpisany obiekt do sieci. Endpoint odpowiada, a jego odpowiedź jest tym, co pokazuje ci ekran.
Maszyną pod tym adresem jest węzeł RPC, czyli węzeł, który dodatkowo wystawia publiczny interfejs, żeby portfele i aplikacje nie musiały uruchamiać własnego. Dalej to ustawienie nazywamy krótko endpointem.
Z takiego układu wynikają dwie rzeczy ciągnące w przeciwne strony. Endpoint nie jest częścią łańcucha, więc jego wymiana niczego nie zmienia w twoich kluczach, twoim adresie ani w saldzie zapisanym na tym adresie. Endpoint jest zarazem jedynym, przez co widzisz łańcuch, więc jego wymiana zmienia wszystko, co ci się pokazuje.
Po co go w ogóle zmieniać
Zwykły powód jest taki, że obecny przestał dobrze odpowiadać. Węzeł, który leży, ogranicza ci liczbę zapytań albo został w tyle za czołem łańcucha, wcale tego nie ogłasza. Wypuszcza nieaktualne salda, potwierdzoną transakcję nadal wyświetlaną jako oczekująca albo rozgłoszenie kończące się błędem połączenia, choć z twoim kontem wszystko jest w porządku.
Drugi powód to zasięg. Portfel przychodzi z krótką listą sieci, a łańcuch spoza tej listy trzeba dodać ręcznie, razem z endpointem. Dodanie sieci i dodanie endpointu to ta sama czynność w tym samym oknie.
Trzeci powód to prywatność. Każde twoje zapytanie przechodzi przez jednego operatora, więc ten operator może powiązać twoje adresy ze sobą i z adresem IP. Przejście do innego dostawcy przenosi tę widoczność, zamiast ją usuwać, więc traktuj ten wybór jako wybór obserwatora, a nie jako sposób na ukrycie się.
Co endpoint może zmienić, a czego nie
Granicą jest podpis. Portfel składa transakcję lokalnie i podpisuje ją kluczem, który nigdy nie opuszcza urządzenia, więc endpoint dostaje gotowy obiekt i nie może go zmienić, nie unieważniając go. Może odmówić przekazania, opóźnić je albo przekazać obiekt gdzie indziej, ale nie może zmienić zapisanej w środku kwoty ani odbiorcy.
Może natomiast kształtować dane, na których podejmujesz decyzję. Salda, listy tokenów, szacunki opłat i status potwierdzenia docierają przez endpoint, a wrogi może pokazywać liczby po prostu zmyślone. Prawdziwe zagrożenie leży właśnie tu: nie w skradzionym kluczu, lecz w decyzji podjętej na podstawie fałszywego obrazu.
| Na co patrzysz | Czy wrogi endpoint może to podrobić | Co to rozstrzyga |
|---|---|---|
| Saldo i lista tokenów | Tak | Odczytać ten sam adres z drugiego źródła |
| Szacunek opłaty | Tak | Sprawdzić opłatę w portfelu przed podpisem |
| Historia transakcji | Tak | Eksplorator z własną infrastrukturą |
| Status potwierdzenia | Tak | Sprawdzić ponownie przez inny endpoint |
| Treść tego, co podpisujesz | Nie | Podpis obejmuje ładunek transakcji |
| Twój klucz prywatny | Nie | Nigdy nigdzie nie jest wysyłany |
Praktyczny wniosek jest taki, że endpoint zasługuje na tę samą podejrzliwość co strona, do której podłączasz portfel. Adres wklejony z czatu wsparcia albo podsunięty przez reklamę w wyszukiwarce należy do tej samej kategorii co fałszywa strona krypto, i to dokładnie z tego samego powodu.
Chain ID to ta kontrola, która wyłapuje niewłaściwą sieć
Każda sieć nosi identyfikator, który żyje wewnątrz samej podpisanej transakcji. EIP-155 wprowadziła go po to, żeby transakcja podpisana dla jednego łańcucha nie była ważna w innym, a działa to przez wpisanie chain ID w dane poddawane haszowaniu i podpisowi. Podpis złożony pod jednym chain ID nic nie znaczy w łańcuchu używającym innego.
To daje kontrolę, która nie wymaga zaufania nikomu. Metoda eth_chainId zwraca chain ID używany do podpisywania transakcji chronionych przed powtórzeniem, więc endpoint można wprost zapytać, jakiej sieci jego zdaniem służy. Jeśli ta odpowiedź rozmija się z chain ID, który portfel przechowuje dla danego wpisu sieci, mowa o dwóch różnych łańcuchach.
EIP-3085, proponowany interfejs do programowego dodawania łańcucha, wbudowuje to samo porównanie w portfel. Wymaga odrzucenia żądania, gdy zadeklarowany chain ID nie zgadza się z tym, co raportują podane endpointy, i stwierdza, że tych endpointów nie można zakładać jako uczciwych, poprawnych ani nawet wskazujących na ten sam łańcuch. Po stronie podpisu wskazówka jest jeszcze węższa: używać wyłącznie chain ID, który portfel już posiada, i nigdy tego otrzymanego od endpointu.
Sprawdź endpoint, zanim cokolwiek przez niego poprowadzisz
Cztery kontrole w kolejności od najtańszej. Najpierw potwierdź chain ID, bo to jedyna odpowiedź, w której nie ma stopni pośrednich. Potem porównaj raportowaną wysokość bloku z niezależnym źródłem. Węzeł daleko za czołem nie jest wrogi, jest nieaktualny, a nieaktualność wystarczy, żeby wszystko inne, co mówi, było błędne.
Następnie porównaj coś, co już wiesz. Otwórz jeden adres, którego saldo potrafisz potwierdzić gdzie indziej, i zobacz, czy oba widoki się zgadzają. Rozbieżność w tym miejscu każe ci się zatrzymać przed jakimkolwiek podpisem, choć jeszcze nie mówi, czy przyczyną jest opóźnienie, czy zła wola.
Na koniec, jeśli endpoint jest dla ciebie nowy, a kwoty nie są, wyślij najpierw małą transakcję i poczekaj na potwierdzenie. Nie chodzi o to, jak mało ryzykujesz, lecz o to, że pełny obieg ćwiczy zarówno rozgłaszanie, jak i odczyt zwrotny, czyli dwie połowy, które zły endpoint psuje osobno.
Jak dodać go ręcznie i nie zepsuć portfela
Dodawaj, nie nadpisuj. Tam, gdzie portfel pozwala trzymać kilka wpisów dla tego samego łańcucha, zachowanie tego, który działał, oznacza, że nieudane przełączenie cofa się wyborem poprzedniego wpisu, a nie przepisywaniem adresu, którego już nie masz. Nazwij każdy wpis od jego operatora, żeby lista czytała się jak spis stron, a nie jak spis identycznych nazw łańcucha.
Resztę wpisu uzupełnij z dokumentacji samej sieci, a nie od tego, kto podał ci endpoint. Chain ID, symbol waluty i eksplorator bloków to część tego, co portfel będzie później wyświetlał, a wpis z właściwym endpointem i niewłaściwym symbolem po cichu opatrzy złą etykietą każdą kwotę, na którą spojrzysz.
Wpis sprawdź po zapisaniu, nie przed. Okno waliduje to, co wpisałeś; znaczenie ma to, co robi zapisany wpis. Przełącz się na niego, pozwól saldom się załadować i potwierdź, że zgadzają się z tym, co pokazywał poprzedni wpis. Wpis sieci, który różni się od poprzednika co do twojego własnego salda, coś ci mówi, a momentem na dowiedzenie się tego jest chwila przed podpisem.
Kiedy zmiana nie jest rozwiązaniem
Nowy endpoint zmienia to, co widzisz, więc naprawia problemy zrobione z brakujących lub nieaktualnych informacji. Nie sięga do tego, co już wydarzyło się w łańcuchu. Raz rozgłoszona transakcja siedzi w mempoolu każdego węzła, który ją odebrał, a zmiana węzła, z którym rozmawia portfel, jej nie odwołuje.
To samo ograniczenie dotyczy niepowodzenia już zapisanego przez łańcuch. Transakcja, która wykonała się i została cofnięta, to reverted, a ten wynik jest wpisany w potwierdzenie, które każdy uczciwy endpoint raportuje tak samo. Jeśli widzisz go z dwóch niezależnych endpointów, odpowiedzią nie jest szukanie trzeciego.
Pomiędzy tymi dwoma przypadkami leży klasa błędów, którą zmiana faktycznie usuwa, bo bierze się z zapamiętanego widoku, a nie z łańcucha. Portfel zgłaszający nonce zbyt wysoki po zmianie sieci albo po ponownej instalacji porównuje własny licznik z tym, co powiedział mu endpoint, a połączenie przez zdrowy węzeł pozwala odczytać ten licznik ze źródła, które nie jest w tyle.
Podsumowanie
Endpoint nie jest częścią łańcucha ani częścią kluczowego bezpieczeństwa portfela, ale jest całością tego, co widzisz, a decyzja podjęta na zmyślonych liczbach kosztuje tyle samo co decyzja po kradzieży klucza. Zmiana endpointu to rutynowa naprawa nieaktualnej albo nieodpowiadającej sieci, a dyscyplina, która czyni ją bezpieczną, jest niewielka: wiedz, kto prowadzi ten, który dodajesz, potwierdź chain ID i zachowaj wpis, który już działał.
Kontrola chain ID jest najtańsza z czterech i to od niej należy zacząć. Zapytaj endpoint, jakiemu łańcuchowi służy, i porównaj z tym, co portfel już przechowuje, bo to jedno porównanie wyłapuje zarówno uczciwą pomyłkę dodania niewłaściwej sieci, jak i nieuczciwy przypadek endpointu, który chce, żebyś uwierzył, że jesteś gdzie indziej. Aby dalej poznawać podstawy, śledź kolejne materiały Bitbase Academy.
Powiązane artykuły
Inne artykuły Bitbase na ten temat:
- Maksymalna opłata za transakcję przekroczona: co oznacza to ostrzeżenie portfela
- Przekroczony limit zapytań RPC i co z tym zrobić
- Fill or kill, immediate or cancel i all or none wyjaśnione
- Czy Bitcoin jest skorelowany z akcjami, złotem lub apetytem na ryzyko?
Zastrzeżenie: ten artykuł to treść edukacyjna Bitbase Academy, wyłącznie w celach informacyjnych. Nie stanowi porady inwestycyjnej, handlowej, podatkowej ani finansowej. Kryptoaktywa są zmienne — samodzielnie oceń ryzyko. Napisano w wrześniu 2026 r.; sprawdzaj aktualne oficjalne informacje.
Źródła
[1] Ethereum Improvement Proposals, EIP-155: Simple replay attack protection, status Final eips.ethereum.org
[2] Ethereum Improvement Proposals, EIP-3085: wallet_addEthereumChain RPC Method, status Stagnant eips.ethereum.org
[3] Dokumentacja dla deweloperów ethereum.org, JSON-RPC API, metoda eth_chainId ethereum.org






