KEEP!T Column 비트코인 뽀개기(12편 - 최종화)
KEEP!T Column
안녕하세요! KEEP!T입니다. 최초의 암호화폐인 비트코인을 누구나 쉽게 이해할 수 있도록 '비트코인 뽀개기'라는 주제로 콘텐츠 연재를 시작한지 어느덧 6개월의 시간이 흘러 최종화를 작성하게되었습니다. 최종편에서는 세그윗에 대한 개념정리를함으로써 비트코인 뽀개기 콘텐츠를 마무리하도록 하겠습니다.
비트코인의 한계점?
전 세계적으로 비트코인에 대한 관심이 높아지고 거래량이 급증하면서 비트코인 블록 크기의 한계점에 대한 논란이 끊임 없이 나오게 되었습니다. 비트코인의 블록은 평균 10분에 한번식 생성될 수 있도록 설계되었으며, 블록의 크기는 1MB로 블록에 담을 수 있는 거래량은 제한적일 수 밖에 없습니다. 만약 블록에 포함시킬 수 있는 최대 거래량 보다 더 많은 거래량이 발생될 경우 거래는 자연스럽게 지연될 수 밖에 없습니다.
금융 거래에서 거래 속도는 굉장히 중요한 부분이며, 거래가 정상적으로 이루어지지 않거나 많은 대기 시간이 필요하게될 경우 화폐로서의 가치가 하락될 수 밖에 없습니다. 또한 거래량이 급증하여 거래가 지연될 경우 다른 사용자들 보다 더 빠르게 거래를 처리하기 위하여 수수료를 높게 측정함으로서 거래 수수료가 높아지는 단점이 발생될 수 있습니다.
세그윗(Segwit)
비트코인의 블록 크기에 대한 한계점이 대두되면서 블록의 크기를 1MB 내외로 유지하면서 거래를 빠르게 처리할 수 있는 방안으로 BIP-141을 통해 세그윗이라는 개념이 나오게되었습니다.
BIP(Bitcoin Impovement Proposal)란 비트 코인 개선 제안 이라는 의미를 가지고 있습니다. 비트코인의 방향성이나 개선해야되는 사항들에 대한 제안을 할때 제목을 bip-숫자 형태로 작성하자는 제안이 있었고 그 이후로 많은 사람들이 비트코인의 개선점에 대한 제안을할때 bip-0001과 같은 형태로 제안서를 작성하게되었습니다. (BIP에 대한 보다 자세한 내용은 링크를 통해 확인할 수 있습니다.)
세그윗에 대한 개념정리를 하기 위해서는 비트코인의 블록 구조에 대한 선행학습이 필요합니다. 비트코인의 블록은 크게 블록 헤더 정보와 블록 바디 정보로 나누어질 수 있으며, 블록 바디 정보에는 다수의 거래 기록 정보가 포함되어 있습니다. 그리고 이러한 거래 기록은 크게 입력(input) 정보와 출력(output) 정보로 나누어 볼 수 있습니다. 입력 정보에는 보내는 사용자에 대한 정보, 출력 정보는 받는 사람에 대한 정보가 포함되어 있으며, 보내는 사용자에 대한 정보가 올바른 정보인지에 대한 소유권을 입증하기 위한 수단으로 입력(input) 정보 뒤에는 전자 서명 정보가 포함됩니다.
전자 서명 정보는 탈 중앙화된 비트코인 네트워크에서 비트코인의 소유권을 입증할 수 있는 유일한 수단임으로 매우 중요한 정보입니다만, 전자 서명 정보가 블록의 대다수의 공간을 차지하는 문제점이 있었습니다.
세그윗은 '분리된 증인' 혹은 '분리된 서명'이라고 해석할 수 있으며 블록에 많은 공간을 차지하는 전자 서명 정보를 Witness라는 데이터 영역으로 분리시켜 저장함으로써 블록에 더 많은 거래를 포함할 수 있도록 하는것입니다.
세그윗 방식을 도입했을 경우 기존의 전자 서명이 차지하던 부분을 새로운 영역인 Witness라는 데이터 영역으로 분시리켜 블록의 사이즈를 최대 75%를 절약하는 효과를 얻을 수 있으며, 기존의 거래 가변성(Transaction Malleability) 문제까지 해결할 수 있습니다.
거래 가변성(Transaction Malleability) : 거래 내용에는 변화가 없지만 Transaction ID 정보만을 변경하여 새로운 거래를 만들어내는 일종의 버그
블록의 크기를 늘리면 안될까요?
세그윗이라는 개념은 결국 블록의 크기가 제한적이기 때문에 나온 개념입니다. 그렇다면 블록의 크기를 늘리면 안될까요? 만약 블록의 크기가 늘어나게될 경우 블록체인의 데이터 용량은 기하급수적으로 늘어나게될 것이며, 전 세계적으로 대용량의 블록체인을 감당할 수 있는 노드가 많지 않기 때문에 탈 중앙화라는 블록체인의 특성에 마지 않게되는 문제점이 발생합니다. 그렇기 때문에 블록의 크기를 유지하면서 블록 내부의 내용을 업데이트하는 세그윗이라는 개념이 나오게된것입니다.
세그윗에 대한 개념정리를 끝으로 비트코인 뽀개기 콘텐츠 연재를 종료하도록 하겠습니다. 처음 비트코인 뽀개기 콘텐츠를 기획하고 시작했던 욕심보다 다소 부족한 부분들이 많이 있었지만, 꾸준히 관심 갖고 읽어주신 독자분들 덕분에 콘텐츠를 마무리할 수 있었던것 같습니다. 다음에는 조금 더 좋은 콘텐츠로 찾아뵐 수 있도록 하겠습니다. 지금까지 비트코인 뽀개기 콘텐츠를 읽어주신 독자분들께 진심으로 감사드립니다.
비트코인 뽀개기 시리즈 다시보기
- 비트코인 뽀개기 1편
- 비트코인 뽀개기 2편
- 비트코인 뽀개기 3편
- 비트코인 뽀개기 4편
- 비트코인 뽀개기 5편
- 비트코인 뽀개기 6편
- 비트코인 뽀개기 7편
- 비트코인 뽀개기 8편
- 비트코인 뽀개기 9편
- 비트코인 뽀개기 10편
- 비트코인 뽀개기 11편
yahweh87
참고자료
http://bahndal.egloos.com/599756
https://cryptokiwi.kr/currency?id=btc&category=2&content_id=217
https://steemit.com/coinkorea/@coinkorea/7tco5g
http://needjarvis.tistory.com/267
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.
연재하느라 수고하셨습니다.~ typo 하나 발견. Transaion.
감사합니다. 수정했습니다:)
와우 엄청난글이네요!