Segregated Witness (SegWit)은 무엇입니까?

Intermediate
3m

Segregated Witness (SegWit)은 2017년 8월에 활성화된 비트코인의 프로토콜 업그레이드입니다. 이는 두 가지 주요 이슈를 해결하려고 하였습니다:

  • 거래 변조성(Transaction Malleability): SegWit은 거래 데이터에 소규모 변경이 블록체인을 방해할 수 있는 거래 변조성 문제를 해결합니다. 이를 위해 전자 서명(증인 데이터)을 거래 데이터에서 분리합니다. 이를 통해 누구도 거래 ID(txid)를 서명한 후에 수정할 수 없도록 하여 거래가 변조되는 것을 방지합니다.
  • 블록 크기 제한(Block Size Limit): SegWit은 증인 데이터를 분리함으로써 블록 크기 용량을 증가시키며, 각 블록에 더 많은 거래를 수용할 수 있도록 합니다. 이는 거래 처리량을 향상시키고 더 빠른 처리 시간을 가능케 함으로써 수수료를 줄입니다.

SegWit의 작동 방식

SegWit은 각 거래를 두 부분으로 나누어 작동합니다:

  1. 거래 데이터(Transaction Data): 발신자와 수신자 주소가 포함되어 있습니다.
  2. 증인 데이터(Witness Data): 발신자를 확인하는 전자 서명이 포함되어 있습니다.

증인 데이터는 주 거래 블록에서 제거되고 확장된 블록에 따로 저장됩니다. 이를 통해 각 거래의 크기를 축소하여 더 많은 거래를 1MB 블록 한도 내에 수용할 수 있게 합니다. 또한, SegWit은 이전 형식보다 효율적인 새로운 거래 형식을 도입하여 거래 크기를 더욱 줄였습니다.

SegWit의 주요 이점

  • 거래 용량 증가: 증인 데이터를 분리함으로써, SegWit은 비트코인의 블록 가중 한도를 1MB에서 4MB로 효과적으로 증가시켰으며, 블록 당 더 많은 거래를 가능하게 했습니다.
  • 고정된 거래 변조성: 서명을 거래 데이터에서 분리하면 누구도 서명한 후에 txid를 수정할 수 없게 되어 변조성 문제가 해결됩니다.
  • 2계층 확장 솔루션 활성화: SegWit의 거래 변조성 문제 해결과 증인 데이터의 분리는 Lightning Network와 같은 2계층 확장 솔루션을 가능하게 하는 데 중요한 역할을 했습니다.
  • Bech32 주소 도입: SegWit은 Bech32라고 하는 새로운 주소 형식을 도입하여 더 효율적이고 오류 탐지 기능이 내장된 주소를 사용하게 했습니다.