109 / 736RPOW

Reusable Proofs of Work

RPOW: eksperimen Finney untuk meneruskan bukti kerja komputasi

Komputer melakukan kerja dan menghasilkan token digital. Bagaimana token itu diserahkan kepada orang lain tanpa pengirim menyimpan salinan yang sama sahnya? Pada 2004, Hal Finney menunjukkan jawaban yang benar-benar berjalan: token lama dibatalkan dan diganti dengan yang baru saat dialihkan. RPOW merupakan eksperimen penting menuju uang digital, tetapi masih membutuhkan server khusus dan kepercayaan pada perlindungan teknisnya.

Reusable Proofs of Work, disingkat RPOW, adalah sistem eksperimental Hal Finney yang mengubah bukti kerja komputasi Hashcash menjadi token digital yang dapat diteruskan. Setiap token hanya bisa ditukar sekali pada server yang ditentukan, yaitu layanan yang memproses permintaan pengguna, tetapi penerima memperoleh pengganti dengan nilai kerja yang sama. Kartu IBM 4758 dan pemeriksaan program yang berjalan dari jarak jauh dimaksudkan untuk menjaga pertukaran sesuai aturan. Ini bukan jaringan terdesentralisasi ataupun bitcoin.

Pada 15 Agustus 2004, Hal Finney mengundang peserta milis kriptografi untuk mencoba eksperimen barunya. Ia bertolak dari Hashcash karya Adam Back: komputer mencoba berbagai masukan sampai menemukan hasil yang memenuhi syarat tertentu. Pencarian memakan waktu komputasi, sedangkan pemeriksaan hasilnya cepat. Bukti semacam ini disebut Proof of Work, yakni bukti kerja. Untuk melawan surel spam, ia bisa berfungsi seperti perangko yang dibayar dengan perhitungan komputer. Finney ingin tahu apakah bukti itu bisa berpindah antarmanusia, alih-alih habis manfaatnya setelah sekali dipakai. Itulah arti RPOW: bukti kerja yang dapat digunakan kembali. [1] [2] [4]

Bayangkan Anna mempunyai token digital yang sah lalu mengirimkannya kepada Peter. Jika ia hanya mengirim berkas, ia bisa menyimpan salinannya. Karena itu, Peter menyerahkan token kepada server RPOW untuk ditukar. Server memastikan token belum digunakan, menandainya sebagai terpakai, lalu menandatangani token baru yang disiapkan program Peter. Salinan token lama milik Anna tidak akan lolos pertukaran berikutnya. Peter bisa mengirim token baru kepada Eva, yang mengulangi langkah tersebut. Jadi, yang dipakai kembali adalah nilai yang diteruskan, bukan berkas yang sama dan selamanya sah. Sebelum penerima berhasil menyelesaikan pertukaran, pengirim masih mungkin membelanjakan token asal lebih dahulu. [2] [11]

Masukannya bisa berupa Hashcash yang baru dihitung atau token RPOW yang belum dipakai. Keluarannya adalah token baru dengan tanda tangan digital RSA, yakni pengesahan server yang dapat diperiksa secara matematis. RSA adalah metode untuk menghitung tanda tangan tersebut: pembuatannya memakai kunci penandatanganan rahasia, sedangkan pemeriksaannya memakai kunci publik pasangannya. Ini berupa data numerik yang dapat diverifikasi, bukan gambar tanda tangan tulisan tangan. Tanda tangan membuktikan asal token, tetapi tidak dengan sendirinya menunjukkan apakah token sudah pernah ditukar. Untuk itu ada catatan masukan yang telah digunakan. Dalam pemindahan selanjutnya, pencarian Hashcash yang berat tidak perlu diulang setiap kali: tanda tangan baru diperoleh sebagai pengganti bukti lama yang dibatalkan. Ini bukan daur ulang listrik dan bukan cara menggandakan klaim atas kerja lama secara gratis. [2]

Nilai di sini menunjukkan tingkat kesulitan komputasi, bukan harga dalam koruna atau dolar. Hashcash pada masa itu menggunakan SHA-1, fungsi yang membuat sidik jari numerik singkat dari data, lalu mencari sidik jari dengan sejumlah bit nol di bagian awal. Bit adalah satu digit biner. Setiap tambahan nol yang disyaratkan kira-kira menggandakan rata-rata jumlah percobaan. Karena itu, satu token tingkat 21 mewakili perkiraan kerja yang sama dengan dua token tingkat 20 dan dapat dipecah menjadi keduanya. Saat digabung atau dipecah, total nilai komputasinya harus tetap sama. Namun, ini bukan kurs tetap atau jaminan daya beli: komputer yang lebih cepat dapat membuat jenis token yang sama dengan biaya lebih murah. [2] [10]

Double spend berarti membelanjakan nilai yang sama dua kali. Untuk mencegahnya, RPOW membutuhkan daftar bukti yang sudah ditukar. Seluruh basis data tidak berada di dalam kartu terlindungi, melainkan disimpan pada komputer host biasa. Kartu menyimpan sidik jari pemeriksa keadaan basis data dan memeriksa bukti kriptografis saat data diminta. Sistem memakai prinsip Merkle Tree, pohon sidik jari yang memungkinkan sebagian data diperiksa terhadap satu sidik jari bersama. Tujuannya mendeteksi perubahan catatan sekaligus pemulihan basis data lama yang belum mencatat token yang baru saja dipakai. Tanpa perlindungan itu, operator dapat berulang kali menukar masukan yang sama menjadi token baru. [3]

