Panduan Lightning Network Bitcoin bagi Pemula
Beranda
Artikel
Panduan Lightning Network Bitcoin bagi Pemula

Panduan Lightning Network Bitcoin bagi Pemula

Pemula
Diterbitkan Nov 28, 2018Diperbarui Feb 14, 2023
20m

Daftar isi


Pengantar

Mata uang kripto memiliki beberapa sifat yang cukup unik. Tidak dapat diretas atau dimatikan dengan mudah, dan siapa pun dapat menggunakannya untuk mengirimkan nilai di seluruh dunia tanpa campur tangan pihak ketiga.
Untuk mempertahankan sifat-sifat ini, harus ada yang dikorbankan. Karena banyak node bertanggung jawab dalam menjalankan jaringan kripto, throughput menjadi terbatas. Akibatnya, jumlah transaksi per detik (TPS) yang dapat diproses oleh jaringan blockchain cukup rendah bagi teknologi yang bertujuan untuk diadopsi secara massal.
Untuk mengatasi keterbatasan yang melekat pada teknologi blockchain, sejumlah solusi skalabilitas telah diusulkan demi meningkatkan jumlah transaksi yang dapat ditangani oleh suatu jaringan. Dalam artikel ini, kita akan mengupas Lightning Network, salah satu perluasan dari protokol Bitcoin.


Apa itu Lightning Network?

Lightning Network merupakan jaringan yang duduk di atas blockchain untuk mempermudah transaksi peer-to-peer yang cepat. Jaringan ini tidak hanya digunakan oleh Bitcoin saja – aset kripto lainnya seperti Litecoin juga telah mengintegrasikannya.
Anda mungkin bertanya-tanya apa yang dimaksud dengan “duduk di atas blockchain”. Lightning Network disebut juga sebagai solusi off-chain atau  layer dua. Memungkinkan Anda untuk bertransaksi tanpa harus mencatat setiap transaksi di blockchain.
Lightning Network terpisah dari jaringan Bitcoin – memiliki node dan perangkat lunak sendiri, tetapi tetap berkomunikasi dengan chain utama. Untuk masuk ke atau keluar dari Lightning Network, Anda harus membuat transaksi khusus di blockchain.

Yang sebenarnya Anda lakukan dalam transaksi pertama adalah membangun semacam smart contract dengan pengguna lain. Kita akan segera membahas detailnya lebih dalam – untuk saat ini, bayangkan saja smart contract yang menyimpan ledger pribadi dengan pengguna lain di mana Anda dapat menulis banyak transaksi. Ledger ini hanya terlihat oleh Anda dan rekanan Anda, tetapi tidak satu pihak pun yang dapat berbuat curang, karena telah diterapkan beberapa fitur dalam pengaturannya untuk mencegah Anda melakukan hal yang tidak terpuji.

Ledger mini ini disebut channel. Katakan saja Alice dan Bob masing-masing memasukkan 5 BTC ke dalam smart contract. Di channel mereka – sekarang masing-masing memiliki saldo 5 BTC. Alice kemudian dapat menulis ke ledger bayar 1 BTC ke Bob. Dengan demikian, sekarang Bob memiliki 6 BTC di sisinya, dan Alice memiliki 4 BTC. Selanjutnya, Bob dapat mengirim 2 BTC kembali ke Alice di kemudian hari, memperbarui saldo menjadi 6 BTC di sisi Alice dan 4 BTC di Bob. Mereka dapat terus melakukan ini untuk sementara.

Setiap saat, pihak mana pun dari keduanya dapat mempublikasikan status channel saat ini ke blockchain. Pada titik ini, saldo di setiap sisi channel dialokasikan ke masing-masing pihak secara on-chain.

Sesuai dengan namanya, transaksi Lightning bekerja secepat kilat. Tidak perlu menunggu konfirmasi blok – pembayaran dapat dilakukan secepat koneksi internet Anda.


Apa saja manfaat Lightning Network?

