Banyak orang yang masuk ke dunia kripto sebenarnya tidak terlalu paham tentang hal-hal dasar seperti kunci privat di blockchain, kunci publik, berbagai public chain, exchange, dan hubungan di antara semuanya. Saya juga sempat dalam waktu yang cukup lama tidak bisa membedakan hubungan mereka. Hari ini akhir pekan, kebetulan sedang santai, jadi saya akan menjelaskan dengan analogi yang sederhana dan mudah dipahami:
Kunci privat dan kunci publik sebenarnya hanyalah rangkaian string yang panjang. Secara sederhana, kunci privat = PIN/password kartu bank, kunci publik = nomor rekening kartu bank. Berbagai public chain = bank-bank yang berbeda (misalnya: Bitcoin chain = Bank of China, Ethereum chain = Industrial and Commercial Bank of China, BSC yang terhubung dengan Binance = China Construction Bank). Exchange = tempat penukaran aset seperti rumah penukaran uang. Dompet dibagi menjadi hot wallet dan cold wallet. Bedanya adalah apakah terhubung ke internet atau tidak: yang tersimpan di perangkat yang terhubung seperti ponsel dan komputer disebut hot wallet. Sedangkan yang tersimpan di perangkat keras yang tidak terhubung (offline) adalah cold wallet. Untuk melakukan transaksi, cold wallet berinteraksi dengan pihak luar lewat pemindaian QR atau Bluetooth. Diperlukan penekanan aksi penandatanganan (sign) pada perangkat tersebut untuk memindahkan aset. Contohnya: wallet keyPal yang dijual oleh TP Wallet, itu adalah cold wallet.
I. Private key dan public key
Private key x algoritma enkripsi tak terbalik = public key (public key juga merupakan alamat wallet). Private key dan public key memiliki hubungan satu-ke-satu, yaitu satu private key sesuai dengan satu public key. Jika Anda tahu private key, Anda tahu public key, tetapi karena algoritma enkripsi tidak dapat dibalik, public key tidak bisa diturunkan menjadi private key. Artinya, setiap alamat wallet memiliki satu private key unik yang sesuai. Misalnya wallet BSC punya satu private key, wallet Bitcoin juga punya satu private key. Jadi misalnya wallet Binance diubah menjadi wallet private key, Anda akan melihat banyak baris private key: ada private key wallet chain BSC, ada private key wallet Ethereum, ada private key wallet Bitcoin. Menyalin private key ini lalu mengimpornya ke misalnya TP Wallet, Anda bisa memulihkan alamat wallet dari chain yang sesuai, dan melihat aset yang tersimpan di wallet chain tersebut.
II. Exchange, deposit, penarikan transfer
Exchange itu seperti sebuah bank besar. Saat Anda membuka akun di sebuah exchange, exchange akan otomatis membantu Anda membuka akun di berbagai chain publik besar (artinya Anda memiliki alamat wallet di berbagai chain publik; alamat wallet juga merupakan public key, sedangkan private key yang sesuai dikelola oleh exchange). Ini seperti Anda membuka rekening di bank ini, lalu bank tersebut otomatis membantu Anda membuat kartu bank di berbagai bank, misalnya alamat wallet Bitcoin = nomor kartu bank China, alamat wallet di chain Ethereum = nomor kartu bank ICBC, alamat wallet BSC Binance Chain = nomor kartu bank China Construction Bank. Setiap nomor kartu bank memiliki satu kata sandi unik; itulah private key. Keajaiban blockchain adalah siapa pun yang memiliki kata sandi private key itu, maka aset di dalam wallet menjadi miliknya. Ini seperti cukup mengetahui kata sandi kartu bank, maka aset di dalam kartu bank itu menjadi milik Anda. Lalu ada yang bertanya, karena ini adalah password, apakah bisa dibobol komputer? Secara praktik, kemungkinannya nyaris mendekati 0. Ini tidak sebanding dengan password kartu bank 6 digit. Private key memiliki 2^256, yaitu sekitar 10^77 kemungkinan. Superkomputer paling kuat di dunia dapat menghitung 10^18 per detik. Apa artinya? Bahkan menghitung 10 juta miliar per detik pun hanya 10^15. Untuk brute force dengan superkomputer ini, kira-kira dibutuhkan 10^77 ÷ 10^18 = 10^59 detik, yaitu 10^51 tahun. Sejak ledakan besar alam semesta sampai sekarang pun baru sekitar 10^10 tahun. Jadi ini 10^41 kali lebih lama dari usia alam semesta. Jadi kalau mau membobolnya, silakan sewa dulu superkomputer paling canggih di dunia, lalu buat target kecil: hidup sampai lebih lama dari ledakan besar alam semesta selama 10^41 tahun dulu. Selain itu, semua alamat wallet ada di chain, dan chain memiliki karakteristik terbuka serta transparan. Jadi cukup menyalin alamat wallet ini ke misalnya watch-only wallet di TP, Anda bisa melihat berapa banyak aset di wallet tersebut. Ini seperti mengetahui nomor kartu bank, lalu Anda bisa tahu berapa uang yang ada di kartu bank itu. Semua alamat wallet ini dieksekusi di chain, artinya hanya saat menyangkut deposit dan transfer barulah chain terlibat. Transaksi harian di dalam bank ini cukup dilakukan sebagai pertukaran aset di internal bank. Setiap transaksi, bank mengenakan biaya komisi beli-jual tertentu, dan ini adalah sumber keuntungan exchange. Jadi exchange itu terpusat, sedangkan chain itu terdesentralisasi. Exchange sendiri memiliki server database lokal, dan di dalam database tercatat informasi aset setiap pengguna. Ini seperti bank memiliki sistem pembukuan. Database itu seperti tabel berikut:

