56 / 736CHAN

Payment Channel

Kanal pembayaran

Kanal pembayaran memungkinkan dua pihak berulang kali membayar tanpa mencatat setiap pembayaran di blockchain. Yang berubah adalah kesepakatan tentang pembagian bitcoin; kemampuan menyelesaikannya di blockchain memberi kekuatan pada kesepakatan itu. Lightning Network bertumpu pada kanal semacam ini.

Payment Channel, atau kanal pembayaran, memungkinkan pembagian bitcoin yang dikunci bersama diubah melalui kesepakatan bertanda tangan digital. Tanda tangan menyatakan persetujuan atas pembagian baru; setiap perubahan tidak perlu masuk ke blockchain, catatan publik transaksi Bitcoin. Peserta tetap memiliki cara menutup kanal dan menyelesaikan pembagian dana di blockchain. Di sini dibahas kanal Lightning dua pihak yang umum dengan pencabutan: kesepakatan lama dapat dicabut, dan penggunaannya kemudian dapat dikenai penalti. Desain lain mungkin mengikuti aturan berbeda.

Bayangkan dua pihak terus memperbarui hak atas dana yang dikunci bersama. Setiap pembayaran tidak membutuhkan transaksi Bitcoin tersendiri dalam blok. Sebagai gantinya, keduanya bertukar tanda tangan untuk status baru. Ini bukan sekadar tabel yang harus dipercaya: mereka memegang transaksi yang dapat memaksakan penyelesaian sesuai syarat yang disepakati. [1] [2]

Transaksi pendanaan memasukkan bitcoin ke kanal. Output-nya berupa dana dengan aturan siapa yang boleh membelanjakannya; konfirmasi berarti transaksi sudah masuk ke sebuah blok. Pada kanal Lightning yang umum, output ini membutuhkan tanda tangan kedua pihak: 2-of-2. Sebelum pendanaan disiarkan, peserta harus memiliki jalur yang sah untuk menutup secara sepihak. Biasanya mereka menunggu konfirmasi pendanaan. Dalam kondisi tertentu, zero-conf memungkinkan kanal dipakai tanpa menunggu konfirmasi. Penerima lalu lebih bergantung pada pihak yang mendanai kanal: transaksinya belum dikonfirmasi dan dapat digantikan transaksi lain yang membelanjakan dana yang sama. [2] [3]

Transaksi commitment ditandatangani terlebih dahulu untuk menyelesaikan pembagian dana yang saat itu disepakati. Node di sini adalah program yang mengelola kanal dan pembaruannya. Setiap pihak mempunyai versi transaksi commitment sendiri. Saat memperbarui, node mengoordinasikan tanda tangan dan rahasia pencabutan melalui commitment_signed dan revoke_and_ack. Kesepakatan baru tidak membuat transaksi lama yang sudah ditandatangani menjadi tidak sah menurut konsensus Bitcoin. Karena itu, perlindungan terhadap publikasi status yang dicabut harus termuat dalam syarat pembelanjaan output. [2] [3]

Dalam kanal pencabutan yang umum, pihak yang menerbitkan commitment-nya menunggu to_self_delay sebelum membelanjakan dananya sendiri. Waktu tunggu dihitung dalam blok sejak transaksi commitment dikonfirmasi. Jika status itu sudah dicabut, pihak lain dapat menggunakan kunci pencabutan untuk membelanjakan output terkait sebagai tindakan korektif. Ia harus bertindak tepat waktu dan mendapatkan konfirmasi transaksi. Watchtower adalah layanan pemantau rantai yang dapat memakai data yang disiapkan sebelumnya untuk merespons publikasi status yang sudah dicabut. Namun, layanan ini tidak menjamin keberhasilan atau menggantikan cadangan. [3] [4]

Sat adalah singkatan dari satoshi, satuan bitcoin terkecil pada rantai. Kapasitas adalah jumlah seluruh dana dalam kanal, bukan saldo masing-masing peserta. Misalnya kanal berisi 100000 sat: Alice memiliki 70000 sat dan Bob 30000 sat. Jika Alice membayar Bob 10000 sat, pembagiannya menjadi 60000 sat dan 40000 sat. Demi kejelasan, kita mengabaikan biaya dan dana cadangan. Kapasitas tetap, tetapi Alice dapat mengirim lebih sedikit dan menerima lebih banyak. Dana cadangan serta pembayaran yang masih diproses turut menentukan batas sebenarnya. [6]