Sejauh ini, Lightning Network (atau singkatnya, LN) tampaknya menjadi pendekatan yang paling masuk akal dalam meningkatkan skalabilitas blockchain Bitcoin. Mengoordinasikan perubahan dalam ekosistem yang sedemikian luas memang agak rumit – ada risiko hard fork dan bug yang berpotensi menimbulkan masalah serius. Dengan begitu banyak nilai yang dipertaruhkan, eksperimen sangatlah berbahaya.

Ketika Anda memindahkan eksperimen dari blockchain, Anda memiliki lebih banyak fleksibilitas. Jika terjadi kesalahan, tidak akan berdampak pada jaringan Bitcoin yang sebenarnya. Solusi layer dua tidak merusak keamanan yang membuat protokol tetap berjalan selama 10 tahun lebih.

Tidak ada kewajiban untuk beralih dari cara lama dalam melakukan transaksi. Transaksi on-chain terus berfungsi seperti biasa bagi pengguna akhir, tetapi mereka sekarang memiliki opsi untuk melakukan transaksi off-chain juga.

Terdapat beberapa manfaat Lightning Network. Kita akan membahas beberapa yang paling penting di bawah ini. 


Skalabilitas

Blok Bitcoin dihasilkan kira-kira setiap sepuluh menit, ditujukan untuk menampung banyak transaksi. Ruang di dalam blok sangat terbatas, jadi Anda harus bersaing dengan pengguna lain agar Anda dimasukkan lebih dulu. Hal yang paling penting bagi penambang adalah bayaran, sehingga mereka akan memasukkan transaksi dengan biaya lebih tinggi terlebih dulu.
Tidaklah masalah, jika pengguna yang mengirim dana pada saat yang sama tidak banyak jumlahnya. Anda dapat menetapkan biaya rendah, dan kemungkinan besar transaksi Anda akan dimasukkan ke dalam blok berikutnya. Tetapi ketika semua orang melakukan transaksi pada saat yang sama, biaya rata-rata bisa naik secara signifikan. Dalam beberapa kasus, bisa melebihi $5. Pada puncak  bull market di tahun 2017, malah melebihi $50.


Biaya Rata-rata Transaksi Bitcoin (dalam USD)


Mungkin tampak tidak signifikan untuk transaksi yang memindahkan Bitcoin senilai ribuan dolar, tetapi untuk pembayaran yang lebih kecil, ini sangat merugikan. Siapa yang mau membayar kopi seharga $3 dengan biaya $5?

Dengan Lightning Network, Anda masih membayar dua biaya – satu untuk membuka channel Anda, dan satu lagi untuk menutupnya. Tetapi Anda dan lawan transaksi dapat membuat ribuan transaksi gratis begitu channel terbuka. Setelah selesai, Anda hanya perlu mencatatkan status akhir ke blockchain.

Dalam skema besar, jika lebih banyak pengguna mengandalkan solusi off-chain seperti Lightning Network, ruang blok akan digunakan lebih efisien. Transfer dalam nilai rendah dan frekuensi tinggi dapat dilakukan di channel pembayaran, sementara ruang blok digunakan untuk transaksi yang lebih besar dan pembukaan/penutupan channel. Dengan begitu, sistem dapat diakses oleh basis pengguna yang jauh lebih luas, yang memungkinkannya untuk berkembang dalam jangka panjang.


Micropayment

Ada jumlah minimum Bitcoin yang dapat Anda kirim dalam transaksi – sekitar 0,00000546 BTC. Pada saat penulisan, nilainya hampir sama dengan empat sen. Jumlah yang kecil, namun Lightning Network memungkinkan Anda menekannya lebih jauh lagi, transaksi terkecil yang saat ini tersedia – 0,00000001 BTC, atau satu satoshi.

Lightning jauh lebih menarik untuk pembayaran mikro atau micropayment. Dengan biaya transaksi saat ini, sangat tidak praktis untuk mengirim jumlah kecil pada chain utama. Namun, di dalam channel, Anda bebas mengirim Bitcoin dalam unit terkecil secara gratis.

