비트코인 Segwit에 대해 알아보자(Araboza)

in #coinkorea7 years ago (edited)

얼마전 비트파이넥스에서 비트코인의 세그윗(Segwit) 적용이 있었습니다. 적용 이후 비트코인의 전송 수수료 또한 25프로 감소했습니다.

그렇다면 여기서, 세그윗이란 무엇인지 그 개념정도는 간략히 짚고 넘어갈 필요가 있다고 생각되기에 제가 아는 내용을 바탕으로 세그윗에 대한 설명글을 써볼까 합니다.

Segwit은 BIP(Bitcoin Improvement Proposal) 148번에서 처음 제기되었습니다.

'Seg'regated + 'Wit'ness => SegWit 즉 전자서명의 분리를 지칭하는 말입니다. 소프트포크를 통해 실현 가능하죠.

비트코인의 트랜잭션은 입력(INPUT)과 출력(OUTPUT)으로 구성되어 있습니다. 입력에서 비트코인을 잠그고 공개키를 통해 서로를 확인한 후 출력에서 허용해주는 방식이죠. 세그윗은 인풋과정에서 전자서명을 분리해버리는 것입니다.

기존의 트랜잭션은 그 안에 서명이 포함되어있습니다. 그런데 만약 여기서 주소를 분리해낸다면? (제거하는 것이 아닙니다. 블록안에 기록하지 않고, 지갑을 통해 확인 후 블록엔 분리해낸 내용을 적습니다) 제한되어있는 1MB의 블록사이즈 안에 분리해낸 주소의 사이즈만큼 더 많은 양의 정보를 기록 할 수 있게됩니다 짝짝짝짝짝

이게 세그윗에서 가장 핵심적인 개념입니다. 서명을 분리해냄으로서 제한된 블록안에 더 많은 것을 기록한다. 어찌보면 별 것 아닌것같은 이 세그윗이 블록 사이즈를 최대 4MB만큼 키운것과 비슷한 효과를 가진다고하네요.
한 블록내에 처리할 수 있는 트랜잭션의 양이 늘어났으니 당연히 밀려있는 트랜잭션의 양 또한 줄어들겠죠?

(100개의 트랜잭션이 밀렸고 세그윗이전엔 한 블록에 평균 10개가 기록됬다고 가정하면 총 10개의 블록이 생성되는것을 기다려야 트랜잭션이 모두 완료됩니다. 세그윗 이후 평균 20개의 트랜잭션이 기록된다고 치면 5개의 블록만 생성하면되죠. 우와~)

이는 곧 비트코인의 더 빠른 전송으로 이어집니다:)

세그윗은 이 외에도 주소를 분리해냄으로서 트랜잭션 멜라빌리티 문제를 해결해주었습니다. 트랜잭션 멜라빌리티로 넘어가면 얘기가 조금...어쩌면 매우 복잡해지는데 정말 간략히 그 개념만 짚어본다면... 이중장부라고 생각하시면 이해가 조금 쉬우실 듯 합니다. 세그윗은 이런 비트코인의 이중장부 문제를 효율적으로 봉쇄해버립니다:)
라이트코인 개발자로 유명한 Chalie Lee는 세그윗의 가지는 가장 큰 이점으로 이 트랜잭션 멜라비티의 봉쇄를 들었을 정도이니...그만큼 의미있는 일이니 그냥 '아 그렇구나..' 정도로 알아두시면 좋을것같습니다 ㅎ

제 설명은 여기까지입니다. 이 글이 모쪼록 여러분께 작게나마 도움이 되었으면 하네요.

팔로우와 업보트는 제게 큰 힘이됩니다:)

PS. 아래는 제가 개인적으로 애용하는 정보방입니다. 유료리딩과는 전혀 관련이 없는 곳이니 안심하셔도됩니다:)

K.Whales 정보방

K.whales