v2 전송: 비트코인 ​​P2P 트래픽 중단

이 기사는 기계로 번역되었습니다
원문 표시

비트코인 매거진

v2 전송: 비트코인 ​​P2P 트래픽 중단

거의 15년 동안 비트코인 ​​네트워크의 노드 간 모든 통신은 암호화 없이 완전히 암호화되지 않은 상태로 전송되었습니다. 하지만 2024년 비트코인 개선 제안 324가 채택되면서 상황이 바뀌었습니다. 이 버전에서는 노드 간 통신을 위한 "v2" 전송 프로토콜이 도입되었습니다. 새로운 프로토콜은 기회주의적 암호화를 특징으로 하며, 노드 간 메시지를 모니터링할 수 있는 공격자가 트래픽을 해독할 수 없도록 합니다. 비트코인 ​​코어 26.0에서 이 프로토콜에 대한 지원이 추가되고 27.0에서 기본적으로 활성화된 이후, 현재 전 세계 비트코인 ​​P2P 트래픽의 대부분에 사용되고 있습니다.

좀 더 넓은 관점에서 보면, 비트코인 ​​노드의 주요 기능은 블록체인의 블록, 멤풀의 거래, 다른 비트코인 ​​노드의 IP 주소와 같이 근본적으로 공개된 정보를 교환하는 것입니다. 이러한 정보는 비밀 정보가 아니기 때문에 전송 과정에서 암호화하는 것이 왜 유익한지 바로 알기는 어렵습니다. 하지만 자세히 살펴보면, 비트코인 ​​트래픽과 관련된 메타데이터 중에는 보호할 가치가 있는 정보가 많습니다. 대규모 공격자가 어떤 거래가 언제 어떤 IP 주소를 통해 전송되었는지 파악할 수 있다면, 어떤 노드가 해당 거래의 발신자, 즉 생성자인지 추론할 수 있습니다. 또한 노드 간의 연결 관계를 파악하면 특정 노드가 누구의 소유인지 알 수 있으므로 특정 회사나 채굴자 노드를 공격 대상으로 삼을 수 있습니다. 그리고 억압적인 정권 아래에서 노드를 운영하는 사용자에게는 비트코인 ​​노드를 운영하고 있다는 사실 자체가 드러나는 것이 바람직하지 않을 수도 있습니다.

사토시(SATS) 모토가 설계한 P2P 프로토콜에서 노드들은 서로 연결되어 inv ("새로운 블록/트랜잭션이 있습니다"), getdata ("해당 블록/트랜잭션을 주세요"), addr ("다른 노드의 IP 주소입니다") 등과 같은 메시지를 주고받습니다. 이러한 메시지와 지원하는 기능들은 시간이 지남에 따라 크게 변화해 왔는데, 비트코인 개선 제안 37에서는 초기 SPV 클라이언트 지원, 비트코인 개선 제안 152에서는 컴팩트 블록 릴레이 지원, 비트코인 개선 제안 155에서는 Tor v3 주소 지원 등이 그 예입니다. 하지만 이러한 메시지를 전송 프로토콜에 바이트로 인코딩하는 방식은 2009년 이후로 사실상 변하지 않았습니다. 유일한 예외는 2010년 5월에 프로토콜에 체크섬이 도입된 것입니다. 비트코인 개선 제안 324는 그 이후로 처음으로 체크섬이 도입된 버전입니다.

비트코인 프로토콜의 일부라고 할 수 있는 부분에 상당히 근본적인 변화를 가져오는 것임에도 불구하고, BIP 324는 완전히 선택 사항이라는 점에 유의해야 합니다. 이는 합의 메커니즘의 변경이 아니며, 별도의 조정이나 활성화 메커니즘도 필요하지 않았습니다. 단순히 이를 지원하는 개별 노드 간에 사용되며, 비트코인 개선 제안 324를 지원하는 노드가 지원하지 않는 다른 노드와 통신할 때는 기존의 ("v1") 전송 프로토콜을 사용합니다. 이처럼 BIP 324를 기본적으로 활성화하는 클라이언트 소프트웨어가 출시된 지 2년도 채 되지 않아, 별다른 주목을 받지 못한 채 대부분의 비트코인 ​​노드 간 통신이 암호화된 v2 전송 프로토콜을 사용하게 되었습니다.

비트코인 트래픽 암호화 아이디어는 새로운 것이 아니었습니다. 2016년 비트코인 ​​코어 개발자인 요나스 슈넬리는 연결을 암호화 모드로 전환할 수 있도록 업그레이드하는 비트코인 개선 제안 151을 제안했습니다. 이 제안은 큰 진전을 이루지 못했고, 두 노드 간의 초기 핸드셰이크를 숨길 수 없다는 한계 때문에 2019년에는 전송 프로토콜 전체를 개편하는 비트코인 개선 제안 324가 제안되었습니다. 이 보다 현대적인 접근 방식은 처음부터 암호화된 새로운 유형의 연결을 도입했습니다. 2021년 드루브 메타가 이 아이디어를 이어받아 팀 러핑, 그리고 저와 함께 완전한 의사 난수 바이트 스트림, 트래픽 셰이핑 기능, 선택적 확장 기능 등을 포함하는 정식 제안으로 발전시키면서 개발 속도가 빨라졌습니다. 저희는 2022년에 bitcoin-dev 메일링 리스트를 통해 이 기능을 발표했고, 여러 의견을 수렴하여 2022년과 2023년에 걸쳐 구현했습니다. 완전한 기능은 2023년에 비트코인 ​​코어에 병합되었습니다. 추가 테스트를 거쳐 2024년에는 (지원하는 피어가 있는) 모든 연결에 대해 기본적으로 활성화되었습니다.

