Blockchain/Tahap IV · Kedalaman protokol/4.1 Script/Pelajaran 5
Hashlock dan HTLC
Rahsia yang membuka segalanya, dan pemasa yang menyelamatkannya daripada hilang selama-lamanya
BahanSebarang editor teks atau baris arahan yang menyokong SHA-256Peneroka blok (contohnya, mempool.space)Kertas putih Lightning Network oleh Poon & Dryja
Ingin tahu
- Bagaimanakah pembayaran boleh dikunci pada rahsia yang hanya diketahui oleh seorang, tanpa orang itu perlu mempercayai sesiapa pun?
- Jika mendedahkan rahsia untuk menuntut wang sendiri akan mendedahkannya kepada seluruh rangkaian, apa yang menghalang orang lain daripada mencurinya terlebih dahulu?
- Mengapakah setiap hop dalam laluan pembayaran berbilang nod memerlukan tarikh akhir yang sedikit berbeza?
Teroka
- Hashlock ialah syarat Bitcoin Script yang menyekat perbelanjaan sehingga data tertentu, iaitu preimage, didedahkan. Syiling dikunci di sebalik hash, yang biasanya dibekalkan oleh orang yang memegang rahsia itu. Sifat penting di sini ialah jika mana-mana peserta mendedahkan preimage untuk menuntut dana mereka, mereka mendedahkannya kepada sesiapa sahaja yang melihat tuntutan itu: on-chain, kepada semua orang; di dalam saluran Lightning, kepada rakan niaga (counterparty).
- Pendedahan awam ini membolehkan pihak lain yang memegang output yang dikunci dengan hash yang sama turut membelanjakannya. Dalam Lightning Network, ini bermakna apabila penerima akhir (Charlie) mendedahkan rahsia untuk menuntut bayaran daripada Bob, rahsia yang sama membuka output Alice yang dikunci untuk Bob. Mekanisme ini membolehkan atomisiti: sama ada semua orang dibayar, atau tiada sesiapa pun.
- Namun, hashlock tulen mempunyai kelemahan: jika Charlie hilang dan tidak pernah mendedahkan preimage, dana tersekat selama-lamanya. Menambah timelock menghasilkan hash time-locked contract (HTLC). Skrip itu kini menyatakan, bagi hop terakhir yang ditawarkan oleh Bob: 'Charlie boleh menuntut syiling ini dengan mendedahkan preimage sebelum tarikh akhir T, ATAU Bob boleh menuntutnya semula selepas T.'
- Logik dua laluan ini memastikan operasi tanpa kepercayaan. Jika pembayaran berjaya, Charlie mendedahkan rahsia dalam tempoh tamat masa, mencetuskan rantaian tuntutan dari Bob kembali kepada Alice. Jika pembayaran gagal atau Charlie luar talian, setiap HTLC tamat tempoh dan pihak yang menawarkannya (Bob daripada Charlie, Alice daripada Bob) menuntut semula dana melalui cabang tamat masa skrip.
- Protokol keadilan inilah yang membolehkan penghalaan berbilang hop. Setiap HTLC dalam laluan mempunyai tamat masa yang sedikit lebih panjang daripada HTLC yang ditawarkan oleh pemegangnya kepada nod seterusnya di hilir. Jurang ini melindungi setiap nod perantara: jika rakan di hilirnya menuntut dengan preimage pada saat terakhir, nod perantara masih mempunyai masa untuk menggunakan preimage itu di hulu sebelum HTLC masuknya sendiri boleh dikembalikan.
- Walaupun teka-teki Script boleh menjadi kompleks, kontrak sebenar seperti HTLC sentiasa merangkumi semakan tandatangan di samping hashlock dan timelock. Ini mengikat penyelesaian kepada pihak tertentu dan menghalang front-running oleh pelombong, iaitu apabila pelombong melihat preimage yang sah dalam mempool dan mengalihkan bayaran kepada dirinya sendiri sebelum ia disahkan.
Fakta utama
- Hashlock menyekat perbelanjaan sehingga sekeping data tertentu (preimage) didedahkan secara umum.
- Sebaik sahaja mana-mana hashlock yang menggunakan hash tertentu dibuka, preimage yang didedahkan membolehkan semua hashlock lain yang menggunakan hash yang sama dibelanjakan.
- HTLC menggabungkan hashlock dan timelock untuk mewajibkan penerima membelanjakan sebelum tarikh akhir, atau membenarkan penghantar mendapat bayaran balik.
- HTLC digunakan dalam transaksi komitmen Lightning Network untuk membolehkan penghalaan berbilang hop tanpa kepercayaan dengan atomisiti.
- Script menyediakan OP_SHA256 dan OP_HASH160 untuk hashlock; Lightning menggunakan hash pembayaran SHA-256.
- Tier Nolan mencadangkan atomic swap rentas rantaian menggunakan mekanisme hashlock ini pada tahun 2013.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 senario dunia sebenar atau kriptografi di mana satu tindakan mendedahkan rahsia yang membuka laluan kepada beberapa tindakan lain (contohnya, membuka peti besi, menerbitkan bukti kerja).
6KelompokkanKumpulkan 9 itu kepada 6 mengikut cara rahsia itu dilindungi: pemilik tunggal, berbilang pemilik, terikat masa, terikat ruang, awam tetapi mahal, atau tidak boleh diundur.
3SaringKurangkan 6 itu kepada 3 mekanisme teras yang membolehkan penyelarasan tanpa kepercayaan (trustless) antara pihak yang tidak mengenali satu sama lain.
1KristalkanTulis 1 ayat tentang mengapa hash ialah komitmen dan preimage ialah kunci, dan bagaimana pemasa menjadikan kedua-duanya selamat.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.