쉽게 설명하는 블록체인, Segregated Witness란 뭔가요? - 1 [확장성(scalability)]
거래를 하기 위해서는 거래를 하는 당사자 본인의 서명이 필요하다. 우리는 주변에서 카드결제를 할때 하는 서명을 귀찮아서 하지 않는 경우도 많고 최근에는 5만원 미만 결제금액에 대해서는 서명을 하지 않는 거래 방식도 등장해서 디지털 서명의 중요성에 대해 잘 모르는 사람이 많다.
서명이란 쉽게 말해 신원을 증명하는 것인데, 디지털 서명은 서명을 컴퓨터 상에서 숫자 등으로 암호화 하여 만드는 것.
지난 포스팅이 공개키와 개인키에 대한 내용이었는데, 디지털 서명은 돈을 보내는 사람의 개인키로 암호화한 메세지를 돈을 받는 사람이 돈을 보내는 사람의 공개키로 해독하여 돈을 보내는 사람이 맞는지 신원을 확인하고 증명하는 것이다.
이 디지털 서명은 그만큼 중요하고 당연히 블록에 포함되는 내용이다.
하지만 비트코인 네트워크에서는 1개의 블록의 크기가 제한되어 있다.
현재 비트코인 블록체인의 블록당 크기는 1MB.
위 그림과 같이 서명란에서 서명이 실제로 차지하는 크기는 크지 않으나 서명란 자체가 차지하는 부피가 크다고 할 수 있다. 이렇게 디지털 서명란과 거래내역이 하나로 뭉쳐 있다. 이렇게 되면 생기는 문제가 확장성(scalability) 문제이다.
현재 master card와 같은 금융기관은 1초에 수백만건의 거래를 처리할 수 있는 반면, 비트코인은 현재 초당 7개의 거래를 처리할 수 있다고 한다. 이 확장성(scalability) 문제가 현재 비트코인이 가장 시급하게 해결해야할 큰 문제이다. 초당 7개의 거래를 처리한다면 전세계 사람들이 이용하는 경우 하나의 거래를 처리하는데도 몇년이 걸릴 수 있기 때문에 이를 반드시 해결하지 않고선 비트코인의 대중화는 어려울 수밖에 없다.
이 확장성(scability) 문제를 블록의 크기를 1MB 내외로 유지하면서 거래를 처리할 수 있는 속도를 더 빨리 할 수 있는 방법이 Segregated Witness ; Segwit이다.
Segregated Witness는 위 그림과 같이 서명부분을 따로 Witness라는 데이터 영역으로 분리시켜 더 많은 거래를 처리할 수 있도록 업데이트 하는 것이다.
그렇다면 여기서 나올 수 있는 질문이 '블록의 크기를 1GB 정도로 많이 키우면 되지 않느냐?'라는 것인데, 블록의 크기를 키운다면 그것을 감당해 낼 수 있는 해시파워가 전세계적으로 많지 않기 때문에 탈중앙화라는 블록체인의 특성에 맞지 않게 된다는 문제점이 있다. 그렇기에 블록 사이즈를 유지하면서 블록 내부의 내용을 업데이트 하는 것이 Segwit이다.
최대한 쉽게 설명하려고 하지만 모르시는 분들을 위해 언제든지 댓글로 질문을 받습니다.
질문의 내용이 길 경우는 jsralphh@gmail.com으로 보내주시면 감사하겠습니다.
Important posts deserve upvotes, so you have mine! Never worry, but stay vigilant!
돈을 보내는 사람이 여러명이면 디지털 서명도 여러개 필요한거 아닌가요?? 왜 디지털서명이 한개인지 궁금하네요
네 맞아요. 말씀하신대로 디지털 서명이 여러개일 수 있습니다. 그런데 돈을 보내는 사람이 한명인데 그 사람에 대한 거래가 많을 수 있죠~ 그래서 효율적이고 빠른 데이터 처리를 위해 위 그림과 같이 따로 서명 공간을 분리하는 것입니다.
안녕하세요! 해당 포스트 관련 질문이 생겨 메일 전송하였습니다. 확인 해주시고 답변주시면 감사하겠습니다!
안녕하세요 쉽게 설명하는 블록체인 게시자 jsralph입니다.
계정 비밀번호 분실로 인하여 새로 포스팅을 하게 되었습니다ㅜㅜ
http://steemit.com/@easyblockchain 에서 더 많고 다양한 자료 포스팅하고 있으니 많이 찾아주세요~