# 분리된 증인(SegWit)

Segregated Witness(SegWit)는 2015년에 개발된 업그레이드된 프로토콜입니다. 이 개념은 오늘날 블록체인 네트워크가 직면한 확장성 문제를 해결하기 위해 도입되었습니다.

평균적으로 비트코인 ​​네트워크는 10분마다 새 블록을 확인하고 각 블록에는 여러 트랜잭션이 포함됩니다. 이처럼 블록 크기는 각 블록에서 확인할 수 있는 트랜잭션 수에 직접적인 영향을 미칩니다. 현재 비트코인 ​​블록체인은 초당 약 7개의 트랜잭션을 처리할 수 있습니다.

Segregated Witness의 주요 아이디어는 서명이 더 이상 트랜잭션 데이터와 함께 저장되지 않도록 블록 데이터를 재구성하는 것입니다. 즉, SegWit 업그레이드는 트랜잭션 데이터에서 검증자(서명)를 분리하는 것으로 구성됩니다. 이를 통해 단일 블록에 더 많은 트랜잭션을 저장할 수 있으므로 네트워크의 트랜잭션 처리량이 증가합니다.

초당 약 7개의 트랜잭션만 처리할 수 있기 때문에 비트코인 ​​트랜잭션을 완료하는 데 시간이 오래 걸릴 수 있습니다. 초당 수천 건의 거래를 처리할 수 있는 기존 결제 솔루션 및 금융 네트워크에 비해 속도가 훨씬 느립니다.

Segregated Witness는 Bitcoin 개발자 Pieter Wuille 및 기타 Bitcoin Core 기여자가 2015년에 개발 및 업그레이드했습니다. 2017년 8월, Segwit 업그레이드는 비트코인 ​​네트워크에서 소프트 포크로 구현되었습니다.

오늘날 Bitcoin 및 Litecoin을 포함하여 Segregated Witness 프로토콜을 사용하는 여러 암호 화폐 프로젝트가 있습니다. 프로토콜 업그레이드는 트랜잭션 속도 및 블록 용량 증가와 같은 많은 이점을 제공합니다. 또한 SegWit은 소위 트랜잭션 가단성 문제(아래 설명)도 해결합니다.

## SegWit의 주요 장점은 무엇입니까?

### 용량을 늘리다

SegWit의 가장 큰 장점 중 하나는 블록 크기의 증가입니다. 트랜잭션 입력에서 서명 데이터를 제거하면 더 많은 트랜잭션을 블록에 저장할 수 있습니다.

트랜잭션은 입력과 출력의 두 가지 주요 부분으로 구성됩니다. 기본적으로 입력에는 발신자의 공개 주소가 포함되고 출력에는 수신자의 공개 주소가 포함됩니다. 그러나 송금인은 자금을 이체했음을 증명해야 하며 전자 서명을 사용해야 합니다.

Segregated Witness가 없으면 서명된 데이터가 블록의 최대 65%를 차지할 수 있습니다. Segregated Witness를 사용하면 서명된 데이터가 트랜잭션 입력에서 제거됩니다. 이렇게 하면 유효 블록 크기가 1MB에서 약 4MB로 늘어납니다.

SegWit은 블록 크기만 늘리는 것이 아닙니다. 오히려 블록 크기 제한(하드 포크가 필요함)을 늘리지 않고 유효 블록 크기를 늘리는 엔지니어링 솔루션입니다. 보다 구체적으로 실제 블록 크기는 여전히 1MB이지만 유효 블록 크기는 4MB로 제한됩니다.

또한 Segregated Witness는 블록 가중치 개념을 도입합니다. 블록 크기 개념의 대안으로 블록 가중치를 생각할 수 있습니다. 기본적으로 블록 가중치는 더 이상 입력 필드의 일부가 아닌 트랜잭션 데이터(1MB) 및 서명 데이터(최대 3MB)를 포함한 모든 블록 데이터를 포함하는 측정 단위입니다.

### 거래 속도 증가

Segregated Witness는 더 많은 트랜잭션 블록을 저장하는 것 외에도 블록체인에 저장할 수 있는 많은 양의 트랜잭션 데이터로 인해 트랜잭션 속도를 높일 수 있습니다. 블록 시간이 같더라도 블록에 더 많은 트랜잭션을 수용할 수 있으므로 TPS가 높아집니다.

증가된 거래 속도는 또한 비트코인 ​​네트워크의 거래 비용을 줄이는 데 도움이 될 수 있습니다. SegWit이 구현되기 전에는 거래당 수수료가 대부분 $30 이상이었습니다. 그러나 SegWit의 구현으로 거래 비용이 거래당 1달러로 대폭 감소했습니다.

### 트랜잭션 가단성 수정

비트코인이 직면한 또 다른 주요 문제는 트랜잭션 서명을 변조하는 것입니다. 서명이 변조되면 두 당사자 간의 거래가 파기 될 수 있습니다. 블록체인에 저장된 데이터는 사실상 변경 불가능하므로 유효하지 않은 트랜잭션은 블록체인에 영구적으로 저장됩니다.

