Segwit vs Native Segwit

서론

디지털 서명이란 서명을 컴퓨터 상에서 숫자 등으로 암호화하여 만드는 것이다.

디지털 서명은 돈을 보내는 사람의 개인키로 암호화한 메세지를 돈을 받는 사람이 돈을 보내는 사람의 공개키로 해독하여 돈을 보내는 사람이 맞는지 신원을 확인하고 증명하는 것이다.

디지털 서명이 중요한 만큼, 당연히 블록체인에서는 거래를 할 때 블록에 서명에 대한 데이터를 포함시킨다.

그런데 여기서 문제는, 비트코인 네트워크에서는 1개의 블록당 1MB로 크기가 제한되어 있다는 점이다.

이 문제를 해결하기 위해 등장한 개념이 바로 세그윗이다.

세그윗 (Segregated Witness)

세그윗은 분리된 증인의 축약어이다.

세그윗(P2SH) 및 네이티브 세그윗(Bech32)는 비트코인 계정을 위해 존재하는 최초 주소 형식이 아니다.

세그윗(SegWit), 또는 Wrapped 또는 Nested SegWit이라고 불리기도 하는데, 이를 통해 트랜잭션 데이터의 크기가 줄어 들었다.

이는 트랜잭션으로부터 트랜잭션 서명의 특정 데이터를 분리함으로써 가능해진다.

트랜잭션의 크기를 가볍게 함으로써 단일 비트코인 블록으로 더 많은 트랜잭션이 들어갈 수 있게 되었다.

트랜잭션 서명의 데이터를 분리하면서 개당 크기가 작아지니 한 블록에 더 많은 트랜잭션이 담기게 되는 것이다.

이를 통해 비트코인 네트워크의 확장성이 향상되고 트랜잭션 속도는 더 빨라졌다.

더 큰 장점은 각 비트코인 트랜잭션에 대한 트랜잭션 수수료가 엄청나게 줄어든다는 것이다.

세그윗은 또한 두 번째 계층 확장 솔루션을 활성화해 라이트닝 네트워크를 탄생시켰다.

네이티브 세그윗 (Native Segregated Witness)

네이티브 세그윗은 bc1으로 시작하는 주소이다.

네이티브 세그윗 주소는 이전 Base58Check 인코딩 방식을 사용했던 주소들과는 다르게 Bech32라고 부르는 새로운 인코딩 방식을 사용한다.

기존에 사용하던 Base58Check의 경우 I와 l등 구별하기 어려운 영문자를 제거해 가독성을 높였지만, 대문자와 소문자가 모두 존재하여 사용이 여전히 불편했다.

Bech32는 이러한 불편함을 없애기 위해 소문자만을 사용하도록 구성하여 대소문자의 구분을 없앴다.

세그윗 vs. 네이티브 세그윗

bech32라고도 불리는 네이티브 세그윗은 이전 버전의 제품보다 무게 측면에서 더욱 효율적이다.

이는 세그윗 트랜잭션보다 훨씬 더 빠른 트랜잭션 속도, 더 뛰어난 확장성 및 트랜잭션당 더 낮은 수수료를 의미한다.

여기에다 bech32는 더 뛰어난 에러 탐지 기능을 보유하며 주소에 소문자만 사용해 가독성이 더욱 뛰어나다.

그러한 이유 때문에 가장 인기가 많고 사용하는 사람들이 많아지는 추세인 것 같다.

bech32의 유일한 단점은 아직 모든 주요 플랫폼에서 이 주소 형식을 지원하지는 않는다는 것이다.

레거시, 세그윗 및 네이티브 세그윗 주소 사이의 트랜잭션은 완전히 호환가능하지만, 아직도 상당히 많은 거래소 및 지갑 공급업체들은 BTC를 bc1 주소로 전송하는 기능을 지원하지 않고 있다.

요약

분리된 증인(Segregated Witness)의 축약어인 SegWit는 트랜잭션 데이터의 사이즈를 줄여 더 빠른 트랜잭션, 더 나은 확장성 및 수수료 절감을 가능하게 한다.

네이티브 세그윗(Bech32)은 이를 더욱 향상시켜 수수료를 더욱 낮춰 준다.

아직 모든 거래소나 지갑 공급자가 네이티브 세그윗 주소로의 비트코인 전송을 지원하는 것은 아니다.

Last updated