Teknik sederhana berikut yang saya sebut solusi teknik lotere (SLT) dapat digunakan bersama dengan teknik lain (seperti memiliki beberapa masalah POW, teknik yang disebutkan dalam jawaban Noah Stephens-Davidowitz, dll) untuk membantu mengubah tantangan komputasi menjadi bukti yang layak. masalah kerja. SLT membantu memperbaiki masalah dengan masalah penambangan cryptocurrency selain dari ketentuan 1-4.
Misalkan C adalah tantangan komputasi dalam bentuk “menemukan yang cocok hash k bersama dengan string x sehingga ( k , x ) ∈ D .”Ckx(k,x)∈D
Masalah Ψ ( C ) setup: Misalkan D adalah himpunan, H adalah fungsi hash kriptografi, dan C adalah beberapa konstan. Misalkan lebih jauh bahwa Data ( k , x ) adalah bagian dari informasi yang mudah diperoleh setelah seseorang menentukan bahwa ( k , x ) ∈ D tetapi yang tidak dapat diperoleh sebaliknya.Ψ(C)DHCData(k,x)(k,x)∈D
Soal Ψ ( C ) Tujuan: Cari pasangan ( k , x ) sehingga k adalah hash cocok dan mana ( k , x ) ∈ D , dan di mana H ( k | | x | | data ( k , x ) ) < C .Ψ(C)(k,x)k(k,x)∈DH(k||x||Data(k,x))<C
Mari kita selidiki bagaimana masalah Ψ ( C ) memenuhi persyaratan 1-4.Ψ(C)
- Kami harus mengasumsikan C sudah acak untuk SLT untuk memenuhi properti ini.C
2-3. Ψ ( C ) biasanya akan menjadi lebih sulit daripada C dan ini adalah hal yang baik. Kesulitan masalah pembuktian-kerja harus dapat ditala secara halus, tetapi masalah awal C mungkin atau mungkin tidak memiliki tingkat kesulitan yang dapat ditala secara halus (ingat bahwa kesulitan dalam menambang Bitcoin disesuaikan setiap dua minggu). Kesulitan masalah Ψ ( C ) sama dengan kesulitan menemukan beberapa yang cocok ( k , x ) ∈ D dikalikan dengan 2 nΨ(C)CCΨ(C)(k,x)∈DC . Oleh karena itu, karena konstantaCdapat ditala halus, kesulitanΨ(C)juga dapat ditala halus.2nCCΨ(C)
Meskipun masalah Ψ ( C ) lebih sulit daripada masalah asli C , hampir semua pekerjaan untuk memecahkan masalah Ψ ( C ) akan dihabiskan hanya untuk menemukan pasangan ( k , x ) dengan ( k , x ) ∈ D daripada menghitung hash (orang tidak dapat menghitung apakah H ( k | | x | | Data ( k , x ) ) < CΨ(C)CΨ(C)(k,x)(k,x)∈DH(k||x||Data(k,x))<Catau tidak sampai seseorang telah menghitung Data ( k , x ) dan seseorang tidak dapat menghitung Data ( k , x ) kecuali seseorang memverifikasi bahwa Data ( k , x ) ∈ D ).Data(k,x)Data(k,x)Data(k,x)∈D
Tentu saja, fakta bahwa Ψ ( C ) lebih sulit daripada C menghadirkan beberapa kekhawatiran baru. Untuk masalah yang bermanfaat, kemungkinan besar seseorang ingin menyimpan pasangan ( k , x ) di mana ( k , x ) ∈ D dalam beberapa basis data. Namun, untuk menerima blok reward, penambang harus hanya mengungkapkan sepasang ( k , x ) di mana ( k , x ) ∈ D dan H ( k | |Ψ(C)C(k,x)(k,x)∈D(k,x)(k,x)∈Dx | | Data ( k , x ) ) < C bukan semua pasangan ( k , x ) ∈ D terlepas dari apakah H ( k | | x | | Data ( k , x ) ) < C atau tidak. Salah satu solusi yang mungkin untuk masalah ini adalah bagi para penambang untuk hanya mengungkapkan semua pasangan ( k , x ) di mana ( k , x )H(k||x||Data(k,x))<C(k,x)∈DH(k||x||Data(k,x))<C(k,x)∈ D karena sopan santun. Penambang juga akan memiliki kemampuan untuk menolak rantai jika para penambang belum diposting adil dari pasangan ( k , x ) ∈ D . Mungkin, seseorang harus menghitung jumlah pasangan ( k , x ) ∈ D untuk perhitungan siapa yang memiliki rantai valid terpanjang juga. Jika sebagian besar penambang posting solusi mereka, maka proses pemecahan Ψ ( C ) akan menghasilkan seperti banyak solusi sebagai proses pemecahan C .(k,x)∈D(k,x)∈D(k,x)∈DΨ(C)C
Dalam skenario di mana penambang memposting semua pasangan ( k , x ) ∈ D , Ψ ( C ) akan memuaskan semangat kondisi 2-3.(k,x)∈DΨ(C)
- Ψ ( C ) mungkin memenuhi atau tidak memenuhi kondisi 4 tergantung pada masalah spesifik.Ψ(C)4
Keuntungan lain dari teknik ini:Other Advantages of this technique:
SLT menawarkan keuntungan lain selain kondisi 1-4 yang diinginkan atau diperlukan untuk masalah pembuktian kerja.
Meningkatkan keseimbangan keamanan / efisiensi: SLT akan membantu jika C mungkin terlalu mudah untuk dipecahkan atau terlalu sulit untuk diverifikasi. Secara umum, Ψ ( C ) jauh lebih sulit untuk memecahkan daripada C , tapi Ψ ( C ) adalah sebagai mudah untuk memverifikasi sebagai C .C
Penghapusan masalah yang rusak / tidak aman: SLT dapat digunakan untuk secara algoritmik menghapus masalah POW yang buruk dalam cryptocurrency dengan masalah POW cadangan dan beberapa masalah POW. Misalkan suatu entitas menemukan algoritma yang sangat cepat untuk memecahkan masalah C . Maka masalah seperti itu bukan lagi masalah pembuktian kerja yang cocok dan harus dihilangkan dari cryptocurrency. Cryptocurrency karena itu harus memiliki algoritma yang menghilangkan C dari cryptocurrency setiap kali seseorang telah memposting algoritma yang memecahkan masalah C terlalu cepat tetapi yang tidak pernah menghilangkan masalah C sebaliknya. Berikut adalah garis besar dari algoritma masalah penghapusan seperti yang digunakan untuk menghapus masalah yang akan kita sebut Soal A .
Sebuah. Alice membayar biaya yang besar (biaya tersebut akan menutupi biaya yang harus dikeluarkan oleh penambang untuk memverifikasi algoritma) dan kemudian memposting algoritma yang akan kita sebut Algoritma K yang memecahkan Masalah A ke blockchain. Jika Algoritma K mengandalkan sejumlah besar data pra-komputasi P C , maka Alice memposting akar Merkle dari data pra-komputasi P C ini .
b. Contoh acak dari Masalah A diproduksi oleh Blockchain. Alice kemudian posting bagian data pra-dihitung dengan yang dibutuhkan untuk Algoritma K bekerja dengan benar bersama dengan cabang Merkle mereka untuk membuktikan bahwa data yang benar-benar datang dari P C . Jika algoritma Alice makan dengan pra-dihitung Data P C dengan cepat, maka masalah akan dihapus dan Alice menerima hadiah untuk posting algoritma yang menghilangkan masalah dari blockchain tersebut.
Prosedur penghapusan masalah ini mahal secara komputasi pada penambang dan validator. Namun, SLT menghilangkan sebagian besar kesulitan komputasi dari teknik ini sehingga dapat digunakan jika diperlukan dalam cryptocurrency (contoh dimana teknik ini digunakan mungkin akan sangat langka).
Kelompok penambangan lebih layak: Dalam cryptocurrency, seringkali sangat sulit untuk memenangkan hadiah blok. Karena hadiah blok sangat sulit untuk dimenangkan, para penambang sering menambang dalam hal-hal yang disebut kolam penambangan di mana para penambang menggabungkan sumber daya mereka dalam memecahkan masalah dan di mana mereka berbagi hadiah blok sesuai dengan jumlah "nyaris celaka" yang mereka temukan . Masalah yang mungkin untuk C adalah bahwa hal itu mungkin sulit untuk menghasilkan gagasan kualitatif tentang apa yang merupakan sebagai “nyaris” untuk masalah C dan algoritma untuk menemukan nyaris mungkin berbeda dari algoritma untuk memecahkan C . Karena penambang kolam akan mencari kesalahan dekat, mereka mungkin tidak sangat efisien dalam menyelesaikan C(dan karenanya, beberapa orang akan bergabung dengan kolam penambangan). Namun, untuk Ψ ( C ) , ada gagasan yang jelas tentang near miss, yaitu near miss adalah pair ( k , x ) di mana ( k , x ) ∈ D tetapi di mana H ( k | | x | | Data ( k , x ) ) ≥ C , dan algoritma untuk menemukan nyaris untuk Ψ ( C )akan sama dengan algoritma untuk menemukan solusi Ψ ( C ) .
Progress freeness: Masalah bukti kerja P dikatakan bebas kemajuan jika jumlah waktu yang diperlukan untuk suatu entitas atau kelompok entitas untuk menemukan blok berikutnya pada blockchain mengikuti distribusi eksponensial e - λ x di mana konstanta λ berbanding lurus dengan jumlah daya komputasi yang entitas menggunakan untuk memecahkan masalah P . Kemajuan kemajuan diperlukan untuk masalah penambangan cryptocurrency agar penambang dapat menerima hadiah blok sesuai dengan kekuatan penambangan mereka untuk mencapai desentralisasi. SLT tentu saja membantu masalah penambangan mencapai kemajuan.