-
SPV(Stratum Payment Verification) 노드블록체인 2024. 9. 18. 21:32728x90반응형
SPV(Node)의 개념
- SPV(간이 결제 검증, Simplified Payment Verification) 노드:
- SPV 노드는 블록체인의 전체 데이터(블록의 모든 트랜잭션)를 다운로드하지 않고도 트랜잭션을 검증할 수 있는 경량 노드입니다.
- 블록 헤더만을 다운로드하여 트랜잭션이 블록체인에 포함되어 있는지 검증합니다. 블록 헤더는 약 80바이트 정도로 작으며, 각 블록의 메타데이터(블록 높이, 타임스탬프, 이전 블록 해시 등)와 머클 루트(Merkle Root)를 포함합니다.
- SPV 노드는 특정 트랜잭션이 해당 블록의 일부인지 확인하기 위해 머클 루트와 머클 경로(Merkle Path)를 사용합니다.
- SPV 노드는 풀 노드에 의존하여 블록 및 트랜잭션 데이터를 제공받습니다.
Stratum의 개념
- Stratum:
- Stratum은 원래 채굴 프로토콜로 설계되었지만, 이후 경량 노드와 서버 간 통신 프로토콜로도 사용됩니다.
- 채굴자들이 마이닝 풀과 통신할 때 사용하는 프로토콜로, 채굴 작업을 할당받고 결과를 제출하는 데 사용됩니다.
- SPV 노드와도 사용할 수 있는 경량 프로토콜로, 서버와 클라이언트 간의 통신을 간소화하고 효율적으로 만듭니다.
- 거래소에서 Stratum을 사용하면 네트워크의 풀 노드와 효율적으로 통신할 수 있습니다.
거래소에서 SPV와 Stratum 노드를 사용하는 방식
- 네트워크와의 효율적인 연결:
- 거래소는 보안 및 효율성을 위해 일반적으로 풀 노드(전체 노드)를 운영합니다. 그러나 SPV 노드를 사용하여 트랜잭션의 유효성을 빠르게 검증할 수 있습니다.
- 거래소의 SPV 노드는 Stratum 프로토콜을 통해 풀 노드 또는 마이닝 풀과 통신하며, 필요한 블록 헤더 정보를 빠르게 획득합니다.
- 트랜잭션 검증:
- 사용자가 거래소로 비트코인을 입금하면, 거래소의 SPV 노드는 해당 트랜잭션이 실제로 블록체인에 포함되어 있는지 검증합니다.
- SPV 노드는 블록 헤더를 다운로드하고, 해당 트랜잭션이 특정 블록에 포함되어 있는지 확인하기 위해 머클 경로를 사용합니다.
- 이렇게 하면 전체 블록을 다운로드하지 않고도 빠르게 트랜잭션이 유효한지 확인할 수 있습니다.
- 입출금 처리:
- 입금: 사용자가 거래소로 비트코인을 전송하면, 거래소는 SPV 노드를 통해 트랜잭션의 유효성을 검증하고, 트랜잭션이 확인될 때까지 기다립니다. 일반적으로 거래소는 3회 이상의 블록 확인을 기다린 후에 사용자의 계정에 입금을 완료합니다.
- 출금: 거래소가 사용자의 출금 요청을 처리할 때, SPV 노드는 해당 트랜잭션이 블록체인에 포함되었는지 확인하지 않습니다. 대신 거래소는 자체적으로 트랜잭션을 생성하고 네트워크에 전파합니다. 이때 거래소의 노드 또는 연결된 마이닝 풀을 통해 Stratum 프로토콜을 사용하여 효율적으로 네트워크에 브로드캐스트합니다.
- 네트워크의 리소스 절약:
- SPV 노드를 사용하는 거래소는 전체 블록체인을 다운로드할 필요가 없으므로, 네트워크 리소스를 크게 절약할 수 있습니다.
- Stratum 프로토콜을 통해 네트워크와 상호작용하므로, 네트워크 대역폭과 시스템 자원을 효율적으로 사용합니다.
- 보안 고려 사항:
- SPV 노드는 풀 노드에 의존하기 때문에, 거래소는 신뢰할 수 있는 풀 노드와 통신하여 보안성을 확보합니다.
- 거래소는 주요 자산에 대한 안전한 보관 및 관리, 그리고 정확한 입출금 처리를 위해 SPV 노드와 풀 노드의 결합을 사용합니다.
728x90반응형'블록체인' 카테고리의 다른 글
EVM(Ethereum virtual machine)이란 (0) 2024.09.19 비트코인(블록체인)은 왜 개인키로 암호화하고 공개키로 복호화하는것인가? (1) 2024.09.19 비트코인 mempool 이란 무엇인가? (1) 2024.09.13 비트코인에 UTXO방식이란 무엇을 뜻하는가? (1) 2024.09.13 비트코인 merkle root란? (0) 2024.09.13 - SPV(간이 결제 검증, Simplified Payment Verification) 노드: