Budowanie Ergo: bezpieczeństwo SPV
1 maja 2020

Często istnieje napięcie w świecie kryptowalut między bezpieczeństwem a wygodą. Taki kompromis jest nieakceptowalny, jeśli chcemy, aby te technologie były szeroko stosowane. Oto jak Ergo rozwiązuje jeden powszechny i bardzo ważny problem.
Wszyscy wiemy, że najbezpieczniejszym sposobem korzystania z Bitcoina, lub jakiejkolwiek kryptowaluty, jest pobranie kopii blockchaina i uruchomienie pełnego węzła samodzielnie. W ten sposób, za każdym razem, gdy Ty lub ktokolwiek inny dokonuje transakcji, Twój klient sprawdza blockchain, aby upewnić się, że jest on ważny. Nie musisz ufać nikomu innemu.
Pełny węzeł Bitcoin sprawdza wszystkie bloki w blockchainie (używając nagłówków) i upewnia się, że nie ma oszukańczych transakcji. To bardzo bezpieczny sposób korzystania z kryptowalut – ale jest problem. Wymaga znacznej przepustowości, pamięci i mocy obliczeniowej. Tego rodzaju sprzęt komputerowy jest drogi, a korzystanie z pełnego węzła do walidacji i dokonywania transakcji w każdym przypadku jest nieodpowiednie dla urządzeń mobilnych. Jest to szczególnie prawdziwe w przypadku Bitcoina, gdzie blockchain ma ponad 270 GB i rośnie.
SPV
Uproszczona Weryfikacja Płatności (SPV) została zaprojektowana, aby rozwiązać ten problem, jak opisano w białej księdze Bitcoina:
- Możliwe jest weryfikowanie płatności bez uruchamiania pełnego węzła sieci. Użytkownik musi tylko zachować kopię nagłówków bloków najdłuższego łańcucha dowodu pracy, którą może uzyskać, zapytując węzły sieci, aż będzie przekonany, że ma najdłuższy łańcuch, oraz uzyskać gałąź Merkle łączącą transakcję z blokiem, w którym jest ona oznaczona czasowo. Nie może sprawdzić transakcji samodzielnie, ale łącząc ją z miejscem w łańcuchu, może zobaczyć, że węzeł sieci ją zaakceptował, a bloki dodane po niej dodatkowo potwierdzają, że sieć ją zaakceptowała.
Satoshi zauważa, że to nie jest idealne rozwiązanie i jest podatne na atakującego, który może przejąć kontrolę nad siecią i oszukać użytkowników SPV.
Ponadto, podczas gdy tryb SPV jest przeznaczony dla urządzeń o ograniczonych zasobach, nawet to „lekkie” podejście nie zawsze jest wykonalne. Nagłówki Ethereum same w sobie mają około 5 GB do pobrania. Dlatego mobilne klienty Ethereum nie walidują ważności łańcucha i muszą ślepo ufać stronom trzecim.
Są propozycje, aby zmniejszyć wymagania dla trybu SPV, sprawdzając tylko kilka losowych nagłówków, zamiast wszystkich. Ale trudno to zrobić w sposób bezpieczny.
Efektywne SPV
Kilka lat poświęcono na badania i rozwój bezpiecznych protokołów, które pozwalają na efektywne klienty SPV. Dwa najlepiej znane i najbardziej niezawodne protokoły to NiPoPoWs i FlyClient.
Ergo implementuje NiPoPoWs, czyli Nieinteraktywne Dowody Dowodu Pracy. Tę technologię można w pełni zbadać na tej dedykowanej stronie: https://nipopows.com:
-
Nieinteraktywne Dowody Dowodu Pracy (NIPoPoWs) to krótkie samodzielne ciągi, które program komputerowy może sprawdzić, aby zweryfikować, że zdarzenie miało miejsce na blockchainie opartym na dowodzie pracy, bez łączenia się z siecią blockchain i bez pobierania wszystkich nagłówków bloków. Na przykład, te dowody mogą ilustrować, że dokonano płatności kryptowalutowej.
-
NIPoPoWs pozwalają na tworzenie bardzo efektywnych portfeli mobilnych. Portfele SPV są już bardzo lekkie w porównaniu do pełnych węzłów, ponieważ wymagają tylko pobrania nagłówków bloków, a nie całego blockchaina. Portfele NIPoPoW muszą pobrać tylko mały próbkę nagłówków bloków, około 250, podczas gdy klienci SPV muszą pobrać pół miliona nagłówków bloków. Potrzebna próbka się zmienia, ale nie rośnie znacznie, gdy blockchain staje się coraz większy z upływem lat, nawet po zgromadzeniu dziesiątek lat danych.
To pozwala nam zbudować mobilnego klienta SPV, który wymaga pobrania około tylko 100KB nagłówków bloków.
Superwydajny portfel Ergo z bezpieczeństwem SPV jest w fazie rozwoju, więc bądź na bieżąco z kolejnymi aktualizacjami!
Share post
13 sierpnia 2025
12 maja 2025






