
업비트의 비트코인 과연 내 것일까?
우리 중 절대 다수는 비트코인을 업비트, 빗썸, 코인원 등의 거래소에서 구매해보거나 거래소에서만 매수가 가능하다는 생각을 가진 사람들이 많습니다.
우리가 주식을 사고파는 것도 증권사를 중계해서 한국증권거래소에서 거래를 하니까 비트코인이나 다른 코인들도 당연히 거래소들을 통해야만 사고 팔 수 있다고 생각을 하는것이 어쩌면 자연스러운 생각입니다.
"비트코인을 거래소에서 안사면 어디서 사?"
라는 생각을 가진 분들이 많다는 것 때문에 비트코인을 어떻게 사람들끼리 주고받는지 비트코인을 거래한다는 것이 무엇인지 머리속으로 그려내지 못하는 사람들이 많죠.
오늘 꼭 알아야할 핵심이야기의 시작이 바로,
비트코인의 소유는 거래소에 만든 내 업비트 계정의 매수, 매도 내역이 아니라
비트코인 지갑이라 부르는 지갑주소를 통해 이동한다는 사실입니다.
즉, 비트코인은 업비트나 빗썸같은 거래소가 아닌, '지갑주소'를 통해서만 진짜 소유할 수 있다는 점이죠.
조금 세게 표현하자면,
"당신이 거래소에서만 코인을 매수해보았다면, 당신은 단 한번도 코인을 매수한 적이 없는 겁니다."
이 개념을 확실하게 이해해야 양자컴퓨터가 가져올 비트코인의 진짜 보안 문제에 대해서 대략적으로나마 이해할 수 있기 때문입니다.
비트코인 주소가 곧 비밀번호?
FTX는 세계 3위권의 코인 거래소였습니다.
FTX를 통해 천문학적인 금액들이 오고갔고, 수많은 사람들이 이 거래소에 자신의 비트코인, 이더리움, 솔라나, 리플, 도지 등 수많은 코인들을 매수하고 보유하고 있었습니다.
그런데 FTX는 우리가 돈을 입금하고 매수한 비트코인, 이더리움 등을 제대로 보유하고 있지 않았습니다.
프로그램 상에서는 내 소유의 비트코인 개수가 보여지지만 실제로 이 돈으로 거래소에서 비트코인을 매수한 적이 없던것이죠.
이를 알고 있던 바이낸스의 CEO였던 장펑자오가 FTX의 구조를 문제삼았고, 투자자들이 출금을 하기 시작하니 실제로 돈을 갖고 있지 않고, 이런저런 곳에 투자형태로 돈을 뿌려놓은 FTX는 출금러시 속도를 따라가지 못했고 결국 뱅크런을 선포하고 맙니다.
(*내 솔라나.. ㅜㅜ 저도 피하지 못한 사건이었습니다.)

즉, 거래소는 껍데기일 뿐이고 거래소에서 내가 매수한 코인들은 차용증을 나에게 보여줄 뿐 거래소가 망하거나 실제로 어떻게 운용하고 있는지 전혀 모른채로 내 소유라고 믿고 있던 모든 코인들을 잃어버릴 수도 있습니다.
이를 블록체인 바깥에서 벌어지는 거래라고 해서 오프체인(Offchain)이라고 합니다.
오프체인에서 벌어지는 거래로는 비트코인을 소유할 수 없습니다.
비트코인의 기록이 영원하고, 해킹에 안전하다고 해도 우리는 비트코인을 소유한 적이 없으므로 비트코인의 보안 시스템의 수혜를 전혀 받지 못하죠.
비트코인을 진정으로 소유하고 주고받으려면 온체인(Onchain)에서 비트코인을 거래해야합니다.
비트코인의 블록체인안에 내 지갑 주소를 가지고 내 지갑주소에 비트코인 개수에 대한 기록을 각인시켜야만 비로소 전세계 수많은 채굴기들이 보증하는 그 엄청난 금고시스템을 이용할 수 있는 것이죠.

