Satashi Nakamoto mengirim proposal untuk "sistem tunai elektronik baru yang sepenuhnya peer-to-peer, tanpa pihak ketiga yang tepercaya, " ke milis kriptografi pada hari Jumat, 31 Oktober 2008. Tanggapan pertama - pertama kali siapa pun secara publik berkomentar tentang bitcoin - datang pada hari Minggu berikut: "Kami sangat, sangat membutuhkan sistem seperti itu, " tulis James A. Donald, "tetapi cara saya memahami proposal Anda, tampaknya tidak skala ke ukuran yang diperlukan."
Terjadi 10 tahun kemudian, kritik itu masih berdering. Bahkan penginjil bitcoin yang paling bersemangat pun mengakui bahwa tidak ada gunanya melakukan pembelian kecil setiap hari. Tetapi Lightning Network, salah satu proyek penskalaan bitcoin yang paling menjanjikan saat ini sedang berlangsung, dapat mengubahnya.
Jaringan Petir
Berbicara di KTT Blockstack pada bulan Juli 2017, CEO Lightning Labs Elizabeth Stark mengutip kritik pertama tentang uang elektronik Nakamoto, tetapi menyatakan keyakinan bahwa bitcoin sebenarnya bisa berskala. "Kami pada dasarnya pada tahun 1995 terulang kembali ketika menyangkut blockchain dan teknologi terdesentralisasi, " katanya, merujuk pada waktu sebelum internet mengakuisisi HTTP dan lapisan transport dan aplikasi lain dari TCP / IP.
Di antara aplikasi "lapisan 2" yang paling banyak dibicarakan untuk bitcoin blockchain adalah jaringan kilat. Pertama kali diusulkan oleh Joseph Poon dan Tadge, alias Thaddeus Dryja pada tahun 2015 (versi terbaru dari whitepaper mereka tersedia di sini), petir telah dikerjakan menjadi spesifikasi fungsi yang disebut petir-rfc atau "BOLTS" oleh tiga perusahaan, masing-masing memiliki implementasinya sendiri: Lightning Labs memiliki lnd, Blockstream memiliki c-lightning, dan ACINQ memiliki eclair. Ada juga implementasi non-BOTLS yang sedang dikembangkan, seperti guntur.
Jaringan kilat sudah mulai beroperasi, tetapi masih dalam masa pertumbuhan yang ekstrem. Bitcoin nyata telah dikirim dan hampir selalu diterima menggunakan implementasi Lightning Labs, Blockstream, dan ACINQ, dan ketiganya dapat dioperasikan. Video di bawah ini menunjukkan insinyur ACINQ mengirimkan 0, 000001 bitcoin (sekitar $ 0, 01) hampir secara instan dari node eclair ke node lnd melalui c-lightning node:
Untuk melihat seberapa besar peningkatan yang diwakilinya, kami mencoba transaksi serupa pada bitcoin blockchain menggunakan GreenAddress, aplikasi dompet seluler. Aplikasi ini menyarankan membayar penambang 0, 00001907 BTC ($ 0, 19): biaya 1, 907%. Meskipun tidak jelas berapa banyak blok yang dimaksudkan untuk dikonfirmasi oleh biaya (kami telah menghubungi GreenAddress untuk mengetahuinya), jawabannya mungkin enam blok, atau sekitar satu jam.
Namun, kami tidak akan pernah tahu berapa lama transaksi tertentu akan terjadi: pesan kesalahan memberi tahu kami bahwa "output di bawah 546 satoshi dianggap debu ekonomi oleh Bitcoin. Tolong tambah nilainya."
Lightning Labs juga telah menguji pertukaran atom lintas rantai menggunakan jaringan; ini adalah transfer nilai antara blockchain yang berbeda, dalam hal ini bitcoin dan litecoin, yang berpotensi menandai langkah pertama menuju membangun pertukaran yang terdesentralisasi.
Lightning memungkinkan pembayaran mikro yang tidak bisa dilakukan bitcoin sendiri, tetapi implementasi yang ada masih bermasalah. Stark mendesak pengguna untuk belajar tentang petir menggunakan "testnet" bitcoin (yaitu, menggunakan uang palsu), daripada "mainnet" yang disiarkan langsung. Namun, sekitar $ 50.000 transaksi telah dilakukan di mainnet pada saat penulisan, dan beberapa orang telah kehilangan uang karena bug c-lightning. (Christian Decker, insinyur teknologi inti di Blockstream, memberi tahu saya melalui email bahwa dana pada akhirnya dapat diperoleh kembali dalam kebanyakan kasus.)
Jadi bagaimana cara kerja kilat?
Cara Kerja Petir
Solusi Lightning didasarkan pada saluran pembayaran dua arah, off-chain. Katakan bahwa Alice dan Bob sering bertransaksi satu sama lain dalam jumlah kecil. Pembayaran dalam jaringan tidak praktis dalam kasus ini karena biaya dan waktu konfirmasi yang panjang, sehingga mereka memutuskan untuk membuka saluran yang memungkinkan mereka mengirim bitcoin bolak-balik, secara instan dan bebas biaya.
Membuka Saluran
Untuk membuka saluran, Alice, Bob, atau keduanya menyumbang sejumlah bitcoin ke alamat khusus melalui apa yang disebut transaksi pendanaan (kotak hijau pada diagram di bawah). Say Alice berkontribusi 1 BTC. Dia mengirimkan dana ke alamat multisig 2-of-2, yang mengharuskan Alice dan Bob secara kriptografis "menandatangani" setiap transaksi pengiriman dengan kunci pribadi mereka. Transaksi normal hanya membutuhkan tanda tangan (kunci pribadi) kunci yang sesuai dengan kunci publik alamat pengirim.
Yang penting, transaksi pendanaan belum ditandatangani atau disiarkan ke jaringan.
Selanjutnya, Alice dan Bob membuat "transaksi komitmen" menggunakan transaksi pendanaan sebagai "induknya": mereka menggunakan output 1 BTC yang belum dikonfirmasi sebagai input untuk transaksi "anak" yang mengirimkan 0, 5 BTC ke Alice (output 0) dan 0, 5 BTC ke Bob (output 1). Jika Anda memprotes protokol bitcoin tidak memungkinkan pengguna untuk menandatangani pengeluaran tanpa mengetahui tanda tangan input, kemampuan itu diberikan melalui garpu lunak.
Alice kemudian menandatangani output yang mengirim 0, 5 BTC ke Bob; Bob menandatangani output pengiriman 0, 5 BTC ke Alice. Keduanya kemudian menandatangani dan menyiarkan transaksi pendanaan, yang berkomitmen pada bitcoin blockchain (dan dikenakan biaya jaringan dan waktu tunggu).
Mereka sekarang memiliki saluran pembayaran terbuka di mana mereka dapat menukar bitcoin bolak-balik secara instan dan bebas biaya. Baik Alice atau Bob dapat menutupnya kapan saja dan mengklaim masing-masing 0, 5 BTC mereka, atau apa pun saldo yang diperbarui.
Membuka Saluran… Dalam Bahasa Inggris
Kecuali Anda sudah tahu sedikit tentang jeroan jaringan kilat, mungkin sulit untuk mencerna "tanda tangan di sini, awal di sini, habiskan ini, siarankan itu - bukan bukan itu. "
Berikut deskripsi yang lebih konseptual. Transaksi pendanaan seperti apa itu: memberikan dana untuk saluran tersebut. Itu juga bertindak sebagai batas untuk saluran: tidak ada pihak yang dapat berakhir dengan lebih dari jumlah pendanaan awal, dan saldo kedua belah pihak harus bertambah hingga jumlah itu. Alasan transaksi pendanaan dibuat pertama, tetapi disiarkan terakhir, adalah bahwa jika itu hanya diposting ke blockchain dalam satu langkah, tidak akan ada yang dicapai selain dari transaksi tunggal, vanilla polos. Petir tidak membuat mereka lebih cepat atau lebih murah.
Dengan membiarkan transaksi pendanaan terbuka, memasukkan transaksi komitmen - yang, seperti dijelaskan di bawah ini, berfungsi sebagai semacam kontrak pintar - dan kemudian menutup transaksi pendanaan, hadiah kilat membuka semacam lubang cacing di jaringan. Ini memungkinkan Anda untuk memindahkan bitcoin bolak-balik di sepanjang jalur tunggal yang ditentukan. Anda menggunakan protokol bitcoin, tetapi melewati penundaan dan biaya yang dikenakan oleh para penambang.
Menjaga Lightning Trustless
Say Bob sekarang ingin membayar Alice 0, 1 BTC menggunakan saluran terbuka mereka. Kedua pihak hanya memperbarui transaksi komitmen - tidak perlu naik banding ke penambang. Saldo, yang sebelumnya masing-masing 0, 5 BTC, sekarang 0, 6 BTC ke Alice, 0, 4 BTC ke Bob.
Satu-satunya masalah adalah, bagaimana cara melakukannya dengan aman? Karena mereka telah bertukar tanda tangan untuk transaksi awal, Bob dapat menandatanganinya - daripada yang terbaru - dan berjalan pergi dengan 0, 5 BTC bukannya 0, 4 BTC yang sebenarnya harus dia bayar. Dengan kata lain, dia dapat mencuri sekitar $ 1.000 dari Alice, berdasarkan harga pada saat penulisan. Jawabannya mungkin hanya membuka saluran dengan orang yang Anda percayai. Tapi lalu apa gunanya menggunakan bitcoin?
Menemukan solusi kriptografis untuk dilema ini bermuara pada satu tujuan: menjadikannya mustahil untuk menandatangani transaksi lama dan menutup saluran dengan cara yang mencerminkan keadaan sebelumnya. Selama melakukan itu adalah sebuah pilihan, petir memiliki masalah pengeluaran ganda.
Ingat bahwa Bob menandatangani setengah dari transaksi komitmen (Komitmen Tx 1a di bawah), yang hanya dapat ditayangkan Alice karena miliknya adalah tanda tangan yang hilang. Alice menandatangani yang lain (Komitmen Tx 1b), yang hanya dapat disiarkan oleh Bob. Salah satu dapat melakukannya dan menutup saluran, tetapi menggunakan kemampuan penulisan kontrak pintar bitcoin (terbatas), output dari dua bagian dari transaksi komitmen dapat dikenakan batasan yang berbeda. Secara khusus, satu output dapat memungkinkan penerima untuk menghabiskan dana segera, sementara yang lain dapat dikenakan pembatalan oleh salah satu pihak - melalui Kontrak Kematangan Urutan yang Dapat Dicabut (RSMC) - untuk periode waktu tertentu, seperti 1000 blok, atau sekitar seminggu.
Inilah mengapa itu berguna. Jika Bob ternyata licik dan tidak berprinsip, ia hanya dapat menandatangani dan menyiarkan Komitmen Tx 1b (di atas), yang membayar Alice segera (Pengiriman 1b) dan menyimpan dananya dalam limbo yang dapat ditarik kembali selama seminggu (Revocable Delivery 1b). Alice, melihat bahwa Bob telah berusaha untuk memperpendeknya, dapat memicu pencabutan dan mengklaim bukan hanya 0, 1 BTC yang dicobanya dicuri oleh Bob, tetapi 0, 4 BTC yang seharusnya ia dapatkan.
Dengan kata lain, seluruh saluran menuju ke Alice jika dia menangkap Bob yang selingkuh. Itu mungkin karena ketika para pihak membuat transaksi komitmen baru (C2a dan C2b di bawah), berjanji pada dasarnya untuk tidak menyiarkan transaksi komitmen lama (C1a atau C1b), mereka meletakkan uang mereka di mulut mereka. Seiring dengan transaksi komitmen baru, mereka membuat transaksi penyelesaian pelanggaran dengan dua output (BR1a dan BR1b) yang berlaku untuk komitmen sebelumnya. Alice memberi Bob kunci pribadinya untuk separuh transaksi obat pelanggarannya, dan sebaliknya. Sekarang jika salah satu mencoba menyiarkan transaksi lama, rekanan dapat mengambil keuntungan dari masa tunggu 1000-blok dan masuk sebelum transaksi itu, mengambil seluruh saldo pihak yang menyinggung itu.
Masalahnya adalah bahwa Alice harus memberikan perhatian semi-konstan ke salurannya, jangan sampai Bob menangkapnya lengah selama 1000 blok. Poon dan Dryja menyarankan menunjuk beberapa pihak ketiga yang tugasnya adalah untuk memicu transaksi pemulihan pelanggaran - yang memberikan imbalan semua dana saluran kepada pihak yang dirugikan - ketika pihak rekanan mencoba untuk menipu. Ini bisa dibayar biaya dari denda.
Olaoluwa Osuntokun, salah satu pendiri Lightning Labs dan CTO, sedang mengembangkan "menara pengawal" untuk melayani sebagai penegak pihak ketiga ini. Sementara kekhawatiran telah dikemukakan bahwa node ini dapat bertindak sebagai pihak yang dipercaya dan memperkenalkan rasa tidak aman ke dalam jaringan, Osuntokun mengatakan kepada CoinDesk bahwa hanya satu menara pengawal yang jujur akan dibutuhkan untuk saluran tertentu.
Juga, sebagaimana Christian Decker, insinyur teknologi inti di Blockstream, tunjukkan dalam email, penipuan itu berisiko. Ini pertaruhan yang signifikan untuk mengasumsikan bahwa pihak yang Anda coba rampok tidak akan check in setidaknya sekali seminggu, dan risiko kehilangan semua uang di saluran Anda mungkin cukup jera.
Menghubungkan Saluran
Di dunia nyata, Alice tidak ingin bertransaksi secara eksklusif dengan Bob, maupun Bob secara eksklusif dengan Alice. Keduanya memiliki jumlah rekanan yang perlu mereka bayarkan dan dibayar oleh. Membuka saluran dengan setiap pihak ini tidak praktis. Bahkan jika antarmuka pengguna disederhanakan menjadi sempurna, beberapa pengguna akan memiliki likuiditas yang diperlukan untuk mengikat bitcoin di selusin atau lebih saluran terbuka.
Untungnya mereka tidak harus melakukannya. Seperti yang ditunjukkan video di atas, pengguna dapat merutekan pembayaran melalui saluran pengguna menengah, sehingga membayar siapa pun dengan satu atau dua saluran terbuka harus dimungkinkan melalui prinsip pemisahan enam derajat. Tidak seperti transaksi dalam satu saluran, transaksi multi-saluran ini kemungkinan akan melibatkan biaya kecil untuk memberikan insentif kepada simpul untuk mendanai saluran dan membuatnya tetap terbuka. Perutean bawang, teknik yang digunakan untuk menyamarkan pengguna browser TOR, mencegah node perantara melihat jalur lengkap yang diambil oleh transaksi, mengurangi masalah privasi.
Seberapa baik jaringan saluran ini bekerja dalam praktiknya masih harus dilihat, dan dapat dibayangkan bahwa jika pembayaran harus mengambil rute yang terlalu berbelit-belit - dengan terlalu banyak "lompatan" melalui saluran perantara - biaya yang dibebankan oleh pengguna tersebut dapat bertambah.
Bisakah Petir Tetap Terdesentralisasi?
Kekhawatiran ini terkait dengan salah satu yang, bagi para kritikus, merupakan cacat yang tidak dapat diatasi dalam jaringan kilat. Dalam implementasi hari ini, sebuah saluran memiliki batasan: jumlah bitcoin dalam transaksi pendanaan awal membatasi jumlah total uang dalam saluran tersebut.
Situasi ini membebani pengguna dengan sumber daya yang cukup terbatas. Mereka dapat mendanai saluran dengan bitcoin dalam jumlah besar untuk memastikan bahwa mereka memiliki dana untuk melakukan pembayaran apa pun yang mereka perlukan, atau mereka dapat mendanai saluran yang lebih kecil dan menyediakan bitcoin untuk penggunaan lain. (Karena pembayaran dapat dialihkan melalui saluran yang ditautkan, pengguna yang diberikan mungkin tidak perlu membuka lebih dari beberapa saluran, dan mungkin hanya beberapa.)
Pilihan bermuara pada memiliki likuiditas dalam saluran petir atau likuiditas di luar mereka, on-chain. Memilih untuk mendanai saluran pembayaran cair bisa berisiko jika menara pengawas atau solusi lain tidak mencegah hilangnya dana melalui kurangnya perhatian. Di sisi lain, jika saluran pembayaran dibuat aman dan kilat menjadi metode utama untuk menggunakan bitcoin sehari-hari, akan ada sedikit masalah dengan meninggalkan dana di saluran. Mereka akan berfungsi sebagai "kartu debit atau uang tunai yang dapat diisi ulang, " seperti yang dikatakan Decker, sementara rantai utama bertindak sebagai rekening tabungan.
Stark membuat argumen serupa: mendanai saluran kilat mencegah Anda menggunakan bitcoin untuk hal lain, kecuali "jaringan yang berpotensi banyak node yang melintasi multihop akan menerima bitcoin secara instan, " tulisnya melalui email. "Kami membayangkan dana pada saluran Lightning menjadi lebih berguna daripada bitcoin on-chain untuk bertransaksi karena kecepatan instan dan biaya rendah, " tambahnya.
Hub?
Tetapi dengan siapa Anda akan mengatur saluran ini? Memilih Bob untuk Alice Anda adalah keputusan ekonomi, bukan kriptografi, dan untuk kritik dari jaringan kilat, jawaban yang jelas akan menjadi semacam "hub, " simpul dengan banyak modal, memberikannya kemampuan untuk mempertahankan saluran terbuka yang didanai dengan baik dengan sejumlah pihak sekaligus.
Gagasan bahwa apa yang dianggap sebagai industri perbankan bitcoin off-chain mungkin mengembangkan pengganggu bitcoin, yang melihatnya sebagai sentralisasi jaringan.
Stark membantah argumen ini. "Ribuan pengguna menjalankan node penuh untuk bitcoin, " tulisnya, "dan kami percaya mereka dan orang lain juga akan menjalankan node pada Lightning (lebih mudah karena Anda tidak perlu node penuh bitcoin bersamaan dengan itu, dan tidak seperti bitcoin node penuh Anda dapat menghasilkan biaya kecil dari perutean). " Dia juga menunjukkan bahwa timnya sedang mengerjakan "splicing, " yang akan memungkinkan saluran untuk ditambahkan menggunakan bitcoin dari rantai utama. Kemampuan itu dapat mengurangi pertukaran antara menempatkan bitcoin di saluran atau meninggalkannya di rantai utama, yang pada gilirannya dapat mengurangi kecenderungan terbentuknya hub.
Decker melihatnya sebagai kemungkinan bahwa "jaringan dua tingkat akan terbentuk, dengan sejumlah besar node yang dapat diandalkan dan bertindak sebagai tulang punggung jaringan." Dia mengharapkan ini menjadi pedagang, namun, bukan hub yang ada hanya untuk menyediakan saluran cair. Menyediakan saluran ini untuk banyak pengguna, menurutnya, akan mahal, membutuhkan hub untuk membebankan biaya tinggi dan membuat mereka tidak kompetitif dibandingkan dengan node lain.
CEO ACINQ Pierre-Marie Padiou tidak mengaku tahu bagaimana perkembangan jaringan kilat. "Sangat sulit untuk memprediksi keseimbangan apa yang akan terjadi antara sentralisasi dan desentralisasi, " tulisnya melalui email. "Tentu saja akan ada node yang lebih besar dan node yang lebih kecil, tetapi sejauh mana sulit untuk diceritakan sebelumnya."
Cara Tepat Menimbang?
Poon dan Dryja menegaskan bahwa "menggunakan jaringan saluran pembayaran mikro ini, Bitcoin dapat menskalakan hingga miliaran transaksi per hari dengan kekuatan komputasi yang tersedia pada komputer desktop modern saat ini." Mungkin, tapi itu tidak terjadi hari ini. Kurang dari 1.000 node petir mainnet terbuka pada saat penulisan.
Juga tidak kilat satu-satunya proposal penskalaan di luar sana. Pesaing utama adalah uang bitcoin, pertikaian keras bitcoin yang memungkinkan blok yang lebih besar. Perdebatan antara pendukung uang bitcoin, pendukung kilat dan advokat dari berbagai cara ketiga - bahkan anti-scaler sesekali - adalah hidup, jika sengit. Bisa jadi satu atau yang lain akan keluar di atas, bahwa mereka akan terus hidup berdampingan, atau bahwa semua akan gagal.
Bagaimanapun, jaringan kilat adalah upaya yang menjanjikan untuk mengatasi dilema skalabilitas yang telah menghantui bitcoin sejak akhir pekan pertama bitcoin pada 2008.