양자컴퓨터가 비트코인을 위협한다는 기사를 보면 내 비트코인 주소도 해당되는지부터 궁금해져요. 어떤 주소 형식이 장기 노출 공격에 취약한지는 비트코인 개선 제안(BIP) 문서에 표로 적혀 있어요.
그래서 bitcoin/bips 저장소에서 양자 공격을 다루는 두 문서, BIP-360과 BIP-361 원문을 직접 받아 읽었어요. 원문은 2026년 9월 28일 오전 10시 55분(한국 시각)에 받았고, 두 문서의 마지막 변경 커밋이 각각 2026년 8월 3일과 4월 18일(한국 시각)이라 9월 25일 시점의 내용과 같아요. 결론부터 적을게요.
- 두 문서 모두 상태가 초안(Draft)인 제안이에요. 활성화된 규칙이 아니고, 활성화 날짜도 문서에 없어요.
- BIP-360의 표는 8가지 출력 형식 가운데 P2PK, P2MS, P2TR 세 가지를 장기 노출 공격에 취약하다고 분류해요. P2TR은
bc1p로 시작하는 탭루트 주소예요. 1,3,bc1q로 시작하는 형식에는 별표가 붙어요. 공개키가 드러나면 장기 노출 공격에 취약해질 수 있다는 뜻이에요. 주소를 재사용해서 이미 공개키가 드러난 주소에 코인이 남아 있으면 같은 처지가 돼요.- 양자컴퓨터가 언제 나올지에 대해 BIP-360은 입장을 정하지 않는다고 적었어요. 이 글도 예측하지 않아요.
![]()
두 문서가 무엇인지부터 볼게요
두 문서의 머리말을 표로 옮겼어요.
| 항목 | BIP-360 | BIP-361 |
|---|---|---|
| 제목 | Pay-to-Merkle-Root (P2MR) | Post Quantum Migration and Legacy Signature Sunset |
| 상태 | Draft(초안) | Draft(초안) |
| 유형 | Specification(명세) | Informational(정보) |
| 계층 | 합의 규칙(소프트포크) | 합의 규칙(소프트포크) |
| 번호 배정 | 2024년 12월 18일 | 2026년 2월 11일 |
| 저장소에 처음 들어간 커밋(한국 시각) | 2026년 2월 12일 | 2026년 4월 14일 |
| 먼저 필요한 문서 | BIP 340, 341, 342 | 아직 정해지지 않은 양자내성 서명 BIP |
| 저자 수 | 3명 | 6명 |
BIP-360은 새 출력 형식을 만드는 제안이고, BIP-361은 그런 새 형식이 생긴 뒤 옛 서명 방식을 단계적으로 닫자는 제안이에요. BIP-361 머리말의 선행 조건 칸에는 TBD Post Quantum Signature BIP라고 적혀 있어요. 기댈 양자내성 서명 제안이 아직 정해지지 않았다는 뜻이에요.
초안이라는 상태가 무엇을 뜻하는지, BIP 상태 표기가 어떻게 나뉘는지는 비트코인 개선 제안의 상태 표기를 정리한 글에서 따로 다뤘어요.
실제 코드에도 들어가 있지 않았어요. 9월 28일에 받은 Bitcoin Core master 소스의 consensus/params.h 에는 버전 비트 배포 목록에 시험용 항목(DEPLOYMENT_TESTDUMMY) 하나만 있었어요. 스크립트를 검사하는 interpreter.cpp 도 위트니스 버전 0(SegWit)과 버전 1(탭루트, 앵커 출력)에 해당하는 규칙만 두고, 그 밖의 버전은 앞으로의 소프트포크 호환을 위해 통과시킨다는 주석과 함께 참으로 돌려보내요. BIP-360이 쓰려는 위트니스 버전 2를 검사하는 규칙은 없었어요.
장기 노출과 단기 노출, 공격이 두 갈래예요
BIP-360은 양자 공격을 시간 기준으로 둘로 나눠요. 둘 다 양자컴퓨터로 공개키에서 개인키를 거꾸로 계산해 내는 공격인데, 공개키가 드러나 있는 시간이 달라요.
- 장기 노출 공격은 블록체인에 이미 기록된 공개키나 이미 쓰인 출력의 스크립트를 노려요. 코인이 그 출력에 남아 있는 한 공격자가 시간을 얼마든지 쓸 수 있어요.
- 단기 노출 공격은 거래가 멤풀에서 확인을 기다리는 짧은 시간 안에 공개키를 풀어내야 해요. 그래서 더 빠른 양자컴퓨터가 필요해요.
BIP-360은 장기 노출 공격이 비트코인에서 가장 먼저 가능해질 양자 공격일 가능성이 높다고 봐요. 공격자에게 시간이 넉넉하기 때문이에요. 이 글 제목의 「공개키가 먼저 드러나는 주소」는 코인을 쓰기 전부터 공개키가 체인에 보이는 주소, 즉 이 장기 노출 공격의 과녁을 가리키는 말이에요.
반대로 단기 노출 공격은 지갑 사용 습관으로 막을 수 없다고 적혀 있어요. 코인을 보내려면 공개키를 드러내야 하기 때문이에요. BIP-360은 이쪽을 완전히 막으려면 양자내성 서명이 필요할 수 있다고 적었고, 그 서명은 연구를 더 한 뒤 별도 제안으로 내겠다고만 했어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
BIP-360 표가 나눈 8가지 형식
BIP-360 본문에는 출력 형식별로 장기 노출 공격에 취약한지를 적은 표가 있어요. 원문 표를 파이썬으로 다시 읽어 세어 보니 8행이었어요.
| 출력 형식 | 표의 판정 | 주소 앞글자 |
|---|---|---|
| P2PK | Yes | 경우마다 다름(Varies) |
| P2PKH | No* | 1 |
| P2MS | Yes | 경우마다 다름(Varies) |
| P2SH | No* | 3 |
| P2WPKH | No* | bc1q |
| P2WSH | No* | bc1q |
| P2TR | Yes | bc1p |
| P2MR(제안) | No* | bc1z |
Yes가 3개, No*가 5개예요. No*에는 제안된 새 형식 P2MR 자신도 들어가 있어요. P2PK와 P2MS는 앞글자 칸이 「Varies」로 적혀 있고, 예시도 주소가 아니라 스크립트를 16진수로 적은 값이에요. 주소 앞글자로는 구분할 수 없다는 뜻이에요.
Yes 세 가지의 공통점은 출력 자체에 공개키가 들어 있다는 점이에요.
- P2PK는 이름 그대로 공개키로 보내는 형식이에요. BIP-360은 예로 사토시의 코인과 CPU 채굴자의 출력을 들어요.
- P2MS는 여러 공개키를 출력 스크립트에 그대로 적는 다중서명 형식이에요.
- P2TR은 탭루트 형식이에요. 탭루트를 정의한 BIP-341은 출력에 들어가는 32바이트 값을 공개키를 나타내는 값으로 정의하고, 위트니스에 서명 하나만 있으면 이 키로 바로 쓰는 키 경로 지출이 된다고 정해요. 이 키의 개인키를 알아내면 스크립트와 상관없이 코인을 옮길 수 있는 구조예요.
표 바로 아래 목록은 조금 다르게 적혀 있어요. 근본적으로 취약한 출력으로 P2PK, 재사용된 출력, 탭루트 출력 세 가지를 꼽고, 표에서 Yes였던 P2MS는 이 목록에 따로 나오지 않아요. 이 글은 표를 기준으로 셌어요.
주소 앞글자와 스크립트 형식이 어떻게 짝을 이루는지는 블록 6개의 출력을 형식별로 분류한 글에 표로 정리해 뒀어요.
별표가 붙은 형식이 바뀌는 순간
1, 3, bc1q로 시작하는 형식은 출력에 공개키 대신 공개키나 스크립트의 해시를 담아요. SegWit을 정의한 BIP-141을 보면 P2WPKH는 공개키의 HASH160이 20바이트 프로그램과 맞아야 하고, P2WSH는 스크립트의 SHA256이 32바이트 프로그램과 맞아야 해요. 코인을 받기만 한 상태에서는 체인에 해시만 보여요.
별표의 뜻은 표 아래 각주에 한 줄로 적혀 있어요. 원문을 옮기면 「P2PKH, P2SH, P2WPKH, P2WSH, P2MR 출력의 자금은 스크립트가 공개키를 드러내는 순간부터 장기 노출 공격에 취약해질 수 있다」예요. BIP-360은 대부분의 비트코인 거래가 코인을 보낼 때 공개키를 드러내야 한다고 적고 있어요. 한 번 보낸 뒤로는 그 공개키가 체인에 남는다는 뜻이에요.
그래서 실제로 갈리는 것은 형식보다 사용 습관이에요.
- 주소 재사용이에요. 한 번 보낸 적이 있는 주소로 다시 코인을 받으면, 그 코인은 공개키가 이미 드러난 주소에 들어가요. BIP-360의 용어 설명도 주소 재사용 같은 지갑 습관이 장기 노출 공격에 대한 취약성을 키운다고 적어요.
- 확장 공개키(xpub)와 지갑 디스크립터예요. BIP-360은 이 둘도 양자 공격에 취약한 공개키 정보를 드러낸다고 따로 적어 뒀어요.
- BIP-360 보안 절은 장기 노출 공격을 막으려면 사용자가 공개키 재사용 같은 방식으로 공개키를 드러내지 않아야 한다고 적어요.
BIP-361 저자들은 2026년 3월 기준으로 기존 양자 관련 제안 어디에도 주소 재사용으로 생긴 장기 노출을 막는 장치가 없다고 적었어요. 이미 드러난 공개키는 새 형식이 생겨도 저절로 가려지지 않는다는 뜻이에요.
P2MR이 바꾸려는 것
P2MR은 탭루트에서 키 경로 지출을 뺀 형식이에요. 탭루트 출력은 내부 공개키에 스크립트 트리를 섞은 키를 담는데, P2MR 출력은 내부 키 없이 스크립트 트리의 머클 루트만 담아요. 코인을 쓸 때는 항상 스크립트 경로로 써야 해요.
- 주소는 SegWit 버전 2를 써서 메인넷에서
bc1z로 시작해요. 출력 스크립트는OP_2다음에 32바이트 머클 루트가 오는 형태예요. - 스크립트 트리 깊이가 0인 경우, 즉 스크립트가 하나뿐인 트리는 누구나 쓸 수 있는 출력으로 취급해요. 2026년 6월 18일 버전 0.12.0에서 바뀐 내용이고, 문서는 깊이 1 이상으로 최소 두 갈래의 지출 경로를 두도록 유도해요.
- 스크립트 안에는 여전히 공개키나 키 해시가 들어갈 수 있어요. P2MR 자신이 표에서
No*인 이유예요.
이미 장기 노출에 강한 P2WSH가 있는데 왜 새 형식이 필요한지도 적혀 있어요. P2WSH는 탭스크립트를 지원하지 않아서, 앞으로 양자내성 서명 명령어를 넣을 때 쓸 OP_SUCCESSx 업그레이드 경로가 없다는 설명이에요. 탭스크립트의 이 자리가 어떤 구조인지는 비트코인 스크립트에서 꺼진 명령어를 정리한 글에서 다뤘어요.
이름도 여러 번 바뀌었어요. 변경 이력을 보면 처음에는 P2QRH였고, 2025년 9월 17일 P2TSH로, 2026년 2월 10일 지금의 P2MR로 바뀌었어요. 2025년 7월 20일에는 위트니스 버전을 3에서 2로 바꿨어요. 예전 기사에서 P2QRH라는 이름을 봤다면 같은 360번 문서의 옛 이름이에요. 다만 이름이 바뀌는 동안 설계도 바뀌어서, 옛 기사의 설명이 지금 문서와 다를 수 있어요.
대신 치르는 비용, 위트니스 69바이트
키 경로를 없앤 만큼 코인을 쓸 때 데이터가 늘어나요. BIP-360의 거래 크기 절은 여러 번 고쳐졌어요. 2026년 6월 버전 0.12.0에서 깊이 0 트리가 누구나 쓸 수 있는 출력이 되면서, 비교 기준이 깊이 0 트리(103바이트, 차이 37바이트)에서 깊이 1 트리로 바뀌었어요. 37바이트라는 수치는 이 변경 전 문서에 있던 값이에요. 7월 28일 커밋에서는 탭루트 스크립트 경로와 비교한 문장이 한 번 더 고쳐졌어요.
아래는 9월 28일에 받은 원문 수치예요. 원문 계산은 공개키 하나와 OP_CHECKSIG로 된 35바이트짜리 스크립트, 즉 서명 하나로 쓰는 스크립트를 기준으로 해요.
| 비교 | 위트니스 크기 |
|---|---|
| 탭루트 키 경로 지출 | 66바이트 |
| P2MR 깊이 1 트리 지출(서명 하나짜리 스크립트) | 135바이트 |
| 차이 | 69바이트 |
| P2MR 일반식(깊이 m) | 103 + 32 × m 바이트 |
일반식을 설명한 문장에는 깊이가 8 이상이면 컨트롤 블록 길이를 적는 칸이 1바이트가 아니라 3바이트가 된다는 각주가 붙어 있어요. 그만큼 식으로 계산한 값보다 커져요.
탭루트 키 경로 지출은 서명 하나만 있으면 되지만, P2MR은 서명에 더해 사용할 스크립트와 컨트롤 블록을 함께 올려야 해서 커져요. 반대로 탭루트를 스크립트 경로로 쓸 때와 비교하면 P2MR이 32바이트 작아요. 컨트롤 블록에서 내부 공개키가 빠지기 때문이고, 깊이가 7일 때만 34바이트 차이가 난다고 적혀 있어요.
수수료로 옮기면 어느 정도일까요. BIP-141은 거래 무게를 「기본 크기 × 3 + 전체 크기」로, 가상 크기(vB)를 무게를 4로 나눈 값으로 정해요. 위트니스 바이트는 전체 크기에만 들어가니 1바이트가 무게 1이에요. 그래서 69바이트는 약 17.25vB이고, 입력 하나당 가상 크기가 그만큼 늘어나는 셈이에요. 출력 쪽 크기는 P2MR과 P2TR이 같다고 적혀 있어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
P2MR만으로는 막지 못하는 것
BIP-360은 스스로 한계를 분명히 적어요.
- 단기 노출 공격은 막지 못해요. 코인을 보낼 때 드러나는 공개키는 P2MR에서도 드러나요. 이쪽은 앞으로 양자내성 서명이 활성화되면 줄일 수 있다고 적었어요.
- 이미 드러난 공개키는 그대로예요. P2MR은 새로 만드는 출력의 형식이에요. BIP-361 저자들도 2026년 3월 기준으로 P2PK와 P2TR 출력에 이미 드러난 공개키를 지키는 제안은 없다고 적었어요. 탭루트의 스크립트 트리를 P2MR로 옮기는 일은 간단하다고 BIP-360 보안 절이 적고 있지만, 옮기는 행동은 사용자 몫이에요.
- 활성화 전에는 보호가 없어요. BIP-360의 호환성 절은 SegWit 버전 2를 인식하지 못하는 노드가 이런 출력을 누구나 쓸 수 있는 출력으로 본다고 적어요. 위에서 본 것처럼 9월 28일 Core master에도 이 버전을 검사하는 규칙은 없었어요. 활성화 전에
bc1z로 시작하는 주소를 안내받는다면, 그 출력에는 이 제안이 말하는 보호 규칙이 아직 적용되지 않는다는 점을 알아 두면 좋아요.
BIP-361이 제안하는 두 단계
BIP-361은 양자내성 출력 형식이 생긴 뒤를 다루는 제안이에요. 옛 서명 방식인 ECDSA와 슈노르 서명을 미리 알린 일정에 따라 닫자는 내용이에요. 명세 표를 옮기면 이래요.
| 단계 | 내용 | 시점 |
|---|---|---|
| A단계 | 레거시 스크립트에서 양자내성 스크립트로 보내는 것만 허용 | BIP-361 활성화 뒤 160,000블록(약 3년) |
| B단계 | 정해진 블록 높이부터 ECDSA·슈노르 서명 검증 요건 강화 | A단계 활성화 뒤 2년 |
초록은 B단계를 활성화 5년 뒤의 날짜로 설명해요. 3년과 2년을 더한 값이에요. 다만 이 기간은 모두 활성화 뒤를 기준으로 하고, 문서 어디에도 활성화 날짜는 없어요. 선행 조건인 양자내성 서명 BIP도 아직 미정이에요.
A단계에서 막히는 「양자 공격에 취약한 주소」가 BIP-360 표의 어느 형식까지인지는 형식 이름으로 나열돼 있지 않아요. B단계의 대상도 출력 형식이 아니라 서명 방식으로 적혀 있어요.
B단계에서 옛 서명으로 코인을 쓰려면 구제 프로토콜을 거쳐야 한다는 구상이에요. 예로 BIP-32 방식 지갑에서 강화 파생을 쓴 경우, 상위 개인키를 안다는 것을 증명하는 방법을 들어요. 저자들은 이런 방식이 옛 공급량을 얼마나 덮을 수 있을지는 아직 지켜봐야 한다고 적었고, P2PK 출력은 현재로서는 구제 프로토콜을 만들 방법이 알려져 있지 않다고 적었어요.
하위 호환 절도 읽어 둘 만해요. 업그레이드하지 않은 지갑은 A단계 전까지는 평소처럼 주고받을 수 있고, A단계 뒤로는 받을 수 없고 업그레이드한 지갑으로만 보낼 수 있다고 적혀 있어요. B단계 뒤로는 보내는 쪽과 받는 쪽 모두 업그레이드가 필요해요.
BIP-361 동기 절에는 「2026년 3월 1일 기준 전체 비트코인의 34퍼센트 넘게 공개키가 체인에 드러나 있다」는 문장도 있어요. 저자들의 주장이고 집계 방법은 문서에 적혀 있지 않아요. 이 글은 이 수치를 따로 집계하지 않았어요.
언제 올지에 대해 두 문서가 적은 것
두 문서는 시점에 대한 태도가 달라요.
- BIP-360은 양자컴퓨터가 언제, 혹은 과연 실용화될지 불분명하다고 적고, 결론에서 특정 일정에 대해 입장을 정하지 않는다고 밝혀요. 스스로를 겁먹기보다 준비하자는 접근이라고 불러요.
- BIP-360 동기 절은 배경으로 미국 쪽 일정을 인용해요. CNSA 2.0이 소프트웨어와 네트워크 장비는 2030년까지, 브라우저와 운영체제는 2033년까지 양자내성 방식으로 바꾸도록 했고, NIST IR 8547에 따라 미국 연방정부 안에서 타원곡선 암호가 2035년 이후 허용되지 않을 계획이라는 내용이에요. 타원곡선과 양자내성 알고리즘을 함께 쓰는 하이브리드 방식은 예외로 적혀 있어요. 비트코인 일정이 아니라 다른 분야의 정책 일정이고, 이 글은 두 원자료를 열어 확인하지 않았어요.
- BIP-361은 맥킨지 자료를 인용해, 암호를 깰 수 있는 수준의 양자컴퓨터가 이르면 2027년에서 2030년 사이에 나올 수 있다는 학계 로드맵 추정을 적어요. 저자들이 인용한 외부 추정이고, 이 글은 그 자료를 열어 보지 않았어요.
이 글은 어느 쪽 시점도 예측하지 않아요. 확인한 것은 두 제안이 초안이라는 점과 문서에 적힌 분류까지예요.
내 주소 형식은 어떻게 확인하나요
지갑의 받기 화면에 나오는 주소 앞글자로 대략 나눌 수 있어요.
| 주소 앞글자 | 형식 | BIP-360 표의 판정 |
|---|---|---|
1 | P2PKH | No* |
3 | P2SH | No* |
bc1q | P2WPKH 또는 P2WSH | No* |
bc1p | P2TR | Yes |
bc1p로 시작하는 탭루트 주소는 받는 순간부터 출력에 공개키가 들어 있어요. 새 주소를 써도 출력마다 공개키가 들어 있다는 점은 같아요. 나머지 세 앞글자는 공개키가 드러나기 전까지 해시만 보이지만, 한 번 보낸 주소를 다시 쓰면 별표의 조건에 걸려요.
BIP-360이 장기 노출 공격을 막는 조건으로 적은 것은 공개키를 재사용 같은 방식으로 드러내지 않는 것이에요. 별표 형식에서는 받을 때마다 새 주소를 쓰는 습관이 이 조건과 맞닿아 있어요. 두 제안 모두 활성화 날짜가 없으니, 제안 때문에 정해진 기한은 아직 없어요.
확정된 것과 제안인 것
| 구분 | 내용 | 근거 |
|---|---|---|
| 문서 사실 | BIP-360과 BIP-361 모두 초안(Draft) | 두 문서 머리말, README 목록 |
| 문서 사실 | 8가지 형식 중 Yes 3가지(P2PK, P2MS, P2TR) | BIP-360 표 |
| 문서 사실 | 별표 형식은 공개키가 드러나면 취약해질 수 있음 | BIP-360 표 각주 |
| 코드 확인 | Core master에 위트니스 버전 2 검사 규칙 없음 | consensus/params.h, interpreter.cpp |
| 제안 내용 | bc1z 주소, 탭루트 키 경로 지출 대비 위트니스 69바이트 증가(깊이 1, 서명 하나짜리 스크립트 기준) | BIP-360 주소 형식·크기 절 |
| 제안 내용 | A단계 160,000블록, B단계는 그 뒤 2년 | BIP-361 명세 표 |
| 저자 주장 | 비트코인의 34퍼센트 넘게 공개키 노출 | BIP-361 동기 절, 이 글은 집계하지 않음 |
| 서술 없음 | 두 제안의 활성화 날짜 | 두 문서 모두 |
| 인용만 있음 | 양자컴퓨터 도래 시점(BIP-361은 맥킨지 추정을 인용, BIP-360은 입장 없음) | BIP-361 동기 절, BIP-360 결론 절 |
정리하면, BIP-360 초안이 양자컴퓨터의 장기 노출 공격에 취약하다고 분류한 형식은 출력에 공개키가 들어 있는 P2PK, P2MS, P2TR이에요. 1, 3, bc1q 형식은 공개키가 드러나기 전까지는 해시만 보이지만, 주소 재사용이나 확장 공개키 공유로 그 조건이 깨질 수 있어요. 새 형식 P2MR과 단계적 종료 계획은 모두 초안이고, 활성화 날짜는 어디에도 없어요.
이 글은 매매 권유가 아닌 정보 제공 글이에요. 양자컴퓨터와 가격의 관계는 다루지 않았어요. 가상자산은 변동성이 크고 원금 손실 위험이 있으며, 투자 판단은 본인 책임이에요.