이 글이 게시될 때쯤이면 Taproot는 활성화를 위해 잠금 상태가 될 것입니다. 이는 709,632 블록(2021년 11월 중순)에서 비트코인 개선 제안(BIP) 시리즈에 의해 정의된 새로운 규칙이 활성화되고 시행되기 시작한다는 것을 의미합니다. 이는 비트코인에 있어 중대한 성과이며, 비트코인뿐만 아니라 그 위에 구축된 모든 것에 대해 많은 멋진 새로운 것들을 가능하게 할 것입니다.
이전에는 2017년 SegWit 업그레이드의 드라마 이후 비트코인이 또 다른 소프트 포크에 대해 합의할 수 있을지에 대한 논의가 있었습니다. 이 이전의 소프트 포크는 원래 비트코인 체인에서 하드 포크된 여러 캠프를 만들어 새로운 알트코인을 생성했습니다. 한편, 비트코인 커뮤니티는 사용자 활성화 소프트 포크(UASF)를 위한 논의와 싸움으로 인해 깊은 전투의 상처를 남겼습니다.
SegWit가 활성화된 지 거의 4년이 되었고, 사람들은 비트코인 커뮤니티가 다음 업그레이드를 위해 이러한 전투의 상처를 극복할 수 있을지에 대해 회의적이었습니다. 그러나 우리는 해냈습니다! 이는 풀 리퀘스트(PR), 인터넷 릴레이 채팅(IRC) 채널 및 트위터에서의 긴 논의 과정이었지만, 마침내 마무리되었습니다.
업그레이드로서의 Taproot는 사실상 반대가 없었습니다. 대부분의 핵심 개발자들은 BIP340, BIP341 및 BIP342에서 제안된 합의 변경에 동의했습니다. 이러한 BIP는 개인 정보 보호 및 최적화를 추가하고, 새로운 보안 가정 없이 미래에 새로운 기능을 활성화하는 변경을 제안합니다. Taproot 자체는 비트코인 프로토콜에 대한 명백한 업그레이드입니다. 논란은 Taproot를 활성화하는 방법에 대한 논의가 시작되면서 발생했습니다.
논란은 SegWit에서 발생한 일에 대한 응답으로 만들어진 BIP8에서 시작되었습니다. 이는 SegWit에 사용된 활성화 방법인 BIP9에 두 가지 변경을 가했습니다. 첫 번째 변경은 실제 시간 대신 블록 높이에 따라 활성화의 시작 및 종료 시간을 정의하는 것이었습니다. 이는 블록이 정확히 10분 블록 시간을 가져야 한다는 것에 의존하지 않기 때문에 활성화 창을 정의하는 데 약간 더 나아지지만, 테스트 네트워크에는 불리한 거래를 감수해야 합니다.
두 번째 변경은 활성화 끝에 선택적 사용자 활성화 소프트 포크(UASF)를 추가하는 것이었으며, 이를 잠금-시간 초과(lock-in-on-timeout) 또는 LOT이라고 합니다. 이 두 가지 변경은 이러한 변경이 이루어져야 하는지에 대한 격렬한 논의를 촉발했으며, 비트코인 코어에 많은 PR이 열리고 닫히는 결과를 초래했습니다. LOT 매개변수는 결국 폐기되고 스피디 트라이얼(Speedy Trial)이라는 절차로 대체되었습니다.
스피디 트라이얼은 LOT(참 vs 거짓)를 설정하는 방법에 대해 논쟁하는 두 캠프 간의 교착 상태를 깨기 위해 제안되었습니다. 스피디 트라이얼은 1년 창문 대신 3개월 활성화 창을 설명했지만, 최소 활성화 높이는 더 먼 미래로 설정되었고 UASF는 없었습니다. 이는 우리가 빠르게 활성화하거나 빠르게 실패할 수 있도록 구조화되었습니다. 빠르게 실패할 경우, 우리는 다시 논의로 돌아갈 수 있었습니다. 또는 빠르게 활성화할 경우, 주변 생태계가 업그레이드 준비를 할 시간이 더 많아질 것입니다.
대부분의 개발자들은 스피디 트라이얼을 시도하기로 동의했고, 이는 비트코인 코어에 두 개의 PR이 열리는 결과를 가져왔습니다. 하나는 앤드류 차우(Andrew Chow)가 제출했고, 다른 하나는 A.J. 타운스(A.J. Towns)가 제출했습니다. 차우의 PR은 블록 높이를 사용하는 것을 제안했으며, 타운스의 PR은 실제 시간을 사용했습니다. 이는 더 많은 논의와 IRC에서의 토론을 이끌어냈고, 결국 차우와 타운스는 타운스의 제안으로 나아가기로 합의했습니다.
이 모든 논의는 결국 Taproot가 활성화될 수 있는 정점에 이르게 했습니다. 그리고 우리는 채굴자들이 신호를 보내기만 하면 되었고, 이는 비교적 빠르게 이루어졌습니다. 풀린(Poolin)의 부사장인 알레한드로 드 라 토레(Alejandro De La Torre)는 이미 채굴 풀들이 신호를 보낼 것이라고 약속하도록 했습니다. 그러나 처음에는 슬러시 풀(Slush Pool)만 신호를 보내고 있었습니다. 일반 사용자들은 거리로 나가 녹색 사각형을 입은 밈을 만들었고, 이는 taproot.watch가 활성화를 위해 신호를 보낸 블록과 그렇지 않은 블록을 보여주는 방식에 대한 언급이었습니다. 그러나 단 3번의 난이도 조정 기간 후, 우리는 거의 99%의 해시 파워를 확보하고 Taproot의 활성화를 잠금 상태로 만들었습니다.
이제 우리는 Taproot가 비트코인 프로토콜의 일부가 될 것이라고 자신 있게 말할 수 있으며, 이것이 비트코인과 그 많은 레이어에 의미하는 바를 알아야 합니다. 앞서 언급했듯이, Taproot는 개인 정보 보호 및 최적화를 가져오며 미래에 새로운 기능을 허용합니다.
Taproot는 사용자가 자금에 대한 여러 지출 규칙을 생성할 수 있게 하여 비트코인에 개인 정보 보호를 추가할 수 있지만, 그들은 해당 거래에 사용된 규칙만 공개하면 됩니다. 어떤 경우에는 다른 지출 규칙이 존재했음을 공개할 필요가 없습니다. 오늘날 평균 비트코인 사용자는 이러한 복잡한 규칙 스크립트가 필요하지 않습니다. 그러나 비트코인의 대부분의 확장 솔루션은 필요로 합니다. 라이트닝 네트워크, 리퀴드 및 기타 사이드체인과 같은 레이어는 모두 멀티시그, 해시 타임 잠금 및 시스템을 안전하게 만드는 기타 도구와 같은 스크립트 규칙을 사용합니다. 오늘날 이 모든 것은 체인에 기록되어 전체 네트워크에 공개되어야 합니다. Taproot를 사용하면 이 정보는 더 이상 항상 공개될 필요가 없으며, 라이트닝 채널 개설과 같은 거래는 일반 사용자의 거래와 정확히 동일하게 보일 수 있습니다. 따라서 이는 라이트닝 사용자에게만 이익을 주는 것이 아니라 비트코인의 일반적인 익명성 집합이 증가하여 개인 정보 침해를 유발하는 체인 분석을 더 어렵게 만들 것입니다.
이러한 개인 정보 보호 개선과 함께 많은 최적화가 있습니다. 더 이상 체인에서 많은 정보를 공개할 필요가 없기 때문에 거래는 더 적은 데이터를 사용하고, 따라서 수수료가 줄어듭니다. 이는 또한 각 블록에 더 많은 거래가 들어갈 수 있음을 의미하며, 모든 미사용 거래 출력(UTXO)은 더욱 효율적이게 됩니다.
우리는 Taproot로부터 공간 절약 최적화를 얻는 것뿐만 아니라 거래 검증 속도를 높이는 최적화도 얻습니다. 오늘날 비트코인은 거래 서명에 타원 곡선 디지털 서명 알고리즘(ECDSA)을 사용하지만, Taproot는 슈노르 서명(Schnorr signatures)이라는 새로운 서명 방법을 추가합니다. 슈노르 서명은 우리가 언급했던 공간 절약 최적화를 가능하게 하면서도 검증 속도가 더 빠르므로, Taproot가 상당한 채택을 받으면 전체 노드를 운영하는 데 필요한 자원이 줄어들고 동일한 거래 처리량을 유지할 수 있습니다.
Taproot는 또한 많은 새로운 사용 사례와 기능을 가능하게 할 것입니다. 한동안 논의된 것은 포인트 타임 잠금 계약(PTLC)입니다. PTLC는 라이트닝 네트워크에 대한 변경으로, 개발자들이 라이트닝 위에 더 복잡한 애플리케이션을 구축할 수 있게 해줍니다. Taproot는 또한 미래에 훨씬 덜 침해적인 업그레이드를 허용합니다. Taproot는 사람들이 이미 사용하기 위해 제안서를 작성하고 있는 많은 새로운 업그레이드 경로를 남겼습니다. 이는 다음 비트코인 소프트 포크가 더 빠르게 발생하고 이전 업그레이드보다 덜 논란이 될 것임을 의미합니다.
결론적으로, 비트코인은 업그레이드되었으며 사용자에게 더 나은 개인 정보 보호를 제공하는 한 걸음을 내디뎠습니다. 이는 쉽지 않았고, 당연히 그렇게 되어서는 안 되었습니다. 그러나 이제 축하할 시간이며, 그 다음에는 구축을 시작해야 합니다.
이 글은 벤 카르만(Ben Carman)의 게스트 포스트입니다. 표현된 의견은 전적으로 그들의 것이며 BTC Inc. 또는 비트코인 매거진의 의견을 반드시 반영하지는 않습니다.