#42
해결됨공개키 노출이 퍼즐의 개인키는 이미 공개돼 있고, 잔액도 인출됐습니다. 아래 값은 전부 secp256k1로 재유도해 주소와 일치하는 것을 확인한 것입니다 — 누가 옮겨 적은 값을 그대로 믿지 마세요.
키 범위 (16진)
0x20000000000 ~ 0x3ffffffffff
구간 크기
2^41 = 2.2×10^12
현재 잔액
0.00000000 BTC · 2 tx
방금 스냅샷 기준
공개키 (압축)
03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6
2019-05-31에 창작자가 이 주소에서 1,000사토시를 출금하면서 드러났습니다. BSGS·Kangaroo의 입력이 되는 값입니다.
개인키 (이미 공개됨)
000000000000000000000000000000000000000000000000000002a221c58d8f
잔액은 0입니다. 이 값은 검증과 학습용으로만 의미가 있습니다 — 이 키를 지갑에 넣어봐야 아무것도 없습니다.
공격 방법
Pollard's Kangaroo
기대 연산량 ≈ 2.1×10^6 (2^21)
브라우저 (JS, 1스레드)이 사이트의 탐색기2분
CPU · keyhunt 8스레드1초 미만
CPU · keyhunt 16스레드1초 미만
GTX 10601초 미만
RTX 30701초 미만
RTX 30901초 미만
RTX 40901초 미만
RTX 50901초 미만
RTX 4090 × 101초 미만
RTX 4090 × 1001초 미만
RTX 4090 × 1,000대형 풀 규모1초 미만
전부 대략치입니다. 구현·클럭·타깃 개수에 따라 배수로 달라지니 자릿수만 보세요. 계산기에서 직접 속도를 넣어볼 수 있습니다.
실행
이 퍼즐을 실제로 돌리는 법
추천 도구: Kangaroo (GPU)
공개키가 알려져 있으니 이산로그를 직접 풉니다. 필요 연산이 2^41 에서 2^21 로 떨어집니다.
0. 빌드 (리눅스 · CUDA)
git clone https://github.com/JeanLucPons/Kangaroo cd Kangaroo make gpu=1 ccap=86 # ccap 은 GPU 의 compute capability (4090=89, 3090=86, 1060=61) # 윈도우는 VC_CUDA102/Kangaroo.sln 을 Visual Studio 로 엽니다. macOS·AMD 는 지원하지 않습니다.
1. 입력 파일 — 시작범위 / 끝범위 / 공개키 세 줄
cat > in42.txt <<'EOF' 20000000000 3FFFFFFFFFF 03EEC88385BE9DA803A0D6579798D977A5D0C7F80917DAB49CB73C9E3927142CB6 EOF
2. 실행
./kangaroo -t 8 -gpu -gpuId 0 -w save42.work -wi 300 -o found-42.txt in42.txt
주의할 점
- 입력 파일은 순서가 중요합니다 — 시작범위, 끝범위, 공개키. 헷갈리면 아무것도 못 찾습니다.
- -d 는 distinguished point 비트입니다. 비워두면 자동으로 잡아주고, 분산할 때만 손대세요.
- -w 와 -wi 로 5분마다 진행 상황을 저장합니다. 며칠씩 도는 작업이라 필수입니다.
- 여러 대를 묶으려면 -s(서버) / -c(클라이언트) 모드를 쓰세요. 구간을 쪼개는 것보다 효율적입니다.
다른 선택지
현실 점검
이미 풀린 퍼즐입니다. 위 명령어는 학습용으로만 의미가 있습니다 — 정답을 아는 상태에서 도구가 제대로 도는지 확인하기에 좋습니다.