Blockchain/Tahap I · Wang/1.2 Jalan cypherpunk/Pelajaran 4
Hashcash: bukti kerja sebelum Bitcoin
Kos pengiraan sebagai meterai: daripada spam e-mel kepada kekurangan digital
BahanPenghasil hash SHA-256 dalam talianHamparan untuk merekod nilai pembilang dan output heksadesimalKertas putih Bitcoin, bahagian 4
Ingin tahu
- Apa yang menyebabkan setem mahal untuk dihasilkan tetapi hampir percuma untuk diperiksa?
- Mengapa teka-teki hash yang mengambil masa mikrosaat untuk diperiksa memerlukan masa berjam-jam untuk diselesaikan?
- Bagaimanakah alat untuk melawan e-mel sampah menjadi enjin kepada mata wang?
Teroka
- Pada tahun 1992, Cynthia Dwork dan Moni Naor mencadangkan konsep “Pricing via Processing” untuk memerangi spam e-mel. Pandangan mereka ialah pengiraan boleh berfungsi seperti plaza tol: dengan memaksa penghantar menyelesaikan teka-teki kriptografi, penghantaran e-mel secara besar-besaran menjadi tidak berdaya maju dari segi ekonomi, sementara pengguna sesekali tidak terjejas. Idea ini sebahagian besarnya kekal di atas kertas selama lima tahun.
- Adam Back mencadangkan Hashcash pada bulan Mac 1997, tanpa mengetahui kertas kerja Dwork dan Naor. Mekanisme ini memerlukan penghantar mencari nonce—satu rentetan berubah—supaya hash SHA-1 bagi pengepala e-mel yang digabungkan dengan nonce tersebut bermula dengan sejumlah bit sifar tertentu. Ini ialah carian perlanggaran separa: secara eksponen lebih sukar untuk ditemui berbanding untuk disahkan. Setiap penyelesaian yang sah berfungsi sebagai “setem” yang membuktikan bahawa penghantar telah mengeluarkan usaha pengiraan yang sebenar.
- Kekuatan Hashcash terletak pada asimetrinya. Menghasilkan setem yang sah mungkin memerlukan ribuan atau jutaan percubaan hash, yang menggunakan masa dan tenaga elektrik; mengesahkannya pula hanya memerlukan satu pengiraan hash, yang diukur dalam mikrosaat. Fungsi sehala ini mewujudkan kekurangan dalam medium di mana penyalinan biasanya percuma. Penghantar spam yang menghantar sejuta e-mel perlu melakukan kerja sejuta kali ganda, manakala penerima mengesahkan setiap e-mel dengan kos tambahan yang boleh diabaikan.
- Hashcash bukanlah wang kerana setiap setem terikat kepada penerima dan cap masa tertentu, menjadikannya tidak boleh dipindah milik dan sekali guna. Nilainya juga terhakis seiring dengan kemajuan perkakasan, kerana pengiraan yang lebih murah mengurangkan kos untuk menghasilkan setem baharu. Ia menyelesaikan masalah spam tetapi gagal mewujudkan sifat simpanan nilai yang tahan lama. Istilah ‘proof of work’ (bukti kerja) itu sendiri hanya muncul kemudian pada tahun 1999 melalui Markus Jakobsson dan Ari Juels, yang memformalkan komitmen pengiraan ini.
- Satoshi Nakamoto merujuk Hashcash ciptaan Back secara langsung dalam bahagian 4 kertas putih Bitcoin (Oktober 2008), dan menggunakannya semula untuk penandaan masa teragih. Jika Hashcash menggunakan SHA-1 dengan tahap kesukaran tetap, Bitcoin pula menggunakan SHA-256 berganda terhadap sasaran boleh laras yang dilaraskan semula setiap 2016 blok (~dua minggu). Ini mengekalkan selang blok yang stabil sekitar ~10 minit tanpa mengira pertumbuhan kadar hash rangkaian, sekali gus menstabilkan jadual pengeluaran dan melindungi buku akaun melalui kos pengiraan terkumpul.
- Untuk merasai asimetri ini: buka mana-mana alat SHA-256 dalam talian. Hash rentetan ‘hello’. Kemudian tambahkan pembilang (0, 1, 2…) sehingga output hex bermula dengan ‘0’, kemudian ‘00’. Perhatikan bagaimana bilangan percubaan meningkat secara eksponen. Carian brute-force ini mencerminkan perlombongan. Pelarasan kesukaran Bitcoin memastikan bahawa apabila lebih ramai pelombong menyertai dan perkakasan bertambah baik, sasaran diperketatkan untuk mengekalkan pengeluaran blok yang tetap, sekali gus memelihara irama ekonomi protokol.
Fakta utama
- Dwork dan Naor mencadangkan ‘Pricing via Processing’ pada tahun 1992 untuk menjadikan penghantaran e-mel lebih mahal.
- Adam Back mengumumkan Hashcash pada bulan Mac 1997 dengan menggunakan perlanggaran separa SHA-1.
- Pengesahan Hashcash memerlukan satu pengiraan hash; penjanaannya memerlukan kira-kira 2^k percubaan untuk k bit sifar.
- Istilah ‘proof of work’ dicipta oleh Jakobsson dan Juels pada tahun 1999.
- Bitcoin menggunakan SHA-256 berganda dengan sasaran kesukaran yang dilaraskan semula setiap 2016 blok.
- Setem Hashcash tidak boleh dipindah milik dan terikat kepada penerima tertentu, berbeza dengan unit bitcoin.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 teka-teki pengiraan atau komitmen berasaskan hash dalam kriptografi. Nyatakan tujuan asalnya (spam, tandatangan, perlombongan) serta kos pengesahan.
6KelompokkanKumpulkan 9 item tersebut kepada 6 kumpulan berdasarkan sama ada ia direka untuk keselamatan, kekurangan (scarcity), atau kedua-duanya, serta sama ada ia boleh dipindah milik atau sekali guna.
3SaringKurangkan 6 kumpulan tersebut kepada 3 ciri yang membezakan token bukti kerja (PoW) daripada sekadar tandatangan digital.
1KristalkanTulis 1 ayat tentang mengapa kos pengiraan mewujudkan kekurangan dalam keadaan penyalinan sebaliknya adalah percuma.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.