NEEDLESPACE
4막 · 도구

할 거면 제대로 하세요.

퍼즐 탐색에서 초보자가 가장 많이 낭비하는 건 GPU 시간이 아니라 잘못된 도구로 돌린 몇 주입니다. 공개키가 있는데 주소 완전탐색을 돌리거나, 범위를 잘못 잡거나, 압축/비압축을 헷갈리거나, 여러 대가 같은 구간을 중복해서 돌거나. 아래 생성기가 그걸 대신 판정해 줍니다.

도구 1

탐색 명령어 생성기

퍼즐을 고르면 공개키 노출 여부를 보고 쓸 수 있는 도구부터 가릅니다. 공개키가 있으면 이산로그를 직접 푸는 Kangaroo·keyhunt BSGS, 없으면 주소를 만들어 대조하는 BitCrack·keyhunt address입니다. 못 쓰는 도구는 왜 못 쓰는지도 같이 적어 뒀습니다 — 이걸 반대로 골라서 몇 주를 날리는 경우가 제일 많습니다.

GPU를 여러 장 쓰거나 친구들과 나눠 돌릴 거면 작업 나누기를 켜세요. 도구마다 맞는 방식(BitCrack은 --share, keyhunt는 -r)으로 구간이 겹치지 않게 만들어 줍니다.

7.1 BTC공개키 없음주소 완전탐색 · 1.2×10^21 연산#71 상세 →
쓸 수 있는 도구
Kangaroo이 퍼즐은 공개키가 노출되지 않았습니다. 이산로그를 풀 대상 자체가 없습니다.
옵션
GPU 제조사

CUDA 빌드와 OpenCL 빌드가 별개의 바이너리입니다. 세 도구 중 AMD 에서 도는 건 BitCrack 뿐입니다.

0

--list-devices 로 확인할 수 있습니다.

288
256
1024

셋 다 GPU마다 최적값이 다릅니다. 기본값으로 속도를 본 뒤 조정하세요.

여러 대로 나누기

한 대로 다 돌립니다. GPU를 여러 장 쓰거나 친구들과 나눠 돌릴 거면 켜세요 — 도구별로 맞는 방식(--share, -r)으로 알아서 만들어 줍니다.

BitCrack

공개키가 없는 퍼즐은 주소를 하나씩 만들어 대조하는 수밖에 없습니다. BitCrack 은 그걸 GPU에서 합니다. NVIDIA 라 CUDA 빌드(cuBitCrack)를 씁니다.

0. 빌드 (리눅스 · CUDA)
git clone https://github.com/brichard19/BitCrack
cd BitCrack
make BUILD_CUDA=1
# 윈도우는 BitCrack.sln 을 Visual Studio 로 열어 cuKeyFinder 프로젝트를 빌드하면
# cuBitCrack.exe 가 나옵니다. macOS 는 지원하지 않습니다.
실행
./cuBitCrack -d 0 -b 288 -t 256 -p 1024 -c --keyspace 400000000000000000:7fffffffffffffffff --continue progress-71.txt -o found-71.txt 1PWo3JeB9jrGwfHDNpdGK54CRas7fsVzXU
주의할 점
  • -b/-t/-p 는 GPU 마다 최적값이 다릅니다. 기본값으로 한 번 돌려 속도를 본 뒤 조정하세요.
  • --continue 를 꼭 넣으세요. 껐다 켜도 진행 위치가 유지됩니다.
  • 여러 대로 나누려면 위 '작업 나누기'를 켜세요. --share 로 겹치지 않게 분배합니다.
  • 이 구간은 400000000000000000 ~ 7fffffffffffffffff 입니다.
brichard19/BitCrack윈도우 · 리눅스 (macOS 미지원)
이 조각을 끝내는 데 걸리는 시간 · 1.2×10^21 연산
CPU · keyhunt 16스레드2,338,168년 (234만 년)
GTX 1060187,053년 (19만 년)
RTX 307046,763년 (4.7만 년)
RTX 309024,940년 (2.5만 년)
RTX 409014,964년 (1.5만 년)
RTX 50909,353년
RTX 4090 × 101,496년
RTX 4090 × 100150년
RTX 4090 × 1,00015년
도구 2

소요 시간 · 성공 확률 계산기

장비를 얼마나 모아야 의미가 생기는지 직접 굴려보세요. 슬라이더를 움직이다 보면 두 가지가 보입니다 — 비트 하나 차이가 두 배라는 것, 그리고 공개키 노출 여부가 장비 1만 대보다 크다는 것.

2^71

퍼즐 번호 = 비트 수입니다. #71이면 71.

2.5×10^9 keys/s
1
합산 속도
2.5×10^9
keys / 초
기대 연산량
1.2×10^21
2^70
전부 훑는 시간
14,964년 (1.5만 년)
평균 기준
1년 돌렸을 때 성공 확률
14,964분의 1
하루로는 의미 없는 수준
현실적으로 어렵습니다

이 설정으로는 사람의 수명 안에 끝나지 않습니다. 비트를 낮추거나(더 쉬운 퍼즐), 공개키가 노출된 퍼즐을 고르거나, 장비를 자릿수 단위로 늘려야 합니다.

계산 근거
  • · 공개키 미노출: 평균 2n-1번 시도하면 맞는다고 봅니다 (구간의 절반).
  • · 공개키 노출: Pollard's Kangaroo의 기대 연산량 ≈ 2n/2.
  • · 성공 확률은 균등분포 가정입니다. “오래 돌렸으니 곧 나올 차례”는 없습니다.