왜 온체인(Onchain) 개념이 중요할까?
우리는 지난 편 - '양자컴퓨터와 비트코인 1편 : 채굴은 어떻게 비트코인을 보호할까?' 에서 비트코인이라는 거대한 금고에 이용되는 자물쇠를 채굴이라는 형태로 강화시키고 있다는 것을 비유적으로 이해했습니다.
그리고 금고 내에 들어가는 내 소유를 증명할 수 있는 "서명"의 형태로 내 비트코인의 소유를 인정받을 수 있다고 이야기 했죠. 그 서명 과정은 오로지 온체인에서만 이루어지기 때문입니다.
내가 이 비트코인을 소유하고 있다고 서명을 하려면, 먼저 내 이름이나 ID가 있어야 하겠죠?
"내 이름" 으로 "몇 개"의 비트코인을 보관합니다 -> "서명"
위 과정을 거쳐야 정보와 보관하려는 행동이 모두 담겨있는 하나의 틀이 됩니다.
"내 이름"에 해당하는 것이 바로 "비트코인 지갑 주소"
"몇 개"에 해당하는 것은 "거래정보"
"서명"은 실제 내가 수행했다는 행위에 대한 "증거"가 됩니다.
즉, 비트코인 지갑 주소가 잘못되면 모든 정보는 의미가 없어지므로, 비트코인의 지갑 주소는 비트코인 네트워크 시스템에서 가장 중요한 핵심 요소가 됩니다.
바로 이 비트코인 지갑 주소가 비트코인의 블록체인 안에서 내 아이디이자 비밀번호가 되는 것이죠.
그런데 이 비트코인 지갑 주소는 우리가 웹사이트 회원가입하듯이 내가 정하는 것이 아닙니다.
비트코인 지갑 주소도 철저하게 암호화된 규칙 기반의 주소입니다.
비트코인 지갑주소의 구조는?
역사상 가장 유명한 비트코인 지갑 주소는
"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
바로 위 주소입니다.
무려, 나카모토 사토시의 지갑주소이며, 첫 블록인 제네시스 블록을 채굴해낸 지갑 주소이죠.
사토시는 이 제네시스 블록을 만들어내며 이 주소에 50개의 비트코인을 보상으로 받았습니다.
그 후 단 한번도 이 지갑은 추가적으로 채굴하지도,
거래를 하지도 않았지만 지금은 103개의 비트코인이 이 지갑에 있습니다.
트레비 분수에 동전을 던지며 소원을 빌듯이 수많은 사람들이 지금 이 순간에도 이 지갑에 비트코인을 던지면서 각자의 소망을 담아 보내고 있다는 점에서 귀엽기도 하고 묘한 기분이 듭니다.