Lightning mencari jalur melalui beberapa kanal yang terhubung. HTLC adalah pembayaran bersyarat: untuk menerima dana, sebuah nilai rahasia bernama preimage harus diungkap, dan hash atau sidik jari digitalnya harus cocok dengan nilai yang diketahui sebelumnya. Syarat waktu juga memungkinkan penyelesaian jika pembayaran tidak selesai. Perantara memerlukan likuiditas, yaitu dana yang bisa dikirim ke arah yang diperlukan, dan boleh mengenakan biaya. Jadi, kanal langsung ke setiap pedagang tidak diperlukan, tetapi keterhubungan saja tidak menjamin jalur yang bisa dipakai untuk sembarang jumlah. [2] [4]

Dalam penutupan berdasarkan kesepakatan, atau cooperative close, peserta menyepakati transaksi penutupan, pembagian dana, dan biaya. Keduanya menandatangani lalu menyiarkannya di blockchain. Biasanya ini lebih sederhana daripada penyelesaian sepihak, tetapi tidak otomatis gratis atau seketika. Transaksinya tetap memerlukan konfirmasi dan biaya yang sesuai dengan kondisi jaringan. [2] [4]

Penutupan sepihak, atau force close, memungkinkan penerbitan commitment terbaru milik sendiri tanpa persetujuan baru dari rekan. Dana belum tentu langsung dapat dibelanjakan: waktu tunggu dan kemungkinan penyelesaian HTLC masih berlaku. Transaksi serta biaya tambahan mungkin diperlukan. Jalan keluar darurat tersedia, tetapi waktu dan biayanya bergantung pada status kanal dan kondisi blockchain. [3] [4]

Seed Phrase adalah kata-kata cadangan yang dipakai dompet untuk memulihkan kuncinya. Namun, kata-kata itu saja tidak memulihkan status terbaru kanal yang terbuka, jadi ikuti prosedur dompet Anda. Misalnya, LND, program untuk menjalankan node Lightning, menggabungkan kata-kata tersebut dengan Static Channel Backup (SCB). Cadangan statis ini menyimpan informasi untuk menghubungi rekan dan meminta penutupan kanal; bukan mengembalikan kanal agar bisa terus dipakai membayar. Pemulihan melalui cara ini juga bergantung pada tanggapan rekan. Sebaliknya, channel.db merupakan berkas basis data kanal, dan salinan lama dapat berisi status usang yang berbahaya. Jangan pernah memasukkan kata-kata cadangan asli ke situs pihak lain untuk “memperbaiki” kanal. [5]

Cari tahu siapa memegang kunci, siapa memantau kanal, dan bagaimana akses dipulihkan jika perangkat hilang. Kustodian berarti penyedia layanan memegang kuncinya. Saldo Lightning pada layanan kustodian belum tentu merupakan kanal milik sendiri. Dalam penyimpanan mandiri, Anda bertanggung jawab atas cadangan, ketersediaan, dan penanganan masalah. Kanal menghemat pencatatan di blockchain, tetapi tidak menghapus semua kewajiban operasional atau biaya penyelesaian. [4] [5]

Untuk gambaran yang lebih utuh, baca entri ini bersama Lightning Network, HTLC, Likuiditas Lightning, Lightning Watchtower. Entri ini juga dirujuk dari Konfirmasi, Pembelanjaan ganda, Timelock, HTLC.

DOC · 001Lightning Network paperSumber primer DOC · 002BOLT #2 — Channel lifecycleSumber primer DOC · 003BOLT #3 — Transaction and script formatsSumber primer DOC · 004BOLT #5 — On-chain handlingSumber primer DOC · 005Lightning Labs — Disaster recoveryDokumentasi DOC · 006Lightning Labs — Managing LiquidityDokumentasi
Direvisi: Utamakan sumber · Bukan nasihat investasi