Skala dengan Kecepatan: Penjelasan Jaringan Petir Bitcoin

Diterbitkan: 2022-03-11

Bitcoin Lightning Network adalah solusi independen yang digembar-gemborkan sebagai solusi untuk semua masalah yang mencegah Bitcoin dari adopsi arus utama. Ia mengklaim untuk memecahkan masalah penskalaan yang suram, melakukan transaksi instan, menjaga biaya transaksi tetap kecil, dan mengambil transaksi Anda dari blockchain. Bagaimana sistem independen dari Bitcoin inti menawarkan peningkatan ini? Bagaimana itu bisa melanggar aturan konvensional Bitcoin dengan menawarkan transaksi aman tanpa konfirmasi? Apa itu Jaringan Petir Bitcoin?

Pada artikel ini, kita akan mengeksplorasi apa sebenarnya Jaringan Petir Bitcoin, bagaimana ia dapat memberikan jaminan yang diberikannya, dan kondisinya saat ini.

Catatan: Artikel ini mengasumsikan keakraban dengan Bitcoin. Jika Anda tidak terbiasa dengan cara kerja cryptocurrency atau perlu penyegaran, baca Cryptocurrency for Dummies: Bitcoin and Beyond.

Prasyarat: Masalah Penskalaan Bitcoin

Jika Anda mengetahui masalah penskalaan Bitcoin, silakan lewati bagian ini, tetapi jika tidak, atau perlu penyegaran, baca terus.

Bitcoin memiliki masalah penskalaan. Bitcoin dirancang untuk menyimpan semua transaksi dalam struktur data yang disebut blok. Sebuah blok berisi informasi tentang blok sebelumnya, data lain-lain tentang hadiah penambangan, dan sebagian besar blok hanyalah data transaksi. Blok juga diperbaiki dengan ukuran maksimal 1 MB. Bagian terakhir ini adalah di mana masalahnya.

Karena blok berukuran 1 MB, dan blok dibuat setiap 10 menit, dengan asumsi transaksi bukan SegWit (akan muncul kemudian), jaringan dapat memproses maksimum antara 3,3 dan 7 transaksi per detik. Untuk mata uang yang dirancang untuk digunakan secara massal oleh miliaran manusia dan mesin mereka, 7 transaksi per detik tidak sepadan. Visa, di sisi lain, mengklaim dapat memproses 24.000 transaksi per detik.

Saat jumlah transaksi mulai meningkat, transaksi individual Anda bersaing satu sama lain untuk dimasukkan ke dalam ruang blok terbatas, dan dengan demikian, kemungkinan Anda memasukkannya ke dalam blok mulai berkurang. Karena penambang dapat secara sewenang-wenang memutuskan transaksi mana yang akan dimasukkan dalam blok, pada kesempatan ini, satu-satunya cara untuk memberi insentif kepada penambang untuk memasukkan transaksi Anda adalah dengan meningkatkan biaya transaksi Anda. Namun, ini mulai membuat transaksi menjadi sangat mahal—seperti transaksi 192 byte seharga $92,98 di mana biaya transaksinya adalah $14,86.

Jadi, bagaimana kita “menskalakan” Bitcoin? Ada tiga aliran pemikiran utama atau—seperti yang saya suka menyebutnya—pertempuran dari Flamewars Bitcoin Skala Besar:

  • Meningkatkan ukuran blok: 2X, 8X, …, X
  • Transaksi yang lebih kecil: SegWit et al.
  • Rantai Samping: Jaringan Petir Bitcoin

Meningkatkan Ukuran Blok Bitcoin

Yang ini cukup sederhana untuk dipahami: Jika batas blok 1 MB adalah masalahnya, buatlah lebih besar! Perdebatan tentang ini sangat sengit dan masih berlangsung. Akhirnya, pada 1 Agustus 2017, Bitcoin (BTC) bercabang dan Bitcoin Cash (BCH) lahir. Perbedaan utama antara keduanya adalah bahwa BCH memiliki blok 8 MB. Ini membuat sebagian besar blok kosong dan biayanya sangat rendah.