SegWit을 사용하면 서명이 더 이상 트랜잭션 데이터의 일부가 아니므로 이 데이터를 변경할 가능성이 제거됩니다. 이 수정은 레이어 2 프로토콜 및 스마트 계약을 포함하여 블록체인 커뮤니티 내에서 추가 혁신을 지원합니다.

### 분리된 증인 및 라이트닝 네트워크

트랜잭션 확장성 문제를 수정하여 두 번째 계층 프로토콜의 개발이 필요합니다. 간단히 말해서, 두 번째 레이어 프로토콜은 비트코인과 같은 블록체인 위에 구축된 새로운 플랫폼 또는 제품입니다. 가장 인기 있는 두 번째 계층 프로토콜 중 하나는 오프체인 오프라인 결제 네트워크인 라이트닝 네트워크입니다.

라이트닝 네트워크는 비트코인 ​​네트워크에서 실행되는 두 번째 레이어 프로토콜입니다. 라이트닝 네트워크의 주요 목적은 더 짧은 시간에 더 많은 트랜잭션을 확인할 수 있도록 하여 사용자에게 더 빠른 트랜잭션을 제공하는 것입니다. 트랜잭션은 오프체인에서 수집되어 비트코인 ​​네트워크의 최종 처리를 위한 버퍼를 효과적으로 형성합니다.

라이트닝 네트워크는 원래 비트코인용으로 개발되었습니다. 그러나 다른 여러 암호화폐 및 블록체인 프로젝트도 이 기술을 구현하기 위해 노력하고 있습니다. 이는 확인 시간을 단축할 뿐만 아니라 확장성 문제에 대한 솔루션 개발을 용이하게 합니다.

## 세그윗과 세그윗2x

SegWit은 이전 버전과의 호환성을 지원하는 소프트 포크 업그레이드입니다. 즉, SegWit을 업데이트하지 않은 비트코인 ​​노드는 여전히 트랜잭션을 처리할 수 있습니다. 그러나 하드 포크 업그레이드가 필요한 SegWit2x(S2X)라는 구현 가능한 다른 버전의 SegWit이 있습니다.

SegWit과 SegWit2x의 주요 차이점은 후자는 트랜잭션 일괄 처리에 대한 변경 사항을 포함할 뿐만 아니라 블록 크기도 증가한다는 것입니다(1MB에서 2MB로). 그럼에도 불구하고 더 큰 블록 크기는 더 많은 데이터를 처리함에 따라 노드 운영자와 광부에게 부담을 증가시킵니다.

또 다른 주목할만한 차이점은 SegWit 제안이 Bitcoin 커뮤니티에서 지원되고 실행된다는 것입니다. 또한 사용자 활성화 소프트 포크를 의미하는 UASF의 개념을 탄생시켰습니다.

반면 SegWit2x는 비트코인을 관리하는 기본 규칙에 대한 실질적인 변경을 제안합니다. 그러나 SegWit2x는 개발자가 채택 및 구현에 대한 합의에 도달할 수 없기 때문에 결국 중단되었습니다.

## 중첩 SegWit과 기본 SegWit의 차이점(bech32)

간단히 말해서 기본 SegWit(bech32라고도 함)은 중첩된 SegWit의 업데이트된 버전입니다. bech32 주소는 트랜잭션 속도를 높이고 더 나은 오류 감지 메커니즘을 제공하며 트랜잭션 수수료를 더 낮춥니다. 또한 bech32 주소는 소문자로 되어 있어 읽기 쉽습니다. 비 Segwit(즉, 원래 Bitcoin 주소, 일명 Legacy), Nested SegWit 및 SegWit(bech32) 주소 간의 거래는 완전히 호환됩니다. 그러나 모든 거래소와 암호화폐 지갑이 SegWit을 지원하는 것은 아니므로 SegWit을 지원하지 않는 Segregated Witness 주소로 직접 자금을 보낼 수 없습니다. Binance는 이미 SegWit 주소에 대한 BTC 입출금을 지원합니다.자세한 내용은 SegWit FAQ를 참조하세요.

## 요약하다

SegWit의 구현은 분산 커뮤니티에서도 지원 및 구현하는 Bitcoin 프로토콜의 주요 업그레이드를 표시하므로 더욱 매력적입니다.

SegWit의 출시는 비트코인 ​​및 기타 블록체인 네트워크와 관련된 문제, 특히 확장성의 중요한 단계를 효과적으로 해결할 수 있습니다. SegWit과 두 번째 계층 프로토콜의 조합을 통해 블록체인 네트워크는 더 높은 효율성과 더 낮은 비용으로 많은 트랜잭션을 처리할 수 있습니다.

SegWit은 강력하고 혁신적인 솔루션이지만 아직 완전히 출시되지는 않았습니다. 현재 비트코인 ​​주소의 약 53%가 SegWit 프로토콜을 사용합니다.