새로운 프로토콜이 제공하는 완전한 의사 난수 바이트 스트림 기능은 전송되는 바이트에서 식별 가능한 패턴이 전혀 나타나지 않음을 의미합니다. 예를 들어, 보안 웹사이트("https://" URL)와의 통신에 사용되는 TLS는 웹사이트의 콘텐츠를 암호화하지만, TLS가 사용되고 있다는 사실이나 (2020년 "ECH(Encrypted Client Hello)"가 도입되기 전까지는) 사이트 요청의 호스트 이름은 암호화하지 않습니다. 비트코인 개선 제안 324 이전에 사용되었던 v1 전송 방식은 모든 연결에서 처음 16바이트를 매우 식별 가능한 고정 패턴으로 전송했기 때문에 검열 방화벽이 해당 패턴을 가진 연결을 쉽게 블록 수 있었습니다. 반면, v2 전송 방식에는 그러한 패턴이 전혀 없습니다. 제3자의 관점에서 모든 바이트는 균일하게 무작위적이므로 완전히 예측 불가능합니다. 이를 이용하여 비트코인 ​​트래픽을 블록 하려는 주체는 무작위로 보이는 모든 것을 블록 해야 하는데, 이는 비트코인과 유사한 트래픽만 차단하는 것보다 정치적으로 더 어려울 수 있습니다. 전체 프로토콜을 의사난수화하는 데 가장 어려웠던 점은 암호화가 설정되기 전 핸드셰이크 과정에서 노드들이 공개 키를 교환해야 한다는 사실이었는데, 공개 키는 단순히 무작위 바이트가 아니라는 점이었습니다. Elligator(2013)라는 비교적 최신 암호화 기술, 특히 타원 곡선 공개 키를 무작위처럼 보이는 바이트로 인코딩할 수 있는 ElligatorSwift(2022)라는 변형 덕분에 이러한 패턴마저 피할 수 있었습니다.

비트코인 네트워크의 공개적인 특성으로 인해 노드 간 암호화된 전송 계층이 제공할 수 있는 개인 정보 보호에는 상당한 한계가 있다는 점을 지적할 필요가 있습니다. 비트코인 ​​노드는 동료 노드를 신뢰하지 않으므로 누구와 통신하는지에 대해 크게 신경 쓰지 않습니다. 비트코인 ​​노드는 공개 키를 가지고 있지 않기 때문에 v2 전송 계층에서 제공하는 암호화는 기회주의적이고 인증되지 않은 방식입니다. 양측은 각 연결마다 새로운 임시 키를 생성합니다. 이는 악의적인 공격자(예: ISP)가 중간자 공격을 수행할 수 있음을 의미합니다. 즉, 연결된 양쪽 모두와 v2로 통신하지만, 그 사이의 모든 통신을 디크립트(Decrypt) 다시 암호화하여 감시하고 변조 또는 검열할 수 있습니다. 그러나 중요한 점은 이러한 공격은 v1 전송 계층에서처럼 암호화되지 않은 개별 메시지를 검사하는 것보다 대규모로 수행하기에 훨씬 더 많은 비용이 든다는 것입니다. 물론 대부분의 비트코인 ​​연결은 임의로 신뢰할 수 없는 노드에 이루어지기 때문에, 다른 노드를 대규모로 감시하려는 공격자는 직접 많은 노드를 생성하고 네트워크의 상당 부분을 해당 노드에 연결하는 방법을 항상 고려할 수 있습니다. 중간자 공격과 마찬가지로, 이러한 방식은 단순히 비트코인 ​​v1 패킷을 검사하는 것보다 대규모로 실행하는 데 더 많은 비용이 듭니다.

따라서 비트코인 개선 제안 324는 그 자체로 개인정보 보호를 강화하는 것이라기보다는, Tor나 I2P와 같은 대안 네트워크에 의존하지 않고 비트코인 ​​네트워크를 대규모로 감시하는 데 드는 비용을 높이기 위한 더 큰 노력의 일환으로 보는 것이 가장 적절합니다. 이러한 대안 네트워크는 지연 시간 증가 및 서비스 거부 공격 위험과 같은 단점을 가지고 있어 네트워크의 모든 노드에서 허용될 수 없기 때문입니다. 또한 비트코인 개선 제안 324는 암호화된 패킷의 크기만으로는 전송되는 거래 정보를 파악할 수 없도록 트래픽 셰이핑과 같이 아직 구현되지 않은 여러 기능을 제공합니다. 이러한 기능들이 향후 더욱 적극적으로 활용되기를 기대합니다.

지금 바로 The Core Issue를 구매하세요!

Core 개발자들이 직접 참여하는 프로젝트를 설명하는 글이 실린 특별 호를 놓치지 마세요 !

이 글은 비트코인 ​​매거진 최신 인쇄판 '핵심 이슈'에 실린 편집자의 편지입니다. 이번 호 전체에서 다루는 아이디어들을 미리 엿볼 수 있도록 공유합니다.

이 글 " v2 전송: 비트코인 ​​P2P 트래픽의 중단"은 비트코인 ​​매거진 에 처음 게재되었으며 Pieter Wuille 가 작성했습니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트