Blockchain/Tahap V · Lapisan/5.1 Lightning/Pelajaran 1
Saluran pembayaran
Dua tandatangan, ribuan pembayaran: mekanisme penyelesaian di luar rantaian
BahanPenjelajah blok yang mampu memaparkan input multisig (contohnya, mempool.space)Dokumen spesifikasi BOLT #2Alat graf untuk memvisualisasikan struktur transaksi pembiayaan dan transaksi komitmen
Ingin tahu
- Bagaimanakah dua pihak boleh melakukan ribuan pembayaran segera sambil hanya menghantar dua transaksi ke blockchain Bitcoin?
- Apakah mekanisme yang menghalang peserta daripada menyebarkan transaksi komitmen yang lebih lama yang memihak kepada baki mereka?
- Mengapa saluran pembayaran pertama yang diterangkan oleh Jeremy Spilman pada tahun 2013 hanya berfungsi secara satu hala sahaja?
Teroka
- Lapisan asas Bitcoin menyelesaikan transaksi pada selang kira-kira sepuluh minit, sekali gus mewujudkan kelewatan dan kekangan yuran bagi pembayaran mikro berfrekuensi tinggi. Saluran pembayaran memindahkan beban pengiraan bagi kemas kini keadaan ke luar rantaian, membolehkan peserta bertukar-tukar keadaan baki yang ditandatangani tanpa had masa tanpa perlu disebarkan ke seluruh rangkaian. Blockchain dalam rantaian hanya berfungsi sebagai lapisan penyelesaian, dan hanya mengesahkan peristiwa pembiayaan awal dan penutupan akhir.
- Saluran ini bermula dengan transaksi pembiayaan: output multisig 2-of-2 yang mengunci dana yang dikawal bersama oleh Alice dan Bob. Jika masing-masing menyumbang 1 BTC, kapasiti saluran tersebut ialah 2 BTC. Tiada pihak yang boleh membelanjakan dana ini secara sepihak tanpa tandatangan pihak yang satu lagi. Struktur ini mengikat para peserta dalam satu akaun bersama yang hanya wujud sebagai tuntutan berpotensi pada rantaian utama.
- Semasa operasi, Alice dan Bob bertukar-tukar transaksi komitmen yang mewakili pengagihan baki yang baharu. Setiap kemas kini menggantikan keadaan sebelumnya; jika Alice menghantar 0.1 BTC kepada Bob, mereka menandatangani transaksi baharu yang memindahkan dana daripada output Alice ke output Bob. Transaksi yang telah ditandatangani tetapi belum disiarkan ini merupakan transaksi Bitcoin yang sah, sekali gus memastikan bahawa sebarang keadaan akhir dapat dikuatkuasakan dalam rantaian tanpa perlu bergantung pada kepercayaan terhadap pihak lawan.
- Setiap pihak juga mesti dihalang daripada menyiarkan keadaan lapuk yang membayarnya lebih banyak. Lightning melakukannya dengan rahsia pembatalan dan timelock, yang akan dibincangkan dalam pelajaran akan datang; ringkasnya, menerbitkan keadaan yang telah dibatalkan membolehkan pihak yang satu lagi mengambil keseluruhan baki saluran, sekali gus menjadikan penipuan satu pertaruhan yang pasti rugi.
- Penutupan berlaku sama ada secara bersama atau sepihak. Dalam penutupan secara bersama, kedua-dua pihak menandatangani transaksi penyelesaian yang membayar baki akhir masing-masing dengan segera tanpa timelock. Jika satu pihak terputus sambungan atau bertindak secara berniat jahat, pihak yang satu lagi boleh melakukan penutupan paksa dengan menyiarkan transaksi komitmen terkini. Dalam laluan sepihak ini, pihak yang melakukan penutupan paksa perlu menunggu tamatnya timelock relatif sebelum membelanjakan bahagiannya sendiri, sekali gus memberi masa untuk tuntutan penalti; output pihak yang satu lagi pula boleh digunakan hampir serta-merta.
- Pendahulu kepada konsep ini termasuk saluran satu hala Jeremy Spilman (2013), di mana pembayaran hanya boleh mengalir daripada pembayar kepada penerima, serta saluran dupleks Christian Decker dan Roger Wattenhofer (2015). Kertas kerja Lightning Network oleh Joseph Poon dan Thaddeus Dryja (draf 2015, versi 2016) menambah komitmen yang boleh dibatalkan, supaya saluran dapat kekal terbuka tanpa had masa, serta HTLC, supaya pembayaran boleh dihalakan merentasi banyak saluran. Pelaksanaan mainnet seperti LND, Core Lightning, dan Eclair kini menguruskan keadaan-keadaan ini, dengan penggunaan yang ketara bermula secara serius pada tahun 2018.
Fakta utama
- Saluran pembayaran mengunci dana dalam output multisig 2-of-2, yang memerlukan kedua-dua tandatangan untuk perbelanjaan dalam rantaian.
- Transaksi komitmen ialah kemas kini yang telah ditandatangani tetapi tidak disiarkan, yang mengagihkan semula baki saluran; setiap keadaan baharu menggantikan keadaan sebelumnya.
- Rahsia pembatalan membolehkan pihak lawan menuntut keseluruhan baki saluran sekiranya transaksi komitmen yang sudah ketinggalan zaman disiarkan.
- Penutupan secara bersama menyelesaikan baki dengan segera melalui transaksi penyelesaian tanpa timelock; penutupan sepihak pula mengenakan timelock relatif untuk pengesahan penalti.
- Saluran satu hala Jeremy Spilman pada tahun 2013 dan saluran dupleks Decker/Wattenhofer pada tahun 2015 merupakan pendahulu utama kepada Lightning Network.
- Pelaksanaan utama termasuk LND (Lightning Labs), Core Lightning (Blockstream), Eclair (ACINQ), dan LDK, dengan penggunaan di mainnet semakin meningkat sejak tahun 2018.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 komponen teknikal atau protokol yang berbeza yang terlibat dalam membuka, mengemaskini, dan menutup saluran pembayaran.
6KelompokkanKumpulkan 9 item tersebut ke dalam 6 kategori berdasarkan fungsinya: pembiayaan, pengurusan keadaan, penguatkuasaan keselamatan, mekanisme penutupan, prasyarat penghalaan, atau standard pelaksanaan.
3SaringKurangkan 6 kumpulan tersebut kepada 3 prinsip asas yang menjamin operasi tanpa kepercayaan antara dua pihak.
1KristalkanTulis 1 ayat tentang sebab dua transaksi dalam rantaian boleh menyelesaikan sebarang bilangan pembayaran di luar rantaian.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.