비트코인 옵테크 뉴스레터는 독자들에게 비트코인에서 발생하는 가장 중요한 기술 뉴스의 최상위 요약과 함께 학습에 도움이 되는 자료를 제공합니다. 독자들이 비트코인에 대한 최신 정보를 유지할 수 있도록, 아래에 이 뉴스레터의 최신 호를 다시 게시합니다. 이 콘텐츠를 직접 이메일로 받으려면 구독하는 것을 잊지 마세요.
이번 주 뉴스레터는 탭루트에 대한 지갑 지원과 관련된 두 개의 제안된 BIP를 요약하고, 비트코인 스택 익스체인지에서 선택된 질문과 답변, 탭루트 준비 방법, 인기 있는 비트코인 인프라 프로젝트의 주목할 만한 변경 사항을 설명하는 정기 섹션을 포함합니다.
뉴스
- 탭루트를 위한 PSBT 확장: Andrew Chow는 탭루트 출력을 생성하거나 사용할 때 PSBT가 사용할 새로운 필드를 정의하는 제안된 BIP를 비트코인 개발 메일링 리스트에 게시했습니다. 이 필드는 원래 버전 0 PSBT와 제안된 버전 2 PSBT를 모두 확장합니다. 키패스와 스크립트패스 지출이 지원됩니다.
제안된 BIP는 PSBT의 P2TR 입력이 이전 거래의 복사본을 생략할 수 있다고 권장합니다. 이는 탭루트가 v0 세그윗 입력에 대한 수수료 초과 지불 공격을 수정하기 때문입니다. - 단일 서명 P2TR을 위한 키 파생 경로: Andrew Chow는 단일 서명 탭루트 주소를 생성하는 지갑에 사용할 BIP32 파생 경로를 제안하는 두 번째 제안된 BIP를 비트코인 개발 메일링 리스트에 게시했습니다. Chow는 이 BIP가 P2SH로 래핑된 P2WPKH 주소에 대한 BIP49 및 네이티브 P2WPKH 주소에 대한 BIP84와 매우 유사하다고 언급합니다.
비트코인 스택 익스체인지에서의 선택된 Q&A
비트코인 스택 익스체인지는 옵테크 기여자들이 질문에 대한 답을 찾거나 호기심이 많은 사용자들을 돕기 위해 잠시 여유가 있을 때 가장 먼저 찾는 장소 중 하나입니다. 이 월간 특집에서는 지난 업데이트 이후 게시된 가장 높은 투표를 받은 질문과 답변을 강조합니다.
- 미래의 소프트 포크에서 잠재적으로 최적이 아니거나 사용되지 않는 opcode를 활성화하는 것의 단점은 무엇인가요? G. Maxwell은 합의에 영향을 미치는 opcode를 활성화하기 위한 여러 고려 사항을 설명합니다:
- 초기 및 지속적인 유지 관리 비용
- opcode 사용자 및 전체 네트워크에 대한 잠재적 위험
- 노드 소프트웨어를 사용자 정의하거나 재구현하는 데 대한 복잡성 증가
- 더 나은 미래 대안 기능을 압도하는 부분적 또는 비효율적인 기능
- 우연히 잘못된 인센티브를 생성하는 것
- 블록 전체 서명 집합이 어댑터 서명을 방지하는 이유는 무엇인가요? Pieter Wuille은 교차 입력 서명 집합이 어댑터 서명 또는 스크립트 없는 스크립트와 같은 기술에 간섭하는 이유를 설명하며, “블록 전체 서명 집합의 경우, 전체 블록에 대해 단일 서명만 존재합니다. 단일 서명이 여러 독립적인 비밀을 여러 독립적인 당사자에게 드러낼 공간이 없습니다.”라고 언급합니다.
- 비트코인 코어 지갑(또는 기타 지갑)이 활성화 전 탭루트 주소로 자금을 보내는 것을 사용자에게 방지해야 할까요? Murch는 지갑 소프트웨어가 사용자가 미래의 BIP173 세그윗 출력 유형으로 보낼 수 있도록 허용해야 한다고 주장합니다. 수신자에게 지출 가능한 주소를 제공하는 책임을 지우면, 생태계는 bech32/bech32m의 전방 호환성을 활용하고 새로운 출력 유형을 즉시 사용할 수 있습니다.
- 왜 증인들이 슈노르 서명으로 분리되어 있나요? Dalit Sairio는 슈노르 서명이 ECDSA 서명과 같은 변형성을 겪지 않는데도 불구하고 여전히 분리될 것인지 질문합니다. Darosior는 변형성이 세그윗의 많은 이점 중 하나일 뿐이라고 지적합니다. Pieter Wuille은 서명 변형성이 더 넓은 스크립트 변형성의 일부일 뿐이라고 덧붙입니다.
- MuSig로 가능한 서명 수는 얼마인가요? Nickler는 MuSig와 MuSig2의 서명자 수가 사실상 무한하다고 설명하며, 100만 서명자로 기준을 잡았을 때 그의 노트북에서 약 130초가 소요된다고 언급합니다.
- P2WSH로 래핑된 P2TR 주소 지원? BIP341의 충돌 보안 문제 외에도, jnewbery는 추가 출력 유형을 갖는 것과 관련된 개인 정보 문제와 이미 널리 채택된 bech32로 인해 래핑된 탭루트 출력의 필요성에 의문을 제기합니다.
탭루트 준비 #2: 단일 서명에 탭루트가 가치가 있나요?
블록 높이 709,632에서 탭루트의 활성화를 준비하는 방법에 대한 개발자 및 서비스 제공자를 위한 주간 시리즈입니다.
옵테크의 거래 크기 계산기를 사용하여 다양한 유형의 단일 서명 거래 크기를 비교할 수 있습니다. 예상대로, P2WPKH 입력 및 출력을 사용하는 거래는 P2PKH 입력 및 출력을 사용하는 거래보다 훨씬 작지만, 놀랍게도 P2TR 거래는 동등한 P2WPKH 거래보다 약간 더 큽니다.
이로 인해 단일 서명 지갑이 블록 709,632을 준비하기 위해 탭루트 지출을 구현하는 것이 비효율적으로 보일 수 있지만, 자세히 살펴보면 단일 서명을 위한 P2TR 사용에는 지갑 사용자와 전체 네트워크 모두에게 여러 가지 장점이 있습니다.
- 지출 비용 절감: 단일 서명 P2TR UTXO를 지출하는 데 드는 비용은 P2WPKH UTXO를 지출하는 것보다 약 15% 저렴합니다. 위의 표와 같은 지나치게 단순한 분석은 지출자가 지불할 주소를 선택할 수 없다는 세부 사항을 숨깁니다. 따라서 P2WPKH를 유지하고 다른 모든 사람이 P2TR로 업그레이드하면, 실제 2-in-2-out 거래의 전형적인 크기는 232.5 vbytes가 될 것입니다. 반면 모든 P2TR 거래는 여전히 211.5 vbytes에 불과합니다.
- 개인 정보 보호: 초기 수용자가 새로운 스크립트 형식으로 변경할 때 일부 개인 정보가 손실되지만, 탭루트로 전환하는 사용자들은 즉시 개인 정보 보호 향상을 받습니다. 당신의 거래는 새로운 LN 채널, 더 효율적인 DLC, 안전한 다중 서명, 다양한 기발한 지갑 백업 복구 계획 또는 수백 가지 다른 혁신적인 개발과 구별할 수 없게 보일 수 있습니다.
현재 단일 서명에 P2TR을 사용하면 나중에 다중 서명, 탭스크립트, LN 지원 또는 기타 기능으로 지갑을 업그레이드할 수 있으며 기존 사용자의 개인 정보에 영향을 미치지 않습니다. UTXO가 이전 버전의 소프트웨어로 수신되었는지 새로운 버전으로 수신되었는지는 중요하지 않습니다. 두 UTXO는 온체인에서 동일하게 보일 것입니다. - 하드웨어 서명 장치에 더 편리함: 수수료 초과 지불 공격의 재발견 이후, 여러 하드웨어 서명 장치는 해당 거래에서 지출된 각 UTXO가 해당 UTXO를 생성한 전체 거래의 중요한 부분 복사본을 포함하는 메타데이터가 동반되지 않는 한 거래에 서명하기를 거부했습니다. 이는 하드웨어 서명자가 수행해야 하는 최악의 경우 처리량을 크게 증가시키며, 제한된 크기의 QR 코드를 주요 통신 매체로 사용하는 하드웨어 서명자에게 특히 문제가 됩니다. 탭루트는 수수료 초과 지불 공격의 근본적인 취약성을 제거하므로 하드웨어 서명자의 성능을 크게 향상시킬 수 있습니다.
- 더 예측 가능한 수수료율: P2PKH 및 P2WPKH UTXO에 대한 ECDSA 서명은 크기가 다양할 수 있습니다. 지갑은 서명을 생성하기 전에 거래의 수수료율을 선택해야 하므로, 대부분의 지갑은 최악의 경우 서명 크기를 가정하고 더 작은 서명이 생성될 때 수수료율을 약간 초과 지불할 것이라고 받아들입니다. P2TR의 경우, 서명의 정확한 크기가 미리 알려져 있어 지갑이 신뢰할 수 있는 정확한 수수료율을 선택할 수 있습니다.
- 풀 노드 지원: 비트코인 시스템의 전반적인 보안은 비트코인 사용자의 상당한 비율이 자신의 노드로 모든 확인된 거래를 검증하는 것에 달려 있습니다. 여기에는 지갑이 생성하는 거래를 검증하는 것도 포함됩니다. 탭루트의 슈노르 서명은 효율적으로 배치 검증할 수 있어, 이전 블록을 따라잡는 과정에서 서명을 검증할 때 노드가 소모해야 하는 CPU 사이클 수를 약 1/2로 줄입니다. 이 목록의 다른 모든 점을 거부하더라도, 풀 노드를 운영하는 사람들을 위해 탭루트를 사용할 준비를 고려해 보세요.
주목할 만한 코드 및 문서 변경 사항
이번 주 비트코인 코어, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, 하드웨어 지갑 인터페이스(HWI), Rust Bitcoin, BTCPay Server, 비트코인 개선 제안(BIPs), 라이트닝 BOLTs에서의 주목할 만한 변경 사항입니다.
- 비트코인 코어 #22154는 사용자가 블록 709,632에서 탭루트가 활성화된 후 P2TR 스크립트에 대한 bech32m 주소를 생성할 수 있도록 하는 코드를 추가합니다. 예를 들어, getnewaddress “” bech32m을 호출하여 생성할 수 있습니다. 거래에 탭루트 활성화 이후 어떤 bech32m 주소가 포함되면, 설명자 지갑은 P2TR 변경 출력을 사용할 것입니다. 이 기능은 탭루트 설명자가 있는 지갑에만 적용됩니다.
- 비트코인 코어 #22166은 출력에서 탭루트 tr() 설명자를 유추하는 지원을 추가하여 기본 탭루트 설명자 지원을 완료합니다. 설명자 유추는 listunspent와 같은 RPC 호출에 대한 응답에서 더 정확한 정보를 제공하는 데 사용됩니다.
- 비트코인 코어 #20966은 저장된 차단 목록 파일의 이름과 형식을 banlist.dat(직렬화된 P2P 프로토콜 addr 메시지 기반)에서 banlist.json으로 변경합니다. 파일 형식 업데이트는 새로운 목록이 Tor v3의 피어와 128비트 너비 이상의 다른 네트워크의 피어에 대한 차단 항목을 저장할 수 있도록 합니다. 이는 원래 addr 메시지가 포함할 수 있는 최대 너비입니다.
- 비트코인 코어 #21056은 bitcoin-cli에 새로운 -rpcwaittimeout 매개변수를 추가합니다. 기존 -rpcwait 매개변수는 bitcoind 서버가 시작될 때까지 명령(RPC 호출)을 전송하는 것을 지연시킵니다. 새로운 매개변수는 지정된 초 수 후 대기를 중지하고 오류를 반환합니다.
- C-Lightning #4606은 LND에서의 유사한 변경 사항에 따라 약 0.043 BTC 이상의 청구서를 생성할 수 있도록 합니다.
- BOLTs #877은 구현 버그로 인한 상당한 손실을 피하기 위해 원래 도입된 프로토콜 수준의 지불당 금액 한도를 제거합니다. 이는 2020년에 option_support_large_channel이 널리 구현된 이후 발생한 것으로, 활성화되면 채널당 금액 한도를 제거했습니다. 이 두 한도에 대한 자세한 내용은 대형 채널 주제를 참조하세요.
원본 게시물을 여기에서 확인하세요.
매달 이 콘텐츠를 직접 이메일로 받으려면 비트코인 옵테크 뉴스레터에 직접 구독해 주세요.