Упрощенная верификация платежей (Simplified Payment Verification, SPV) — это легкий способ верификации транзакций блокчейна.
Что такое упрощенная верификация платежей (SPV)?
Сокращение от Simplified Payment Verification, SPV — это легкий способ верификации транзакций блокчейна, который загружает только заголовки блоков и запрашивает доказательство включения в блокчейн в виде дерева Меркла.
Дерево Меркла — это структура дерева в криптографии, в которой каждый листовой узел помечен хэшем блока данных, а каждый нелистовой узел помечен криптографическим хэшем меток его дочерних узлов. SPV помогают определить, была ли транзакция включена в BTC. Под легкими клиентами подразумеваются кошельки, работающие на системах низкого класса.
Таким образом, SPV проверяют, была ли транзакция выполнена. Запуск полного узла с деревом Меркла требует загрузки всего блокчейна. Именно здесь роль SPV может существенно упростить процесс. Это связано с тем, что SPV-доказательства требуют только корень Меркла каждого корня для проверки подлинности транзакций. Это означает, что необходимо хранить только 80 байт на блок, в противоположность значительно большему размеру на блок, который требуется на больших узлах.
Однако у SPV есть и отрицательные стороны, связанные с кибербезопасностью. В случае атаки на 51% криптовалюты, хакеры могут быть успешны в побуждении SPV-доказательств к подтверждению незаконных транзакций. Однако в настоящее время ведутся исследования по снижению угрозы таких сценариев. В whitepaper Накамото говорится, что транзакции Биткойна могут быть проверены без запуска полной сети узлов.