Bitcoin Optech 뉴스레터 #430
가정용 라우터 뒤의 노드를 연결 가능하게 하는 TCP hole punching 논의가 계속되고 있다. covenant를 에뮬레이션할 때 공동 서명자가 적용하는 지출 정책을 표준화하기 위한 BIP 초안도 다룬다.
Bitcoin Optech
공식 출처에서 수집한 모든 기사.
기사 141건
가정용 라우터 뒤의 노드를 연결 가능하게 하는 TCP hole punching 논의가 계속되고 있다. covenant를 에뮬레이션할 때 공동 서명자가 적용하는 지출 정책을 표준화하기 위한 BIP 초안도 다룬다.
Bitcoin Optech
Optech 진행자들이 Greg Sanders, Antoine Poinsot, Elias Rohrer, Oleksandr Kurbatov, Nishant Bansal을 초대해 #429 내용을 되짚었다. 방송은 Bitcoin Core #36665, #36667, #36669에서 출발해 개정된 보안 정책으로 넘어가고, 뒤이어 다자간 사일런트 페이먼트, Core Lightning DoS 취약점 공개, Eclair 0.14.6을 다룬다. 녹취록은 아직 올라오지 않았다.
Bitcoin Optech
양쪽 끝을 같은 노드로 지정한 채널 공지 하나로 Core Lightning 25.02~26.04가 재시작할 때마다 다운될 수 있었다. 공격자가 치를 비용은 온체인 수수료뿐이었고, 수정은 26.04.1에 들어갔다. 뉴스레터 #429는 이 취약점 공개와 함께 Oleksandr Kurbatov의 다자간 사일런트 페이먼트 입력 프로토콜, 쉽게 발견될 만한 버그에 포인트 릴리스를 더 빨리 내는 Bitcoin Core의 방침을 전했다.
Bitcoin Optech
연결된 피어가 TCP 긴급 데이터를 보내는 것만으로 Windows, macOS, BSD 노드를 다운시킬 수 있었다(CVE-2026-117350). 이 데이터가 select() 백엔드의 읽기 일시 중지를 빠져나가 메모리에 제한 없이 쌓인 탓이다. poll()을 쓰는 Linux 노드는 영향이 없다. Project Loupe의 LLM 스캔이 찾아낸 심각도 ‘중간’ 버그로, Bitcoin Core 32.1, 31.2, 30.4, 29.5에서 고쳐졌다.
Bitcoin Core
악의적 피어가 BIP 31 핑을 지원하지 않는 척하면 20분 연결 해제를 피한 채 느리게 읽으면서, 노드의 전송 대기열을 인바운드 피어당 시간당 최대 2MB, 아웃바운드 피어당 5MB씩 불릴 수 있었다. 심각도 ‘중간’인 CVE-2026-117349는 Bitcoin Core 32.1, 31.2, 30.4, 29.5에 들어간 #36667로 해결됐다. -blocksonly 노드는 노출이 훨씬 적었다.
Bitcoin Core
채굴자가 Bitcoin Core의 undo 파일을 4GiB 넘게 키우면 32비트 위치값이 한 바퀴 돌아 데이터가 손상되고, 특정 리오그가 뒤따를 경우 노드가 종료된다. Windows와 32비트 시스템은 리오그 없이도 2GiB에서 장애가 난다. CVE-2026-117346의 심각도는 ‘낮음’으로, 네트워크 전체 블록을 한 달가량 차지해야 가능하다. 32.1, 31.2, 30.4, 29.5가 64비트 시스템의 문제를 고쳤지만 32비트 노드와 FAT32 블록 저장소는 여전히 영향권에 있다.
Bitcoin Core
poll()과 select()의 소켓 예외 감시 방식이 Bitcoin Core 29.5에서 똑같아졌다(#36665). 전송이 일시 중지된 피어에는 타임아웃을 강제하고(#36667), flatfile 위치값은 64비트 정수로 옮겼다(#36669). 시드에서 받은 주소는 v2transport를 지원한다고 간주하며, DNS 시드 하나는 목록에서 빠졌다.
Bitcoin Core
Bitcoin Core 30.4는 BIP 323에 따라 BIP 9 비트 5~28을 더는 소프트포크 신호로 보지 않는다. 이 비트를 켠 블록이 들어와도 알 수 없는 디플로이먼트 경고가 뜨지 않는다(#34779). 네트워크 쪽에서는 전송이 일시 중지된 피어에 타임아웃을 강제하고(#36667), flatfile 위치값을 64비트 정수로 바꿨다(#36669).
Bitcoin Core
프라이빗 브로드캐스트에 상한이 생겼다. Bitcoin Core 31.2에서는 네트워크에서 아직 되돌아오지 않은 트랜잭션 대기열이 1만 건에서 멈추고, 가득 차면 새 제출을 거부한다. 이때는 호출하는 쪽이 abortprivatebroadcast로 비워야 한다(#35406). 버전 비트 5~28도 BIP 323에 따라 소프트포크 신호로 치지 않는다.
Bitcoin Core
Bitcoin Core 32.1은 프라이빗 브로드캐스트의 발신자 IP 노출 위험을 없앴다. v2 연결이 실패한 뒤 v1 재시도가 Tor를 거치지 않고 직접 연결될 때 주소가 샐 수 있던 문제다. -maxconnections 기본값은 125에서 200으로 올랐고, 트랜잭션 송신 속도 제한은 피어별이 아닌 전역 백로그 방식으로 바뀌었다.
Bitcoin Core
#428 요약 방송에서 Adam Gibson이 자신이 설계한 단일 발행자 레이어2 Lichen을 설명한다. 일방적 출금은 BitVM으로 검증하는 구조다. Gustavo Flores Echaiz와 Brandon Black이 진행하는 이번 방송에는 João Dias와 Vincenzo Palazzo도 나왔으며, 해시 프리이미지용 디스크립터 문법, rbitcoin 0.8.0, LND v0.21.5-beta.rc1 이야기도 오간다.
Bitcoin Optech
허브가 거부하거나 오프라인이 돼도 단일 발행자 레이어2 사용자가 온체인으로 비트코인을 되찾을 수 있는 설계 Lichen을 Adam Gibson이 내놨다. 분쟁은 Groth16 증명과 사전 서명된 BitVMX 트랜잭션으로 가린다. 뉴스레터 #428의 또 다른 소식은 miniscript 해시 프래그먼트에 비공개 프리이미지 형식을 넣자는 João Dias의 제안이고, 소프트웨어 업데이트 난에는 Ibis Wallet v5.0-beta와 rbitcoin 0.8.0이 실렸다.
Bitcoin Optech
Erick Cestari가 #427 요약 방송에서 채널 개설 핸드셰이크에 있던 Eclair 메모리 버그 두 건을 풀어 준다. 하나는 Matt Morehouse의 퍼저가, 다른 하나는 LLM이 잡아냈다. 이어 Adam Gibson은 Lightning 채널 안에서 체스를 두는 예시로 LN-GAP을 소개하고, 방송 후반에는 Bitcoin Core 32.0rc4와 Eclair 수정 사항들을 짚는다.
Bitcoin Optech
Eclair v0.14.0 이하 버전은 채널 개설 과정에서 메모리가 바닥날 수 있었다. 한 버그는 초당 약 1MB씩 메모리를 누수했고, 다른 버그는 온체인 비용 없이 연결 하나로 약 48분 만에 4GB를 소진시켰다. 둘 다 v0.14.1에서 고쳐졌다. 뉴스레터 #427은 Adam Gibson의 LN-GAP도 나란히 실었는데, Lightning 채널 안에서 다회차 계약을 돌리는 이 방식은 정직한 다수로 이뤄진 위원회를 전제로 한다.
Bitcoin Optech
#426 요약 방송의 문을 연 Clara Shikhelman은 공동 저자로 참여한 Shielded Bitcoin을 소개한다. 합의 변경이나 운영자 없이, 보내는 사람과 받는 사람, 금액을 공개하지 않고 비트코인을 옮기자는 제안이다. 뒤이어 Spiral의 Elias Rohrer가 LDK v0.3-rc3, v0.2.7 릴리스와 LDK 코드 변경 사항을 맡았고, 진행은 Gustavo Flores Echaiz가 했다.
Bitcoin Optech
Misha Komarov가 Clara Shikhelman, Aleksei Moskvin과 함께 제안한 Shielded Bitcoin은 합의 변경 없이 온체인 비공개 전송을 구현하는 메타프로토콜이다. 다만 1회성 초기 설정 세리머니가 필요하고 진입과 이탈 시점에 흔적이 남는다. Anthony Towns는 BIP324 전송 계층에서 피어끼리 1바이트 메시지 ID를 직접 정하게 하는 BIP 초안을 썼고, Fabian Jahr는 태그드 해시의 태그에 BIP 번호를 넣어야 하는지 물었다.
Bitcoin Optech
Eclair의 피처 비트 파서는 최대 길이 메시지 하나를 처리하면서 300MB 넘게 할당했는데, 수정 후 약 200KB로 줄었다고 Matt Morehouse가 #425 요약 방송에서 밝혔다. Gustavo Flores Echaiz와 Brandon Black은 이어서 지갑 라벨 동기화, PQC 출력 유형, BIP54의 타임 워프 경계, 볼트용 코버넌트 제안을 다룬다.
Bitcoin Optech
Eclair v0.13.1 이하에서는 64kB짜리 가십 쿼리가 64MB로 불어날 수 있었고, 최대 길이 init 메시지 하나가 약 300MB를 소모했다. Matt Morehouse가 공개한 이 두 DoS 버그는 v0.14.0에서 수정됐다. Jakub은 신뢰할 수 없는 저장소를 통해 BIP329 지갑 라벨을 동기화하는 방안에 관심이 있는지 타진 중이고, 뉴스레터 #425의 합의 섹션은 양자내성 출력 유형을 다시 꺼내 들었다.
Bitcoin Optech
Ahmet Kurt가 Optech 방송의 첫 사전 녹음 코너에서 Lightning의 오프체인 영역에 양자내성 보안을 입히는 PQLN을 설명한다. 생방송 순서에는 PR 리뷰와 kernel 코드 작업을 하는 Bitcoin Core 기여자 Jan B가 Gustavo Flores Echaiz, Mike Schmidt와 함께했고, Bitcoin Core 32.0rc2와 테스트 가이드가 안건에 올랐다.
Bitcoin Optech
Ahmet Kurt와 공동 연구자들이 내놓은 PQLN은 Lightning의 가십, 전송 계층, 인보이스, 오퍼, 어니언을 양자 안전하게 바꾸되 온체인 동작은 건드리지 않는다. 거기까지 바꾸려면 합의 변경이 필요해서다. 대가는 대역폭이다. 노드의 다운로드량은 10배, 저장량은 9배로 늘어나지만 ML-DSA 서명은 0.33ms면 끝난다. 동작하는 rust-lightning 구현을 지금 바로 시험해 볼 수 있다.
Bitcoin Optech