Namun, blok 8 MB berarti total ukuran blockchain BCH kemungkinan akan meningkat pada tingkat yang jauh lebih cepat, membuat biaya penyimpanan menjadi penghalang yang jauh lebih tinggi untuk masuk dalam adegan penambang. Argumennya adalah bahwa ini akan mengurangi jumlah total penambang, yang juga mengamankan blockchain, mengurangi desentralisasi dan keamanan keseluruhan jaringan Bitcoin.

Kritik lain dari blok yang lebih besar adalah bahwa itu tidak menyelesaikan masalah itu sendiri; alih-alih, itu untuk sementara menambal masalah. Akan selalu ada batas maksimum dengan blok yang lebih besar, dan batas maksimum akan selalu jauh lebih kecil dari batas target yang ingin kami capai: 24.000 transaksi per detik. Bahkan dengan blok 8 MB yang lebih besar, BCH memiliki batas 61 transaksi per detik.

Transaksi Lebih Kecil: Saksi Terpisah

Solusi lain menunjukkan bahwa format transaksi saat ini bukanlah yang paling efisien dan bertujuan untuk mengemas lebih banyak transaksi di blok yang sama. Yang paling terkenal dari ini disebut Segregated Witness (SegWit), diusulkan melalui BIP 91 dan diaktifkan di blok 481824 pada 25 Agustus 2017. SegWit sekarang menjadi bagian dari Bitcoin, bersukacitalah!

Perbandingan blok Non-SegWit dan SegWit
Perbandingan blok Non-SegWit dan SegWit, berdasarkan ilustrasi oleh David A. Harding

SegWit mengambil data tanda tangan dari transaksi dan menyimpannya dalam struktur terpisah dari blok transaksi, sehingga membuat transaksi individual menjadi lebih kecil dan memanfaatkan ruang terbatas dalam setiap blok dengan lebih baik. Struktur ini kemudian opsional saat menyinkronkan blockchain, yang mengarah ke pengurangan ukuran pada disk yang dihilangkan.

Ini juga menghasilkan solusi untuk masalah kelenturan transaksi, dan transaksi yang hanya menghabiskan output SegWit tidak lagi rentan.

Jaringan Petir Bitcoin

Lightning Network adalah jaringan lapis kedua yang mentransmisikan transaksi yang ditandatangani, tetapi tidak disiarkan, di antara rekan-rekan dan bergantung pada blockchain Bitcoin hanya untuk penyelesaian akhir dana. Ini berarti bahwa transaksi tidak terbatas pada ukuran blok sama sekali, waktu konfirmasi tidak relevan, dan blockchain Bitcoin tidak perlu menyimpan setiap transaksi yang pernah terjadi.

Siapa yang mengembangkan Jaringan Petir Bitcoin? Ini pertama kali dijelaskan dalam kertas putih yang ditulis oleh Joseph Poon dan Thaddeus Dryja tetapi sejak itu berkembang menjadi upaya komunitas dengan individu pihak ketiga dan bahkan perusahaan yang berkontribusi pada spesifikasi dan implementasi.

Informasi lebih lanjut nanti.

SegWit vs. Peningkatan Ukuran Blok vs. Jaringan Petir Bitcoin

Mana yang terbaik, lalu? Saya tidak memiliki bukti empiris untuk mendasari jawaban saya, jadi ini adalah pendapat: Meskipun saya pikir penggunaan ruang blok yang lebih baik (ala SegWit) adalah hal yang baik untuk dimiliki, saya pikir peningkatan ukuran blok akan seperti mendorong tiang gawang untuk masa depan. Jika penggunaan Bitcoin meningkat secara substansial, kami akan menemukan diri kami pada awalnya berdebat tentang peningkatan lain dalam ukuran blok.

Tidak setuju? Tinggalkan komentar di bawah!

Dengan mengatakan itu, sementara saya pikir jaringan penyelesaian alternatif seperti Bitcoin Lightning adalah ide yang bagus, saya juga menunggu untuk melihat bagaimana cara kerjanya di dunia nyata. Sampai sekarang, itu tidak benar-benar dalam keadaan yang bisa saya dan ayah saya gunakan.

Penjelasan Jaringan Petir Bitcoin