Micropayment cocok untuk banyak penggunaan. Beberapa orang berspekulasi bahwa metode ini bisa menjadi pengganti yang layak untuk model berbasis langganan, di mana pengguna membayar sejumlah kecil setiap kali mereka menggunakan layanan.


Privasi

Manfaat Lightning Network lainnya, memberikan privasi tingkat tinggi kepada pengguna. Channel yang dibuat para pihak tidak perlu diketahui oleh jaringan yang lebih luas. Meskipun Anda mungkin dapat melihat blockchain dan mengetahui bahwa suatu transaksi membuka channel, tetapi Anda tidak dapat mengetahui secara pasti apa yang sedang terjadi di dalamnya. Jika peserta memilih untuk menjadikan channel mereka privat, hanya mereka yang akan tahu transaksi apa yang ada di sana.

Jika Alice memiliki channel dengan Bob, dan Bob memiliki channel dengan Carol, Alice dan Carol dapat saling mengirim pembayaran melalui Bob. Jika Dan terhubung ke Carol, Alice dapat mengirim pembayaran kepada Dan juga. Anda bisa membayangkan ini berkembang menjadi jaringan channel pembayaran yang luas dan saling terhubung. Dalam pengaturan seperti ini, Anda tidak bisa memastikan kepada siapa Alice mengirim dana setelah channel ditutup.


Bagaimana cara kerja Lightning Network?

Dari luar, kita telah membahas bagaimana Lightning Network bergantung pada channel di antara node-node. Sekarang mari kita lihat apa yang terjadi di dalamnya.


Alamat multisignature

Alamat multisignature (atau multisig) merupakan alamat yang dapat dipakai untuk membelanjakan dana dengan beberapa private key. Saat membuat alamat ini, Anda menentukan berapa private key yang dapat membelanjakan dana, dan berapa private key yang diperlukan untuk menandatangani transaksi. Misalnya, skema 1-dari-5 berarti bahwa lima kunci dapat menghasilkan tanda tangan yang valid dan hanya diperlukan satu. Skema 2-dari-3 berarti bahwa dari tiga kunci yang mungkin, dua dibutuhkan untuk membelanjakan dana.
Untuk memulai channel Lightning, para peserta mengunci dana dalam skema 2-dari-2. Hanya ada dua private key yang dapat ditandatangani, dan keduanya diperlukan untuk memindahkan koin. Dari sini, mari kita kembali ke teman-teman kita, Alice dan Bob. Mereka akan melakukan banyak pembayaran satu sama lain dalam beberapa bulan mendatang, jadi mereka memutuskan untuk membuka channel Lightning Network.

Proses dimulai dengan keduanya menyetor, katakanlah, masing-masing 3 BTC ke alamat multisig yang dimiliki bersama. Perlu diingat kembali bahwa Bob tidak dapat memindahkan dana keluar dari alamat tanpa persetujuan Alice, atau sebaliknya. 

Sekarang, mereka dapat menyiapkan selembar kertas untuk mencatat saldo di masing-masing pihak. Masing-masing memiliki saldo awal 3 BTC. Jika Alice ingin melakukan pembayaran 1 BTC ke Bob, mengapa tidak membuat catatan bahwa Alice sekarang memiliki 2 BTC dan Bob memiliki 4 BTC? Saldo bisa dilacak seperti ini sampai mereka memutuskan untuk memindahkan dana keluar.

Hal tersebut sangat mungkin, tapi terdengar kurang menyenangkan, bukan? Pertanyaan yang lebih penting lagi, bukankah cara itu mempermudah salah satu pihak untuk tidak bekerja sama? Jika Alice pada akhirnya memiliki 6 BTC dan Bob tidak memiliki apa-apa, Bob bisa saja menolak untuk melepaskan dana (kecuali, mungkin, jika Alice adalah sahabat karibnya).


