Chapter 18 – New York Agreement
2017년 5월 22일, 디지털 화폐 그룹(DCG)의 배리 실버트(Barry Silbert)가 주최하여 뉴욕에서 회의가 열렸습니다. 이 회의에서는 지한 우(Jihan Wu)도 참석했습니다. 이로 인해 또 다른 합의가 이루어졌습니다. 다음과 같은 문서는 뉴욕 합의(NYA)로 불리며 발표되었습니다:
우리는 비트코인 프로토콜에 대한 다음의 동시 업그레이드를 즉시 지원하기로 합의했습니다. 이는 원래의 Segwit2Mb 제안을 기반으로 합니다:
80%의 임계값에서 Segregated Witness를 활성화하며, 비트 4에서 신호를 보냅니다. 6개월 내에 2 MB 하드 포크를 활성화합니다.
또한, 비트코인 커뮤니티에서 신호를 개선하기 위한 기술적 매커니즘의 연구 및 개발에 헌신하고 있으며, 디자인, 통합 및 안전한 해결책의 배포에 생태계 참가자와 더욱 밀접하게 조정하기 위한 의사소통 도구를 마련하기 위해 노력하고 있습니다.
우리는 모든 회사, 채굴자, 개발자 및 사용자들이 우리와 함께 비트코인을 미래에 대비하기 위해 준비하는 데 동참하길 환영합니다.
서명한 회사 그룹은 비트코인 생태계의 중요한 대부분을 대표합니다. 5월 25일 현재 이 그룹은 다음을 대표합니다:
22개국에 위치한 58개의 회사 83.28%의 해싱 파워 월간 체인 거래량 5.1억 USD 2,050만 개의 비트코인 지갑
별도로, 5월 24일 현재 다음 회사들은 업그레이드 소프트웨어를 테스트하고 지원하기 위한 기술 및 엔지니어링 지원을 제공할 것을 약속했으며, 회사들이 업그레이드를 준비하는 데 도움을 줄 것입니다:
Abra | BitClub Network | Bitcoin.com | BitFury | BitGo | Bitmain | BitPay | Blockchain | Bloq | BTCC | Circle | Ledger | RSK Labs | Xapo
팀에서 기술 및 엔지니어링 지원을 제공하려면 알려주세요. 그러면 위 목록에 당신을 포함시키겠습니다.
2017년 3월 비트코인 개발자 및 연구자 세르지오 레르너(Sergio Lerner)의 초기 제안을 기반으로 합의가 이루어졌습니다. 그 아이디어는 SegWit와 2MB로의 비증인 하드포크 블록 크기 증가를 동시에 진행하는 것이었습니다. 배리(Barry)와 가까운 사람들에게서 들은 바에 따르면, 이것은 타협이었습니다. 어떤 사람들은 SegWit을 원했고 다른 사람들은 하드포크를 원했기 때문에 이제 모든 사람이 원하는 것을 얻을 수 있었습니다. 네트워크가 교착 상태에 도달했고 앞으로 나아가기 위해 무언가를 해야 했다는 것이 배리의 우려였습니다. 합의 자체는 DCG 직원 멜템 데미로스(Meltem Demirors)에 의해 작성되었다고 알려져 있습니다. 이 문서는 지한(Jihan)에게 UASF라는 잠재적 위협에 대처하는 방법론과 한 달 전의 라이트코인 합의와 같은 얼굴을 구해주는 기회를 제공했습니다.
합의에 서명한 사람들의 수와 중요성은 매우 인상적이었습니다. 총 58명의 서명자가 있었는데, 그 중에는 개빈 안드레센(Gavin Andresen), 로저 버(Roger Ver)의 Bitcoin.com, 지한 우(Jihan Wu)의 Bitmain, 브라이언 암스트롱(Brian Armstrong)의 Coinbase 등이 포함되었습니다. 많은 서명자들(33명)이 DCG 포트폴리오 회사였지만, 이 그룹 외부에서도 교환 및 채굴 풀의 많은 지원이 있었습니다. 따라서 이 영역에서의 많은 관찰자들은 블록 크기 문제가 이제 마침내 해결되었으며 합의의 성공적인 구현이 거의 필연적이라고 결론지었습니다. 이 합의는 큰 블록 지지자들에게 큰 성과와 성취였습니다. 그들이 약한 시기였기 때문입니다. 이것은 갈등의 중요한 전환점처럼 보였습니다. 큰 블록 지지자들은 거의 패배했지만, 이제 다시 그들은 갑자기 우세했습니다.
그러나 큰 블록 지지자들은 합의에 완전히 만족하지 않았습니다. 결국, 그것에는 그들이 너무 열렬히 지지하지 않는 SegWit이 포함되어 있었습니다. 하지만 그들이 원하는 것, 즉 "비트코인 코어 해고"를 하는 것처럼 보였습니다. 로저 버(Roger Ver)는 그의 지원을 이렇게 정당화했습니다. 그는 합의 자체를 좋아하지 않았지만, 적어도 비트코인 코어를 없앨 수 있을 것이라고 주장했습니다. 일부 큰 블록 지지자들은 합의에 의심스러워 보였으며, 큰 블록 캠프의 더 극단적인 쪽의 사람들은 그것에 반대했습니다. 합의는 하드포크를 활성화하기 전에 SegWit를 활성화하는 것을 약속했고, 하드포크는 "6개월 내"에 활성화될 것이라고 했습니다. 합의에 따르면 하드포크와 소프트포크는 "동시에 배포될 것"이지만, 소프트포크가 먼저 활성화될 것입니다. 일부 큰 블록 지지자들은 첫 번째 단계가 발생한 다음 서명자들이 두 번째 단계를 실행하기 전에 합의를 포기할 수 있다는 점에 우려했습니다.
작은 블록 지지자들에 대해서는 뉴욕에 그들의 대표가 없었으며, 그들의 견해가 합의에 전혀 반영되지 않았습니다. 이중적인 의미나 모순되는 내용의 문장은 없었으며, 전적으로 큰 블록 지지자 쪽에서 작성된 것처럼 보였습니다. 눈에 띄게도, 합의서는 비트코인 사용자들이 프로토콜을 제어한다는 생각이나 프로토콜 규칙을 변경하기 전에 사용자의 지지가 필요하다는 아이디어를 언급하지 않았습니다. NYA는 사용자들이 의견을 제시해야 한다는 생각에 대해 입을 다물었습니다. 이것은 이 공간의 큰 기업들이 사용자에게 규칙을 상위에서 하위로 부과하는 것처럼 제시되었습니다. 비트코인이 그렇게 운영된다면, 그것은 화폐의 핵심 가치 제안을 약화시킬 것입니다. NYA 서명자들은 포크를 활성화하기 전에 사용자들을 설득하고 설득하는 것이 중요하다고 여기지 않았습니다. 대신, 그것은 위협 또는 최후통첩처럼 느껴졌습니다.
비트코인의 핵심 가치 제안을 약화시키는 것뿐만 아니라, 이것은 또한 나쁜 전략이었습니다. 비트코인 사용자들은 제어하고 싶어하며, 무엇을 해야 하는지에 대해 말해주는 것을 좋아하지 않습니다. 따라서 NYA는 비트코인 XT, 비트코인 클래식, 비트코인 언리미티드의 반복처럼 느껴졌습니다. 그들은 같은 실수를 다시 저질렀지만, 이번에는 훨씬 더 많은 업계 지지를 얻었습니다. 그러나 주목할 만한 한 가지는 업계에서 매우 중요하고 성장하는 몇몇 이름들이 NYA의 서명자가 아니었다는 것입니다. 가장 주목할 만한 부재는 당시 가장 경제적으로 중요한 회사인 Bitfinex였습니다. Local Bitcoins(당시 최대 P2P 거래소), Poloniex, BitMEX 및 채굴 풀 Slush도 눈에 띄게 부재했습니다.
작은 블록 지지자들이 가장 쉽게 분해할 수 있는 합의의 부분은 "80 퍼센트 임계값에서 분리된 증인을 활성화, 비트 4에서 신호"라는 내용이었습니다. 이것은 SegWit가 비트 1을 사용하여 활성화되기 때문에 별로 의미가 없었습니다. 채굴자들은 비트 4를 사용하여 플래그를 할 수 있었지만, 이것은 실제로 SegWit를 활성화하지 않았습니다. 회의에 참석한 어떤 사람과의 대화를 기반으로, 지한(Jihan)이 이 점을 주장했던 것 같습니다. 아마도 그는 몇 달 동안 비트 1을 사용하여 SegWit 지지를 표시하라는 압박을 받았고, 작은 블록 지지자들의 요구에 굴복하고 싶지 않았기 때문일 것입니다. 그러나 이 비트를 사용하여 SegWit를 활성화하는 것은 불가능했으므로 실제로 무슨 일이 일어날지 정확하게 명확하지 않았습니다.
NYA가 발표된 직후인 2017년 5월 22일, 비트코인과 채굴 소프트웨어 개발자 제임스 힐라드는 이 비트 4 딜레마에 대한 해결책, BIP 91을 제안하였습니다:
배리 실버트 제안의 첫 번째 부분을 두 번째 부분과 독립적으로 구현하고자 합니다:
“비트 4에서 신호를 보내면서 80%의 임계값에서 분리된 증인을 활성화합니다.”
여기서의 목표는 체인 분할 위험과 네트워크 장애를 최소화하면서도 뒤로 호환성을 최대화하고 비트 4를 사용하여 80%의 임계값에서 세그윗을 빠르게 활성화하는 것입니다.
세그윗을 즉시 활성화하고 어떤 HF와 분리하여 우리는 빠르게 확장할 수 있고, 조급하게 합쳐진 세그윗+HF는 거의 확실히 널리 퍼진 문제를 일으킬 것이기 때문에 위험을 감수하지 않을 수 있습니다.
제임스는 SegWit가 두 단계, 즉 두 개의 소프트 포크를 통해 활성화될 것을 제안했습니다. 첫 번째 소프트 포크는 NYA에서 언급된 80%의 채굴자 신호 임계값을 사용하여 활성화되고, 비트 1을 통한 SegWit 신호를 의무화할 것입니다. 이것은 그 다음 소프트 포크인 SegWit 자체를 활성화하게 됩니다. 이것은 비트 1을 통한 SegWit 신호를 의무화하는 BIP 148(UASF)와 호환되게 만들었습니다. 사실 BIP91은 BIP 148의 저자인 Shaolinfry와 제임스 힐라드 둘 다에 의해 공동으로 작성되었습니다. 결국, BIP 91을 지원하는 비트코인 코어 패치라는 Segsignal 클라이언트가 출시되었습니다. BIP 91은 매우 공격적이고 빠른 업그레이드 메커니즘이었으며, 336 블록 신호 윈도우에서 269 블록이 지원을 표시하면 활성화되었습니다.
전체 NYA를 구현하는 클라이언트에 대해서는, 이것이 BTC1라고 불릴 것이라는 것이 빠르게 알려졌고, 주요 개발자는 2010년에 처음 설정된 몇 주 후에 사토시에게 블록 크기 제한을 증가시키자고 제안한 제프 가르직이었습니다. 제프는 BTC1을 BIP 91과 호환되게 만들고, 비트 1을 통해 SegWit를 활성화하라는 요청을 받았습니다. 기술적 관점에서 보면, 비트 4를 통한 활성화는 무의미했습니다. 처음에는 제프가 거부했지만 그의 논리는 약간 혼란스러워 보였습니다.
5월 29일, BitGo의 CEO인 Mike Belshe의 이메일이 유출되었습니다. 이것은 NYA에 대한 계획과 타임라인을 포함하고 있었습니다. 비록 BitGo가 업그레이드를 위한 기술 지원을 제공하는 회사 중 하나로 NYA에 명시되어 있었지만, 그들 스스로는 합의에 서명자가 아니었습니다. 합의서의 맨 아래에는 “주의: BitGo는 초기에 발표된 목록에 잘못 포함되었습니다. 이것은 수정되었습니다.”라고 명시되어 있습니다. 일부 BitGo 직원과의 대화에서, 그들은 회사가 제거되기를 요청했으며, 양쪽 모두를 지원해야 하는 저장 및 결제 프로세서가 중립을 유지해야 한다고 생각했다는 것을 알게 되었습니다. 어쨌든, 유출된 이메일에는 소프트웨어의 알파 릴리스, 테스트넷의 론칭, 그리고 7월 21일부터 신호 시작을 포함한 제안된 타임라인이 포함되어 있었습니다.
비트코인 커뮤니티의 많은 사람들은 NYA 클라이언트의 개발과 계획이 공개 메일링 목록이 아닌 비밀로 진행되고 있음을 발견했을 때 격노했습니다. 비트코인은 개방된 시스템이어야 했으며, 개방된 검토를 받아야 했습니다. 비밀 메일링 목록이 합의 변경의 추진을 주도하는 것은 비트코인에 반대되는 것으로 간주되었습니다. 그러나 이것이 비공개로 진행된 이유는 분명했습니다. 이것이 공개적으로 이루어졌다면, 작은 블록 지지자들은 그들이 하는 것에 문제점을 지적할 것이었고, 그들의 제안을 약해 보이게 만들었을 것입니다. SegWit는 매우 복잡했으며, 대안 그룹은 그것을 제한된 이해도로 배포하려고 시도했습니다. 회고적으로 많은 과정을 비공개로 진행하는 것은 실수였다고 볼 수 있으며, 검토의 부족이 더 많은 오류를 초래하는 것처럼 보였습니다.
2017년 5월 말, 비트 4를 통한 호환되지 않는 SegWit 활성화로 인한 제프에 대한 압박은 엄청났습니다. 작은 블록 지지자들과 Dragons’ Den 참가자들은 이것이 BTC1 클라이언트의 주요 결함이라고 생각했고, 제프가 이 변화를 수용하고 BIP 91을 채택하도록 설득한다면, SegWit는 비트코인에서 최종적으로 활성화될 것이라고 생각했습니다. 활성화가 발생한 후, 작은 블록 지지자들은 NYA의 두 번째 부분, 즉 하드 포크를 중단
하는 작업을 시작할 수 있었습니다. 제프가 BIP 91을 채택하는 것을 거부함으로써 방해적이고 협조하지 않는다는 사회적 미디어의 댓글들이 가득했고, 그의 인박스에는 기술 커뮤니티 전반에서 비슷한 요구와 혐의가 가득 찼을 것입니다.
결국 2017년 6월 5일, 제프는 압박에 굴복하고 BIP 91을 자신의 BTC1 클라이언트에 포함시켰습니다. 작은 블록 지지자들이 이제 자신들의 의견을 통과시켰고, NYA 클라이언트는 이제 UASF를 구현했습니다. Dragons’ Den 내에서는 흥분된 축하가 있었습니다.
하드 포크의 활성화 로직도 이 시점에서 변경되었습니다. BTC1 클라이언트의 하드 포크는 이제 SegWit가 활성화된 후 3개월 후에 활성화될 예정이라고 했습니다(실제로 SegWit가 활성화될 경우). 이 3개월 기간은 NYA에서 언급된 6개월 기간의 절반이었으며, BTC1 클라이언트의 초기 버전에 원래 구현되었습니다. 일부 BTC1 내부자와의 대화에서, 이 변화의 이유는 사람들이 SegWit가 활성화된 후에 하드 포크에서 철회하는 시간을 줄이려는 것이라는 것을 알게 되었습니다. 이것은 하드 포크가 발생하는 것을 도울 수 있도록 하드 포크가 활성화되도록 하는 것이라고 생각했습니다. 이것은 제게 잘못된 접근 방식처럼 보였고, 이제 하드 포크를 지지하는 사람들이 사용자를 업그레이드시키기 위해 더 짧은 기간(3개월 대신 6개월)을 가지게 되었습니다.
BTC1 클라이언트와 관련하여, BIP 91을 구현한 후에도 버그가 많았습니다. 제프는 SegWit를 이해하지 못했고, SegWit의 피어 투 피어 레이어에서 몇 가지 실수를 했고, 이를 수정하기 위해 추가 입력이 필요했습니다. 또한 누군가가 6월 14일의 이메일에서 지적했듯이, BTC1 클라이언트는 하드 포크 블록 크기 제한조차 구현하지 않았습니다. 클라이언트는 4백만 단위의 가중치 상한을 유지했으며, 이것은 하드 포크를 방지하고 블록 크기 제한이 증가하지 않도록 했습니다. 제프가 새로운 SegWit 제한을 이해하지 못한 것으로 보입니다. 기억하십시오, 그는 SegWit에 제한이 두 개 있다고 생각했습니다. 이것이 지적된 후에만, BTC1의 첫 번째 버전이 출시된 후에, 실제로 하드 포크를 구현했습니다. 그들이 이해하지 못하는 것을 두 배로 만드는 것은 NYA 지지자들에게 너무 어려웠습니다.
제프도 BTC1 클라이언트에 리플레이 보호를 추가하기 위해 상당한 압박을 받았습니다. 그러나 그는 이에 반대했습니다. BTC1이 새로운 코인을 만들 것이라는 생각이 아니었고, 업그레이드 후에는 하나의 코인만 있어야 하며, 원래 규칙의 체인은 새 체인에 대한 압도적인 지지로 인해 어떻게든 사라져야 했습니다. 2016년의 이더리움 분리는 이제 고대의 역사이며 대부분의 라지 블록 지지자들은 그것을 잊어버린 것 같았습니다. 따라서 NYA 지지자들의 생각에는 리플레이 보호가 필요하지 않았습니다. 그러나 이것은 수년 동안 반복되어 오던 논란의 반복이었습니다; 어떤 사람들은 원래의 규칙 체인이 지속될 수 있을 것이라고 생각하고 따라서 리플레이 보호가 필요하다고 생각했습니다. 6월 14일, NYA의 제안을 기반으로 한 세르지오 레르너는 리플레이 보호를 지지했습니다. 이 시점에서 제프는 모든 측면에서 엄청난 압박을 받고 있었습니다:
비트코인에 대한 두 가지 다른 비전을 가진 사람들이 있습니다. 이 두 가지 비전 중 어느 것도 "틀린 것"이 아닙니다. 한 그룹은 분산화, 정부의 부재, 검열 저항성, 익명성과 같은 것들을 더 중요하게 생각합니다. 이 그룹은 20-30년 안에 비트코인이 우리 세계를 변화시킬 것이라고 생각합니다. 이 목표를 달성하기 위해 이러한 가치를 고수하는 것이 매우 중요합니다. 서두를 필요는 없습니다. 다른 그룹은 다음 5년 내에 10억 사용자를 확보하거나, 현재의 미은행 가입자들에게 실제로 서비스를 제공하는 것을 더 중요하게 생각합니다, 즉 지금 정치적 합의가 필요하다면. 두 비전 모두 그 가치가 있습니다. 그러나 그것들은 호환되지 않습니다. 리플레이 보호는 이러한 "비트코인 사용자" 각각이 자신의 비전을 완전히 밀어내는 기회를 줍니다. 두 비전 모두 공존할 수 있습니다.
2017년 6월 16일, 채굴자들은 또 다른 원탁 회의를 가졌습니다. 거의 모든 주요 채굴 풀들이 참석했습니다. 회의에서 채굴자들은 NYA를 지지하기로 합의했습니다.
BTC1의 첫 번째 릴리스에는 와이프아웃 보호 기능이 없었고, 이 책에서 앞서 설명했듯이 와이프아웃 보호 없이 논란의 여지가 있는 하드포크를 추진하는 것은 고의로 양손을 뒤로 묶고 전쟁에 나가는 것과 같습니다. 2017년 5월, 거의 두 해 동안 하드포크를 위해 싸운 후, 지한 우는 이 사실을 깨닫게 되었고 와이프아웃 보호를 위해 노력했습니다. 지한은 2017년 5월 12일부터 와이프아웃 보호를 지지했습니다:
이것은 4년 동안 논쟁되어 온 매우 중요한 합의 규칙 변경이므로, 우리는 포킹 높이에서만 또 다른 합의 규칙을 추가할 수 있습니다. 블록의 크기는 1,000,000 바이트보다 커야 합니다. 이것은 리-오그를 보호하는 매우 간단하고 직접적인 방법입니다.
제프에게 가해지는 압박이 커지면서 NYA 하드포크가 원래 생각했던 것보다 더 많은 논란을 일으킬 수 있다는 것이 분명해지자, 그는 와이프아웃 보호를 추가하기로 합의했습니다. 지한은 제프에게 BTC1에 이 기능을 추가하도록 권장했고, 6월 20일에 제프는 이를 따랐습니다. 하드포크 후에 블록을 1MB보다 크게 허용하는 것이 아니라, BTC1은 이제 첫 블록을 1MB보다 크게 요구하였고, 이것은 와이프아웃 보호의 기본 형태였습니다.
비트메인과 BU로부터 와이프아웃 방지 기능을 구현하라는 요청을 받았습니다. 나와 다른 WG 회원들도 네트워크 업그레이드를 더 예측 가능하게 만들기 위한 더 넓은 근거를 통해 이에 동의했습니다.
...
전통적인 HF 순서는 HF 규칙 변경 이후 또는 그 이후에 네트워크 포크가 발생하는 것이며, 채굴자가 1M보다 큰 첫 블록을 만들 때 발생합니다. 이를 규정하여 규칙 변경이 발생할 때 블록의 HF 반드시 1M보다 커야 한다고 제안됩니다. 이렇게 하면 포크가 특정 블록 X에서 발생함을 보장함으로써 이벤트를 더 예측 가능하게 만듭니다.
이 기능은 부실하게 구현되어 2017년 7월 11일, BTC1 테스트넷은 두 개로 분리되었습니다. 누군가가 예상보다 50배 빠르게 테스트넷 블록을 채굴해, 하드포크가 빠르게 활성화되었던 것 같습니다. 그 후 '1MB보다 큼'이라는 규칙이 어떻게 구현되었는지에 있는 버그 때문에, 첫 블록이 1MB보다 커야 한다는 것을 요구하는 BTC1의 새로운 버전은 이전의 BTC1 클라이언트와 다른 체인으로 분리되었습니다. 이는 첫 블록이 충분한 트랜잭션이 없어 1MB보다 크지 않았기 때문입니다. 이 버그와 분리는 작은 블록 주의자들이 BTC1이 약하고 버그가 많은 클라이언트라고 주장하는 데에 다시 활용되었습니다. BTC1 팀은 이것이 테스트넷을 위한 것이라고 변명했습니다. 그러나 이것은 한 가지를 보여주었습니다: BTC1은 빠르고 임의적인 일정으로 비트코인의 합의 규칙을 변경하려고 하며, 이 짧은 시간 동안 버그와 다른 마지막 순간의 변화로 이미 서로 호환되지 않는 여러 클라이언트를 출시했습니다.
7월 초쯤, 채굴자들의 약 80%에서 95%(해시 파워로)가 채굴하는 블록에 "NYA" 글자를 포함하고 있었고, NYA는 강력한 위치에 있는 것처럼 보였습니다. 그러나 사용자들 중 거의 아무도 BTC1 또는 Segnet(첫 번째 NYA만)을 실행하지 않았습니다. 동시에, 제가 대화한 주요 거래소들도 BTC1, Segnet 또는 BIP 148 클라이언트를 실행하지 않았습니다. 그들은 그냥 비트코인 코어를 실행하고 있었습니다. 따라서 전망은 매우 불확실해 보였습니다.
사실, 내가 대화한 광부들과 마이닝 풀들은 NYA의 플래그에도 불구하고 BTC1을 운영하고 있지 않았습니다. 2017년 7월 중순에 나는 NYA와 2017년 6월의 새로운 마이닝 라운드테이블 합의에 서명한 두 마이닝 풀의 사람들과 대화했습니다. 설명하자면, 광부가 BTC1을 운영하고 있다면, 이 시점에 기본적으로 비트 4와 비트 1 모두를 표시해야 합니다. 첫 번째 소프트포크가 활성화되면 비트 1이 필수가 되어 SegWit을 활성화합니다. 이 광부들은 BTC1 클라이언트를 신뢰하지 않기 때문에 Segnet 또는 Bitcoin Core를 운영하고 있다고 말했습니다. Bitcoin Core를 운영하는 사람들은 수동으로 NYA 플래그와 비트 4 및/또는 비트 1을 포함하고 있었습니다. 이것이 최고 기밀 사항이라는 것을 알게 되었고, 이것은 나에게 비밀로 공유되었다; 공개적으로는 BTC1과 NYA를 지지하는 것이 중요하다고 광부들이 설명했습니다.
7월 20일, 지한은 Bitmain이 BTC1을 운영하고 있다고 트윗했습니다. 그런데, 이 시점에서 그는 Bitmain이 비트 1 플래그를 제거하기 위해 소프트웨어를 수정했다고도 말했습니다. 지한은 SegWit을 활성화하기 전에 최대한 오랫동안 기다리는 것을 선호하는 것처럼 보였고, 이것이 의무적으로 투표하기 전에 활성화되지 않도록 확실히 했습니다.
Bitmain은 btc1 소프트웨어를 운영하고 있지만, 우리는 이 단계에서 비트 4만 투표하도록 수정했습니다.
플래깅은 명확히 문제였습니다. 광부들은 여기저기에서 플래깅하며 사용자들에게 실제로 실행하고 있는 것에 대해 오해를 불러일으켰습니다. 예를 들어, 풀들은 BTC1을 실행하지 않으면서도 NYA를 지원한다고 시그널링했습니다. 비트맨도 거짓 플래깅에 있어서 가장 나쁜 가해자 중 하나였습니다. 예를 들어, 앤트풀(비트메인의 채굴 풀)은 BTC1의 알파 릴리즈 이전에 비트 4를 실제로 플래깅했는데, 이는 아직 존재하지 않는 클라이언트를 사용하고 있음을 나타냈습니다. 2017년 7월에도 비트메인은 Bitcoin Unlimited를 지원한다고 플래깅하고 있었는데, 이 노드는 BTC1이나 SegWit를 구현하지 않았기 때문에 그들의 플래그는 모순적이었습니다.
몇 일 후, 2017년 7월 말에 가까워지면서 비트메인은 마침내 비트 1을 플래깅했습니다. 그것은 마감일 몇 일 전이었습니다. 작은 블록 지지자들은 매우 행복했습니다. 힘든 캠페인을 거쳐 SegWit이 출시된 지 10개월 이상이 지나, 공간에서 가장 큰 광부가 마침내 그것을 지원한다고 플래깅했습니다. 대부분의 작은 블록 지지자들은 이것이 결코 일어나지 않을 것이라고 믿었습니다. 이제 SegWit 활성화는 마침내 가능해 보였습니다.
BIP 91의 80% 임계치는 결국 달성되었으며, 2017년 7월 21일에 확정되었습니다. 이 새로운 일시적인 소프트포크 규칙에 따라 채굴자들은 2017년 7월 26일부터 SegWit 지원 표시를 해야 했습니다. 그 날짜가 다가올 때, 일부 비트코인 사용자들은 높은 위험에 대해 우려하였습니다. 모든 채굴자들이 준수하지 않으면 네트워크 문제가 발생할 수 있었습니다. 그러나 그 날이 오고 모든 채굴자들이 bit 1을 표시하였습니다. 체인 분할은 발생하지 않았고 SegWit은 최종적으로 확정되었으며, 그 후 비트코인 네트워크에 활성화되었습니다. 이 미친 듯한 혼란과 복잡한 연계된 마감과 활성화 메커니즘이 때문에 어떤 일이 벌어지고 있는지 추적하는 것이 거의 불가능했습니다. 몇 일마다 어떤 활성화 메커니즘이나 마감이 있었던 것처럼 보였습니다. 이 책을 이 지점까지 읽었다면, 저가 이 충돌에 상당히 집착하고 있었다는 것이 분명히 느껴질 수 있습니다. 그러나 이 시점에서도 저조차도 어떤 일이 벌어지고 있는지 추적하는 것이 어려웠습니다.
BIP 91은 2017년 8월 1일의 BIP 148 마감일 바로 전에 활성화되었으며, BIP 91이 SegWit 표시를 의무화하는 시점과 UASF가 동일하게 그렇게 될 예정이었던 시점 사이에는 단지 5일의 작은 차이가 있었습니다. 이러한 근접성은 UASF의 위협이 효과를 보였다는 것을 나타내었습니다. UASF가 성공했다는 사실은 기적적인 성취였습니다. 현대의 다윗 대 골리앗 승리였습니다. UASF는 비트코인 코어의 릴리스에서 구현되지 않았으며 가장 영향력 있는 비트코인 코어 개발자들 중 일부는 공개적으로 그것을 반대했습니다.
진정한 비트코인의 정신과 그 익명의 창시자인 사토시의 정신에서, UASF는 큰 플레이어들 사이의 공식적이고, 비공개적인 라운드테이블 회의에서 나오지 않았습니다. 대신, 그것은 익명의 개발자 Shaolinfry에 의해 공개적으로 출시되고 홍보되었습니다. 어떻게든 한 익명의 개인, 몇몇 근본주의자들과 Samson Mow에 의해 의뢰된 몇몇 모자들이 다양한 기업(비트메인)을 지원하는 많은 다른 잘 자본화된 기업들과 맞서 싸우고 이겼습니다. 나는 그런 일이 비트코인에서만 일어날 수 있다고 생각했습니다. 비트코인의 전장이 독특했기 때문에 꽤 특이한 결과를 얻을 수 있었습니다.
BIP 91 업그레이드는 작은 블록 지지자의 관점에서는 완벽하진 않았습니다. 너무 급하게 진행되었고, 짧은 336블록 투표 창은 너무 짧았습니다(단지 2.33일). 의무적인 채굴자 신호는 위험했으며, 중요하게도, 오직 채굴자들만이 BIP 91을 실행하고 있었기 때문에 업그레이드는 매우 위험했습니다. 이로 인해 채굴자와 사용자들이 다른 체인에서 남아 있을 수 있었습니다. 그러나 과정이 얼마나 지저분하고 위험하더라도, 작은 블록 지지자들은 그들의 방식을 얻었습니다. SegWit이 활성화되었고, UASF는 Jihan의 손을 강제로 움직였습니다. 이제 그들은 NYA의 두 번째 단계, 하드포크를 중단하는 데 집중할 수 있었습니다.
큰 블록 지지자들은 이러한 발전에 분노했습니다. 한 명의 주요한 큰 블록 지지자는 개인적으로 나에게 "멍청한 UASF 모자가 효과를 보였다"고 언급하며 채굴자들이 SegWit를 활성화시켰다고 말했습니다. 그는 이 모든 일이 8월 1일 이전에 발생했다는 사실에 특히 실망했습니다. 그 날짜 이후에 발생했다면, 큰 블록 지지자들의 주장인 NY
A가 SegWit을 활성화시켰다는 것, UASF가 아니라는 것이 더 설득력 있었을 것입니다. 큰 블록 지지자들은 작은 블록 운동의 가장 극단적인 부분이 비트코인을 통제하고 그들이 매우 불행하게 여기는 것을 활성화했다고 느꼈습니다. 그들은 이 시점에서 비트코인에 대해 실망하였으며, NYA의 두 번째 단계에도 별로 관심이 없었습니다.
나는 Jihan이 여기에서 기회를 놓친 것 같다고 생각했습니다. 그는 8월 1일의 마감일이 지나가기를 기다렸다가 비트코인에서 SegWit를 활성화할 수 있었습니다. 이렇게 하면 작은 블록 지지자들이 BIP 148 체인을 지원하기가 더 어려워졌을 것입니다. 왜냐하면 SegWit은 다른 체인에서 어쨌든 활성화되었을 것이기 때문입니다. Jihan은 UASF를 무찌렀다고 주장할 수 있었습니다. 그러나 Jihan은 이렇게 하지 않았고, 그 이유는 UASF가 효과를 보였기 때문으로 보였습니다. Jihan은 체인 분할을 두려워하였고, 아마도 그의 상대방의 힘을 과대평가했으며, 압박에 굴복하였습니다.
SegWit이 활성화되면서 작은 블록 지지자들은 그들의 체인인 비트코인에서 자유롭게 나아갈 수 있었습니다. 그러나 여전히 이 분야에서 많은 주요 기업들, 특히 미국 기반 및 VC 지원 기업들이 하드포크 블록 크기 증가를 약속했다는 문제가 있었습니다. 그들은 이것을 새로운 대체 코인으로 원하지 않았습니다. 그들은 이것이 비트코인이라고 원했습니다. 이러한 회사들을 설득하여 철회시키는 것은 매우 어려울 것으로 보였습니다. 블록 크기 전쟁은 그러므로 계속되었습니다. 이 하드포크는 단지 세 달 후에 발생할 예정이었으며, 전장은 뜨겁게 달아오르고 있었습니다.
Last updated