// FAQ
Pertanyaan yang sering ditanyakan. Klik untuk membuka jawaban.
ALGORITMA

Baby Step Giant Step (BSGS) adalah algoritma yang ditemukan oleh Daniel Shanks (1971) untuk memecahkan discrete logarithm problem — yaitu: "Diketahui titik P dan Q pada kurva eliptik, cari nilai k sehingga k × P = Q."

Dalam konteks Bitcoin: jika kita tahu public key (Q) dan generator point (P), kita bisa mencari private key (k). Ini adalah masalah yang sama dengan memecahkan puzzle.

Analogi sederhana:
Kamu harus menemukan angka k di antara 1 dan 1.000.000.

  • Brute force: coba 1, 2, 3, ... 1.000.000 → butuh 1.000.000 langkah
  • BSGS: bagi masalah jadi dua kelompok kecil → butuh hanya √1.000.000 = 1.000 langkah!

Cara kerja BSGS (versi sederhana):

Range pencarian: 1 sampai N
m = √N  (misalnya N=1.000.000, maka m=1.000)

BABY STEP (langkah kecil):
  Hitung dan simpan: Q, Q-P, Q-2P, Q-3P, ... Q-mP
  Simpan ke dalam tabel hash

GIANT STEP (langkah besar):
  Hitung: m×P, 2m×P, 3m×P, ...
  Setiap hasil, cek: apakah ada di tabel baby step?
  Jika ada → ketemu! Gabungkan untuk dapat k.

Perbandingan efisiensi untuk Puzzle #66:

Range Puzzle #66   : 2^65 ≈ 36.893.488.147.419.103.232 kemungkinan

Brute Force        : 36 kuadriliun operasi → ~1.000 tahun (GPU)
BSGS               : √(2^65) = 2^32,5 ≈ 6 miliar operasi + RAM besar
                     → jauh lebih singkat, tapi butuh RAM ratusan GB

Trade-off BSGS:

  • ✅ Jauh lebih cepat dari brute force
  • ✅ Deterministik — pasti menemukan jika ada di range
  • ❌ Butuh RAM sangat besar (bisa ratusan GB untuk puzzle besar)
  • ❌ Perlu public key — tidak bisa dipakai jika public key belum diketahui

Varian modern yang lebih efisien:
Untuk puzzle Bitcoin, banyak peneliti menggunakan Pollard Kangaroo Algorithm — varian probabilistik dari BSGS yang lebih hemat memori namun tetap jauh lebih cepat dari brute force, dan bisa dijalankan secara paralel di banyak komputer.

TOOLS & TEKNIS

Program HEX Range Scanner bekerja dengan cara:

  1. Mulai dari angka HEX start
  2. Konversi angka itu menjadi private key
  3. Hitung public key dari private key (pakai ECC)
  4. Hitung Bitcoin address dari public key
  5. Cocokkan dengan alamat target
  6. Jika cocok → FOUND! Simpan hasilnya
  7. Jika tidak → tambah 1, ulangi dari langkah 2

Ilustrasi cara kerjanya (pseudocode):

target  = "13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so"
current = 0x20000000000000000   ← start
end     = 0x3ffffffffffffff     ← end

WHILE current <= end:
    privkey = current
    pubkey  = privkey × G       ← perkalian titik kurva eliptik
    address = hash(pubkey)      ← SHA256 + RIPEMD160 + Base58
    
    IF address == target:
        PRINT "FOUND! Private key:", hex(privkey)
        SAVE to file
        STOP
    
    current = current + 1       ← coba angka berikutnya

Contoh penggunaan di Command Prompt:

scan-hex.exe ^
  --start   20000000000000000 ^
  --end     3ffffffffffffff   ^
  --target  13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so ^
  --threads 8

Seberapa cepat?

  • CPU biasa: ~500 ribu kunci per detik
  • GPU (RTX 3090): ~1 miliar kunci per detik
  • Puzzle #66 punya ~36 kuadriliun kemungkinan → dengan GPU RTX 3090 butuh ~1.000 tahun sendirian

Itulah mengapa orang menggunakan teknik lain seperti BSGS atau Kangaroo yang lebih cerdas dari brute force murni.

Program WIF Range Scanner pada dasarnya sama dengan HEX scanner — bedanya cuma di format input. Program ini menerima batas bawah dan atas dalam format WIF, lalu:

  1. Konversi WIF ke nilai HEX (integer)
  2. Lakukan scanning integer dari bawah ke atas
  3. Setiap iterasi, konversi kembali ke WIF untuk logging, dan ke address untuk pengecekan

Contoh konkret (dibuat-buat untuk ilustrasi):

WIF Bawah : 5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4a
WIF Atas  : 5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4z

Iterasi:
  5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4a → address → tidak cocok
  5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4b → address → tidak cocok
  5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4c → address → tidak cocok
  ... (terus sampai atas)
  5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4m → address → COCOK! ✓

Contoh penggunaan di Command Prompt:

scan-wif.exe ^
  --wif-start  5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4a ^
  --wif-end    5HueCGU8rMjxECyDialwujzvHawtmqKxpFB8KGHB5JKHD3Hji4z ^
  --target     1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf na ^
  --threads    4 ^
  --output     hasil-wif.txt

Kapan pakai WIF scanner vs HEX scanner?

  • Gunakan HEX scanner jika kamu tahu range dalam bentuk angka (lebih presisi dan lebih umum)
  • Gunakan WIF scanner jika kamu dapat petunjuk atau bocoran dalam format WIF, atau ingin scan berdasarkan pola karakter WIF tertentu

Di balik layar, keduanya melakukan hal yang persis sama — hanya format input yang berbeda.

Range HEX adalah rentang pencarian private key yang ditulis dalam sistem bilangan heksadesimal (basis 16, menggunakan angka 0-9 dan huruf A-F).

Format penulisannya: batas_bawah : batas_atas

Contoh Puzzle #66 (yang sedang banyak diburu):

Batas bawah : 0000000000000000  2000000000000000
Batas atas  : 0000000000000000  3fffffffffffffff

Artinya: private key-nya adalah salah satu dari 265 ≈ 36 kuadriliun kemungkinan angka di antara dua angka hex tersebut.

Contoh lebih sederhana — Puzzle #20 (sudah terpecahkan):

Range  : 80000 : fffff
Jawaban: ee530  (private key dalam hex)

Cara membacanya: angka ee530 memang berada di antara 80000 dan fffff — benar!

Kenapa pakai HEX? Karena komputer bekerja dengan sistem biner. HEX adalah cara kompak untuk menuliskan angka biner yang sangat panjang. Private key Bitcoin sesungguhnya adalah angka 256-bit — kalau ditulis dalam desimal biasa, panjangnya 78 digit. Dalam HEX hanya 64 karakter.

WIF (Wallet Import Format) adalah cara penulisan private key Bitcoin yang dikodekan agar lebih mudah dibaca dan diketik manusia — menggunakan Base58Check encoding.

Perbandingan format yang sama persis:

HEX : 0000000000000000000000000000000000000000000000000000000000000001
WIF : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf

HEX : 0000000000000000000000000000000000000000000000000000000000000002
WIF : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreB1FQ8BZ

Ciri khas WIF:

  • Selalu dimulai dengan huruf 5 (untuk uncompressed) atau K/L (untuk compressed)
  • Panjangnya sekitar 51-52 karakter
  • Menggunakan alfabet Base58: angka 1-9 dan huruf A-Z / a-z, kecuali 0, O, I, l (yang mudah tertukar)

Contoh Range WIF Puzzle #30 (sudah terpecahkan):

WIF bawah : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAvUcVfH
WIF atas  : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreBUekrxR

Jawaban   : 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreB1FQ8BZ

Program scanner akan mencoba satu per satu WIF dari batas bawah hingga batas atas, lalu mengecek apakah address yang dihasilkan cocok dengan target.

Mana yang lebih cepat — scan HEX atau WIF?
Secara komputasi hasilnya sama karena program akan mengkonversi WIF ke HEX dulu sebelum proses. WIF hanya format tampilan, bukan format komputasi.

Public Key adalah kunci publik yang diturunkan dari private key menggunakan matematika Elliptic Curve Cryptography (ECC). Hubungannya satu arah — dari private key bisa didapat public key, tapi tidak bisa sebaliknya.

Rantai lengkap dari private key ke address:

Private Key (256-bit angka rahasia)
      │
      │  × Generator Point G (ECC secp256k1)
      ▼
Public Key (titik pada kurva eliptik, 64 byte)
      │
      │  SHA-256 → RIPEMD-160
      ▼
Public Key Hash (20 byte)
      │
      │  Base58Check encoding
      ▼
Bitcoin Address (1xxx... atau 3xxx... atau bc1xxx...)

Format Public Key:

  • Uncompressed: 130 karakter hex, dimulai dengan 04
  • Compressed: 66 karakter hex, dimulai dengan 02 (y genap) atau 03 (y ganjil)
Private Key : 0000...0001
Public Key  : 0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798
Address     : 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH

Cara mendapatkan Public Key dari alamat puzzle:

⚠️ Ini bagian penting: Kamu tidak bisa mendapatkan public key hanya dari alamat Bitcoin — kecuali alamat tersebut pernah melakukan transaksi pengeluaran (spending).

  • Jika alamat puzzle belum pernah send transaksi: public key-nya belum terpublikasi di blockchain. Yang tersedia hanyalah hash dari public key (yaitu alamatnya itu sendiri).
  • Jika alamat puzzle sudah pernah send transaksi: public key-nya bisa dilihat di explorer blockchain seperti blockchain.info atau mempool.space — cari di bagian input transaksi.

Puzzle #66 dan puzzle-puzzle besar lainnya belum pernah digunakan untuk mengirim, sehingga public key-nya belum diketahui. Ini justru membuatnya lebih aman dari serangan algoritma tertentu.

Bloom Filter adalah struktur data probabilistik yang digunakan untuk mengecek dengan cepat: "Apakah alamat ini ada dalam daftar target saya?"

Analogi sederhana:
Bayangkan kamu punya daftar 50 juta alamat Bitcoin target. Setiap kali program menghasilkan sebuah alamat baru, ia harus mengecek: "Apakah alamat ini ada di daftar?"

  • Cara biasa: buka file, cari satu per satu → lambat sekali (bisa jutaan detik)
  • Pakai Bloom Filter: cek dalam memori RAM → selesai dalam nanodetik

Cara kerja Bloom Filter:

Daftar alamat target
        │
        ▼
[ Hash Function ] ──→ Tandai bit-bit tertentu di array raksasa
        │
        ▼
[ File .bloom ]  ──→ Disimpan di disk (ukuran jauh lebih kecil dari daftar asli)

Saat scanning:
Alamat baru → Hash → Cek bit → Ada? Cocok! / Tidak ada? Lanjut scan

Kelebihan Bloom Filter:

  • Sangat cepat — O(1), tidak peduli seberapa besar daftarnya
  • Hemat memori — 50 juta alamat bisa di-filter dengan file hanya ~100MB
  • Bisa di-load ke RAM sekali, dipakai jutaan kali

Kekurangannya: Ada kemungkinan kecil false positive (bilang "cocok" padahal tidak). Namun untuk keperluan scanning puzzle, ini dapat diterima karena program akan melakukan pengecekan ulang sebelum menyimpan hasil.

Di Control Room, file bloom filter biasanya berekstensi .bloom atau .bf dan perlu di-generate dulu dari daftar alamat target menggunakan tool yang disediakan.

UMUM

Program Command Line Interface (CLI) adalah program yang dijalankan melalui jendela teks seperti Command Prompt (Windows), Terminal (Mac/Linux) — bukan dengan klik tombol atau ikon di layar.

Cara membuka Command Prompt di Windows:

Tekan: Windows + R
Ketik: cmd
Tekan: Enter

Contoh menjalankan program scanner:

C:Tools> scan-hex.exe --start 20000000 --end 3fffffff --target 13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so

Kenapa program scanner tidak punya tampilan grafis?

  • Lebih cepat — tidak ada resource yang terbuang untuk menggambar UI
  • Lebih fleksibel — bisa dijalankan di server, bisa dikombinasikan dengan script otomatis
  • Lebih mudah dikustomisasi — cukup ganti parameter di command

Struktur command yang umum:

nama-program.exe  [opsi]          [nilai]
───────────────   ─────────────   ──────────────────────────
scan-hex.exe      --start         20000000000000000
                  --end           3ffffffffffffff
                  --target        13zb1hQbWVsc2S7ZTZnP2G4undNNpdh5so
                  --threads       8
                  --output        hasil.txt

Setiap program punya opsinya sendiri. Baca file README.txt atau jalankan nama-program.exe --help untuk melihat daftar lengkap opsinya.

Bitcoin Puzzle adalah sebuah tantangan kriptografi yang dibuat pada tahun 2015 oleh seseorang anonim. Caranya sederhana namun brilliant:

  • Dia membuat 256 alamat Bitcoin, masing-masing diisi sejumlah BTC (dari 0.001 hingga 0.256 BTC)
  • Setiap alamat punya kunci privat (private key) yang tersembunyi di dalam rentang angka tertentu
  • Siapa pun yang berhasil menemukan private key yang tepat, berhak mengambil Bitcoin di alamat tersebut

Tujuan sebenarnya bukan sekadar "hadiah" — melainkan untuk membuktikan betapa luasnya ruang kunci Bitcoin. Puzzle level rendah (1-30 bit) mudah dipecahkan dalam hitungan detik. Puzzle level tinggi (66, 130, 256 bit) butuh waktu ribuan hingga jutaan tahun bahkan dengan superkomputer.

Ini adalah bukti nyata bahwa Bitcoin aman secara kriptografi.

dalam waktu dekat, kalau jumlah members sudah di atas 500 an.
SYSTEM STATUS: OPERATIONAL · LAST UPDATE: 2026-08-27 17:24:50