Hash Timelock Contract (HTLC)

Sistem di atas membosankan dan tidak menawarkan apa-apa selain pengaturan tepercaya. Akan menjadi jauh lebih menarik jika kita mengenal mekanisme yang menegakkan “kontrak” antara Alice dan Bob. Jika salah satu pihak memutuskan untuk tidak mengikuti aturan, maka yang lain masih memiliki hak untuk mengeluarkan dananya dari channel.

Mekanisme ini disebut Hash Timelock Contract (atau HTLC). Istilah ini mungkin terdengar menakutkan, tetapi sebenarnya cukup mudah dipahami. Mengawinkan dua teknologi berbeda (hashlock dan timelock) untuk mengatasi perilaku tidak kooperatif dalam channel pembayaran.
Hashlock merupakan kondisi yang ditempatkan pada transaksi yang menentukan bahwa Anda hanya dapat menghabiskan dana dengan membuktikan bahwa Anda mengetahui rahasia. Pengirim melakukan hashing terhadap sepotong data dan memasukkan hash tersebut ke dalam transaksi ke penerima. Satu-satunya cara penerima dapat membelanjakannya adalah jika data yang diberikan merupakan data asli (rahasia) yang cocok dengan hash. Dan satu-satunya data asli adalah yang diberikan oleh pengirim.
Timelock merupakan suatu kondisi yang mencegah Anda menghabiskan dana sebelum waktu yang ditentukan. Ditetapkan dengan waktu yang sebenarnya, atau dengan ketinggian blok.

HTLC dibuat dengan menggabungkan hashlock dan timelock. Dalam praktiknya, HTLC dapat digunakan untuk membuat pembayaran bersyarat – penerima harus menunjukkan rahasia sebelum waktu tertentu, jika tidak, pengirim dapat mengambil kembali dana. Bagian selanjutnya mungkin akan lebih baik dijelaskan dengan contoh, jadi mari kita kembali ke Alice dan Bob.


Membuka dan menutup channel

Kita telah mencontohkan bahwa Alice dan Bob baru saja membuat transaksi yang mendanai alamat multisignature yang akan mereka bagi. Namun transaksi tersebut belum dipublikasikan ke blockchain! Kita perlu melakukan satu hal lagi.


Tiga koin dari Bob dan tiga koin dari Alice.


Ingat, satu-satunya cara koin dapat keluar dari multisig adalah jika Alice dan Bob bersama-sama menandatangani transaksi. Jika Alice ingin mengirim semua enam koin ke alamat eksternal, dia akan membutuhkan persetujuan Bob. Alice pertama-tama mengumpulkan transaksi (enam bitcoin ke alamat ini) dan menambahkan tanda tangannya sendiri. 

Alice bisa saja mencoba langsung melakukan transaksi, tetapi itu tidak valid karena Bob belum memasukkan tanda tangannya. Alice harus memberikan transaksi yang tidak lengkap kepada Bob terlebih dahulu. Begitu Bob menambahkan tanda tangannya, transaksi menjadi valid.

Kita masih belum menerapkan mekanisme untuk menjaga semua pihak bermain jujur. Seperti yang kita bahas sebelumnya, jika rekanan Anda menolak untuk bekerja sama, dana Anda terperangkap. Mari kita masuk ke mekanisme yang mencegah itu terjadi. Ada beberapa bagian penting untuk diperhatikan dengan seksama.

Setiap pihak perlu memiliki rahasia – sebut saja As dan Bs. Karena namanya rahasia, Alice dan Bob tidak boleh mengungkapkannya, jadi mereka akan menyembunyikannya untuk saat ini. Pasangan rahasia ini akan menghasilkan hash rahasia masing-masing – h(As) dan h(Bs). Jadi mereka sebenarnya tidak berbagi rahasia, melainkan, berbagi hash satu sama lain.


Alice dan Bob berbagi hash rahasia satu sama lain.


