[Blockchain A-Z] 암호화폐 트랜잭션 직관적 이해 : 분리된 증인(SegWit, 세그윗)이란?

yebeen·2022년 11월 23일
0

Blockchain A-Z

목록 보기
35/43
post-thumbnail

배경

비트코인에는 1MB의 사이즈 제한이 있습니다.

블록 크기가 너무 작으면

많은 트랜잭션을 포함할 수 없고, 네트워크상에서 대역폭 문제를 많이 겪게 되며 트랜잭션을 포함하기 위해 오래 기다려야 할 것입니다.

반면에

블록 크기가 너무 크면

네트워크가 느려지는데 전체 원장이 네트워크에 공유되야 하기 때문에 오래걸릴 것입니다. 이는 고아 블록이 생길 가능성과 경쟁 체인이 생길 가능성 그리고 공격자가 블록체인으로 뭔가 할 가능성이 높아진다는 것입니다.

그래서 절충안으로 1MB로 결정한 것이라고 추측할 수 있습니다.

하지만, 점점 속도가 느려지고 트랜잭션 백로그가 발생하였습니다.
문제를 해결하기 위해 아래와 같은 접근 방법이 있습니다.

  • 하드 포크: 블록 크기 증가(비트코인 캐시)
  • 소프트 포크: 세그윗(비트코인 작동 방식 업그레이드)

세그윗(SegWit)

소프트 포크는 블록체인 작동 방식을 업그레이드하는 것과 같으며 모든 사람이 반드시 고려해야 할 것은 아닙니다.

시간에 따라 네트워크에 전파돼서 천천히 받아들일 수 있는 것이죠.
세그윗의 역할은 개별 트랜잭션의 콘텐츠를 확인하는 것입니다.

아래와 같이 트랜잭션에는 from, to, amount, 서명, 공개 키를 트랜잭션에 첨부해야 합니다.

address 0x....
from :       X
to:          Y
Amount:      0.3 BTC

Signature:   <...>
Public Key:  <...>

서명과 공개키의 경우 16진수로 전체 트랜잭션 사이즈의 60%를 차지합니다.
그래서 자체 메시징 서비스와 네트워크를 통해 메시지에서 scriptSig라고 불리는 큰 부분을 제거하고 보내도록 계획되었습니다.

address 0x....
from :       X
to:          Y
Amount:      0.3 BTC

이렇게 하면 공간을 절약하고 각 트랜잭션의 크기를 줄여 더 많은 트랜잭션을 수용할 수 있게 됩니다.

소프트 포크가 호환성을 가져 노드가 세그윗을 수용하지 않아도 모두 제대로 작동합니다.

전에는 X 트랜잭션을 포함했따면 지금은 2X 이상을 포함할 수 있습니다. 결국 블록에는 1MB의 데이터가 있지만 트랜잭션만 더 많아지게 됩니다.

비트코인뿐만 아니라 Litecoin 같은 다른 암호화폐도 세그윗을 사용합니다. 네트워크 처리량과 속도를 늘려주기 때문입니다.

profile
🐣🐥

0개의 댓글