Hanya untuk edukasi; bukan nasihat investasi, hukum, atau keamanan. Keamanan HTLC bergantung pada skrip atau kontrak yang tepat, aturan rantai, kebijakan konfirmasi, biaya, pemantauan, dan tindakan tepat waktu.
Jawaban langsung
Kontrak berkunci hash dan waktu (HTLC) adalah pembayaran bersyarat dengan dua jalur belanja yang bersaing. Sebelum jatuh tempo, penerima dapat mengungkap nilai x yang hash-nya cocok dengan komitmen h = H(x) dan memenuhi tanda tangan atau otorisasi. Sesudahnya, pembayar dapat memakai jalur pengembalian. Urutan tepat di batas ditentukan rantai dan kontrak, bukan kata “sebelum”.
Kunci hash menghubungkan tindakan: praimaji yang sama dapat dipakai untuk menyelesaikan pembayaran masuk setelah pembayaran keluar. Kunci waktu membatasi lamanya kondisi. Kanal pembayaran menggunakannya untuk meneruskan pembayaran; swap atomik untuk mengoordinasikan transfer pada sistem terpisah.
HTLC tidak otomatis tanpa kepercayaan, atomik, privat, atau berjalan sendiri. Keamanan juga memerlukan kode benar, penyandian kompatibel, jatuh tempo bertingkat, asumsi finalitas, biaya, pemantauan, dan konfirmasi tepat waktu. HTLC Lightning adalah desain Bitcoin tertentu; kontrak rantai lain dapat berbeda.
- Cabang hash: ungkap praimaji dan penuhi otorisasi sukses selama jalur berlaku.
- Cabang waktu: penuhi otorisasi pengembalian setelah kunci absolut atau relatif matang.
Cara kerja
Bob memilih praimaji baru dan tak tertebak x, menghitung h = H(x), lalu memberi h kepada Alice. Alice mengunci dana dengan aturan yang mengikat h, pihak berwenang, dan jatuh tempo T.
- Alice memeriksa algoritme, penyandian, jumlah, aset, penerima, tujuan pengembalian, rantai, dan jatuh tempo sebelum mendanai.
- Bob memeriksa output yang benar-benar didanai atau kontrak yang diterapkan, bukan draf atau tampilan.
- Untuk jalur sukses Bob memberi
x; logika memeriksaH(x) = hdan otorisasi. - Publikasi atau pengiriman
xdapat memungkinkan Alice atau perantara menyelesaikan HTLC lain dengan hash pembayaran sama. - Jika sukses tidak dipakai tepat waktu, pengembalian menjadi sah pada
T; hal itu tidak menyiarkan atau mengonfirmasikannya. - Peserta tetap harus menyiapkan transaksi, membayar biaya cukup, mengirim, memantau penggantian dan konflik, serta memperoleh konfirmasi.
- Setelah
xdiungkap kepada lawan atau rantai publik, anggap terbuka dan jangan gunakan untuk syarat lain.
Bitcoin membedakan kunci absolut dan relatif. OP_CHECKLOCKTIMEVERIFY BIP 65 menahan belanja sampai tinggi atau waktu blok pada locktime; OP_CHECKSEQUENCEVERIFY BIP 112 menunggu usia relatif input. Kolom transaksi juga harus cocok. Kunci waktu adalah aturan validasi, bukan penjadwal.
Di Lightning, update_add_htlc membawa jumlah, payment_hash, dan cltv_expiry. Setiap hop membuat HTLC keluar kedaluwarsa sebelum HTLC masuk agar ada waktu menagih ke hulu setelah praimaji diketahui. BOLT 3 mengatur output komitmen, jalur HTLC-success dan HTLC-timeout, tanda tangan, pencabutan, pemangkasan dust, dan jeda; dua cabang saja bukan kanal lengkap.
Contoh
Sebagai contoh pendidikan, Alice menukar 1 BTC dengan 20 ETH milik Bob. Ini hanya menunjukkan urutan; produksi memerlukan kode khusus rantai yang ditinjau dan tidak boleh menyalin durasi nominal ini.
- Alice membuat
xdanh = H(x)baru lalu mengunci1 BTCagar Bob menagih dengan praimaji dan Alice mengembalikan setelah48 hours. - Setelah memeriksa transaksi Bitcoin dan kebijakan konfirmasi, Bob mengunci
20 ETHdengan hash dan penyandian kompatibel; jalur Alice berakhir setelah24 hours, lalu pengembalian Bob. - Sebelum mengungkap
xuntuk20 ETH, Alice memeriksa ID Ethereum, bytecode, alamat, aset, jumlah, pihak,h, dan kedua jalur. - Bob memperoleh
xdari klaim atau pesan yang disepakati dan mencoba jalur sukses Bitcoin sebelum batas yang lebih akhir. - Jika swap berhenti sebelum pengungkapan, tiap pengembalian hanya sah menurut rantainya dan harus dikirim serta dikonfirmasi.
Selisih 48 hours dan 24 hours adalah cadangan respons, bukan nilai universal. Modelkan reorganisasi, waktu blok, finalitas, eksekusi, relay, mempool, biaya, sensor, dan latensi pada kedua sistem. Pihak kedua jangan bergerak hanya karena antarmuka berkata “terkonfirmasi”.
Risiko
- Komitmen salah: algoritme, panjang, atau penyandian berbeda sehingga
xyang sama tidak berlaku di kedua sisi. - Artefak salah: output, ID rantai, alamat, bytecode, aset, jumlah, penerima, atau pengembalian berbeda dari tampilan.
- Urutan tak aman: batas sama atau terlalu dekat menggagalkan klaim hulu sesudah pembayaran hilir.
- Kesalahan batas: tinggi, waktu blok, timestamp, usia relatif, serta
<dan<=tidak setara. - Tidak otomatis: kematangan hanya mengesahkan belanja; dompet, node, pengguna, atau pengawas harus bertindak.
- Biaya dan dust: klaim dapat tak ekonomis, terpangkas, macet, atau mustahil tanpa aset biaya asli.
- Konfirmasi dan reorganisasi: melihat transaksi atau praimaji bukan penyelesaian yang tak dapat dibalik.
- Perlombaan dan macet: sukses, timeout, penggantian, konflik, atau penundaan dapat menghabiskan cadangan.
- Implementasi: cacat skrip, kontrak, dompet, tanda tangan, nonce, RPC, atau klien dapat merusak jalur.
- Pemantauan: pihak luring dapat melewatkan pengungkapan, jatuh tempo, penutupan paksa, penggantian, atau waktu siar terakhir.
- Privasi: hash berulang, praimaji, jumlah, waktu, dan peristiwa kanal dapat menghubungkan transfer.
- Opsi dan gangguan: pihak dapat mengunci likuiditas lalu batal; penyelesaian dan kompensasi tidak dijamin.
Sebelum mempertaruhkan nilai, uji jalur sukses dan pengembalian dengan jumlah remeh, catat artefak dan batas, siapkan biaya, serta tentukan pemantau dan penyiar saat gagal.
Kesalahpahaman umum
- “Dana otomatis kembali saat jatuh tempo.” Biasanya pengembalian hanya menjadi sah; seseorang harus menyiarkan dan mengonfirmasikannya.
- “Memenuhi
H(x) = hadalah seluruh kontrak.” Tanda tangan, cabang, kolom, aturan, pencabutan, dan otorisasi juga penting. - “Batas sama di kedua sisi itu adil.” Perantara atau pelaku kedua perlu cadangan hulu setelah mengetahui
x. - “Praimaji terlihat menjamin waktu klaim.” Konfirmasi, reorganisasi, kemacetan, biaya, dan sensor dapat menghabiskannya.
- “Atomik berarti dua rantai berubah dalam satu transaksi tak terbagi.” Status terpisah dikoordinasikan; pembatalan, pengembalian, dan status sepihak sementara tetap ada.
- “HTLC anonim dan menghapus semua kepercayaan.” Sinyal dapat bocor dan sistem bergantung pada kode, rantai, kunci, pemantauan, dan operasi.
Topik terkait
Sumber
- BIP 65: OP_CHECKLOCKTIMEVERIFY - Bitcoin Improvement Proposals (diakses: 2026-08-20)
- BIP 112: CHECKSEQUENCEVERIFY - Bitcoin Improvement Proposals (diakses: 2026-08-20)
- BOLT #2: protokol peer untuk kanal - Lightning BOLTs (diakses: 2026-08-20)
- BOLT #3: format transaksi dan skrip Bitcoin - Lightning BOLTs (diakses: 2026-08-20)
- BOLT #4: protokol perutean onion - Lightning BOLTs (diakses: 2026-08-20)