Berdasarkan ID unik pengguna, data item di belakangnya akan dikelola. Misalnya saat pengguna 1 bertransaksi, saat ini ada 200 USDT dan 5 BNB. Ia ingin membeli BNB dengan USDT. Misalnya harga BNB 100 U per koin, setelah membeli 1 koin, catatan USDT di database menjadi 100 U, dan jumlah BNB menjadi 6. Contoh lain, saat pengguna 1 melakukan deposit dari OKX melalui jaringan Tron ke Binance, prosesnya sebenarnya mirip transfer bank: pertama pilih bank mana yang akan dituju (chain publik), lalu isi nomor kartu (yaitu public key, alamat wallet), lalu isi jumlah transfer 200 yuan (USDT 200), terakhir masukkan kata sandi transfer (private key), maka proses transfer selesai. Hanya saja, misalnya fingerprint atau kata sandi digital digunakan untuk menggantikan kunci (sistem memetakan dan mengikat kunci ke fingerprint). USDT 200 yang didepositkan pengguna 1 sampai ke wallet Tron milik Binance. Saat exchange mendeteksi aset wallet bertambah, USDT di wallet Tron pengguna 1 dipindahkan ke hot wallet milik exchange sendiri (setara loket bank), sementara di buku besar database lokal exchange, angka USDT bertambah 200. Setelah semua aset USDT milik pengguna dikumpulkan ke hot wallet ini, secara berkala akan disimpan ke cold wallet (setara brankas bank). Proses penarikan juga sama; saat dana di hot wallet tidak cukup, sebagian akan diambil dari cold wallet.
Yaitu akun platform pengguna yang dibuat oleh exchange, yang berperan dalam mengelola semua wallet on-chain dan private key milik semua pengguna. Di sini muncul pertanyaan: satu pengguna saja bisa memiliki beberapa private key, dan dengan miliaran pengguna, private key yang harus dikelola jelas sangat besar dan mudah hilang. Ini adalah model manajemen private key pada exchange generasi awal. Sekarang exchange memperkenalkan teknologi HD hierarchical, yaitu path berbentuk pohon untuk mengelola private key, sebagai berikut:

Exchange menggunakan format root private key + nomor protokol chain publik + nomor urut pengguna untuk menghasilkan private key akhir, lalu private key tersebut menghasilkan alamat wallet. Dengan begitu, cukup mengingat satu root private key, berarti semua private key dan alamat wallet semua pengguna diketahui. Misalnya root private key + protokol chain publik m/44'/XX'/0'/0/ + nomor urut pengguna untuk menghasilkan private key chain tersebut, di mana XX=0 adalah chain Bitcoin, XX=60 adalah BSC dan Ethereum, dan keduanya termasuk EVM, jadi sebenarnya private key serta alamat wallet public key yang dihasilkan dari dua chain publik ini sama. Ini seperti nomor kartu Bank BCA dan Bank BRI milik pengguna yang sama, nomornya sama, hanya saja asetnya berada di dua bank yang berbeda. XX=195 adalah chain Tron. Contohnya, CZ adalah karyawan nomor 1 Binance, He Yi adalah karyawan nomor 2 Binance. Saat He Yi membuka akun di platform Binance, pada chain Bitcoin akunnya akan menggunakan root private key + m/44'/0'/0'/0/2 untuk menghasilkan private key Bitcoin. Private key ini kemudian menghasilkan public key, yaitu wallet Bitcoin milik He Yi. Sementara di chain BSC juga akan menggunakan root private key + m/44'/60'/0'/0/2 untuk menghasilkan private key chain BSC. Private key ini kemudian menghasilkan public key, yaitu wallet BSC milik He Yi. Jadi cukup mengelola satu root private key, seluruh wallet exchange tersebut sudah terkelola. Prinsip cold wallet juga sama: seed phrase menghasilkan root private key ini. Setelah root private key diimpor, diperoleh aset pengguna tersebut di semua chain.