거래를 하기 위해서는 거래를 하는 당사자 본인의 서명이 필요하다. 우리는 주변에서 카드결제를 할때 하는 서명을 귀찮아서 하지 않는 경우도 많고 최근에는 5만원 미만 결제금액에 대해서는 서명을 하지 않는 거래 방식도 등장해서 디지털 서명의 중요성에 대해 잘 모르는 사람이 많다.
서명이란 쉽게 말해 신원을 증명하는 것인데, 디지털 서명은 서명을 컴퓨터 상에서 숫자 등으로 암호화 하여 만드는 것.
지난 포스팅이 공개키와 개인키에 대한 내용이었는데, 디지털 서명은 돈을 보내는 사람의 개인키로 암호화한 메세지를 돈을 받는 사람이 돈을 보내는 사람의 공개키로 해독하여 돈을 보내는 사람이 맞는지 신원을 확인하고 증명하는 것이다.
이 디지털 서명은 그만큼 중요하고 당연히 블록에 포함되는 내용이다.
하지만 비트코인 네트워크에서는 1개의 블록의 크기가 제한되어 있다.
현재 비트코인 블록체인의 블록당 크기는 1MB.
위 그림과 같이 서명란에서 서명이 실제로 차지하는 크기는 크지 않으나 서명란 자체가 차지하는 부피가 크다고 할 수 있다. 이렇게 디지털 서명란과 거래내역이 하나로 뭉쳐 있다. 이렇게 되면 생기는 문제가 확장성(scalability) 문제이다.
현재 master card와 같은 금융기관은 1초에 수백만건의 거래를 처리할 수 있는 반면, 비트코인은 현재 초당 7개의 거래를 처리할 수 있다고 한다.
이 확장성(scalability) 문제가 현재 비트코인이 가장 시급하게 해결해야할 큰 문제이다. 초당 7개의 거래를 처리한다면 전세계 사람들이 이용하는 경우 하나의 거래를 처리하는데도 몇년이 걸릴 수 있기 때문에 이를 반드시 해결하지 않고선 비트코인의 대중화는 어려울 수밖에 없다.
이 확장성(scability) 문제를 블록의 크기를 1MB 내외로 유지하면서 거래를 처리할 수 있는 속도를 더 빨리 할 수 있는 방법이 Segregated Witness ; Segwit이다.
즉, Segregated Witness는 위 그림과 같이 서명부분을 따로 Witness라는 데이터 영역으로 분리시켜 더 많은 거래를 처리할 수 있도록 업데이트 하는 것이다.
그렇다면 여기서 나올 수 있는 질문이 '블록의 크기를 1GB 정도로 많이 키우면 되지 않느냐?'라는 것인데, 블록의 크기를 키운다면 그것을 감당해 낼 수 있는 해시파워가 전세계적으로 많지 않기 때문에 탈중앙화라는 블록체인의 특성에 맞지 않게 된다는 문제점이 있다. 그렇기에 블록 사이즈를 유지하면서 블록 내부의 내용을 업데이트 하는 것이 Segwit이다.
최대한 쉽게 설명하려고 하지만 모르시는 분들을 위해 언제든지 댓글로 질문을 받습니다.
질문의 내용이 길 경우는 [email protected]으로 보내주시면 감사하겠습니다.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://steemit.com/bitcoin/@jsralph/segregated-witness-1-scalability
풀어서 써주신 글 잘 읽고갑니다ㅎㅎ 팔로우, 보팅하고 가겠습니다.
네 맞팔했습니다~ 감사합니다~
이전 계정 https://steemit.com/@jsralph 분실하여 새로 계정을 만들게 되었습니다.
블록체인 관련 포스팅들 이곳에 계속 올라옵니다~
잘 보고 있습니다. 그런데 블록의 크기와 해쉬파워가 정적인 상관관계가 있다는 것이 잘 이해가 되지 않습니다. 설명 부탁드립니다. 블록의 크기가 커지면 해쉬파워도 더 드는 이유가 뭐죠?
블록의 크기가 커진다면 블록 하나에 담으려는 내용이 많아지고 연산도 복잡해집니다. 그렇기에 그 연산을 가능케하는 컴퓨터의 성능인 해시파워가 더 요구됩니다~