Bloom Filter (블룸 필터)

  1. 특정 항목이 집합의 일부인지 여부를 사용자에게 알리는 데 사용할 수 있는 데이터 구조 2. 전체 노드에서 일치하는 트랜잭션 및 머클 블록만 요청하기 위해 SPV 클라이언트에서 주로 사용하는 필터입니다.

장점:

  • 공간 효율성: Bloom 필터는 특히 대규모 집합의 경우 전체 집합을 저장하는 것보다 훨씬 적은 저장 공간을 필요로 합니다.
  • 빠른 조회: 요소가 집합에 있는지 확인하는 것은 매우 빠르며 일반적으로 몇 번의 해시 연산만 필요합니다.

단점:

  • 확률적 특성: Bloom 필터는 거짓 긍정을 생성할 수 있습니다. 즉, 실제로 존재하지 않는데 요소가 집합에 있다고 나타낼 수 있습니다. 거짓 부정은 절대 생성하지 않습니다.
  • 삭제 어려움: Bloom 필터에서 요소를 제거하는 것은 어렵고 상당한 성능 저하 없이 종종 불가능합니다.

암호화폐에서의 사용 사례:

Bloom 필터는 암호화폐 공간 내에서 다양한 방식으로 활용됩니다.

  1. SPV 클라이언트: 간소화된 지불 검증(SPV) 클라이언트는 Bloom 필터를 사용하여 전체 블록체인을 다운로드하지 않고 전체 노드에서 특정 트랜잭션 및 블록을 요청합니다.
  2. Bitcoin 네트워크: Bloom 필터를 통해 SPV 클라이언트는 전체 노드에서 관련 데이터를 효율적으로 검색하여 대역폭 사용량을 줄이고 개인 정보 보호를 개선할 수 있습니다.

Bloom 필터란 무엇입니까?

전체 데이터 세트를 실제로 저장하지 않고 트랜잭션과 같은 특정 정보가 더 큰 데이터 세트 내에서 발견될 가능성이 있는지 알려주는 게이트키퍼 역할을 하는 영리한 데이터 구조입니다.

어떻게 도움이 됩니까?

SPV(간소화된 지불 검증) 클라이언트에 대한 바로 가기라고 생각하십시오. 엄청난 크기가 될 수 있는 전체 블록체인을 다운로드하는 대신 Bloom 필터를 사용하면 클라이언트는 다음을 수행할 수 있습니다.

  • 찾고 있는 데이터(예: 주소와 관련된 특정 트랜잭션)의 압축된 표현을 만듭니다.
  • 이 “필터”를 전체 노드로 보냅니다.
  • 전체 노드는 필터를 사용하여 일치하는 데이터가 있는지 빠르게 확인합니다.
  • 일치하는 항목이 있는 경우에만 전체 노드는 관련 트랜잭션 및 머클 블록을 보내므로 귀중한 대역폭과 시간을 절약할 수 있습니다.

본질적으로 도서관 전체를 훑어보는 대신 특정 저자의 책이 있는지 사서에게 묻는 것과 같습니다. 효율적이죠?

기억하세요:

매우 유용하지만 Bloom 필터는 완벽하지 않습니다. 거짓 긍정의 작은 가능성이 있습니다. 즉, 필터가 실제로 존재하지 않는 데이터의 존재를 나타낼 수 있습니다. 하지만 속도와 최적화를 중요하게 생각하는 우리 트레이더에게는 효율성이 크게 향상되는 것에 비해 작은 대가입니다.

이게 뭐죠?

주식 거래소에서 바쁜 트레이더라고 상상해 보세요. 수천 개의 주식에 대한 정보가 끊임없이 쏟아집니다. 하지만 관심 있는 주식은 소수에 불과합니다. 지나가는 모든 티커 테이프를 읽는 대신 자신의 주식이 언급되었는지 알려주는 특별한 필터가 있습니다.

이 필터는 완벽하지 않습니다. 가끔 거짓 긍정(팔로우하는 주식이 언급되지 않았는데 언급되었다고 알려줌)을 제공할 수 있습니다. 그러나 관련 없는 정보를 빠르게 걸러내고 잠재적으로 중요한 업데이트만 알려주는 데 매우 능숙합니다. 이것이 기본적으로 Bloom 필터가 하는 일입니다.

암호화폐에서 작동하는 방식

전체 블록체인을 저장하지 않는 “라이트” 암호화폐 지갑을 생각해 보세요. 모든 트랜잭션을 확인하는 대신(모든 티커 테이프를 읽는 것처럼!) Bloom 필터를 사용합니다.

  • 지갑은 네트워크에 “이러한 주소와 관련된 트랜잭션에만 관심이 있습니다.”라고 알립니다.
  • 네트워크는 Bloom 필터를 사용하여 새 트랜잭션이 해당 주소와 일치하는지 빠르게 확인합니다.
  • 필터는 몇 가지 거짓 긍정을 제공할 수 있지만 지갑이 처리해야 하는 데이터 양을 크게 줄입니다.

본질적으로 Bloom 필터는 전체 집합을 저장할 필요 없이 항목이 집합의 일부일 수도 있는지 빠르게 확인하는 영리한 방법입니다. 절대적인 정확성보다 속도와 효율성 사이의 절충입니다.