avatar
Published on

세그윗이란 무엇인가?

Author
  • avatar
    Name
    yceffort

What is SegWit?

원문

Segwit (Segregated Witness)는 데이터 저장 방법을 변경하는 프로토콜을 업그레이드 하는 방식이다. 이는 2017년 5월 10일에 라이트코인에서 최초로 활성화되었고, 2017년 8월 23일에는 비트코인에서도 활성화되었다.

개발자 Pieter Wiulle은 2015년 12월 Scaling Bitcoin 컨퍼런스에서 아이디어를 처음 발표했다.

많은 사람들은 비트코인 스케일링 문제에 대한 오랫동안 기다려온 해결책으로 굉장히 환영했다. 주 프로토콜의 최대 블록크기 1mb는 비트코인이 처리할 수 있는 트랜잭션의 수를 초당 약 7개로 제한한다. 이는 비트코인의 잠재적인 성장을 제한하고, 많은 양을 처리하는 지불 시스템이 되는 것을 막을 것이다.

업그레이드로 인해 비트코인 블록에서 더 많은 수의 트랜잭션이 가능해졌지만, SegWit의 초기 의도는 트랜잭션 가단성을 해결하기 위한 것이었다. Segwit은 서명정보를 제거하고 기본 트랜잭션 블록 외부에 저장하여 해당 문제를 해결했다. 이를 통해, 트랜잭션 ID에 영향을 미치지 않고 서명 및 스크립트를 변경할 수 있었다.

슬리밍 다운

서명정보가 없어지므로써 중요해진 장점 중 하나는 거래가 한층 가벼워졌다는 것이다. 즉 블록에 더 많은 정보를 담을 수 있으며, 비트코인은 블록 크기를 변경하지 않고 더 큰 처리량을 처리할 수 있게 되었다. SegWit은 '블록무게'라는 사로운 개념을 도입했다. 이는 블록크기의 매시업으로 4mb로 제한되고, 기본 트랜잭션 블록의 크기는 1mb로 유지된다. 즉, 이 업그레이드는 이전 프로토콜과 호환되며 하드포크가 필요하지 않다.

따라서 Segwit은 블록 크기 제한을 침해하지 않으며, 1mb사이즈 내에서 더 많은 수의 트랜잭션을 가능하게 한다. 4mb 제한에는 기술적으로 1mb 기본 트랜잭션 블록의 일부가 아닌 분리된 데이터가 포함된다.

Building on Top

SegWit이 가능하게 한 또 다른 발전은 라이트닝 네트워크와 같은 두번째 계층 프로토콜의 개발을 지원하다는 것이다. 가단성 수정은 확인되지 않은 트랜잭션에 의존하는 모든 기능을 덜 위험하고 설계하기 쉽도록 만들었다.

라이트닝 네트워크는 사용자가 준비될때만 비트코인 블록체인에 저장할 수 있도록 하면서, 빈번하고 작은 트랜잭션을 오프 체인으로 사용하여 비트코인 트랜잭션 용량을 더욱 향상시킨다. Segwit의 활성환느 또한 더 복잡한 비트코인 스마트 계약을 가능하게 하는 등 다른 개발 작업을 향상 시켰다.

모두가 행복하지는 않다.

비트코인 커뮤니티의 모든 사람들이 세그윗이 비트코인이 기다리던 솔루션이라는 것에 동의하는 것은 아니다. 어떤 사람들은 이 해결책이 언발에 오줌누기 식의 임시방편이라고 이야기 한다. 세그윗에 더한 저항은 새로운 거래 구조에 의존하는 것이 아닌, 더 블록 크기 제한을 구현하기로 선택한 비트코인 네트워크의 하드포크 버전인 비트코인개시를 만들어내는 요소가 되었다.

현재 어디에 있는가?

명백한 장점에도 불구하고 업그레이드는 느리게 진행되고 있었다. (그러나 현재는 거래의 절반 정도가 세그윗을 지원하고 있다. 여기를 참조) 주된 이유 중 하나는 아직 대다수의 지갑이 세그윗을 지원하지 않기 때문이다. 주요 비트코인 코드가 세그윗 친화적인 조정을 수행함에 따라 사용, 추가기능, 실험 모두에서 향상될 수 있다. 더 많은 지갑이 업그레이드를 포용하면서 세그윗을 사용하는 거래의 비율이 증가하고,블록에 더 많은 거래가 포함되므로 비트코인 수수료가 낮아 진다. 이러한 변화는 하룻밤사이에 일어나지는 않을 거시지만, 변화는 중요하며 앞으로 나아갈 큰 발걸음이 될 것이다.