악의적인 공격자가 다른 노드에 침입하여 DB를 위조하는 경우를 말씀하시는 건가요?
비트코인에는 전체 블록체인을 모두 저장하는 풀 노드(full node)와 블록의 헤더만을 저장하는 SPV(Simplified Payment Verification) 노드 (일종의 light client)가 있습니다. 풀 노드 같은 경우 거래 데이터를 받은 경우 전체 블록체인과 대조하여 해당 거래의 유효성을 검증하기 때문에 위변조된 거래를 받아들일 가능성이 없구요, SPV 노드 같은 경우에는 블록헤더와 머클경로(merkle path)를 사용하여 해당 거래가 특정 블록에 포함되어있는지를 우선적으로 확인하고 이후 6개의 블록이 특정 블록 위에 쌓였는지를 주변에 연결되어 있는 노드들을 통해 확인하게 됩니다.
기본적으로 비트코인 클라이언트를 돌리게 되시면 주변의 8개의 노드들과 소통을 하게 됩니다. 따라서 이들 중 하나라도 악의적이지 않은 노드가 있다면 잘못된 정보를 받는 것을 방지할 수 있습니다.
제가 정확히 질문을 이해하지 못하였을 수도 있는데 아마 위에서 말씀드린 책을 보시면 좀 더 이해가 되실 수 있을 것 같습니다 :)
답변 주셔서 감사드립니다.
제가 질문 드린 부분과는 다른 부분이 있는 것 같네요
책도 한번 보았는데 제가 질문 드린내용에 대해서는 내용이 없더라구요
위에서 언급하신 전체 블록체인과의 대조 부분에서 이부분은 데이터베이스에 저장된 UTXO 를 통하여 거래 검증을 뜻하는 것으로 아는데, UTXO set 이라는 부분이 초기 블록체인 싱크시 생성된 풀이며 추후에는 이에 대한 관리를 하지 않는 것으로 아는데, 임의로 UTXO set에 대한 조작이 발생할시 거래 검증이 제대로 이루어지지 않을 수 있냐 하는 뜻에서 질문 드린것입니다. 그래서 UTXO set에 대한 관리가 필요하지 않을까하는 의문에 질문 드렸습니다.
답변 감사드립니다!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit