[블록체인 이론 ⛓️] 세그윗, 머클트리와 머클 루트, 블룸필터, 탭루트

매정·2022년 5월 13일
0

⛓️ 세그윗(SegWit)

Segrgated Witness의 약자. 비트코인의 블록에서 디지털 서명 부분을 분리함으로써 블록당 저장 용량을 늘리는 소프트웨어 업그레이드.

비트코인 블록 구조 : 디지털 서명 데이터(75%), 그 외 데이터(25%)

2017년 8월 1일 기준으로 비트코인은 세그윗을 적용하는 소프트 포크를 진행함.

✔️ 단순히 블록의 크기를 키우는 것은 좋지 않음. 블록 크기 확대 → 더 많은 거래 → 블록당 거래 수수료 더 많이 발생 → 채굴자 이득, but 탈중앙화에서 멀어질 수 있음.

세그윗 특징

  • 거래 속도의 확장성(Scalability)
    서명 부분을 Witness라는 데이터 영역으로 분리해 블록의 크기를 유지하면서 더 많은 거래를 처리할 수 있도록 함.
  • 거래 가변성 문제(Transaction Malleability) 방지
    세그윗이 TXID를 따로 보관하고 관리함으로써 여러 개의 ID를 가지고 장난치거나 동일한 거래 내역 여러 개를 만드는 것을 방지할 수 있음.

    거래 가변성은 실질적인 거래 내용에는 변화가 없지만 거래 ID(TXID=Transaction ID)만 변경하여 새로운 거래를 만들어 낼 수 있는 일종의 버그.

  • 버전 호환
    하드 포크가 아닌 소프트포크 이므로 업그레이드를 하지 않아도 세그윗 이전과 세그윗 적용 버전을 모든 노드에서 사용할 수 있음.

⛓️ 머클 트리와 머클 루트

머클 트리는 데이터를 여러 조각으로 나누며 생성되며, 머클 루트를 형성하기 위해 반복적으로 해시화된다. 이후 데이터 조각이 잘못된 경우, 이를 효과적으로 검증할 수 있음.

머클 트리는 데이터의 무결성을 증명하는 데 사용되기 때문에 비트코인을 비롯한 많은 암호화폐에 필수적인 요소임. 따라서 일반적인 블록체인의 블록 헤더에는 머클 루트 값이 필수적으로 들어감.

단순화된 결제 검증(SPV, Simplified Payment Verification): 모든 블록의 트랜잭션을 다운로드하고 싶지 않음 → 단순히 머클 증명을 요청할 수 있음.


⛓️ 블룸필터

특정 원소가 집합에 속하는지 검사하는데 사용할 수 있는 확률형 자료 구조. 비트코인 언리미티드팀이 노드에 알려지지 않은 거래를 식별하는 데 도움을 줌.

정확할 필요가 없는 대략적인 수치를 알고 싶을 때 유용.
블록체인 뿐 아니라 IP필터링, 사전(스펠체크), Router 등에서 많이 쓰임.


⛓️ 탭루트

세그윗 도입 이후 4년만에 진행된 비트코인 업그레이드, 프라이버시, 확장성, 보안을 강화하기 위한 소프트 포크이며, 주요 기능으로 ‘슈노르 서명’을 포함함.

슈노르 서명(=서명 통합) : 다수의 서명을 하나의 서명으로 합쳐 검증을 할 수 있도록 하는 기술. 비트코인 트랜잭션 내에 다수의 키를 포함할 수 있고, 단일하고 고유한 서명을 생성할 수 있음.

탭루트의 효용

  • 블록체인상에서 전송 및 저장해야 하는 데이터 양의 감소
  • 블록 당 더 많은 트랜잭션 처리(더 높은 TPS 비율)
  • 보다 저렴한 트랜잭션 수수료
  • 서명을 변경할 수 없음 (서명 가변성 방지)
profile
Prospective Entrepreneur

0개의 댓글