Alice dan Bob juga perlu membuat satu set transaksi komitmen sebelum mereka mempublikasikan transaksi pertama ke alamat multisignature. Ini akan menolong jika pihak lain mencoba untuk ingkar janji dan menyimpan sendiri dana bersama tersebut.

Jika Anda membayangkan channel seperti mini-ledger yang kita bahas sebelumnya, maka transaksi komitmen merupakan pembaruan yang Anda buat pada ledger. Setiap kali Anda membuat sepasang transaksi komitmen baru, Anda menyesuaikan kembali saldo dana antara kedua pihak.

Transaksi Alice akan memiliki dua output – satu yang membayar alamat yang dimilikinya, dan yang lain terkunci di alamat multisig baru. Ia menandatanganinya dan memberikannya kepada Bob.


Transaksi Alice dengan dua output – satu untuk alamatnya sendiri, dan satu lagi untuk multisig yang baru. Ia masih membutuhkan tanda tangan Bob agar transaksi tersebut valid.


Bob melakukan hal yang sama – satu output untuk dirinya sendiri, output yang lainnya untuk alamat multisig yang lain. Ia menandatangani dan memberikannya kepada Alice.


Kita memiliki dua transaksi tidak lengkap yang sangat mirip.


Normalnya, Alice dapat menambahkan tanda tangan pada transaksi Bob agar valid. Tetapi Anda akan perhatikan bahwa dana ini dihabiskan melalui multisig 2-dari-2 yang belum kita danai. Ini seperti mencoba mengeluarkan cek dari akun yang tidak memiliki saldo untuk saat ini. Oleh karena itu, transaksi yang ditandatangani sebagian ini hanya akan dapat digunakan setelah multisig beroperasi dan berjalan. 

Alamat multisignature baru (di mana output 3 BTC diperuntukkan) memiliki beberapa sifat khusus. Mari kita lihat transaksi tidak lengkap yang ditandatangani dan diberikan Alice kepada Bob. Output multisig tersebut dapat digunakan dengan syarat berikut:

  1. Kedua pihak sepakat menandatanganinya.
  2. Bob dapat membelanjakannya sendiri setelah periode waktu tertentu (karena adanya timelock).
  3. Alice dapat membelanjakannya jika ia tahu rahasia Bs milik Bob.

Untuk transaksi yang diberikan Bob kepada Alice:

  1. Kedua pihak sepakat menandatanganinya.
  2. Alice dapat membelanjakannya sendiri setelah periode waktu tertentu.
  3. Bob dapat membelanjakannya jika ia tahu rahasia As milik Alice.

Harap diingat bahwa kedua pihak tidak tahu-menahu rahasia pihak lain, jadi poin 3) belum memungkinkan. Hal lain yang perlu diperhatikan, jika Anda menandatangani transaksi, rekanan Anda dapat segera membelanjakan dana karena tidak ada persyaratan khusus pada output mereka. Anda dapat menunggu timelock kedaluwarsa untuk membelanjakan dana sendiri, atau Anda dapat bekerja sama dengan pihak lain agar bisa melakukannya.

O.K! Sekarang Anda dapat mempublikasikan transaksi ke alamat multisignature 2-dari-2 yang asli. Sekarang sudah aman untuk melakukannya, Anda dapat mengambil dana jika rekanan Anda meninggalkan channel.

Setelah transaksi dikonfirmasi, channel sudah aktif dan berjalan. Pasangan transaksi pertama menunjukkan kepada kita keadaan mini-ledger saat ini. Sekarang, transaksi akan membayar 3 BTC ke Bob, dan 3 BTC ke Alice. 

Jika Alice ingin melakukan pembayaran baru kepada Bob, pasangan ini membuat dua transaksi baru untuk menggantikan set pertama. Prosesnya sama – hanya ditandatangani setengah. Namun, Alice dan Bob pertama-tama menyerahkan rahasia lama mereka dan menukar hash baru dengan putaran transaksi selanjutnya.


 Misalnya, jika Alice ingin membayar 1 BTC kepada Bob, dua transaksi baru akan mengkreditkan 2 BTC kepada Alice, dan 4 BTC kepada Bob. Dengan begitu, saldo akan diperbaharui.


Pihak mana pun dapat menandatangani dan membroadcast salah satu transaksi terbaru setiap saat untuk “menyelesaikannya” di blockchain. Tetapi pihak yang melakukannya perlu menunggu sampai timelock kedaluwarsa, sementara pihak yang lain dapat langsung membelanjakannya. Ingat, jika Bob menandatangani dan membroadcast transaksi Alice, ia sekarang memiliki output tanpa syarat.

Kedua belah pihak dapat sepakat untuk menutup channel bersama (penutupan secara kooperatif). Ini mungkin cara termudah dan tercepat untuk mendapatkan dana Anda kembali ke chain. Namun, bahkan jika satu pihak tidak responsif atau menolak untuk bekerja sama, pihak lain masih dapat mengklaim kembali dana mereka dengan menunggu timelock.



Anda ingin memiliki mata uang kripto? Beli Bitcoin di Binance!



Bagaimana Lightning Network mencegah kecurangan?

Anda mungkin telah mengidentifikasi adanya vektor serangan di sini. Jika Bob saat ini memiliki saldo 1 BTC, apa yang mencegahnya membroadcast transaksi lama di mana ia memiliki lebih banyak BTC? Dia sudah mendapat transaksi dari Alice yang setengah ditandatangani, dia hanya perlu menambahkan tanda tangannya dan membroadcastnya, bukankah begitu?
Tidak ada yang menghentikannya melakukan itu – namun, akibatnya, ia bisa kehilangan seluruh saldo. Katakanlah ia benar-benar melakukannya dan membroadcast transaksi lama yang membayar satu koin untuk Alice dan lima ke alamat multisig yang kita sebutkan sebelumnya.

Alice segera menerima koinnya. Bob, di sisi lain, harus menunggu sampai timelock kedaluwarsa untuk membelanjakan dana dari alamat multisig. Ingat persyaratan lain yang kita bahas sebelumnya, yang akan memungkinkan Alice untuk segera menghabiskan dana yang sama? Alice membutuhkan rahasia yang tidak dia miliki saat itu. Namun ia memilikinya sekarang – begitu putaran transaksi kedua dibuat, Bob memberikan rahasia tersebut.

Sementara Bob duduk, tidak dapat melakukan apa-apa sambil menunggu timelock berakhir, Alice dapat memindahkan dana tersebut. Mekanisme berbasis hukuman ini berarti bahwa peserta tidak mungkin mencoba menipu karena pihak lawan akan mendapatkan akses ke koin mereka.


Merutekan pembayaran

Kita sudah menyentuh topik ini sebelumya – channel dapat dihubungkan. Jika tidak demikian, Lightning Network tidak akan berguna untuk pembayaran. Apakah Anda benar-benar akan mengunci $500 ke dalam channel dengan kedai kopi supaya Anda bisa mendapatkan kopi setiap hari dalam beberapa bulan ke depan?

Anda tidak harus melakukannya. Jika Alice membuka channel dengan Bob dan Bob sudah memiliki satu channel dengan Carol, Bob dapat mengarahkan (atau merutekan/routing) pembayaran di antara Alice dan Carol. Ini dapat dilakukan melalui banyak “lompatan”, yang berarti bahwa Alice dapat secara efektif membayar siapa pun jika ada jalurnya.


Pada skenario ini, Alice dapat berjalan menuju Frank melalui banyak rute. Pada praktiknya, ia akan selalu memilih rute termudah.


Saat melakukan peran mereka dalam routing, perantara mungkin akan mengenakan sedikit biaya (meskipun tidak wajib). Lightning Network masih sangat baru, sehingga pasar biaya belum terwujud. Yang diharapkan oleh banyak orang adalah biaya didasarkan pada likuiditas yang tersedia. 

