SPV 편집하기
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
− | '''SPV'''<!--Simple Payment Verification, SimplePaymentVerification, spv-->(Simple Payment Verification)란 거래에 대한 모든 [[블록체인]]을 저장하지 않고도 [[트랜잭션]]을 검증하는 방법이다. '''라이트 웨이트 노드'''(lightweight node) | + | '''SPV'''<!--Simple Payment Verification, SimplePaymentVerification, spv-->(Simple Payment Verification)란 거래에 대한 모든 [[블록체인]]을 저장하지 않고도 [[트랜잭션]]을 검증하는 방법이다. '''라이트 웨이트 노드'''(lightweight node)라고도 불린다. |
== 개요 == | == 개요 == | ||
14번째 줄: | 14번째 줄: | ||
** 비츠 : 4바이트 | ** 비츠 : 4바이트 | ||
** 논스값 : 4바이트로 구성되어있으며, 총 80바이트로, 1년 동안 발생하는 52,560개의 블록 헤더 용량이 4MB 정도이니 현재 150GB를 넘긴 풀 노드에 비해 매우 가볍다고 할 수 있다. | ** 논스값 : 4바이트로 구성되어있으며, 총 80바이트로, 1년 동안 발생하는 52,560개의 블록 헤더 용량이 4MB 정도이니 현재 150GB를 넘긴 풀 노드에 비해 매우 가볍다고 할 수 있다. | ||
− | |||
== 활용 == | == 활용 == | ||
*Simplified Payment Verification (SPV) 및 SPV Wallet | *Simplified Payment Verification (SPV) 및 SPV Wallet | ||
− | SPV는 개발자 나 브랜드 이름이 아니라 기술이다. SPV는 간단한 결제 확인을 의미한다. 그리고 그것은 새로운 것이 아니다. 간단히 말해서 SPV를 사용하면 다른 사람의 거래에 대해 걱정할 필요없이 거래의 유효성을 확인할 수 있다. spv는 거래가 블록 내에 있음을 보장하며 추가 블록이 체인에 추가된다는 확인 (작업 증명)을 제공한다. 따라서 SPV 지갑 정의는«핫 지갑»또는«콜드 지갑»과 동일하다 - | + | SPV는 개발자 나 브랜드 이름이 아니라 기술이다. SPV는 간단한 결제 확인을 의미한다. 그리고 그것은 새로운 것이 아니다 - spv는 Satoshi Nakamoto (섹션 8)의 독창적 인 Bitcoin 백서 에서 언급되었다 . 간단히 말해서 SPV를 사용하면 다른 사람의 거래에 대해 걱정할 필요없이 거래의 유효성을 확인할 수 있다. spv는 거래가 블록 내에 있음을 보장하며 추가 블록이 체인에 추가된다는 확인 (작업 증명)을 제공한다. 따라서 SPV 지갑 정의는«핫 지갑»또는«콜드 지갑»과 동일하다 - 비트 코인 지갑 유형으로 보안 및 데이터를 활성 체인에 보장한다. |
*Bitcoin SPV 지갑 클라이언트 | *Bitcoin SPV 지갑 클라이언트 | ||
GitHub에는 Bitcoin SPV 지갑 클라이언트라고하는 지갑이 있다. | GitHub에는 Bitcoin SPV 지갑 클라이언트라고하는 지갑이 있다. | ||
23번째 줄: | 22번째 줄: | ||
Lightning Network , OpenBazaar 및 btcd 개발을 사용하여 Bitcoin 용 SPV Wallet 클라이언트 수정 . | Lightning Network , OpenBazaar 및 btcd 개발을 사용하여 Bitcoin 용 SPV Wallet 클라이언트 수정 . | ||
*API wallet 대 SPV 지갑 | *API wallet 대 SPV 지갑 | ||
− | + | Bitrated의 창시자 인 Nadav Ivgi에 따르면 2017 년 말에 가장 인기있는 지갑은 중앙 집중식 API 서버를 사용하여 블록 체인 데이터를 가져 왔다. SPV를 사용하는 제품은 예외이다 - Bread Wallet 및 Android Bitcoin Wallet이 유일하게 인기있는 SPV 지갑이다. | |
− | + | <ref> | |
− | + | 〈[https://en.bitcoinwiki.org/wiki/Simplified_Payment_Verification spv ]〉, 《비트코인위키》</ref> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 문제점 == | == 문제점 == | ||
SPV는 풀 노드들에 정보를 요청해야만 거래를 진행할 수 있기 때문에 풀 노드에 대한 [[정보]]의 의존도가 높다. 풀 노드의 경우 처음부터 블록체인을 저장해왔고 최종적으로 돈이 들어 있는 계좌(UTXO)를 블록체인이 아닌 [[데이터베이스]]에 저장하기 때문에 더 빠른 속도로 처음부터 자신의 잔고를 확인할 수 있지만, SPV의 경우 다른 풀 노드에 의지하기 때문에 처음부터 제대로 된 정보를 주느냐가 문제이다. 악의적 노드가 끼어들게 되면 SPV로써는 구분할 수 없기 때문에 큰 문제로 이어질 수 있으며 다른 노드들이 거래를 취소를 시켜버림으로써 거래지연이 발생하게 된다.<ref name="라이트노드"></ref> | SPV는 풀 노드들에 정보를 요청해야만 거래를 진행할 수 있기 때문에 풀 노드에 대한 [[정보]]의 의존도가 높다. 풀 노드의 경우 처음부터 블록체인을 저장해왔고 최종적으로 돈이 들어 있는 계좌(UTXO)를 블록체인이 아닌 [[데이터베이스]]에 저장하기 때문에 더 빠른 속도로 처음부터 자신의 잔고를 확인할 수 있지만, SPV의 경우 다른 풀 노드에 의지하기 때문에 처음부터 제대로 된 정보를 주느냐가 문제이다. 악의적 노드가 끼어들게 되면 SPV로써는 구분할 수 없기 때문에 큰 문제로 이어질 수 있으며 다른 노드들이 거래를 취소를 시켜버림으로써 거래지연이 발생하게 된다.<ref name="라이트노드"></ref> | ||
− | |||
== 중요성 == | == 중요성 == | ||
SPV가 필요한 이유는 용량이 큰 데스크탑의 경우에는 모든 데이터를 저장하고 있어도 상관이 없지만, 용량이 작은 모바일의 경우에는 모든 데이터를 저장하기에 무리가 있다. | SPV가 필요한 이유는 용량이 큰 데스크탑의 경우에는 모든 데이터를 저장하고 있어도 상관이 없지만, 용량이 작은 모바일의 경우에는 모든 데이터를 저장하기에 무리가 있다. | ||
그리고 블록체인은 참여자가 많을 수록 네트워크가 견고해짐 이때 라이트 노드가 SPV 수행함으로써 블록체인 네트워크를 크게 만들어 더 안전하게 한다. | 그리고 블록체인은 참여자가 많을 수록 네트워크가 견고해짐 이때 라이트 노드가 SPV 수행함으로써 블록체인 네트워크를 크게 만들어 더 안전하게 한다. | ||
따라서 SPV는 트랜잭션을 검증하며 풀노드보다는 간단한 작업을 하지만 필수불가결적인 요소가 된다. | 따라서 SPV는 트랜잭션을 검증하며 풀노드보다는 간단한 작업을 하지만 필수불가결적인 요소가 된다. | ||
+ | |||
{{각주}} | {{각주}} | ||
65번째 줄: | 48번째 줄: | ||
* [[머클트리]] | * [[머클트리]] | ||
− | {{블록체인 기술| | + | {{블록체인 기술|토막글}} |