범위를 좁혀 놓은 160개의 지갑
2015년 1월 15일, saatoshi_rising이 트랜잭션 하나로 160개 주소에 비트코인을 나눠 보냈습니다. 각 주소의 개인키는 정해진 좁은 구간 안에서 뽑혔고, 구간은 한 칸마다 정확히 두 배씩 넓어집니다. 목적은 그의 말대로 “커뮤니티의 해독 능력을 재는 조잡한 계측기”였습니다.
2024년 9월 12일 #66이 풀렸지만, 정답자가 방송한 트랜잭션이 RBF 봇에게 대체당해 상금 상당액을 빼앗겼습니다. #69에서도 같은 일이 반복됐습니다.
퍼즐 주소에서 자금을 옮기려면 공개키와 서명을 노출해야 하고, 그 순간 멤풀을 감시하던 봇이 같은 자금을 더 높은 수수료로 가져갑니다. 대응 방법은 가이드에 정리해 뒀습니다.
“범위를 좁혔다”가 무슨 뜻인가
“주사위를 100번 굴려서 지갑을 만들었습니다. 그것도 결국 2256 안의 어떤 숫자잖아요. 그럼 내 키도 범위 안에 있는 건데, 퍼즐이랑 뭐가 다릅니까?”
맞습니다. 모든 키가 범위 안에 있습니다. 그래서 “범위 안에 있다”는 말만으로는 아무것도 구별하지 못합니다. 중요한 건 그게 아니라 그 범위에 후보가 몇 개 들어 있느냐입니다.
퍼즐 #71의 키가 들어 있는 상자에는 후보가 270개 있습니다. 당신이 주사위로 만든 키의 상자에는 2256개가 있고요. 같은 “상자 안”이지만 크기가 2186배 다릅니다.
a3f9c14b7e2d0856bf31a90c5d47e8236fa1b0c9d85e37241f6b8a0d59c3e7b2
0000000000000000000000000000000000000000000000349b84b6431a6c4ef1
0000000000000000000000000000000000000000000000400000000000000000
“패턴은 없습니다. 결정론적 지갑에서 나온 연속된 키일 뿐이고, 난이도를 맞추려고 앞을 000…0001로 가려둔 것입니다. 그냥 커뮤니티의 해독 능력을 재는 조잡한 계측기입니다.”
| 주사위 횟수 | 엔트로피 | 후보 개수 | 판정 |
|---|---|---|---|
| 20회 | 51.7비트 | 2^51 | 위험 |
| 32회 | 82.7비트 | 2^82 | 당장은 안전, 표준 미달 |
| 50회 | 129.2비트 | 2^129 | 충분히 안전 |
| 64회 | 165.4비트 | 2^165 | 충분히 안전 |
| 99회 | 255.9비트 | 2^255 | 표준 권장 |
이 표가 추상적으로 느껴지면, 위쪽 퍼즐 목록과 대조해 보세요. 20번 굴려 나오는 51.7비트는 퍼즐 #52~#53의 탐색 공간과 같습니다. 그리고 #52·#53은 이미 오래전에 풀렸습니다. 32번(82.7비트)은 #83~#84 수준이고, 아직 아무도 못 풀었습니다 — 당장은 안전하지만 마진이 없다는 뜻입니다.
주사위 한 번은 6가지라 log₂6 = 2.585비트입니다. 99번이면 255.9비트로 사실상 256비트 전부를 채웁니다 — 주사위 100번을 굴렸다면 당신의 키는 좁혀지지 않았습니다. 더 굴려도 2256을 넘을 수 없으니 의미가 없고요. 동전이나 주사위 홀짝으로 비트를 뽑는 방식이라면 한 번에 1비트라 256번이 필요합니다.- 브레인월렛 — “내가 외우기 좋은 문장”으로 키를 만들면 후보가 2256이 아니라 “사람이 떠올릴 만한 문장 몇억 개”가 됩니다. 몇 시간이면 털립니다.
- 망가진 난수 생성기 — Milk Sad(CVE-2023-39910)처럼 시드가 32비트로 줄어버리면 후보가 43억 개입니다. 노트북으로 전수 탐색이 됩니다.
- 사람이 고른 숫자 — 생일, 반복 패턴, 1부터 세기. 직관적으로 “무작위 같다”는 느낌은 엔트로피와 아무 상관이 없습니다.
공통점은 본인은 좁힌 줄 몰랐다는 것입니다. 퍼즐 창작자는 정반대로 일부러, 공개적으로 좁혔습니다. 그래서 퍼즐은 뚫린 지갑이 아니라 계측기이고, 제대로 만든 당신의 지갑은 여전히 우주에서 바늘 찾기입니다.
160개 전부
상태·상금·범위로 걸러서 볼 수 있습니다. 잔액은 미해결 퍼즐만 15분마다 온체인에서 다시 읽어옵니다 — 해결된 퍼즐은 전부 인출이 끝나 0이고, 160개를 매번 조회하면 공개 API에 민폐라서 그렇습니다. 개인키 열은 이미 공개된 값이며, 해결된 퍼즐의 키는 전부 secp256k1로 재유도해 주소와 일치하는지 확인했습니다.
77개 표시 중 · 전체 160개. “지금 다시 조회”를 누르면 당신의 브라우저가 직접 온체인을 확인합니다.