Segregated Witness가 구체적으로 무엇인가요??
(UTXO/블록체인 데이터구조)
아래의 그림은비트코인의 거래내용을 상세히 표현해놨습니다.
비트코인 블록안에는 거래할때의 기본 정보가 있습니다.
거래의 리스트를 확대해보면 그안에 여러가지의 소스들은 저장합니다.
이 거래 (UTXO)로 A라는 사람이 15BTC를 나에게 보냈다면
내가 가지게 된 15BTC의 의미를 설명해드리겠습니다.
UTXO는 사용하지 않은 거래의 수입니다.
그럼 세그윗은 도대체 무엇이냐?
처음에 말했던 거래의 가변성의 문제가 있다고 했습니다.
여기서의 거래 가변성은 전자서명의 가변성으로 인해 거래의 가변성이 발생됩니다.
그래서 개발자들이 생각했습니다.
그래서 전자서명 정보를 분리(segregate)시켜 Witness라는 별도의 데이터 구조를 만들어
전자서명 정보를 저장하는걸 세그윗이라고 합니다.
전자서명 정보가 없이도 거래정보만을 따로 열람하고 이를 네트워크 상에서 공유할 수 있습니다.
전자서명정보를 분리한다면 거래검증을 하고자 하는 노드(node)는 거래데이터뿐 아니라
Witness데이터를 모두 사용하여 거래를 검증하고 이를 네트워크상에 전파합니다.
대부분의 사람들은 전자서명을 다 알필요는 없고 전자서명을 했다는것만을 알면되기때문에
풀노드끼리만 알고 필요한 사람들에게 공유를 하면 됩니다.
전자서명이 거래 데이터의 평균 약 75%를 차지 하기 때문에
용량이 줄었기때문에 그만큰의 거래가 추가로 더 이루어 질수 있습니다.
그래서 확장성에 대한 문제도 해결가능합니다.
세그윗은 소프트포크와 하드포크 모두 가능합니다.
출처 -
기본개념만을 정리했으니 참고하시면 좋을듯 합니다.
자세한 내용은 동영상참고부탁드립니다.