비트코인 옵텍 뉴스레터는 독자들에게 비트코인에서 발생하는 가장 중요한 기술 뉴스의 최고 수준 요약과 더불어 학습에 도움이 되는 자료를 제공합니다. 독자들이 비트코인에 대한 최신 정보를 유지할 수 있도록, 우리는 아래에 이 뉴스레터의 최신 호를 재발행하고 있습니다. 이 콘텐츠를 직접 이메일로 받으려면 구독하는 것을 잊지 마세요.
이번 주 뉴스레터는 잃어버린 LN 자금 거래를 복구하는 논의에 대해 설명하며, 릴리스, 릴리스 후보 및 인기 비트코인 인프라 소프트웨어의 주목할 만한 변경 사항에 대한 정기 섹션을 포함하고 있습니다.
뉴스
- 잃어버린 LN 자금 거래 복구: LN 자금 거래는 거래 변조가 존재할 경우 안전하지 않습니다. 세그윗은 대부분의 거래에 대한 제3자 변조 문제를 제거했지만, 거래 생성자가 수수료를 증가시켜 자금 거래의 txid를 스스로 변형하는 경우는 해결하지 않습니다. txid 변형이 발생하면 사전 서명된 환불 거래가 유효하지 않으므로 사용자는 자금을 되찾을 수 없습니다. 또한 원격 노드는 자금 거래를 자동으로 인식하지 못할 수 있으므로 자금 제공자가 자금을 되찾는 데 도움을 줄 수 없습니다. 이번 주, 러스티 러셀은 이 문제를 해결하기 위해 C-Lightning에 구현한 빠르고 실험적인 기능에 대해 Lightning-Dev 메일링 리스트에 게시했습니다. 그는 관련 문제에 대한 대체 솔루션과 제안된 채널 이중 자금 프로토콜이 이 문제에 미치는 영향에 대해서도 설명했습니다. 크리스찬 데커는 자금 회수 노력을 촉진하기 위해 LN 사양에 대한 제안된 변경 사항을 게시했습니다. LN 소프트웨어가 외부 지갑에서 자금 채널을 지원하기 시작함에 따라(예: 뉴스레터 #51에서 설명된 C-Lightning 및 뉴스레터 #92의 LND), 개발자들은 이러한 유형의 실패 시나리오에 더 많은 주의를 기울일 필요가 있습니다.
릴리스 및 릴리스 후보
인기 비트코인 인프라 프로젝트의 새로운 릴리스 및 릴리스 후보. 새로운 릴리스로 업그레이드하거나 릴리스 후보 테스트를 도와주시기 바랍니다.
- HWI 2.0.0은 HWI의 다음 주요 버전 릴리스입니다. 기타 개선 사항 중에는 BitBox02에서의 다중 서명 지원, 개선된 문서 및 Trezor로 OP_RETURN 출력을 지불하는 지원이 포함됩니다.
- Rust-Lightning 0.0.13은 다중 경로 결제 및 향후 스크립트 업그레이드(예: 탭루트)와의 호환성을 목표로 한 개선 사항을 포함하는 LN 라이브러리의 최신 릴리스입니다.
- BTCPay Server 1.0.7.0은 이 자가 호스팅 결제 처리 소프트웨어의 최신 릴리스입니다. 주목할 만한 개선 사항으로는 더 많은 기능과 시각적으로 매력적인 지갑 설정 마법사, Specter를 사용하여 생성된 지갑 가져오기 기능, 그리고 bech32 주소에 대한 보다 효율적인 QR 코드가 포함됩니다.
주목할 만한 코드 및 문서 변경 사항
이번 주 비트코인 코어, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, 하드웨어 지갑 인터페이스(HWI), Rust 비트코인, BTCPay Server, 비트코인 개선 제안(BIPs), 및 Lightning BOLTs에서의 주목할 만한 변경 사항입니다.
- 비트코인 코어 #21007은 새로운 -daemonwait 구성 옵션을 추가합니다. 초기 버전부터 -daemon 구성 옵션으로 프로그램을 시작하여 비트코인 코어를 백그라운드 데몬 프로세스로 실행할 수 있었습니다. -daemon 옵션은 프로그램이 즉시 백그라운드에서 데몬 프로세스를 시작하게 합니다. 새로운 -daemonwait 옵션은 유사하지만 초기화가 완료된 후에만 데몬 프로세스를 백그라운드로 전환합니다. 이는 사용자나 부모 프로세스가 프로그램의 출력이나 종료 코드를 관찰하여 데몬이 성공적으로 시작되었는지 더 쉽게 알 수 있게 합니다.
- C-Lightning #4404는 keysend RPC(뉴스레터 #107 참조)가 기능을 지원한다고 명시적으로 신호를 보내지 않는 노드에도 메시지를 보낼 수 있도록 합니다. 논의된 바와 같이, 신호는 표준화되지 않았고 LND가 구현한 절차는 신호에 의존하지 않았기 때문에 이 변경은 C-Lightning이 LND가 주소를 지정할 수 있는 대략 동일한 노드 집합에 보낼 수 있도록 해야 합니다.
- C-Lightning #4410은 이중 자금 채널에 대한 실험적 구현을 가장 최근의 초안 사양 변경 사항에 맞추었습니다. 특히, 이산 로그 동등성 증명(PODLE)의 사용이 최소한 일시적으로 삭제되었습니다(원래 PODLE에 대한 논의는 뉴스레터 #83, 대안에 대한 논의는 뉴스레터 #131 참조). 이 병합 이후, 이중 자금 실험을 더 쉽게 할 수 있도록 특별한 빌드 플래그 없이 C-Lightning을 컴파일할 필요를 없애는 새로운 PR이 열렸습니다(특별 구성 옵션은 여전히 필요할 것입니다).
- LND #5083은 PSBT를 표준 입력(stdin) 파일 설명자에서 읽는 대신 파일에서 읽을 수 있도록 합니다. 일부 터미널은 동시에 stdin에 추가할 수 있는 문자 수에 제한이 있어(즉, 붙여넣기), 4096 base64 문자를 초과하는 PSBT는 사용할 수 없었습니다. 특히 이제 여러 하드웨어 지갑이 segwit 지출을 위해 이전 거래를 포함하는 PSBT를 요구하므로(뉴스레터 #101 참조), 3 KiB 이상의 PSBT를 생성하는 것이 일반적입니다.
- LND #5033은 채널이 비활성화되었음을 광고할 수 있는 updatechanstatus RPC를 추가합니다(노드가 오프라인 상태가 되는 것과 유사) 또는 다시 활성화되었음을 광고합니다(노드가 온라인 상태로 돌아오는 것과 유사).
- Rust-Lightning #826은 채널을 일방적으로 닫는 노드에 지불하는 출력의 최대 허용 OP_CHECKSEQUENCEVERIFY 지연을 2,016 블록으로 증가시킵니다. 이는 LND와 채널을 열 때의 상호 운용성 문제를 해결하며, LND는 최대 2016 블록의 지연을 요청할 수 있습니다. 이는 이전 Rust-Lightning 최대 1008 블록보다 큽니다.
- HWI #488은 –desc 옵션을 사용할 때 displayaddress 명령이 다중 서명 주소를 처리하는 방식에서 파괴적인 변경을 구현합니다. 이전에 HWI는 관련 장치에서 사용된 것을 기반으로 BIP67 사전 정렬 키 정렬을 자동으로 적용했습니다(예: Coldcard 장치에 대해 BIP67 적용, Trezor 장치에 대해 적용하지 않음). 이렇게 구현된 방식은 사용자가 BIP67 키 정렬을 구현하는 sortedmulti 설명자 옵션을 명시적으로 지정할 때 문제를 일으켰습니다. 이 변경 이후, 설명자의 사용자는 사전 정렬 키 정렬이 필요한 장치에 대해 sortedmulti를 지정하거나 그렇지 않은 장치에 대해 multi를 지정해야 합니다.