그런데 이 지갑주소는 누가 결정한 것일까요?
비트코인 지갑을 만들게 되면, 웹사이트에 가입하는 것 처럼 아이디를 내가 결정하는 방식이 아니고 알고리즘에 의해서 결정된 매우 희귀한 비트코인 주소를 갖게 됩니다.
비트코인 지갑주소를 결정짓는 방식은 P2PKH, P2SH, SegWit 등으로 바뀌어 왔지만 그래도 바뀌지 않는 기본 틀은 바로 암호를 이용해서 자동으로 생성되는 주소라는 겁니다.
주소 타입 | 시작 문자열 | 평균 길이 | 설명 | 주소예시 |
---|---|---|---|---|
P2PKH | 1 |
26 ~ 34자 | 가장 기본 주소 | 1A1zP1eP... |
P2SH | 3 |
26 ~ 34자 | 스크립트 기반 주소 | 3J98t1W... |
Bech32 (SegWit) | bc1 |
42 ~ 62자 | 최신 세그윗 주소 (소문자만 사용) | bc1qar0s... |
자, 이 주소들은 실제로 여러분들이 사용하거나 사용하게 될 비트코인 지갑 주소들의 외형적인 형태를 결정짓는 포장지가 됩니다.
지갑 주소는 사토시의 지갑 주소를 우리 모두가 알고 있듯이 비트코인 체인에서의 아이디의 역할은 할 수 있지만,
누구나 볼 수 있는 공개된 주소이니까 비밀번호의 역할을 해서는 안됩니다.
1. 비밀키(Private Key)의 생성
자 그러면 이 지갑주소가 어떻게 결정된 것인지 하나씩 알아봅시다.
비트코인 지갑 주소는 최초에 이 비밀키에서 시작됩니다.
규칙 | 설명 |
---|---|
256비트 길이 | 고정된 비트 수 (32바이트) |
SECP256k1 타원곡선 유효 범위 | 특정 숫자 범위 내에서만 유효 |
암호학적 무작위성 | CSPRNG 기반, 예측 불가 |
중복 가능성 0% | 전 우주에서도 중복될 확률 없음 |
1개 비밀키 → 1개 지갑 | 하나의 비밀키가 하나의 공개키·주소로 연결 |
비밀키는 위와 같은 특징이 있지만 이렇게만 봐서는 잘 이해가 안되기 때문에 조금 더 자세한 설명으로 들어가 봅시다.
256비트라고 하는 것은 2²⁵⁶ 개의 숫자 중에 32바이트(32개의 영어 숫자)로 이루어진 키라는 것을 의미합니다.
이 숫자는 당연히 쉽게 가늠이 안되는 숫자인데 약 10⁷⁷개 (10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000)의 숫자중에 암호학적으로 의미가 있는(타원곡선 범위) 진정한 무작위성의 키를 말하는 겁니다.
음.. 이 숫자는 관측 가능한 모든 우주에 존재하는 별(항성) 개수보다 10⁵⁴개 개 더 많은 숫자입니다.
사실상 '무한대' 그 자체라고 볼 수 있습니다.
즉, 비밀키는 우주에 있는 별보다 훨씬 많은 숫자의 조합 중 하나입니다.
표현할 수 조차 없는 확률을 뚫고 얻어진 것 비밀키가 바로 "내 금고의 유일한 열쇠"인 셈이죠.
이 비밀키만 알면 여러분의 지갑으로 할 수 있는 모든 일을 할 수 있습니다.
따라서 비밀키가 유출되거나 세상에 알려진다는 것은 사실상 지갑의 소유권을 전세계 사람들 모두와 공유하는 것과 마찬가지가 되죠.
2. 공개키(Public Key)의 생성
우리는 우주의 별 개수보다도 많은 수많은 비밀키 후보들 중 하나를 갖게 되었습니다. 비밀키를 갖게 되는 것은 내 지갑의 소유 그 자체를 말합니다.
이 비밀키에 타원곡선 곱셈 연산을 취해주면 바로,
"공개키"가 생성됩니다.
이 공개키는 누구에게나 공개해도 되는 키입니다.
비밀키로 만들어진 공개키이지만,
역으로 공개키로 비밀키를 유추할 수가 없기 때문에 실제 비트코인의 블록체인에 기록되고 활용되는 것이 바로 공개키인 것이죠.
3. 지갑주소의 생성
공개키가 만들어져서 다양하게 활용될 수는 있지만 비트코인에서는 보다 안전성을 높이기 위해서 SHA256 + RIPEMD-160 해시를 두 번 더 적용해서 최종적인 지갑주소를 생성하게 됩니다.
이 지갑주소는 알아본대로 비밀키 -> 공개키 -> 지갑주소를 순서로 만들어져 있기 때문에 지갑주소로 비밀키를 유추하기는 너무나도 어렵습니다.
지갑주소는 마음대로 공개하고 활용해도 되는 아이디로서의 역할을 충분히 할 수 있게 되는 것이죠.
그러면 우리가 공개적으로 사용할 것은 지갑주소인데 무슨 문제가 되는거야?라고 질문할 수 있을겁니다.
몇중 보안체계로 만들어진 탄탄한 암호인데 말이죠.
문제는 이겁니다.
비트코인 블록체인에 실제로 기록되는 비트코인 트랜잭션(기록, 송장)의 구조를 간략화 하면 아래와 같습니다.