Saya telah menyebutkan bahwa Lightning Network adalah jaringan lapis kedua yang mentransmisikan transaksi yang ditandatangani, tetapi tidak disiarkan, di antara rekan-rekan dan bergantung pada blockchain Bitcoin hanya untuk penyelesaian akhir dana.

Mari kita lihat bagaimana ini akan bekerja dalam kehidupan nyata.

Node dan Saluran Petir

Node Lightning berjalan sangat mirip dan tidak seperti node Bitcoin karena beroperasi dalam mode jaringan, memvalidasi transaksi, dan berkomunikasi dengan node lain, tetapi melakukan hal-hal yang secara historis tidak dilakukan oleh node Bitcoin: ia menyimpan dana, bertindak sebagai perantara keuangan otomatis , secara aktif memantau "saluran" Lightning untuk perilaku jahat dan bereaksi secara defensif (ini dijelaskan secara rinci nanti), dll.

Untuk menjalankan fungsi ini, node membutuhkan uang.

Catatan: Contoh-contoh ini awalnya mengasumsikan setiap orang menjalankan node Bitcoin Lightning Network yang terhubung ke internet 24/7, yang jelas tidak akan terjadi. Asumsi ini akan dipatahkan di bagian Lightning Wallet vs. Lightning Node.

Membuat Saluran Petir

Misalkan Anda dan teman Anda Bob memiliki hubungan yang melibatkan cukup banyak transaksi keuangan. Anda kadang-kadang hang out bersama untuk makan siang atau menonton film. Terkadang salah satu dari Anda kekurangan uang, dan terkadang yang lain dan Anda biasanya berakhir saling bermusuhan sesudahnya.

Namun, sebagai pendukung crypto, Anda berdua memutuskan untuk mencoba Lightning dan membuat saluran bersama baru yang Anda danai sama dengan setengah bitcoin masing-masing (itu banyak makan siang).

Ilustrasi dua node membuat saluran di Jaringan Petir Bitcoin

Membuat saluran Lightning baru seperti membuat dompet bitcoin multi-tanda tangan yang membutuhkan kedua tanda tangan Anda untuk menyetujui transaksi, tetapi dengan satu perbedaan; Anda masing-masing mendapatkan “Transaksi Komitmen” yang ditandatangani, tetapi belum disiarkan, sesuai dengan kertas putih Lightning Network, yang mengembalikan setoran awal Anda kembali kepada Anda. Dengan cara ini, jika persahabatan Anda mengalami masa sulit, atau salah satu dari Anda membutuhkan uang, Anda dapat menutup saluran secara sepihak dengan menyiarkan transaksi ini dan semua orang mendapatkan jumlah yang sah.

Melakukan Transaksi Petir dengan Orang yang Anda Miliki Salurannya

Katakanlah Anda pergi keluar untuk makan siang lagi suatu hari dan Anda akhirnya berutang kepada Bob yang setara dengan 8.000 satoshi (0,31 USD saat saya menulis ini). Saat ini, jika Anda menggunakan Bitcoin untuk menyelesaikan jumlah ini, Anda akhirnya akan membayar 0,10 USD dan menunggu satu jam, membuatnya tidak layak.

Ilustrasi dua node memperbarui status salurannya

Namun, dengan Lightning, Anda dapat melakukan ini secara gratis hanya dengan mengganti "Transaksi Komitmen" Anda dengan transaksi baru untuk Anda berdua pegang. Hanya saja kali ini, Bob memiliki 8.000 satoshi lebih banyak, dan Anda memiliki lebih sedikit. (Jika Anda berpikir untuk curang dengan menyiarkan transaksi lama pada saat ini, tunggu sampai bagian Menutup Saluran .)

Anda dapat menyiarkan transaksi dan menutup saluran, namun, menutup saluran akan dikenakan biaya transaksi, dan karena Anda berdua tidak memerlukan jumlah tersebut segera, Anda dapat memegang saluran dan menggunakannya untuk melunasi hutang di masa mendatang.

Melakukan Transaksi Petir dengan Orang yang Tidak Memiliki Saluran

Katakanlah suatu hari, Bob mengundang salah satu temannya yang lain, Alice, dan setelah berjam-jam makan sandwich, Anda berdua berhutang budi kepada Alice karena toko itu hanya menerima Coinye (mata uang kripto yang sudah tidak berfungsi yang ditinggalkan setelah Kanye West menggugat), yang terjadi pada Alice. memiliki.

Ilustrasi transaksi petir multi-hop

Sekarang, dengan asumsi Bob memiliki saluran terbuka dengan Alice, dengan Lightning, Anda juga dapat membayar Alice melalui Bob. Node Anda menghitung rute optimal antara Anda dan Alice—dalam hal ini, dengan Bob sebagai perantara keuangan—dan semua perantara dapat membayar uang muka, dengan sedikit biaya jika mereka mau.

Menutup Saluran: Dua Cara Baik dan Cara Buruk

Ada tiga cara untuk menutup Saluran Petir:

  1. Secara kolaboratif: Salah satu pihak di saluran memulai penutupan saluran Bitcoin Lightning dan yang lainnya menyetujui. Tidak ada kunci waktu, dan uang siap dibelanjakan segera setelah persetujuan dikonfirmasi. Ini adalah cara "terbaik" untuk menutup saluran.
  2. Secara sepihak: Salah satu pihak di saluran dapat menutup saluran Bitcoin Lightning ketika salah satu pihak menginginkannya, bahkan jika pihak lain tidak menyetujuinya. Ini menghasilkan penguncian waktu di mana pihak lain dapat mempermasalahkan penutupan dengan transaksi “Breach Remedy” (lihat skenario 3 di bawah), tetapi mari kita asumsikan itu tidak terjadi. Setelah kunci waktu berakhir, dana bebas digunakan. Ini adalah cara yang "dapat diterima" untuk menutup saluran.
  3. Solusi Pelanggaran: Karena transaksi kilat adalah daftar transaksi yang ditandatangani dengan cap waktu di mana pembagian dana bervariasi, adalah mungkin bagi satu pihak untuk mencoba menipu (melanggar kepercayaan) dengan secara sepihak menutup saluran dengan transaksi lama di mana mereka menyimpan lebih banyak dana (lihat skenario 2). Ini menghasilkan penguncian waktu, dan selama periode ini, pihak yang dirugikan tidak hanya dapat memulihkan dana mereka sendiri tetapi juga menggesek seluruh kapasitas saluran menggunakan transaksi “Breach Remedy”, seperti yang dijelaskan dalam whitepaper Bitcoin Lightning Network.

Lightning Node vs. Lightning Wallet

Dalam contoh di atas, kami menggunakan istilah “simpul” Lightning, yang akan membuat Anda berpikir bahwa Anda harus menjaga agar simpul Anda tetap aktif dan berjalan 24/7 di internet. Dan ya, Anda benar. Lightning Network dirancang agar node selalu online, memastikan bahwa jaringan beroperasi mendekati kapasitas maksimum. Dan, jika tidak ada yang online untuk memantau upaya kecurangan dan berhasil, saluran akan ditutup seperti penutupan sepihak biasa, membuat Anda tidak memiliki dana.

Namun, buku putih Lightning Network menjelaskan solusi untuk masalah ini:

…seseorang harus secara berkala memantau blockchain untuk melihat apakah rekanan seseorang telah menyiarkan Transaksi Komitmen yang tidak valid, atau mendelegasikan pihak ketiga untuk melakukannya. Pihak ketiga dapat didelegasikan dengan hanya memberikan transaksi Breach Remedy kepada pihak ketiga ini. Mereka dapat diberi insentif untuk menonton blockchain menyiarkan transaksi semacam itu jika terjadi kejahatan pihak lawan dengan memberi pihak ketiga ini sejumlah biaya dalam output. Karena pihak ketiga hanya dapat mengambil tindakan ketika pihak lawan bertindak jahat, pihak ketiga ini tidak memiliki kekuatan untuk menutup saluran secara paksa.

Pihak ketiga ini sering disebut menara pengawas dan harus menghilangkan beban selalu online dari pengguna.

Keadaan Jaringan Petir

Jaringan Petir Bitcoin pada 27 Maret 2019:

  • Memiliki lebih dari 7,5 ribu node
  • Memiliki hampir 40 ribu saluran terbuka
  • Sedikit di atas 1 ribu BTC dalam kapasitas

Itu tumbuh pada tingkat:

  • 25 node per jam
  • 304 saluran per jam

Ada banyak implementasi node Lightning Network, bahkan Eclair Lightning Wallets di Play Store. Ini masih eksperimental, kurang polesan dan fitur penting untuk menerima dana, tetapi menurut saya, sementara ekosistemnya kecil, ia tumbuh dengan sehat.

Spesifikasi dan Implementasi

Spesifikasi Bitcoin Lightning Network dalam status Request for Comments (RFC) dan dibuat dari serangkaian dokumen yang disebut Basis of Lightning Technology (BOLTS). BOLTS terus berubah sejak publikasi ini dan kontribusi yang disambut baik.

Ada juga beberapa implementasi node Lightning Network yang sesuai dengan BOLT:

  • LND: Singkatan dari Lightning Network Daemon, ini adalah implementasi berbasis Go.
  • Eclair: Implementasi berbasis Scala.
  • C-lightning: Implementasi berbasis C.

Untuk sumber daya lainnya, lihat kesimpulan artikel ini.

Kelebihan dan Kritik dari Lighting Network

Jadi apa yang bisa kita capai dengan Lightning Network?

  • Transaksi mikro sejati (fraksi sen)
  • Biaya terendah yang bisa dibayangkan (fraksi sen)
  • Tingkat privasi (tidak ada catatan blockchain)

Namun, seperti yang saya katakan sebelumnya, ada sejumlah kritik terhadap Lightning Network, beberapa di antaranya adalah tantangan yang valid dan belum terpecahkan yang dihadapi Lightning:

  • Perutean dan sentralisasi: Karena Lightning Network terus berubah dengan status saluran yang berubah, buka dan tutup setiap hari, dan ada penyimpanan riwayat yang terpusat untuk digunakan kembali, rute pembayaran perlu dihitung lagi setiap saat. Ini bagus ketika jaringannya kecil, tetapi ketika menjadi cukup besar, node kecil Anda yang berjalan pada perangkat keras kecil mungkin tidak memiliki kekuatan pemrosesan untuk menghitung rute. Solusi untuk masalah ini mungkin supernode terpusat dengan pengetahuan tingkat lanjut yang dapat Anda kueri. Ini dijelaskan secara lebih rinci di sini.
  • Terlalu banyak pinjaman: Paling baik dijelaskan dalam posting ini, yang bahkan membuat Vitalik Buterin, salah satu pendiri Ethereum, untuk ikut serta. Ini pada dasarnya mengatakan bahwa karena rantai 10 hop untuk membayar $10 mengharuskan setiap orang membayar $10 ke depan, Anda akan akhirnya memindahkan dana $100. Pada satu titik, memindahkan jumlah besar menjadi tidak mungkin. Apakah ini benar atau tidak di dunia nyata belum ditentukan, tetapi ini adalah argumen yang meyakinkan.

Apakah saya melewatkan kritik? Tolong beri tahu saya di komentar di bawah.

Bacaan & Sumber Daya Lebih Lanjut

Saya harap Anda akhirnya mengerti apa sebenarnya Jaringan Petir itu. Di balik itu semua, itu hanya sistem pesan yang didasarkan pada pertukaran token kriptografi. Ini belum sempurna atau dapat digunakan secara luas, tetapi itu tidak berarti itu bukan bagian rekayasa yang mengesankan.

Saya merekomendasikan untuk membaca buku putih asli Jaringan Petir Bitcoin. Saya juga dapat merekomendasikan daftar bacaan dan aplikasi lebih lanjut, buku, dan makalah, tetapi pengguna GitHub Ben Congdon sudah melakukannya, jadi saya sarankan untuk memeriksa bcongdon/awesome-lightning-network . Terima kasih Ben! Sebagai pengembang Bitcoin, Anda berhutang pada diri sendiri untuk membaca sebanyak mungkin tentang teknologi baru ini.

Jika semua itu terlalu banyak informasi, mari kita akhiri ini dengan catatan yang menyenangkan. Berikut adalah video menyenangkan dari Satoshi Craig Wright yang mengaku mencoba berbicara tentang hari-hari baik bitcoin.