Pada chain dasar, biaya hanya didasarkan pada ruang yang dipakai oleh transaksi Anda di dalam blok – nilai yang dikirimkan tidak berpengaruh – pembayaran $1 dan $10.000.000 sama biayanya. Sebaliknya, tidak ada yang namanya ruang blok dalam Lightning Network. 

Malahan, terdapat gagasan mengenai saldo lokal dan jarak jauh. Saldo lokal merupakan jumlah yang dapat Anda “dorong” ke channel lain, sedangkan saldo jarak jauh merupakan jumlah yang dapat didorong oleh pihak lawan terhadap Anda.
Mari kita melihat dengan contoh. Kita akan membahas lebih dalam mengenai salah satu jalur yang disebutkan di atas: Alice <> Carol <> Frank.


Saldo pengguna sebelum dan setelah transfer 0,3 BTC dari Alice ke Frank.


Alice<>Carol dan Carol<>Frank masing-masing memiliki kapasitas total 1 BTC. Saldo lokal Alice adalah 0,7 BTC. Jika mereka menyelesaikan transaksi di blockchain sekarang, Alice akan menerima 0,7 BTC, dan Carol akan menerima saldo jarak jauh (yaitu 0,3 BTC).

Jika Alice ingin mengirim 0,3 BTC ke Frank, ia mendorong 0,3 BTC ke sisi channel Carol. Kemudian Carol mendorong 0,3 BTC dari saldo lokalnya di channelnya bersama Frank. Akibatnya, saldo Carol tetap sama: +0,3 BTC dari Alice dan -0,3 BTC untuk Frank, membatalkan satu sama lain.

Carol tidak kehilangan nilainya dengan bertindak sebagai penghubung ke Frank, tetapi ia membuat dirinya kurang fleksibel. Anda lihat, ia sekarang dapat menghabiskan 0,6 BTC di channelnya dengan Alice, tetapi hanya 0,1 BTC di channel bersama Frank.

Anda dapat membayangkan situasi di mana Alice hanya terhubung ke Carol, sedangkan Frank terhubung ke jaringan yang lebih luas. Sebelumnya Carol bisa mengirim total 0,4 BTC ke orang lain melalui Frank, tetapi sekarang ia hanya bisa mendorong 0,1 BTC karena hanya itu yang ia miliki di ujung channel.

Dalam skenario ini, Alice memakan likuiditas milik Carol. Tanpa insentif apa pun, Carol pastinya tidak ingin melemahkan posisinya sendiri. Jadi, sebagai gantinya, ia mungkin akan mengatakan: saya akan merutekan setiap 0,01 BTC dengan biaya sepuluh satoshi. Dengan cara ini, semakin banyak saldo lokal yang dikorbankan Carol di jalur yang “lebih kuat”, semakin banyak untung yang ia peroleh.

Seperti yang disebutkan sebelumnya, tidak ada persyaratan de facto untuk membebankan biaya. Beberapa orang mungkin tidak peduli dengan pengurangan likuiditas. Sedangkan yang lainnya mungkin hanya membuka channel langsung ke penerima.


Kelemahan Lightning Network

Akan sangat luar biasa jika Lightning Network terbukti menjadi solusi untuk semua masalah skalabilitas Bitcoin. Sayangnya, jaringan ini juga memiliki kekurangannya sendiri. 


Penggunaan

Bitcoin bukanlah sistem yang paling intuitif bagi pemula – alamat, biaya, dll. bisa membingungkan bagi mereka yang belum terbiasa. Tetapi wallet dapat mengabstraksi hal-hal rumit tersebut, untuk menawarkan sesuatu yang samar-samar menyerupai sistem pembayaran yang ada saat ini. Anda dapat meminta seseorang untuk mengunduh wallet smartphone, dan mengirimkan koin ke dalamnya.