즉, 비트코인을 보내려고 하면 최초 내 비트코인의 소유를 증명하기 위해서 공개키를 한번은 무조건 네트워크에 공개해야하고, 추가적으로 받는 사람 지갑갑주소와 보낼 개수를 입력해야합니다.
그러면 비트코인 지갑에서 단 한번이라도 비트코인을 누군가에게 보냈다면?
그 지갑의 공개키가 비트코인 블록체인에 영원히 기록되고 누구나 이 공개키를 볼 수 있다는 것이죠.
비트코인 공개키가 공개되는게 무엇이 문제일까?
자, 비트코인 지갑주소에 대해서 전반적으로 정리를 해보면 간단하다.
비밀키 : 금고 마스터키 - 절대 알려져서는 안됨
공개키 : 금고 번호 - 공개를 할 수는 있지만 금고에 너무 직접적인 정보를 제공함.
비트코인 지갑주소 : 금고 입출입 아이디 - 지갑주소로는 주고받은 내역 확인 정도만 가능.
채굴에 의한 비트코인의 전반적인 안정성은 압도적으로 잘 유지된다고 해도,
비트코인의 세부 소유권에 관한 정보가 보호되지 않으면 아무런 의미가 없는 보안능력이 됩니다.
비트코인의 세부 소유권 정보인 비밀키, 공개키 그리고 비트코인 지갑주소는 현존하는 비트기반 반도체 컴퓨터로는 각 단계의 암호를 풀려면 수억년이 더 걸릴만큼 사실상 역으로 정보를 찾기가 불가능한 구조였습니다.
그런데 문제는 양자컴퓨터의 등장으로 인류가 철용성같이 믿고 있던 암호체계를 뚫을 수 있는 방법이 등장한 것이지만, 그럼에도 불구하고 여러번 암호화를 거친 비트코인 지갑주소로는 비밀키를 유추하기는 양자컴퓨터로도 쉽지 않은 일인 것이죠.

문제는 바로 공개키 입니다.
공개키는 비밀키에서 단 한번 타원곡선 곱셈에 의한 암호화를 거치게 되는데,
이 부분이 양자컴퓨터라면 풀어볼 수 있을만한 수준이 되는 것이 문제인 것이죠.
공개키에서 비밀키를 얻어낼 수만 있다면?
사실상 이 지갑주소의 모든 비트코인은 해커의 소유가 됩니다.
그런데 단 한번이라도 트랜잭션(보내기 송장)을 날린 이력이 있는 지갑들이라면 모두 공개키가 블록체인에 공개되어 있기 때문에 이 정보는 양자컴퓨터들의 먹잇감이 되기에 충분합니다.
바로 양자컴퓨터의 등장은 이 "공개키"를 노리는 하이애나가 될 것이고, 이 공개키는 비트코인의 모든 소유권의 본질인 비밀키와 직접적으로 연관되어 있다는 것이죠.
비밀키는 비트코인 소유권의 본질이고 그 구조가 비트코인 코어 정보이기 때문에 비밀키의 자릿수나 형태를 바꾸는 것은 기존에 존재하던 비트코인의 모든 거래 정보들의 존속여부와 호환성을 담보로 잡고 수정을 행하는 너무나 중대한 시도이기에 쉽지 않은 일인 것이기에 채굴 난이도 조정과는 전혀 다른 비트코인 생사가 달린 문제입니다.
💡 오늘이야기를 정리해보자면,
"양자컴퓨터는 비트코인의 공개키를 노릴 것이고,
비트코인의 철옹성같은 보안시스템을 무시하고 소유권을 바꿔치기 할 것이다."
그렇다면 양자컴퓨터의 등장에 위협받는 비트코인의 존망여부의 갈림길에서 현재와 같은 시스템으로는 여러분의 비트코인이 안전할리가 없습니다.
그러면 결국 비트코인은 양자컴퓨터에 의해 사라지게 될까요?
이 대답에 대한 힌트는 아까 '지갑주소 타입이 계속 바뀌어왔다는 것'에 있습니다.
비트코인은 구조적 탄탄함과 그 불변성 때문에 신뢰를 받고 있지만 필요에 의해서 계속 업그레이드 되고 발전해오고 있었다는 힌트가 바로 지갑주소의 타입이 바뀌어왔다는 것에 내포되어 있는 것이죠.
다음 편에서 비트코인 코어 개발자들은 양자컴퓨터에 대응해서 어떠한 노력들을 기울이고 있고,
확실하게 양자컴퓨터에 의한 공격에도 지금까지처럼 단단한 신뢰성을 유지할 수 있을 지 알아보겠습니다.
📩 무료 구독만 해도 매주 월요일, ‘주간 비트코인 뉴스레터’ 를 통해 자산시장과 비트코인 흐름을 쉽고 재미있게 받아보실 수 있습니다.
👉 더 깊은 전략과 비트코인 이야기들이 궁금하시다면 무제한으로 컨텐츠를 즐길 수 있는 [유료 구독] 을 추천드립니다.