Lightning Network – Apa dan Bagaimana Sebenarnya?
Lightning Network. Protokol Bitcoin jika menerapkan Lightning Network ini, bisa mencakup volume transaksi keuangan global di semua sistem pembayaran elektronik pada masa ini. Prosesnya juga tidak akan membutuhkan adanya peran pihakk ketiga yang berfungsi untuk memegang dana. Ataupun, peserta yang memiliki lebih dari satu komputer yang terkoneksi broadband.
Transaksi dilakukan di dalam sistem yang terdesentralisasi melalui jalur pembayaran micropayment. Sedangkan transfer nilai pada transaksi itu, bisa dilakukan diluar Blockchain. Dengan memanfaatkan sebuah channel transaksi (transaction channels).
Selama ini, transaksi disiarkan di dalam blockchain kepada seluruh node. Padahal tidak semua node di dalam jaringan, tidak terlelalu berelasi dengan kebanyakan transaksi tersebut. sehingga channel transaksi nantinya hanya akan disiarkan kepada peserta yang berelasi saja terhadap transaksi itu.
Transaksi Bitcoin di dalam Lightning Network bisa ditandatangani dengan tipe sighash baru. Nantinya, dengan sighash ini menjadi memungkinkan transaksi terjadi antara untrusted party. Melalui serangkaian pengurangan di beberapa timelock transaksi. Penerapan Lightning Network ini, dengan harapan akan bisa menjadi solusi masalah skalabiltas Blockchain Bitcoin. Penjelasan tentang adanya beberapa keterbatasan Bitcoin bisa dibaca lebih detail di Keterbatasan dan Pengembangan Bitcoin.
Latar Belakang Lightning Network
Blockhain bisa berfungsi sebagai sebuah platform teknologi pembayaran. Hal ini akan berpotensi menggeser cara perniagaan dunia, yang mungkin bisa terjadi kapan saja. Di dalam jaringan Bitcoin, semua node harus tahu semua transaksi yang terjadi secara global. Ini diyakini menjadi sebuah hambatan yang signifikan. Terkait dengan kemampuan jaringan untuk mencakup semua transaksi keuangan yang terjadi secara global tersebut.
Jika kita menilik jaringan pembayaran VISA, bisa memproses transaksi lebih besar. Visa bisa memproses transaksi kurang lebih ribuan transaksi per detik. Sedangkan Bitcoin hanya berkisar 7 transaksi saja yang terjadi tiap detiknya, dengan batas blok 1megabyte.
Katakanlah jumlah rata2 transaksi Bitcoin sebesar 300byte untuk bisa mencapai puncak volume transaksi visa yang mampu menangani ribuan transaksi per detik, maka akan dibutuhkan 4-8 gigabyte di setiap blok. Dan akan meningkat di setiap sepuluh menit pada penciptaan blok baru. Dalam satu tahun, kisarannya sebesar 400 petabyte.
Ukuran sebesar itu menjadi tidak mungkin untuk bisa ditangani pada komputer yang ada sekarang. Tentu saja kaitannya dengan besarnya ruang penyimpanan yang dibutuhkan dan besarnya bandwidth yang akan dibutuhkan nantinya. Karena untuk bisa memproses ribuan transaksi tersebut harus dilakukan dan tertampung di dalam Blockchain Bitcoin itu sendiri.
Hal inilah yang menjadi latar belakang pengembangan dan munculnya ide tentang Lightning Network. Di dalam papernya, Joseph Poon, dan Thadeus Dryja menganalogikan:
“If a tree falls in the forest and no one is around to hear it, does it make a sound?”
“Jika sebuah pohon jatuh di dalam hutan dan disekitarnya tidak mendengar, apa itu menimbulkan suara?”
Analogi itu menggambarkan konsep informasi yang ada di alam semesta. Jika tidak ada yang mendengar jatuhnya pohon tesebut, ada atau tidaknya suara jatuhnya pohon itu tidak ada konsekuensinya. Begitupun juga yang terjadi di dalam Blockchain. Karena pada dasarnya dalam sebuah transaksi hanya akan ada dua peserta yang berelasi dan relevan terhadap transaksi tersebut. Sehingga tidak dibutuhkan peserta lain di dalam transaksi itu untuk tahu tentang transaksi itu.
Penerapannya dilakukan dengan memanfaatkan timelock yang bisa dimasukkan kedalam konsensus Bitcoin. Sehingga Bitcoin akan bisa menangani jutaan transaksi perhari, pada daya komputasi komputer yang ada saat ini.
Memanfaatkan Channel Micropayment
Implementasi micropayment yang ada sekarang seringkali menggunakan pihak ketiga yang berfungsi untuk memegang koin, dan saldo pengguna. Lalu pengguna juga bisa menarik ataupun menambah deposit akunnya. Mempercayakan pada peran ketiga ini tentu akan mempunyai resiko. Begitu juga dengan biaya transaksi yang akan dilakukan oleh pengguna di layanan pihak ketiga tersebut.
Channel Micropayment akan menciptakan relasi transaksi yang terjadi pada dua pihak pelaku transaksi. Keduanya pun bisa melihat dan mengupdate saldo mereka. Dengan menunda siaran transaksi di Blockchain hingga beberapa waktu kemudian. Yang memanfaatkan timelock transaksi, tanpa ada resiko counterparty.
Sementara channel micropayment ini menggunakan transaksi Bitcoin secara nyata. Hanya saja akan menunda siaran di blockchain hingga kedua belah pihak bisa menjamin masing-masing keseimbangan sldo mereka. Dan channel micropayment ini juga terjadi di luar chain (rantai blockchain). Jadi, channel ini hanya akan membuat sebuah channel khusus yang terjadi pada sebuah transaksi antara kedua pihak itu saja. Setiap orang pun nantinya bisa membuat channel ini jika hendak bertransaksi dengan orang lainnya. Maka masalah skalabilitas Blockchain pun bisa terpecahkan.
Cara Kerja Lightning Network Bitcoin
Pada dasarnya, Channel Micropayment ini akan bisa memberikan penundaan penyiaran transaksi di dalam Blockchain. Kontrak transaksi ini berfungsi untuk memberlakukan tanggung jawab antara kedua belah pihak yang sedang melakukan transaksi hingga pada masa tertentu. Seperti yang kita ketahui, bahwa Blockchain merupakan sebuah sistem yang memberikan penunjuk waktu yang terdesentralisasi. Penunjuk waktu tersebut adalah bagian dari konsensus yang terdesentralisasi, yang bisa menentukan validitas data di dalamnya.
Lebih jauh lagi, channel micropayment ini, nantinya akan bisa digabungkan. Sehingga akan membentuk sebuah jalur transaksi di dalam jaringan. Script Output di hash dan di generate oleh penerima, dan penerima juga bisa menarik dana tersebut di sepanjang jalur transaksi yang tercipta tadi.
Mari kita tinjau lebih baik bagaimana prosesnya.
Hashing TimeLock
Joseph Poon, dan Thadeus Dryja menjelaskan proses ini sebagai Hashed Timelock Contract (HTLC). Yang sebenarnya memanfaatkan fungsi TimeLock. Di dalam channel jaringan pembayaran ini berfungsi untuk mencegah adanya usaha pencurian dana saat penundaan berlangsung. HTLC ini menciptakan output transaksi yang hanya memungkinkan penerima untuk bisa menebus dana dari transaksi itu.
Tujuan HTLC ini adalah meminta pesan, agar diketahui dan diungkapkan terkait transaksi yang nantinya akan disiarkan pada blockchain sebelum suatu masa tertentu (yang disertakan pada timelock). Sedangkan skrip output kontrak transaksinya sebagai berikut:
OP_DEPTH 3 OP_EQUAL OP_IF OP_HASH160 <hash160(R)> OP_EQUALVERIFY OP_0 2 <AlicePubkey1> <BobPubkey1> 2 OP_CHECKMULTISIG OP_ELSE OP_0 2 <AlicePubkey2> <BobPubkey2> 2 OP_CHECKMULTISIG OP_END
Dari penerapan script tersebut akan menghasilkan dua jalur:
Jalur 1, Jika hash (R) dihasilkan dalam tempoo tiga hari.
Jalur 2, Jika outputnya sama, kedua jalur ini akan saling bersifat ekslusif.
Membuat Channel Lightning Network Bitcoin
Transaksi secara Lightning Network ini harus terlebih dahulu membuat sebuah channel. Pendanaan transaksinya bisa dilakukan oleh salah satu, atau kedua belah pihak. Menggunakan 2-of-2 Multisig Address dari kedua peserta di dalam channel tersebut. Selanjutnya kedua peserta tersebut saling menandatangani transaksi. Namun mereka tidak mempertukarkan tanda tangan tersebut, sampai transaksi itu benar-benar telah bisa menghasilkan output 2-of-2 dari pengembalian dana masing-masing yang menghasilkan perhitungan saldo akhir dari transaksi itu.
Pembayaran Transaksi Di Dalam Channel
Pengiriman transaksi dilakukan dengan HTLC terlebih dahulu. Salah satu pihak akan menciptakan HTLC ini. Selanjutnya, dana dari dua output pertama di kontrak transaksinya dikurangkan dari kontrak transaksi baru. Sehingga ini akan bisa sepenuhnya bisa dilakukan diluar blockchain. Output HTLC baru yang terbentuk, adalah jumlah nilai transaksi, termasuk juga dengan biaya transaksi.
Jika HTLC ini telah berhasil ditetapkan, maka clearing transaksi bisa dilakukan. Dan di akhiri dengan menutup channel transaksi. Pada tahapan ini, semua transaksi itu harus disiarkan ke dalam Blockchain. Lalu channel transaksi bisa ditutup.
Kontroversi
Ada sejumlah silang pendapat terkait dengan penerapan Lightning Network ini. Hal itu terkait juga dengan resiko-resiko yang mungkin bisa ditimbulkan. Karena pada penerapan Lightning nantinya, “waktu” menjadi unsur yang sangat penting.
Peserta dalam transaksi nantinya harus memberikan waktu yang cukup untuk menyelesaikan transaksi. Jika hal ini tidak dillakukan, ada peluang transaksi yang tidak valid dianggap sebagai transaksi yang valid. Bahkan, ada kemungkinan nantinya koin akan bisa dicuri.
Meskipun jaringan Bitcoin bisa memberikan stimulus untuk semua node bertindak secara jujur, namun tidak bisa disangsikan akan ada yang bertindak buruk. Jika ada salah satu pihak yang kemudian menciptakan berbagai channel, dan kemudian set transaksi itu pada waktu yang bersamaan sekaligus, maka pada akhirnya akan membanjiri kapasitas data, begitu juga saat keseluruhan transaksi itu di siarkan ke dalam blockchain. Dan ini yang nantinya berpotensi sebagai spamming.
Hal lainnya, ketika ada transaksi yang dilakukan melalui channel khusus dan terproses diluar blockchain, maka itu juga akan membuat perbedaan Bitcoin sepenuhnya. Meskipun transaksi akan tetap disiarkan juga di dalam jaringan Bitcoin di tahapan akhir penyelesaian transaksinya.
Gavin Andresen pernah memberikan juga komentarnya bahwa penerapannya akan sulit diaplikasikan dalam wallet. Sementara itu, ada juga satu ungkapan yang muncul di dalam komunitas Bitcoin terkait dengan Lightning Network. Peter Todd, salah satu pengembang Bitcoin Core, mengatakan:
“If the bitcoin blockchain were a horse, ordinary hub-and-spoke payment channel proposals would be proposing to replace that horse with a truck; the Lightning guys are proposing to replace that horse with a rocket ship.”
“Jika diumpamakan Blockchain adalah seekor kuda, proposal pembayaran dengan channel hub-and-spoke ini berusaha untuk mengusulkan mengganti kuda itu dengan sebuah truk, sementara orang-orang pengusul Lightning Network ini mengusulkan untuk mengganti kuda dengan roket.”
Satoshi Nakamoto, sebenarnya juga telah memperhitungkan juga tentang skalabilitas Bitcoin dalam jangka panjangnya. Didalam kumpulan mailinglist, di diskusikan berbagai permasalahan dan pertanyaan. Satoshi menyinggung juga tentang jangka panjangnya.
“Membutuhkan waktu beberapa tahun, jaringan baru akan menjadi sebesar itu. Pada saat itu, mengirim 2 film HD lewat internet sudah bukan menjadi masalah besar nantinya”
Satoshi Nakamoto
Pernyataan Satoshi itu muncul ketika ditanya tentang besarnya bandwidth yang dibutuhkan oleh semua peserta, jika jutaan orang melakukan transaksi. Dengan pembatasan limit ukuran blok, sebetulnya adalah kalkulasi perhitungan Satoshi juga terkait hal ini. Dan itu akan terjawab dengan tingkat perkembangan perangkat yang terus akan berevolusi dalam masa mendatang.
Bisa jadi karena alasan ini juga komentar Peter Todd diatas, ia menganggap bahwa Lightning Network belum saatnya untuk masa ini. Begitupun juga dengan kemungkinan resiko yang bisa terjadi.