Untuk saat ini, Lightning Network belum dapat digunakan melalui aplikasi smartphone – umumnya, node Lightning memerlukan akses ke node Bitcoin agar dapat sepenuhnya berfungsi.

Setelah perangkat disiapkan, pengguna juga harus mulai membuka channel sebelum mereka dapat melakukan pembayaran. proses ini juga memakan waktu, dan bisa jadi sangat membingungkan ketika pendatang baru diperkenalkan dengan konsep-konsep seperti kapasitas inbound/outbound.

Dengan demikian, perbaikan terus-menerus dilakukan untuk mengurangi hambatan, dan untuk memberikan pengalaman pengguna yang lebih efisien.


Likuiditas

Salah satu kelemahan terbesar Lightning Network adalah bahwa kemampuan Anda untuk bertransaksi dibatasi. Anda tidak dapat membelanjakan dana lebih banyak dari yang Anda kunci di channel. Jika Anda menghabiskan semuanya sehingga seluruh dana channel ada di saldo jarak jauh, Anda harus menutup channel tersebut. Atau, Anda dapat menunggu sampai seseorang membayar Anda melaluinya, tetapi itu tidak ideal.

Jalur Anda juga dapat dibatasi oleh kapasitas total channel. Ambil contoh Alice <> Carol <> Frank yang kita bahas sebelumnya. Jika Alice dan Carol memiliki kapasitas 5 BTC di channel mereka, tetapi Carol dan Frank hanya memiliki kapasitas 1 BTC, Alice tidak pernah dapat mengirim lebih dari 1 BTC. Bahkan kemudian, seluruh saldo harus berada di sisi Carol dari channel Carol <> Frank agar bisa berfungsi. Ini bisa sangat membatasi jumlah dana yang dapat dilewatkan di sepanjang channel LN, dan dengan demikian memiliki knock-on effect pada penggunaannya.


Hub tersentraliasi

Karena masalah yang disebutkan sebelumnya, ada beberapa kekhawatiran bahwa jaringan akan mempermudah terciptanya “hub” besar. Yaitu, entitas besar yang sangat terhubung dengan banyak likuiditas. Pembayaran signifikan apa pun akan harus dirutekan melalui beberapa entitas ini.

Jelas, situasi ini sangat berbahaya. Akan melemahkan sistem, karena jika entitas-entitas ini offline, akan secara besar-besaran mengganggu hubungan antar peer. Ada juga peningkatan risiko penyensoran karena hanya ada beberapa titik di mana transaksi mengalir.


Kondisi Lightning Network saat ini

Pada April 2020, Lightning Network terlihat sehat. Memiliki lebih dari 12.000 node online, lebih dari 30.000 channel aktif, dan kapasitas lebih dari 920 BTC.


Penyebaran node Lightning Network secara global. Sumber: explorer.acinq.co


Ada beberapa implementasi node yang berbeda – c-lightning dari Blockstream, Lightning Network Daemon dari Lightning Labs, dan Eclair dari ACINQ merupakan beberapa yang paling populer. Bagi pengguna yang cenderung kurang menguasai hal-hal teknis, banyak perusahaan menawarkan node plug-and-play. Satu-satunya yang harus Anda lakukan adalah menyalakan perangkat, dan Anda siap menggunakan Lightning Network.


Penutup

Sejak diluncurkan pada tahun 2018, Lightning Network telah menunjukkan pertumbuhan yang mengesankan, meskipun banyak yang menganggapnya masih dalam versi beta.

Masih ada beberapa kendala yang perlu diatasi dalam hal penggunaan, karena saat ini masih memerlukan kemahiran teknis untuk mengoperasikan node Lightning. Tetapi dengan pengembangan yang dilakukan, kita mungkin akan melihat hambatan berkurang dari waktu ke waktu. 

Jika masalah ini dapat diselesaikan, Lightning Network dapat menjadi bagian integral dari ekosistem Bitcoin, meningkatkan skalabilitas dan kecepatan transaksi.