비트코인 블록체인의 블록의 데이터 구조를 근본적으로 변화시키는 프로토콜 변경안으로서
비트코인 거래 데이터와 전자서명 데이터를 분리시켜 전자서명 데이터를 Witness라는 새로운
데이터 필드를 블록에 추가시키는 것이 그 핵심입니다.
세그윗은 이 어떤 문제를 해결하는가에 얘기 하도록 하겠습니다.
1. 가변성(Transation Malleability)
모든 비트코인 거래는 해당 거래를 식별할 수 있는 거래ID를 포함하고 있습니다.
실질적인 거래의 내용의 변화는 없지만 거래ID만을 변경하여
새로운 거래를 만들어 낼 수있는 일종의 버그입니다.
거래의 기본방식입니다.
즉, 1명이 2개의 ID를 가지고 있을수 있습니다.
그렇기 때문에 거래의 ID가 바뀔 수 있기 때문에 사용자들에게 혼란을 줄 수 있습니다.
예를 들면,
결국 그래서 철수는 영희에게 총 6BTC를 보내게 됩니다.
분명 문제긴 하지만 비트코인 커뮤니티에서는 이것을 근본적인 문제라고 생각하고 있진 않습니다.
그 이유는 거래 ID가 다른 거래지만 결국 거래의 본질적인 내용은 같기 떄문입니다.
채굴을 통해 블록체인에 기록되는 과정에서는 거래 ID가 아닌 실질적인 거래내용을 바탕으로 검증이
이루어지므로 기본적인 주의만 기울인다면 이로 인해 큰 문제가 발생하지 않기 때문입니다.
2. 확장성(Scalability)
사토시 나카모토가 작성한 비트코인 백서의 제목은
Bitcoin: A Peer-to-Peer Electronic cash System(비트코인:P2P 전자화폐 시스템)입니다.
하지만 현재 비트코인은 화폐로 사용되기에는 부족한 점이 몇가지 있습니다.
그 중 가장 큰 문제가 확장성 부족입니다.
초당 처리가능한 최대 거래량(1초당)
비자 (56,000개) / 비트코인 (3.3개)
수요가 많아지면 거래가 계속 쌓이기 때문에 수수료가 올라가며 처리속도가 늦어집니다.
이 이유는 현재 비트코인 블록체인의 블록크기가 1MB로 제한되어 있기 때문입니다.
비트코인은 평균 약 10분에 하나의 블록을 블록체인에 추가시켜나가기 때문에
결국 평균 10분마다 1MB용량의 거래만을 처리할 수 있게 되는 것입니다.
그럼 비트코인 네트워크의 거래 처리 용량을 증가시키기 위해서 크게 두가지의 접근법이 있습니다.
1. 체인내 확장(On-chain Scaling)
2. 체인외 확장(Off-chain Scaling)