Uproszczona Weryfikacja Płatności (SPV) to mechanizm opisany już w pierwotnej koncepcji bitcoina, który pozwala uczestnikowi sieci upewnić się, że konkretna transakcja jest rzeczywiście zawarta w blockchainie, bez pobierania całego łańcucha bloków w całości. Pełny węzeł może przechowywać dziesiątki i setki gigabajtów danych, podczas gdy do sprawdzenia SPV wystarczy pobrać tylko nagłówki bloków — zwarte zapisy o objętości około osiemdziesięciu bajtów każdy.
Zasada działania opiera się na drzewie Merkle'a. Każdy blok zawiera korzeń takiego drzewa, podsumowujący wszystkie transakcje w nim zawarte. Klient lekkiego typu żąda od pełnych węzłów łańcucha hashy (tzw. ścieżki Merkle'a), udowadniając, że konkretna transakcja jest częścią potwierdzonego bloku. Jeśli matematyczna weryfikacja ścieżki zgadza się z korzeniem Merkle'a w nagłówku, płatność jest uznawana za potwierdzoną.
Gdzie używa się SPV
- w lekkich portfelach (mobilnych i desktopowych) z ograniczoną przestrzenią dyskową;
- w urządzeniach o niskiej mocy obliczeniowej;
- gdzie szybka synchronizacja bez pełnego pobierania blockchaina jest ważna.
Kompromis SPV polega na poziomie zaufania: klient lekkiego typu polega na uczciwości pełnych węzłów i nie weryfikuje całej historii samodzielnie, więc jest gorszy od pełnego węzła pod względem autonomii i odporności na niektóre ataki. Niemniej jednak, w przypadku codziennych płatności, to podejście zapewnia rozsądny balans między bezpieczeństwem a wygodą.


