
12
장
블룸 필터
301
11
장에서 머클블록을 검증하는 방법을 배웠습니다.
1
풀 노드는
merkleblock
메시지를 통해
라이트 노드의 관심 트랜잭션에 대한 포함증명을 제공할 수 있습니다. 그런데 풀 노드는 라이
트 노드의 관심 트랜잭션을 어떻게 알 수 있을까요?
라이트 노드는 풀 노드에게 그 주소 (또는 잠금 스크립트)를 알려줄 수 있습니다. 그리고 풀 노
드는 해당 주소로 관심 트랜잭션을 알아낼 수 있습니다. 그러나 라이트 노드의 입장에서는 자
신과 관련된 주소를 공개해야 하는 문제가 발생합니다. 예를 들어,
1000
비트코인이 있는 라이
트 노드는 이 사실을 풀 노드에게 알려주고 싶지 않을 것입니다. 이것은 개인정보 유출 관련 보
안 문제로 볼 수 있습니다. 가능하다면 개인정보를 보호하는 것이 좋을 것입니다.
한 가지 방법은 라이트 노드가 풀 노드에게 관심 트랜잭션 집합만 알려주는 것이 아니라 이를
포함한 더 많은 트랜잭션이 있는 상위집합
superset
을 알려주는 것입니다. 이런 상위집합을 알려
주기 위해서 블룸 필터
Bloom
filter
를 사용합니다.
12.1
블룸 필터의 정의
블룸 필터는 상위집합에 포함되는 트랜잭션을 선정하는 필터입니다. 풀 노드는 블룸 필터를 통
1
머클블록 검증은 받은 머클블록으로 머클트리를 구성하고 머클루트의 해시값을 구해 이미 가지고 ...