본문 바로가기

알기쉬운 블록체인

비트코인 세그윗 SegWit

원래 비트코인이 등장했을 때 블록은 10분에 한 번씩 생성되도록 설정되었다.

블록 크기는 1MB로 제한되었다.

하지만 거래가 폭발적으로 증가하면서 데이터 용량이 부족해졌다.

비트코인의 확장성과 거래속도를 높이기 위한 기술이 필요해진 것이다.


세그윗은 비트코인의 인기가 높아지면서

거래 처리 용량을 늘리기 위해 개발자들이 2017년 8월 시장에 처음 선보인 소프트웨어 업데이트 기능이다.


지난 시간 우리는 비트코인 소프트 포크 (Soft Fork)를 알아 보면서 세그윗 개념도 간단히 살펴보았다.

이는 비트코인 소프트웨어 업그레이드를 하지 않아도

세그윗 이전 버전과 세그윗 적용 버전을 모든 노드가 사용할 수 있다는 뜻이다.


세그윗 (SegWit)은 비트코인 소프트포크 방식의 업그레이드 방법 중 하나임을 기억하면서 세그윗을 알아보자.

분리된 증인(Segregated ‘분리된’ + Witness ‘증인’) 이란 뜻의 세그윗은

거래 시 데이터 용량을 줄이려고 거래기록의 서명부분만 따로 저장하는 방식이다.


블록에서 서명은 의외로 많은 부분을 차지한다.

서명을 따로 저장하면 기존 서명이 차지한 자리만큼 공간이 늘어나므로

세그윗은 전자서명을 인풋에 포함하지 않고 별도로 모아 1MB블록을 만든다.

그리고 분리된 증인들을 블록 뒤에 별도로 붙여둔다.

이렇게 하면 기존 1MB영역에 서명부분이 제외된 만큼 더 많은 거래를 담게 된다.

세그윗 기능을 지원하는(소프트웨어 업그레이드) 블록은 최대 4MB의 트랜잭션 데이터를 저장하게 되었다.

블록 사이즈를 늘리지 않아도, 주어진 블록에 더 많은 저장공간을 만들게 된 것이다.

 


세그윗은 블록 사이즈에 대한 제한을 블록 무게에 대한 제한으로 대체하게 만들었다.  

서명과 트랜잭션 데이터를 분리해 트랜잭션 무게를 가볍게 만든 것이다.

다시 말해 세그윗(SegWit)은 데이터를 분리해 블록체인 외부에서 거래량 일부를 처리하는 방법이다.


세그윗 이전에는 높은 비트코인 거래 수수료 문제 때문에 거래소들의 고민이 깊었다.

한 예로 대형 암호화폐 거래소들의 경우

세그윗(SegWit) 기능을 도입한 지 약 2개월만에 비트코인 거래 수수료가 적정수준으로 낮아졌다.

전체 네트워크 성능도 좋아졌다.


재미있는 건 대형 거래소들이 2017년 8월 출시된 세그윗 기능을 외면해오다가

암호화폐 커뮤니티의 강력한 요청으로 일괄거래(Batching) 기능과 세그윗(SegWit) 기능을 도입하게 되었다는 점이다.


“세그윗(SegWit) 도입으로 주요네트워크는 일부 작업처리 시간이 빠르게 단축 되었다.

수수료를 낮추고 전체 네트워크 성능도 끌어 올려졌다. ”


사용자들에게 큰 메리트다.

사용자들은 최대 20%의 수수료 감면을 받았다.


또한 세그윗은 거래 가변성 문제도 해결하게 되었다.

비트코인 초기에는 거래소처럼 블록체인을 전산과 연동하여 사용하는 어플리케이션에서 자칫 문제가 될 수 있다.

세그윗이 적용되면 거래 입력란에 서명이 포함되지 않으므로 해킹의 위험이나 이를 악용하는 방법이 원천적으로 차단된다.  


이처럼 전문가들은 세그윗(SegWit) 도입이 거래 수수료 비용을 낮추고 속도 뿐 아니라

미래 기술 가능성에도 큰 영향을 미치게 될 것이라 보고 있다.