RPS minggu 6 · 2x50 menit
Kriptografi & Penerapannya pada Blockchain Dasar Teknologi Finansial & Mata Uang Kripto — Magister Manajemen FEB UNDIP Hari ini kita masuk ke matematika yang membuat blockchain trustless: kriptografi. Tanpa hash function, digital signature, dan Merkle tree, blockchain mustahil bekerja. Pekan lalu kita bahas anatomi block dan konsensus PoW; hari ini kita bedah fondasi matematisnya — kenapa SHA-256 dianggap aman, kenapa private key tidak bisa direverse-engineer dari public key, dan kenapa transaksi Bitcoin bisa diverifikasi tanpa trust. Pemahaman ini krusial sebelum kita masuk ke Bitcoin (P9), Ethereum (P10), smart contract (P7), dan regulasi kripto (P11). Anda sebagai manajer keuangan tidak harus bisa hitung ECDSA sendiri, tetapi harus paham mengapa exchange kripto, bank digital, dan CBDC bergantung pada asumsi matematis ini. Peta Pembelajaran Hari Ini Sub-CPMK 6: menjelaskan prinsip kriptografi yang mendasari keamanan dan integritas blockchain. Empat indikator yang harus Anda kuasai sebelum keluar kelas.
Symmetric vs asymmetric cryptography; AES & ChaCha20 Public Key Infrastructure (PKI) vs trustless blockchain Hash function & tiga properti resistance (preimage, second-preimage, collision) Digital signature: ECDSA, EdDSA, Schnorr, BLS Address Bitcoin & Ethereum dari key pair Merkle tree & zero-knowledge proof (zk-SNARK) Posisi dalam alur 14 pertemuan: jembatan matematis antara blockchain fundamental (P5) dan smart contract (P7) → Bitcoin/Ethereum (P9-P10).
Empat indikator yang harus Anda kuasai: (1) membedakan symmetric vs asymmetric cryptography dan kapan masing-masing dipakai; (2) menjelaskan hash function dan tiga properti resistance-nya; (3) menjelaskan digital signature dan varian ECDSA, EdDSA, Schnorr, BLS; (4) mengevaluasi Merkle tree dan zero-knowledge proof. Kunci dari kuliah ini adalah memahami bahwa keamanan blockchain tidak bersifat relatif atau probabilistik melainkan matematis — bertumpu pada hardness discrete logarithm dan keamanan fisik SHA-256. Kalau di akhir kuliah Anda bisa menjelaskan kenapa scan tanda tangan basah di PDF berbeda dengan tanda tangan digital ECDSA, Anda sudah menguasai inti hari ini. Mengapa Private Key Adalah Uang Itu Sendiri Chainalysis memperkirakan ~20% Bitcoin (~4 juta BTC) hilang permanen karena private key hilang (dihedge ~). Nilai pasarnya ratusan miliar USD.
BTC Hilang Permanen
~4 juta BTC
~20% dari supply 21 juta (Chainalysis, dihedge ~) — tidak ada customer service untuk reset
Nilai Pasar (ilustratif)
~USD 200+ M
Pada BTC ~USD 50-60 ribu (dihedge ~); uang yang tidak bisa diakses siapa pun selamanya
Pertanyaan pemantik: kalau private key hilang, kenapa tidak bisa di-reset seperti password bank? Apa konsekuensi manajerial untuk custody institusi?
📖 Baca juga: Value at Risk — kerangka kuantitatif risiko yang relevan untuk menilai eksposur custody aset kripto.
Saya ingin Anda merasakan skala masalah ini secara intuitif. Sekitar 4 juta Bitcoin — 20% dari total supply — diperkirakan hilang permanen karena pemiliknya kehilangan private key. Tidak ada bank sentral atau customer service untuk reset; private key adalah satu-satunya otoritas. Inilah perbedaan fundamental antara cryptography-based identity (blockchain) dengan PKI-based identity (bank, email). Implikasi manajerial besar: exchange kripto, custodian institusi (Coinbase Custody, Fireblocks), dan bank yang menawarkan crypto vault harus menyusun skema multisig, MPC, atau cold storage untuk mencegah kerugian akibat hilangnya satu key. Sebagai calon manajer keuangan, pertimbangkan risiko custody sebagai biaya operasional, bukan sekadar detail teknis. Bagian 1 · 1/4
Dasar Kriptografi
Diskusi kelas: apakah "enkripsi" WhatsApp (symmetric) sama dengan "enkripsi" transaksi Bitcoin? Mengapa berbeda?
Blok pertama membahas dasar kriptografi. Pertanyaan diskusi sengaja memancing miskonsepsi: banyak mahasiswa mengira semua enkripsi sama. WhatsApp memakai symmetric (Signal protocol) untuk kerahasiaan pesan; Bitcoin memakai asymmetric (ECDSA) untuk otorisasi transaksi. Keduanya kriptografi, tetapi tujuan dan mekanisme sangat berbeda. Pahami distingsi ini sebelum kita masuk ke detail ECDSA dan hash di blok berikut. Symmetric vs Asymmetric Cryptography Dua keluarga cryptography dengan trade-off berbeda — blockchain memakai asymmetric untuk identitas, symmetric untuk enkripsi data.
Satu key untuk enkripsi & dekripsi (AES, ChaCha20) Cepat — cocok untuk data besar Tantangan: distribusi key antar-pihak Contoh: WhatsApp (Signal), TLS data flow, file vault Public key & private key (RSA, ECC) Lambat — untuk key exchange & signature Solve distribusi: public key boleh dibagikan Blockchain pakai asymmetric untuk signature transaksi Hybrid modern: asymmetric (X3DH) untuk handshake sesi, symmetric (Signal/AES-GCM) untuk pesan/data. Bitcoin: asymmetric (ECDSA secp256k1) untuk tanda tangan transaksi.
Perbedaan symmetric-asymmetric ini adalah jantung kriptografi modern. Symmetric memakai satu kunci untuk lock dan unlock — cepat, tetapi masalahnya bagaimana mengirim kunci ke pihak lain tanpa disadap. Asymmetric menyelesaikan ini dengan sepasang kunci: public key boleh dibagikan ke siapa pun, private key tetap rahasia. Apa yang dienkripsi dengan public key hanya bisa didekripsi private key — dan sebaliknya untuk signature. Blockchain memakai asymmetric untuk signature transaksi: Anda menandatangani dengan private key, jaringan memverifikasi dengan public key Anda. WhatsApp memakai hybrid — asymmetric (X3DH) untuk handshake awal sesi, lalu symmetric (Signal protocol) untuk isi pesan. Pemahaman trade-off ini krusial untuk menilai arsitektur keamanan FinTech. Evolusi Cipher: Caesar → AES → ChaCha20 Komputasi naik → cipher harus kuat. DES 56-bit di-brute force 1998 (EFF Deep Crack, 22 jam); AES-256 dianggap aman bahkan dari quantum attack.
Era Cipher Status Romawi (~50 SM) Caesar (substitusi sederhana) Tidak aman — frequency analysis WWII (1940-an) Enigma (rotor mekanis) Dipecahkan Turing/Bletchley Park 1977 DES (56-bit, NIST) Deprecated — di-brute force 1998 2001 AES-128/192/256 (FIPS 197) Standar global, aman hingga 2030+ 2008+ ChaCha20 (stream cipher) Mobile-friendly, TLS modern, WireGuard VPN
Quantum: algoritma Grover memangkas brute-force ke $2^{n/2}$ operasi. AES-256 → 128-bit efektif pasca-quantum. AES-128 jadi 64-bit → rentan.
Evolusi cipher seiring naiknya computing power. Caesar cipher digunakan Julius Caesar — substitusi sederhana, mudah dipecahkan frequency analysis. Enigma di Perang Dunia II dipakai Nazi, dipecahkan tim Alan Turing di Bletchley Park — disebut memperpendek perang dua tahun. DES distandarisasi NIST 1977 dengan key 56-bit, di-brute force EFF Deep Crack 1998 dalam 22 jam — sejak itu deprecated. AES distandarisasi 2001 dengan key 128/192/256-bit, hingga 2024 masih dianggap aman. ChaCha20 stream cipher mobile-friendly dipakai TLS modern dan WireGuard VPN. Catatan quantum: algoritma Grover memangkas brute-force ke $2^{n/2}$ operasi — sehingga AES-256 menjadi efektif 128-bit pasca-quantum (masih aman), AES-128 jadi 64-bit (rentan). Inilah mengapa NIST sedang standardisasi post-quantum cryptography (CRYSTALS-Kyber, Dilithium). Public Key Infrastructure (PKI) vs Trustless Blockchain Dua model trust berbeda: PKI hierarchical (browser, bank) vs blockchain trustless (math verifies).
Certificate Authority (CA) issue sertifikat Mengikat public key ke identitas (domain, org) Browser trust CA root; verifikasi chain TLS/HTTPS, e-KTP digital, bank login Recovery via CA revoke Public key = identitas pseudonim (address) Tidak butuh CA — trust via math Verifikasi oleh ribuan node independen Bitcoin, Ethereum, hyperledger identity Tidak ada recovery — private key hilang = hilang Trade-off: PKI punya recovery (revoke cert), tapi single-point-of-failure (CA compromise). Blockchain no-recovery, tapi tanpa SPOF.
Perbedaan PKI vs trustless adalah pilar filosofis blockchain. PKI memakai model hierarchical: Certificate Authority root (DigiCert, Let's Encrypt, Entrust) menerbitkan sertifikat yang mengikat public key ke identitas. Browser percaya CA root secara default, lalu memverifikasi chain ke server. Model ini bekerja untuk HTTPS dan bank online, tetapi punya single-point-of-failure — kalau CA di-compromise, semua sertifikat palsu diterima (kasus DigiNotar 2011). Blockchain memilih jalan berbeda: tidak ada CA, public key adalah identitas pseudonim (address), dan trust datang dari verifikasi matematis oleh ribuan node. Trade-off-nya: blockchain tidak punya recovery — kehilangan private key berarti kehilangan akses selamanya. Sebagai manajer, Anda harus pilih model trust yang sesuai use case: PKI untuk layanan yang butuh recovery (bank), blockchain untuk aset yang butuh censorship-resistance (crypto). Coba Sendiri: Perjalanan Paket Data di Internet Saat Anda kirim transaksi kripto, paket data melompat lewat 5-15 router. Lacak rute, lapisan (TCP/IP), dan jalur cadangan jika satu node gagal.
Widget ini mengilustrasikan bahwa kripto berjalan di atas infrastruktur internet fisik yang sama dengan bank. Transaksi Bitcoin/Ethereum dikirim sebagai paket data TCP/IP, melompat lewat router ISP, internet exchange (IX), dan backbone internasional. BGP (Border Gateway Protocol) menentukan rute, yang bisa berubah jika satu link gagal — resilience yang menjadikan internet tahan banting. Implikasi untuk kripto: censorship-resistance parsial — pemerintah bisa memblokir koneksi ke node tertentu (kasus China 2021 ban crypto), tetapi sulit memblokir seluruh protokol (VPN, Tor, satellite). Lightning Network bahkan bisa berjalan via SMS atau radio. Sebagai manajer, pahami bahwa keamanan blockchain bergantung dua lapis: kriptografi (on-chain) dan jaringan (off-chain) — keduanya harus sehat. HDN-1: AES-256 Brute Force — Kenapa Aman Secara Fisik Skenario: AES-256 keyspace = $2^{256} \approx 1{,}16 \times 10^{77}$. Komputer teoritis eksaflop $10^{18}$ key/detik (supercomputer Frontier-class).
Langkah Perhitungan Nilai 1. Keyspace AES-256 $2^{256}$ $\approx 1{,}16 \times 10^{77}$ 2. Komputer eksaflop $10^{18}$ key/s supercomputer kelas Frontier 2024 3. Waktu brute force $10^{77} \div 10^{18}$ $= 10^{59}$ detik 4. Konversi tahun $10^{59} \div (3{,}15 \times 10^{7})$ $\approx 3 \times 10^{51}$ tahun 5. Umur alam semesta — $\sim 1{,}4 \times 10^{10}$ tahun 6. Rasio $3 \times 10^{51} \div 1{,}4 \times 10^{10}$ $\approx 10^{41} \times$ umur alam semesta
Kesimpulan
Aman secara fisik
Brute force AES-256 mustahil secara fisik — security-nya = hardness matematika, bukan kerahasiaan algoritma (prinsip Kerckhoffs).
Hitungan ini menjelaskan secara matematis kenapa AES-256 dianggap aman. Keyspace $2^{256}$ kira-kira $1{,}16 \times 10^{77}$ — angka yang mendekati estimasi jumlah atom di alam semesta teramati ($10^{80}$). Bahkan dengan supercomputer eksaflop $10^{18}$ key per detik, waktu brute force mencapai $10^{59}$ detik atau sekitar $3 \times 10^{51}$ tahun. Umur alam semesta hanya $1{,}4 \times 10^{10}$ tahun, jadi brute force AES-256 membutuhkan sekitar $10^{41}$ kali umur alam semesta. Ini bukan keamanan relatif — ini keamanan fisik, sebanding dengan mencoba menghitung setiap atom di galaksi. Prinsip Kerckhoffs: keamanan cryptography harus bergantung pada key, bukan pada kerahasiaan algoritma — algoritma AES dipublikasikan, key-nya yang rahasia. Implikasi: bank, exchange kripto, dan WhatsApp menggunakan AES-256 tanpa khawatir brute force — ancaman utamanya adalah key management, bukan algoritma. Bagian 2 · 2/4
Hash Function
Diskusi kelas: hash satu arah — bagaimana cara login Anda divalidasi tanpa server menyimpan password plain?
Blok kedua membahas hash function — function satu arah yang menjadi jantung blockchain. Pertanyaan diskusi memancing pemikiran: ketika Anda login ke sebuah website, server harus memvalidasi password Anda, tetapi server tidak boleh menyimpan password plain (sebab kalau diretas, semua akun bocor). Solusinya: server menyimpan hash password. Saat login, server hash input Anda dan bandingkan dengan hash yang tersimpan. Hash satu arah berarti tidak bisa reversed — sekalipun server diretas, hash tidak bisa dikembalikan ke password. Konsep inilah yang juga membuat blockchain immutable: setiap block berisi hash block sebelumnya, mengubah satu byte cascade ke seluruh chain. Tiga Properti Hash Function Hash function cryptographic yang baik harus memenuhi tiga resistance berbeda — blockchain butuh ketiganya.
Preimage resistance
Dari hash H, sulit mencari input x sehingga hash(x) = H. One-way — tidak bisa reversed.
Second-preimage resistance
Dari input $x_1$, sulit mencari $x_2$ berbeda sehingga $\text{hash}(x_1) = \text{hash}(x_2)$. Stability untuk update .
Collision resistance
Sulit mencari pasangan $x_1 \neq x_2$ dengan hash sama. Keunikan global .
SHA-256 ketiganya terpenuhi hingga 2024. MD5 collision dipecahkan 2004 → deprecated. SHA-1 collision 2017 (Google SHAttered) → deprecated.
Tiga properti resistance ini berbeda dan sering tertukar. Preimage resistance artinya dari hash output, Anda tidak bisa balik mencari input — ini yang membuat password storage aman. Second-preimage resistance artinya untuk input tertentu, Anda tidak bisa cari input lain berbeda dengan hash sama — ini yang membuat update block terdeteksi. Collision resistance artinya secara global Anda tidak bisa cari dua input berbeda dengan hash sama — ini yang menjaga keunikan global setiap block. MD5 collision dipecahkan Wang dkk 2004 sehingga deprecated untuk cryptography (masih dipakai checksum non-security). SHA-1 collision di-demo Google 2017 (serangan SHAttered). SHA-256 hingga 2024 ketiganya terpenuhi. Blockchain butuh ketiganya: preimage untuk address, second-preimage untuk immutability block, collision untuk uniqueness. Eksplorasi SHA-256: Avalanche Effect Hash function cryptographic memiliki avalanche effect : satu bit berubah di input → ~50% bit output berubah. Coba sendiri.
Pelajaran: ubah 1 karakter di input (mis. "blockchain" → "Blockchain") → hash SHA-256 berubah total. Inilah yang membuat modifikasi transaksi blockchain langsung terdeteksi.
📖 Baca juga: Kebijakan Moneter — mengapa Bank Indonesia memilih CBDC (Garuda) di atas stablecoin swasta; integritas hash adalah prasyarat trust digital.
Widget ini memungkinkan Anda merasakan avalanche effect secara langsung. Ketik teks apa pun di input — misalnya "Satoshi Nakamoto 2008" — dan amati output hash SHA-256 256-bit dalam heksadesimal. Sekarang ubah satu karakter saja: besar menjadi kecil, atau tambahkan spasi. Anda akan melihat hash berubah total — kira-kira 50% bit output berubah. Inilah inti avalanche effect. Implikasi untuk blockchain: setiap modifikasi transaksi, sekecil apa pun, akan menghasilkan hash yang sangat berbeda, sehingga cascade ke block selanjutnya (lihat widget di P5). Catatan: widget ini menghitung SHA-256 asli di browser via SubtleCrypto API — bukan simulasi. Anda bisa verifikasi hasilnya dengan command line: echo -n "input" | sha256sum. SHA-256, Keccak-256, BLAKE2 — Pilihan Chain Setiap blockchain memilih hash function berdasarkan trade-off keamanan, kecepatan, dan ekosistem.
Hash Standard Dipakai oleh Karakter SHA-256 FIPS 180-4 (NIST) Bitcoin (double SHA-256), TLS 256-bit output, established, slightly slower Keccak-256 FIPS 202 (SHA-3 family) Ethereum (address & contract) Sponge construction, berbeda dari SHA-2 BLAKE2/BLAKE3 RFC 7693 Zcash, Solana (keccak+blake), chain baru Lebih cepat dari SHA-2 di software RIPEMD-160 Belgium academic 1996 Bitcoin address (P2PKH) 160-bit, dipakai bareng SHA-256
Bitcoin address = Base58Check(RIPEMD-160(SHA-256(public_key))). Ethereum address = 20 byte terakhir Keccak-256(public_key).
Pilihan hash function berbeda-beda per chain. Bitcoin memakai SHA-256 double (hash dua kali untuk ekstra keamanan terhadap attack khusus) untuk proof-of-work dan linking block. Ethereum memakai Keccak-256 — varian SHA-3 dengan sponge construction — untuk address dan smart contract. Penting: Keccak-256 yang dipakai Ethereum sering disebut "SHA-3" tetapi implementasinya sedikit berbeda dari SHA-3 final NIST karena Ethereum mulai sebelum finalisasi standard. BLAKE2/BLAKE3 lebih cepat di software, dipakai Zcash dan chain modern. RIPEMD-160 dipakai Bitcoin bareng SHA-256 untuk address generation — kombinasi hash untuk keamanan ekstra. Sebagai manajer, Anda tidak perlu hafal algorithm, tetapi perlu tahu kenapa exchange yang mendukung banyak chain harus implementasi banyak hash library. HMAC & KDF: Password Storage & Authentication Hash function mentah tidak cukup untuk password storage. Modern FinTech memakai HMAC untuk authentication dan KDF memory-hard untuk password.
Hash + secret key untuk authentication pesan Memverifikasi integritas & origin Dipakai JWT (JSON Web Token), API signature (Binance, Indodax) Tanpa key, attacker tidak bisa forge HMAC PBKDF2, bcrypt, scrypt, Argon2 Hash password + salt + stretching Memory-hard → tahan GPU/ASIC brute force Dipakai bank, exchange kripto, password manager Penyimpanan password modern wajib Argon2id (memory-hard, tahan GPU). MD5/SHA plain = bencana (LinkedIn 2012, Adobe 2013).
Hash function mentah tidak aman untuk password storage karena serangan rainbow table dan brute force GPU. Solusi: KDF (Key Derivation Function) yang menambahkan salt acak per-user dan stretching (multiple iterations) untuk memperlambat brute force. PBKDF2 (2000) adalah standard lama. bcrypt (1999) populer dan tahan GPU moderat. scrypt (2009) memory-hard. Argon2 (pemenang Password Hashing Competition 2015) adalah standar modern — memory-hard dan tahan GPU/ASIC. Bank, exchange kripto, dan password manager (1Password, Bitwarden) memakai Argon2id untuk vault password. Sementara itu HMAC dipakai untuk authentication API — setiap request exchange kripto ditandatangani dengan HMAC-SHA256(secret, payload) untuk membuktikan identitas tanpa mengirim secret. Kasus pelajaran: LinkedIn 2012 dan Adobe 2013 memakai SHA plain → jutaan password bocor dan masih dijual dark web hingga kini. Coba Sendiri: Lapis Autentikasi & Peluang Tembus Password saja tidak cukup. Tambahkan layer SMS-OTP, TOTP authenticator, biometrik, dan hardware key — lihat bagaimana peluang tembus turun eksponensial.
Widget ini mendemokan mengapa MFA (Multi-Factor Authentication) menjadi standard FinTech. Single password: peluang tembus tinggi (phishing + credential stuffing dari data breach). Tambah SMS-OTP: turun, tetapi rentan SIM-swap (kasus Twitter CEO 2019). Tambah TOTP (Google Authenticator): turun lagi, offline, tetapi phishable. Tambah hardware key (Yubikey, FIDO2): peluang tembus mendekati nol — kasus Google 2017, 85.000 karyawan zero phish setelah wajib security key. Exchange kripto modern (Binance, Coinbase) mendorong passkey dan hardware key untuk withdrawal. Private key blockchain pada dasarnya adalah "something you have" level maksimal — tetapi jika phishable (user sign tx malicious), tetap rugi. Sebagai manajer, pahami defense-in-depth: tidak ada satu lapis yang cukup, kombinasi yang menang. HDN-2: SHA-256 Collision via Birthday Paradox Skenario: Birthday paradox — untuk hash n-bit, collision ditemukan setelah $\sim 2^{n/2}$ operasi (akar kuadrat). SHA-256 = 256-bit.
Langkah Perhitungan Nilai 1. SHA-256 $n = 256$ bit $2^{256}$ kemungkinan output 2. Birthday bound $2^{256/2}$ $= 2^{128} \approx 3{,}4 \times 10^{38}$ operasi 3. Komputer eksaflop $10^{18}$ hash/s supercomputer kelas Frontier 4. Waktu collision $3{,}4 \times 10^{38} \div 10^{18}$ $= 3{,}4 \times 10^{20}$ detik 5. Konversi tahun $3{,}4 \times 10^{20} \div (3{,}15 \times 10^{7})$ $\approx 1{,}1 \times 10^{13}$ tahun 6. Rasio vs umur alam semesta $1{,}1 \times 10^{13} \div 1{,}4 \times 10^{10}$ $\approx 800 \times$ umur alam semesta
Kesimpulan
Collision mustahil
SHA-256 collision-resistant secara fisik — butuh ~$10^{3}\times$ kali umur alam semesta bahkan dengan supercomputer terbaik 2024.
Birthday paradox adalah fenomena probabilistik: dalam grup 23 orang, peluang dua orang berulang tahun sama mencapai 50% — jauh lebih kecil dari intuisi (365/2 = 183). Generalisasi: untuk hash n-bit, collision ditemukan setelah kira-kira $2^{n/2}$ operasi (bukan $2^{n}$). SHA-256 dengan n=256 → birthday bound $2^{128}$ atau kira-kira $3{,}4 \times 10^{38}$ operasi. Dengan eksaflop $10^{18}$ hash/s, dibutuhkan $3{,}4 \times 10^{20}$ detik atau $1{,}1 \times 10^{13}$ tahun — sekitar 800 kali umur alam semesta. Ini sebabnya SHA-256 dianggap collision-resistant hingga 2024. Catatan: angka ini akan berubah dengan quantum — algoritma Grover memangka collision bound ke $2^{n/3} = 2^{85}$ untuk SHA-256, masih sangat sulit tetapi tidak mustahil untuk adversary negara dalam 10-20 tahun ke depan. Itulah sebabnya NIST merancang SHA-384/SHA-512 dan post-quantum hash. Bagian 3 · 3/4
Digital Signature
Diskusi kelas: apa beda tanda tangan digital dengan scan tanda tangan basah di PDF kontrak?
Blok ketiga masuk ke digital signature — mekanisme yang membuktikan pemilik private key mengotorisasi transaksi tanpa membocorkan private key. Pertanyaan diskusi membandingkan tanda tangan digital dengan scan tanda tangan basah. Scan tanda tangan basah di PDF bisa di-copy paste ke dokumen lain — tidak ada cryptographic binding ke dokumen tertentu. Tanda tangan digital ECDSA mengikat pesan (transaksi) ke private key secara matematis — modifikasi satu byte pesan membuat signature invalid, dan signature tidak bisa dipakai ulang ke pesan lain. Inilah inti authorization blockchain. ECDSA: Tanda Tangan Digital Elliptic Curve ECDSA (Elliptic Curve Digital Signature Algorithm): tanda tangan digital berbasis elliptic curve cryptography. Bitcoin & Ethereum pra-Merge pakai ECDSA over kurva secp256k1 .
Signing: signature = ECDSA_sign(private_key, message) → (r, s) · Verification: ECDSA_verify(public_key, message, signature) → true/false
Pengirim hitung hash pesan Sign dengan private key → signature (r, s) Kirim pesan + signature + public key Setiap signature unik per pesan Node verifikasi dengan public key pengirim Cek apakah signature cocok dengan pesan Tidak membocorkan private key Keamanan: hardness ECDLP ECDSA tidak mengenkripsi transaksi — ia membuktikan otorisasi . Setiap transaksi Bitcoin = pesan + signature; node verifikasi signature dengan public key pengirim.
ECDSA adalah algoritma tanda tangan digital yang dipakai Bitcoin dan Ethereum pra-Merge. Proses signing: pengirim menghitung hash dari pesan (transaksi), lalu sign dengan private key menghasilkan signature yang terdiri dari dua bilangan r dan s. Proses verification: node menerima pesan, signature, dan public key pengirim, lalu memverifikasi signature valid untuk pesan tersebut. Yang krusial: verification tidak membocorkan private key — inilah zero-knowledge property. Keamanan ECDSA bertumpu pada hardness Elliptic Curve Discrete Logarithm Problem (ECDLP): dari public key sangat sulit untuk kembali ke private key, sekalipun dengan supercomputer. Penting: ECDSA tidak mengenkripsi transaksi — semua transaksi Bitcoin publik di blockchain. ECDSA membuktikan bahwa pemilik private key mengotorisasi transaksi tersebut. Sebagai manajer, pahami bahwa keamanan wallet crypto = keamanan private key, bukan keamanan algoritma. EdDSA, Schnorr, BLS — Evolusi Signature Setelah ECDSA, muncul varian signature dengan properti tambahan: determinism, aggregation, dan efisiensi.
Algoritma Karakter Dipakai oleh ECDSA secp256k1 Standar Bitcoin & Ethereum pra-Merge Bitcoin, Ethereum pra-Merge EdDSA (Ed25519) Deterministic, cepat, tahan side-channel Solana, Cardano, Tezos, Signal Schnorr (BIP-340) Multi-sig aggregated, lebih private Bitcoin via Taproot (aktif Nov 2021) BLS signature Aggregatable, efisien untuk validator set besar Ethereum PoS, Dfinity, Chainlink
Taproot upgrade Bitcoin (BIP 340-342, aktif November 2021) membawa Schnorr signature → multi-sig aggregated, privasi lebih baik, fee lebih rendah untuk smart contract sederhana.
Setelah ECDSA, muncul tiga varian signature modern dengan properti tambahan. EdDSA (Ed25519) adalah deterministic — signature selalu sama untuk pesan dan key yang sama, sehingga menghindari bug random nonce yang sempat membocorkan private key PS3 Sony 2010. Solana, Cardano, dan Tezos memakai EdDSA. Schnorr signature (BIP-340) memungkinkan aggregation — multiple signer bisa digabung menjadi satu signature, sehingga multi-sig transaksi tampak seperti single-sig di chain (privasi lebih baik) dan fee lebih rendah. Aktif di Bitcoin via Taproot November 2021. BLS signature sangat aggregatable, dipakai Ethereum PoS untuk consensus validator — ribuan validator bisa aggregate signature dalam satu blok. Evolusi ini menunjukkan kriptografi blockchain terus berkembang untuk skala dan privasi. Sebagai manajer, perhatikan upgrade protokol (fork) sebagai event risiko dan peluang. Mini-Kasus: Address Bitcoin & Ethereum dari Key Pair Address adalah derivasi satu arah dari public key. Dari address tidak bisa balik ke public key (preimage); dari public key sangat sulit balik ke private key (ECDLP).
Langkah Bitcoin Ethereum 1. Private key 256-bit random 256-bit random 2. Public key ECDSA secp256k1 ECDSA secp256k1 3. Hash SHA-256 → RIPEMD-160 Keccak-256 4. Address format Base58Check → 1xxx / 3xxx / bc1... 20 byte terakhir → 0x... 5. Contoh bc1qxy2k... (bech32) 0x7d655... (40 hex char)
Exchange RI seperti Indodax, Tokocrypto, Pintu, Pluang mengelola jutaan address — private key di-HSM atau MPC-Thresheld untuk custody institusi.
Mari kita telusuri bagaimana address Bitcoin dan Ethereum dihasilkan dari private key. Private key adalah 256-bit random — angka acak antara 1 dan sekitar $10^{77}$. Dari private key, dihitung public key via ECDSA secp256k1. Dari public key, dihitung address via hash. Bitcoin memakai SHA-256 lalu RIPEMD-160, dibungkus Base58Check untuk human-readable (1xxx untuk P2PKH, 3xxx untuk P2SH, bc1q untuk SegWit, bc1p untuk Taproot). Ethereum memakai Keccak-256 dan mengambil 20 byte terakhir dengan prefix 0x. Yang penting: derivasi ini satu arah. Dari address tidak bisa balik ke public key (preimage resistance SHA-256). Dari public key sangat sulit balik ke private key (hardness ECDLP — butuh ~$2^{128}$ operasi). Implikasi: exchange kripto RI seperti Indodax, Tokocrypto, Pintu, Pluang harus mengelola jutaan address sekaligus. Private key disimpan di Hardware Security Module (HSM) atau menggunakan Multi-Party Computation (MPC) untuk custody institusi — sebab kebocoran satu private key = kehilangan aset permanen. Coba Sendiri: Cascade Hash Block (Demo Immutability) Edit transaksi di block #1 dan lihat hash berubah cascade ke block #2 dan #3 — inilah cryptographic link yang membuat blockchain immutable.
Widget ini menyatukan konsep hash function (HDN-1), cascade link, dan immutability dalam satu demo. Tiga block dirantai via prev_hash. Saat Anda edit transaksi di block #1, hash block #1 berubah. Karena block #2 menyimpan hash block #1 sebagai prev_hash, mismatch terdeteksi dan hash block #2 juga harus di-recompute. Demikian cascade ke block #3. Untuk konsisten, attacker harus re-mine semua block setelahnya — tidak feasible jika jaringan sudah jauh berlari. Catatan: hash di sini demo 32-bit, bukan SHA-256 256-bit asli, tetapi konsep cascade sama. Setelah eksplorasi, Anda harus paham mengapa blockchain tidak bisa "di-edit history" tanpa re-mine semua block berikutnya. Bagian 4 · 4/4
Merkle Tree & Zero-Knowledge Proof
Diskusi kelas: bagaimana membuktikan Anda tahu password tanpa membocorkannya? Apa aplikasinya di blockchain privasi?
Blok penutup membahas dua topik advanced: Merkle tree dan zero-knowledge proof. Pertanyaan diskusi tentang membuktikan pengetahuan tanpa membocorkan adalah inti zero-knowledge. Aplikasi nyata: Zcash (private transaction), Tornado Cash (kontroversial AML), zkSync dan Polygon zkEVM (scaling). Ini topik frontier yang akan mendapat porsi besar di P10 (Ethereum L2) dan P13 (DeFi). Merkle Tree & Zero-Knowledge Proof (zk-SNARK) Dua inovasi cryptographic yang memungkinkan blockchain skala dan privasi.
Hash transaksi dipasang-pasangkan hingga root Bukti inklusi = O(log n) hash path Dipakai block header Bitcoin, state root Ethereum SPV client verify tanpa download full chain Buktikan statement benar tanpa membocorkan input zk-SNARK: Zcash, Tornado Cash, zkSync, Scroll zk-STARK: Starknet, tahan quantum Aplikasi: private tx, rollup scaling (validity proof) zkRollup memproses ribuan transaksi off-chain, posting proof ke Ethereum mainnet → skala + privasi. Inilah jalan scaling Ethereum 2024+.
Dua inovasi cryptographic penting untuk blockchain modern. Merkle tree adalah struktur data pohon hash: pasangan transaksi di-hash bersama hingga membentuk satu Merkle root di block header. Keuntungan: untuk membuktikan satu transaksi ada di block, Anda hanya butuh O(log n) hash path (Merkle proof), bukan seluruh block. Inilah yang memungkinkan SPV (Simplified Payment Verification) — smartphone bisa verify transaksi tanpa download 500+ GB blockchain penuh. Zero-Knowledge Proof adalah revolusi 2020-an: zk-SNARK (Succinct Non-interactive ARgument of Knowledge) memungkinkan Anda membuktikan statement benar tanpa membocorkan input. Aplikasi: Zcash (private transaction), Tornado Cash (kontroversial AML), zkSync dan Polygon zkEVM (scaling via validity proof). zk-STARK lebih baru, tahan quantum, dipakai Starknet. Sebagai manajer, perhatikan zkRollup sebagai jalan scaling utama Ethereum 2024+ dan potensi privasi untuk FinTech regulated (compliance tanpa expose data). Ringkasan Kunci Pertemuan 6 Kriptografi Dasar
Symmetric (AES) vs asymmetric (ECDSA) · PKI vs trustless · AES-256 aman secara fisik
Hash Function
3 resistance · SHA-256/Keccak/BLAKE2 · HMAC & KDF Argon2 · collision mustahil (birthday paradox)
Signature & Advanced
ECDSA secp256k1 · EdDSA/Schnorr/BLS · Merkle tree · zk-SNARK
Tiga lensa ini (dasar · hash · signature) adalah DNA blockchain — pegang sepanjang P7-P14.
Persiapan P7: baca Szabo (1997) sekilas; bawa satu ide smart contract use case untuk FinTech RI (escrow, parametric insurance, atau tokenisasi). Kuis 10 menit di awal P7.
Tiga lensa kunci yang akan jadi rujukan sepanjang sisa semester. Pertama, kriptografi dasar — symmetric untuk confidentiality, asymmetric untuk identitas, AES-256 aman secara fisik dengan $10^{41}\times$ kali umur alam semesta. Kedua, hash function — tiga resistance (preimage, second-preimage, collision), SHA-256 collision mustahil dengan 800 kali umur alam semesta, dan password storage modern wajib Argon2. Ketiga, signature dan advanced — ECDSA sebagai standar Bitcoin/Ethereum, EdDSA/Schnorr/BLS sebagai evolusi, dan zk-SNARK sebagai revolusi privasi dan scaling. Sampai jumpa di P7 di mana kita akan masuk ke smart contract — program self-executing di blockchain yang membuka kemungkinan DeFi, NFT, dan CBDC. Jangan lupa kuis 10 menit di awal P7 tentang symmetric vs asymmetric dan tiga resistance hash.