>  기사  >  비트코인 전체 노드 동기화가 너무 느리나요? 풀노드를 사용하지 않고도 결제를 검증할 수 있는 SPV 메커니즘

비트코인 전체 노드 동기화가 너무 느리나요? 풀노드를 사용하지 않고도 결제를 검증할 수 있는 SPV 메커니즘

DDD
DDD앞으로
2024-03-06 13:22:22368검색

비트코인은 탄생 이후 전력 자원을 낭비한다는 비판을 받아왔지만, 비트코인의 강력한 컴퓨팅 능력은 꼭 필요한 과정이며, 이를 대체할 더 좋은 방법을 찾기가 어렵습니다.

오랜 시간이 흐를수록 점점 더 많은 사람들이 기본 기술인 블록체인에서 거래에 참여하고 있으며 분산 원장의 내용은 Satoshi Nakamoto가 설정한 블록 1의 저장 용량이 극적으로 확장되었습니다. MB는 거래 프로세스와 거래 속도를 제한합니다.

그래서 전체 원장을 다운로드하는 것이 골치 아픈 일이 됩니다. 원장 전체를 다운로드할 수 없고, 자신과 관련된 부분만 찾을 수 있나요? 즉, 필터를 찾아 쓸모없는 것을 차단하십시오.

그래서 SPV 메커니즘이 등장했습니다.

01.SPV 메커니즘

SPV의 전체 이름은 "Simplified Payment Verification"이며 일반적으로 간편 결제 확인으로 번역됩니다. 이는 특정 거래가 존재하는지 확인하는 것이지만 거래의 적법성을 확인할 수는 없습니다. 이를 위해서는 첫 번째 단계는 거래 지불이 확인되었는지 확인하는 것이고 두 번째 단계는 계산하는 것입니다. 얼마나 많은 확인을 받았는지.

Satoshi Nakamoto는 자신의 논문에서 이 개념을 언급했습니다.

전체 노드를 실행하지 않고도 트랜잭션을 확인할 수 있습니다. 사용자는 가장 긴 체인의 모든 블록 헤더 데이터만 유지하면 됩니다.

간단히 말하면:

샤오헤이가 다바이에게 비트코인을 전송하면 다바이는 코인 거래가 완료되었는지 어떻게 알 수 있나요? 탈중앙화 시스템에서는 증인을 찾는 것이 불가능합니다.

전통적인 방법에 따르면 Dabai는 모든 블록체인 원장을 다운로드한 다음 Xiaohei의 계정을 찾아 먼저 이전에 그러한 비트코인이 있는지, Dabai로 전송한 기록이 있는지 확인해야 합니다. 첫 번째 단계만으로도 Dabai의 저장 용량이 폭발적으로 증가했습니다.

각 비트코인의 블록 용량은 1MB이고 블록 헤더는 80KB에 불과하므로 많은 공간을 절약하려면 블록 헤더만 다운로드하면 됩니다.

블록 헤더와 블록 본문이 정확히 무엇인가요?

블록 헤더를 해시 값, 타임스탬프 등과 같은 블록의 헤더 정보를 저장하는 사람의 머리와 비교하면 블록 본체는 이에 대한 자세한 데이터를 저장하는 사람의 몸 전체와 유사합니다. 특정 거래 정보 등을 차단합니다. 블록 헤더는 블록 본문에 포함됩니다.

즉, 블록 헤더에는 해시 값이 있지만 블록 헤더를 다운로드한 후에도 Dabai는 여전히 거래가 어떤 블록에 기록되어 있는지 알 수 없습니다. 이때 거래가 있는 풀 노드로 이동해야 합니다. 어떤 블록에 있는지 확인하기 위한 ID입니다.

02.SPV 결제 확인 과정

야, 채굴자들과 샤오헤이가 힘을 합쳐 다바이를 속이면 어쩌지?

여기서 SPV 메커니즘이 유용하게 사용됩니다.

광부가 샤오헤이가 돌아섰다고 말했지만 실제로는 그렇지 않았습니다. 그런 다음 거짓말을 완성하려면 해당 거래가 자신의 블록 헤더와 동일한 해시 값을 얻을 수 있도록 더 많은 거래를 위조해야 합니다. 그러나 해싱의 기술적 특성으로 인해 변경된 데이터의 해시값을 원본 데이터와 동일하게 구현하는 것은 어렵습니다.

간단히 말하면 전체 SPV 거래 과정은 다음과 같습니다.

첫 번째 단계는 거래 결제가 확인되었는지 확인하는 것입니다.

먼저 검증할 결제의 거래 해시값을 계산하고, 블록체인 네트워크의 블록 헤더를 로컬에 저장한 후 블록체인에서 검증할 결제에 해당하는 메르켈 트리 해시 인증 경로를 획득합니다.

획득한 해시값이 자신의 해시값과 일치하는지 비교해보세요. 일치한다면 결제가 실제적이고 유효한 것임을 증명합니다.

두 번째 단계는 얼마나 많은 확인을 받았는지 확인하는 것입니다. 블록 헤더의 위치에 따라 결제가 수신된 확인 횟수가 결정됩니다.

이 두 단계를 완료하시면 거래 결제 인증이 완료됩니다.

03. 요약

SPV 메커니즘은 저장 공간을 절약할 뿐만 아니라 P2P 네트워크 대역폭의 낭비를 줄여 일반 사용자가 전체 데이터를 다운로드하지 않고도 작동할 수 있게 해줄 뿐만 아니라 감사에도 큰 편리성을 제공합니다.

그러나 SPV는 완전한 블록 데이터를 가지고 있지 않기 때문에 거래가 존재하지 않는지 확인할 수 없습니다. 이러한 상황은 쉽게 이중 지출로 이어질 수 있으며, 랜덤 링크 노드도 네트워크의 악의적인 공격을 받을 수 있습니다.

SPV의 또 다른 장점과 단점이 있다고 생각하시나요? 메시지 영역에서 의견을 공유해 주셔서 감사합니다.

위 내용은 비트코인 전체 노드 동기화가 너무 느리나요? 풀노드를 사용하지 않고도 결제를 검증할 수 있는 SPV 메커니즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 zhihu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제