Server menjalankan operasi sensitif di dalam IBM 4758, kartu komputasi mandiri yang dipasang pada komputer biasa. Kartu itu dimaksudkan untuk melindungi kunci tanda tangan dan data keadaan sistem yang sensitif bahkan dari pemilik komputer tersebut. Jika mendeteksi gangguan fisik, kartu bisa menghapus rahasia. Komputer host meneruskan pesan dan menyimpan basis data, tetapi rancangan sistem tidak menganggapnya tepercaya. Itulah inti solusi Finney: mengoperasikan server tidak boleh memberi kemampuan untuk menciptakan token sesuka hati. Namun, perlindungan bergantung pada perangkat keras, program, dan perlindungan kunci yang benar. Ini bukan janji tanpa syarat bahwa sistem mustahil ditembus. [3] [9]

Menerbitkan kode sumber saja tidak cukup: operator bisa menunjukkan satu program tetapi menjalankan program lain. Karena itu, RPOW memakai remote attestation, pengesahan konfigurasi dari jarak jauh. Kartu memberikan informasi bertanda tangan tentang program yang dijalankannya. Orang yang berminat bisa mengompilasi kode yang dipublikasikan dengan alat yang sesuai, lalu membandingkan sidik jari citra program hasilnya dengan sidik jari yang dilaporkan. Jadi, yang dibandingkan bukan sekadar teks berkas kode sumber. Kepercayaan pada tanda tangan mengikuti rantai sertifikat hingga kunci IBM. Ini membantu memastikan program apa yang berjalan, tetapi tidak membuktikan bahwa kode bebas kesalahan atau produsen dan prosedur sertifikasinya tidak mungkin gagal. [3] [9]

RPOW mengingatkan kita pada eCash karena pertukaran token digitalnya. Namun, operasi awal yang dijelaskan tidak melindungi privasi dengan tanda tangan buta. Finney mengandalkan koneksi terenkripsi sampai ke kartu terlindungi serta program yang dapat diperiksa dan tidak menyimpan hubungan antara token yang diterbitkan dan diterima. Komputer host seharusnya tidak dapat melihat isi token tanpa enkripsi. Meski begitu, ia tetap dapat mengamati alamat jaringan klien, waktu, dan ukuran komunikasi. Penyerahan token yang sama lagi juga dapat menghubungkan sebagian kejadian. Dokumentasi yang tersimpan sudah menjelaskan dukungan Tor, jaringan yang meneruskan koneksi melalui beberapa perantara dan menyembunyikan alamat jaringan asli pengguna dari server. Sebaliknya, tanda tangan buta disebut sebagai fitur yang mungkin ditambahkan kemudian. Rencana itu tidak boleh dianggap sebagai bagian dari cara kerja yang dijelaskan saat itu. [8] [10]

RPOW tidak berhenti sebagai usulan di atas kertas: ada server yang berjalan dan program klien yang tersedia. Namun, sejak awal Finney mengingatkan bahwa ini versi percobaan dini. Perubahan program server yang diperlukan dapat membatalkan token yang sudah diterbitkan. Token ditujukan untuk penggunaan pribadi, eksperimental, dan nonkomersial, bukan uang dengan nilai terjamin. Kartu terlindungi pun tidak dapat memaksa operator terus menyalakan server. Proyek aslinya telah berakhir; halaman dan kode yang tersimpan merupakan bahan sejarah. Uraian tentang SHA-1, RSA, dan perangkat keras masa itu bukan anjuran untuk membangun layanan pembayaran modern dengan cara yang sama. [1] [4] [5] [7]

Finney ingin menunjukkan secara nyata sebagian gagasan Bit Gold dari Nick Szabo: sebuah benda digital dapat mahal untuk dibuat, kemudian diteruskan kepada orang lain. Dokumentasi RPOW juga merencanakan kerja sama beberapa server, sehingga menyederhanakan seluruh desain sebagai satu komputer untuk selamanya tidak tepat. Namun, setiap token menentukan server tempat penukarannya; menambah mesin tidak dengan sendirinya menghilangkan ketergantungan itu. Bitcoin mengambil jalan lain. Node independen, yaitu komputer yang menjalankan perangkat lunak verifikasi, memeriksa aturan bersama dan riwayat publik. Penambang bersaing menambahkan blok sah berikutnya: kumpulan transaksi yang terhubung dengan catatan sebelumnya. RPOW membantu menjelaskan apa yang belum diselesaikan Proof of Work sendirian: bagaimana semua orang mengenali urutan pemindahan yang sah, dan siapa yang harus mereka percayai dalam prosesnya. [1] [6] [11]

Untuk gambaran yang lebih utuh, baca entri ini bersama Hal Finney, Adam Back, Hashcash, Nick Szabo, Bit Gold, Proof of Work. Entri ini juga dirujuk dari b-money, Bit Gold, Hal Finney.

DOC · 001Hal Finney — RPOW overviewSumber primer DOC · 002Hal Finney — RPOW theorySumber primer DOC · 003Hal Finney — RPOW security modelSumber primer DOC · 004Hal Finney — RPOW launch announcementSumber primer DOC · 005Nakamoto Institute — archived RPOW sourceDokumentasi DOC · 006Bitcoin whitepaperSumber primer DOC · 007Hal Finney — What is RPOW?Sumber primer DOC · 008Hal Finney — RPOW privacy without blindingSumber primer DOC · 009Hal Finney — IBM 4758 securitySumber primer DOC · 010Hal Finney — RPOW frequently asked questionsSumber primer DOC · 011Hal Finney — The RPOW worldSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi