아래는 Marty’s Bent 호 #1278: “또 다른 LND/btcd 버그가 발생했습니다.” 뉴스레터에 가입하려면 여기를 클릭하세요.
한 달도 안 되는 기간 동안 두 번째로, btcd(비트코인의 대체 구현)와, 그에 따라 LND(라이트닝 구현 중 하나)가 개발자 Burak의 간섭으로 인해 비트코인 네트워크의 나머지와 호환되지 않게 되었습니다.
10월 9일, Burak은 btcd가 유효하지 않다고 인식한 998-0f-999 tapscript 멀티시그 거래를 완료했으며, 비트코인 코어 및 다른 구현들은 이를 올바르게 유효한 것으로 인식했습니다. LND의 라이트닝 네트워크 구현이 btcd에 의존하기 때문에, 이는 라이트닝 네트워크의 나머지와 호환되지 않게 되었고, 따라서 모든 사용자들이 안전하게 거래할 수 있는 능력이 방해받게 되었습니다. 이상적이지 않습니다.
어제 상황을 빠르게 전개하면 Burak은 위에서 보이는 유형의 거래로 btcd와 LND를 다시 방해했습니다: N OP_SUCCESSx가 포함된 P2TR(페이-투-탭루트) 지출로, 500,001번의 푸시가 포함되어 있으며, 이는 btcd에 하드코딩된 한계를 초과합니다. 998-of-999 tapscript 멀티시그 거래는 솔직한 실수처럼 보였지만, 어제의 거래는 Burak에 의해 명백한 악용이었습니다.
때때로 빛을 찾기 위해서는 먼저 어둠을 만져야 합니다.https://t.co/dhCwF0DxpE
— Burak (@brqgoo) 2022년 11월 1일
비트코인 마법사로서, 최근 어두운 면을 발견했습니다. 균형을 지키기 위해 어둠의 이름으로 혼돈 이론의 법칙을 소환했습니다. 책임 있는 CVE는 약한 마법이며, 균형에 해를 끼칠 뿐입니다. 신이 낮은 시간 선호를 지배하길 바랍니다.
— Burak (@brqgoo) 2022년 11월 2일
이 OP_SUCCESSx 거래에 대해 주목할 점은 일반적으로 블록에 포함되지 않는다는 것입니다. 그러나 Burak은 이 거래에 특히 높은 수수료를 붙여서 F2Pool이 거부할 수 없도록 했습니다.
이 상황은 지난 이틀 동안 많은 논란을 불러일으켰습니다. Burak이 메인넷에서 이 버그를 악용한 것이 잘못된 것인가? 그는 btcd와 LND에 취약점을 사적으로 적절히 공개했어야 했으며, 이를 통해 버그가 악용되기 전에 코드를 패치할 수 있도록 했어야 했나요? LND는 비트코인의 대체 구현인 btcd에 의존해야 할까요? btcd는 비트코인 코어가 받는 주목과 검토에 비해 거의 주목받지 못합니다.
당신의 삼촌 Marty는 이러한 모든 질문에 대한 정답을 가지고 있지는 않지만, 여러분이 이 문제에 대해 알고 있는 것이 중요하다고 생각하여 이를 여러분의 주목에 가져왔습니다.
이것이 오픈 소스 분산 시스템의 본질입니다. 많은 취약점이 존재할 수 있으며 문제를 처리하는 명확한 방법은 없습니다. 많은 사람들은 사적으로 책임 있는 공개를 옹호하는 반면, 다른 사람들은 문제를 강제로 해결하는 공개적인 적대적 행동을 옹호할 것입니다. 이것은 자유 시장 화폐 네트워크에 참여하기로 결정할 때 선택하는 거래 중 하나입니다.