Bitcoin Optech 뉴스레터 #430
가정용 라우터 뒤의 노드를 연결 가능하게 하는 TCP hole punching 논의가 계속되고 있다. covenant를 에뮬레이션할 때 공동 서명자가 적용하는 지출 정책을 표준화하기 위한 BIP 초안도 다룬다.
Bitcoin Optech
비트코인의 모든 것. 출처에서 직접.
공식 발표, 개발 소식, 연구, 그리고 비트코인의 주요 사건을 한곳에 모았습니다.
가정용 라우터 뒤의 노드를 연결 가능하게 하는 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
악의적 피어가 BIP 31 핑을 지원하지 않는 척하면 20분 연결 해제를 피한 채 느리게 읽으면서, 노드의 전송 대기열을 인바운드 피어당 시간당 최대 2MB, 아웃바운드 피어당 5MB씩 불릴 수 있었다. 심각도 ‘중간’인 CVE-2026-117349는 Bitcoin Core 32.1, 31.2, 30.4, 29.5에 들어간 #36667로 해결됐다. -blocksonly 노드는 노출이 훨씬 적었다.
Bitcoin Core
poll()과 select()의 소켓 예외 감시 방식이 Bitcoin Core 29.5에서 똑같아졌다(#36665). 전송이 일시 중지된 피어에는 타임아웃을 강제하고(#36667), flatfile 위치값은 64비트 정수로 옮겼다(#36669). 시드에서 받은 주소는 v2transport를 지원한다고 간주하며, DNS 시드 하나는 목록에서 빠졌다.
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
연결된 피어가 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
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
백서부터 올해의 릴리스까지. 모든 이정표는 1차 출처로 연결됩니다.
2008
사토시 나카모토가 한 암호학 메일링 리스트에 “Bitcoin: A Peer-to-Peer Electronic Cash System”이라는 글을 공개했다.
bitcoin.org/bitcoin.pdf2009
2010
2012
2017
2021
2024
2026