Perkenalan

Skalabilitas mengacu pada kemampuan suatu sistem untuk berkembang guna memenuhi permintaan yang terus meningkat. Dalam komputasi, Anda dapat meningkatkan kinerja peralatan Anda dengan meningkatkan perangkat kerasnya untuk melakukan tugas tertentu lebih cepat. Ketika kita berbicara tentang skalabilitas dalam blockchain, kita berbicara tentang kemampuannya untuk menangani transaksi dalam jumlah yang lebih besar.

Protokol seperti Bitcoin memiliki banyak keunggulan, tetapi skalabilitas bukanlah salah satunya. Jika Bitcoin dijalankan pada basis data terpusat, akan relatif mudah bagi administrator untuk meningkatkan kecepatan dan hasil transaksi, tetapi proposisi nilai Bitcoin (misalnya ketahanan terhadap penyensoran) mengharuskan banyak partisipan jaringan untuk terus-menerus menyinkronkan salinan jaringan blockchain.


Masalah Skalabilitas Jaringan Blockchain

Menjalankan node Bitcoin relatif murah dan dapat dilakukan bahkan pada perangkat kelas bawah. Namun karena ribuan node perlu mengetahui aktivitas satu sama lain, ada batasan tertentu pada throughput mereka. 

Batasan ditetapkan pada jumlah transaksi yang dapat diproses dalam satu rantai, semuanya dimaksudkan untuk mencegah basis data tumbuh dengan cepat ke ukuran raksasa. Jika menjadi terlalu besar dan cepat, node tidak akan dapat berkomunikasi satu sama lain dengan cepat. Selain itu, jika blok terlalu besar, blok tersebut tidak akan dapat diteruskan dengan cepat melalui jaringan.

Hasilnya adalah situasi yang kompleks dengan jenis solusi yang ditargetkan secara sempit. Blockchain dapat dianggap sebagai kereta api yang berjalan sesuai jadwal yang tepat. Jumlah tempat duduk di setiap gerbong terbatas, dan untuk mendapatkan tiket, penumpang harus mengajukan tawaran tertentu untuk memesan tempat duduk. Jika semua orang mencoba menaiki kereta pada saat yang sama, harga tiket duduk akan meningkat drastis. Demikian pula, jika jaringan tersumbat dengan transaksi yang tertunda, pengguna kemudian diharuskan membayar biaya lebih tinggi agar transaksi mereka diproses tepat waktu.

Salah satu solusinya adalah dengan menambah ukuran gerbong. Ini berarti lebih banyak kursi, kapasitas lebih tinggi, dan harga tiket lebih rendah. Tetapi tidak ada jaminan bahwa tempat-tempat itu tidak akan mulai terisi, seperti sebelumnya. Mereka tidak dapat diperluas secara terus-menerus, seperti halnya blok atau batas gas blok, yang tidak dapat diskalakan secara tak terbatas. Yang terakhir membuat pemeliharaan node menjadi lebih mahal, karena pemiliknya akan membutuhkan peralatan yang lebih mahal untuk melakukan sinkronisasi dengan blockchain.

Pencipta Ethereum Vitalik Buterin menciptakan trilema skalabilitas untuk menggambarkan masalah yang dihadapi blockchain. Dia berteori bahwa protokol harus menemukan keseimbangan antara skalabilitas, keamanan, dan desentralisasi. Properti-properti ini agak bertolak belakang satu sama lain, dengan dua properti menjadi fokus utama dan meninggalkan properti ketiga tanpa pengawasan.

Karena alasan ini, banyak yang memandang skalabilitas sebagai sesuatu yang harus dicapai di luar rantai, sementara keamanan dan desentralisasi harus dimaksimalkan pada blockchain yang mendasarinya.


Apa itu penskalaan off-chain?

Penskalaan di luar rantai merujuk pada metode yang memungkinkan transaksi dilaksanakan tanpa menambah jumlah blok dalam blockchain. Protokol yang terhubung ke rantai memungkinkan pengguna untuk mengirim dan menerima dana tanpa transaksi yang muncul di rantai utama. Kita akan melihat dua solusi paling terkenal dalam arah ini: sidechain dan saluran pembayaran.


Pengantar Sidechain

Apa itu sidechain?

Sidechain adalah blockchain yang terpisah. Akan tetapi, ini bukanlah platform yang berdiri sendiri karena memiliki beberapa koneksi ke rantai utama. Rantai utama dan rantai samping bersifat interoperabel, artinya aset dapat berpindah bebas dari satu rantai ke rantai lainnya.

Ada beberapa cara untuk mencapai apa yang dikenal sebagai pemindahan dana. Dalam beberapa kasus, aset dipindahkan dari rantai utama dengan mengirimkan koin ke alamat khusus. Faktanya, koin-koin tersebut tidak dikirim ke mana pun, sebaliknya, koin-koin ini diblokir di alamat pengirim, dan jumlah yang sesuai dialokasikan pada sidechain. Pilihan yang lebih sederhana (meskipun masih tersentralisasi) adalah mengirim mata uang ke kustodian yang tugasnya menukar mata uang antar rantai.


Bagaimana cara kerjanya?

Mari kita asumsikan teman kita Alice memiliki lima bitcoin. Dia ingin menukarnya dengan lima unit ekuivalen pada sidechain Bitcoin, sebut saja sidecoin. Sidechain target menggunakan patokan dua arah, yang berarti bahwa pengguna dapat memindahkan aset mereka dari rantai utama ke sidechain dan sebaliknya.

Ingatlah bahwa sidechain adalah blockchain yang terpisah. Dengan demikian, blok, node, dan mekanisme validasinya akan berbeda dari rantai utama. Untuk menerima sidecoin, Alice mengirim lima bitcoin ke alamat lain. Itu bisa saja milik seseorang yang kemudian akan mengkreditkan alamat sidechain miliknya dengan lima sidecoin setelah mereka menerima pembayaran. Atau, bisa saja ada semacam pengaturan yang meminimalkan kepercayaan di mana sidecoin secara otomatis dikreditkan setelah perangkat lunak mendeteksi pembayaran.


Sidechain scaling


Setelah Alice mengonversi koinnya menjadi sidecoin, dia dapat membalik prosesnya kapan saja. Sekarang setelah dia memasuki sidechain, dia bebas bertransaksi pada rantai itu. Alice dapat mengirim sidecoin ke dan menerimanya dari pengguna lain, seperti pada rantai utama.

Misalnya, dia mungkin membayar Bob satu sidecoin untuk sebuah hoodie Binance. Ketika dia ingin kembali ke Bitcoin, dia perlu mengirim empat sidecoin yang tersisa ke alamat khusus. Setelah transaksi dikonfirmasi, keempat bitcoin akan dibuka dan dikirimkan ke alamat yang dikontrolnya di rantai utama.


Untuk apa sidechain digunakan?

Anda mungkin bertanya-tanya, apa intinya? Mengapa kita tidak bisa menggunakan blockchain Bitcoin saja?

Jawabannya adalah sidechain dapat melakukan sesuatu yang tidak dapat dilakukan Bitcoin. Blockchain adalah sistem kompromi yang dirancang secara cermat. Meskipun Bitcoin merupakan mata uang kripto yang paling aman dan terdesentralisasi, namun bukan yang terbaik dalam hal throughput. Walaupun transaksi Bitcoin lebih cepat daripada transaksi tradisional, namun masih relatif lambat dibandingkan dengan sistem blockchain lainnya. Blok ditambang setiap sepuluh menit, dan biaya dapat meningkat secara signifikan ketika jaringan sedang padat.

Tentu saja, untuk pembayaran kecil sehari-hari, tingkat keamanan ini tidak diperlukan. Jika Alice membeli kopi, dia tidak akan mau berdiri menunggu transaksi dikonfirmasi. Dia akan menahan antrean, dan minumannya akan dingin saat disajikan.

Sidechain tidak terikat satu sama lain oleh serangkaian aturan yang sama. Faktanya, mereka bahkan tidak perlu menggunakan algoritma Proof of Work untuk berfungsi. Sistem semacam itu dapat menggunakan mekanisme konsensus apa pun, mempercayai validator tunggal, atau membentuk serangkaian pengaturan spesifik dengan sejumlah parameter. Mereka juga memperoleh akses untuk membuat pembaruan yang tidak ada di rantai utama, membuat blok yang lebih besar, dan meningkatkan kecepatan penyelesaian moneter.

Fakta menariknya adalah ketika kesalahan kritis terjadi, sidechain dapat beroperasi tanpa memengaruhi rantai utama. Hal ini memungkinkan mereka untuk digunakan sebagai platform untuk melakukan berbagai eksperimen dan menyebarkan fitur-fitur baru yang jika tidak, memerlukan konsensus dari mayoritas partisipan jaringan.

Asalkan pengguna senang dengan tradeoff jaringan, sidechain dapat menjadi langkah integral menuju penskalaan yang efisien. Node rantai utama tidak perlu menyimpan setiap transaksi dari rantai samping. Alice dapat memasuki sidechain dengan satu transaksi di jaringan Bitcoin dan melakukan ratusan transaksi berbeda menggunakan sidecoin, lalu keluar dari sidechain. Artinya, dalam blockchain Bitcoin, ia hanya akan melakukan dua transaksi - satu untuk masuk dan satu untuk keluar.

Ethereum Plasma memiliki fitur yang mirip dengan solusi ini, tetapi ada banyak perbedaan di antara keduanya. Untuk keterangan lebih rinci, lihat artikel: "Apa itu Ethereum Plasma?"


Pengenalan Saluran Pembayaran

Apa itu saluran pembayaran?

Saluran pembayaran memiliki tujuan yang sama dengan sidechain, tetapi pada dasarnya berbeda. Seperti sidechain, mereka memindahkan transaksi ke luar rantai utama untuk mencegah pembengkakan blockchain, tetapi tidak seperti sidechain, solusi ini tidak memerlukan blockchain terpisah.

Saluran pembayaran menggunakan kontrak pintar yang memungkinkan pengguna melakukan transaksi tanpa mempublikasikan transaksi mereka di blockchain. Hal ini dicapai melalui perjanjian perangkat lunak antara kedua pihak.


Bagaimana cara kerjanya?

Dalam model seperti Lightning Network yang populer, dua pihak pertama-tama menyetorkan koin ke alamat yang mereka miliki bersama. Ini adalah alamat multi-tanda tangan khusus di mana dana hanya dapat dibelanjakan jika ada dua tanda tangan. Jadi, jika Alice dan Bob membuat alamat seperti itu, maka dana hanya dapat ditransfer setelah kedua belah pihak menyetujuinya.

Katakanlah masing-masing dari mereka menyetorkan 10 BTC ke alamat target, setelah itu saldo dompet akan menjadi 20 BTC. Cukup mudah untuk melihat saldo awal mereka di blockchain, yang dapat mengonfirmasi kepada semua orang bahwa Alice dan Bob masing-masing memiliki 10 BTC. Jika Alice mengirim satu koin kepada Bob, ia dapat memperbaruinya sehingga berarti Alice mempunyai 9 BTC, dan Bob mempunyai 11 BTC. Mereka tidak perlu menerbitkan data pada blockchain karena total saldo pada alamat tersebut akan tetap sama.


how a payment channel works


Namun, mungkin akan tiba saatnya ketika Alice memiliki 5 BTC dan Bob memiliki 15 BTC. Mereka dapat dengan mudah membuat transaksi yang akan mendistribusikan saldo yang benar ke alamat pribadi mereka dengan menandatangani bersama dan menyiarkan transaksi tersebut ke jaringan.

Alice dan Bob dapat mencatat sepuluh, seratus, atau seribu transaksi di saldo mereka. Namun sejauh menyangkut blockchain, mereka hanya melakukan dua transaksi pada rantai tersebut: satu untuk setoran awal dan satu setelah pendistribusian ulang dana akhir di antara mereka. Selain kedua hal ini, semua transaksi lainnya gratis dan hampir seketika karena terjadi di luar jaringan. Pada saat yang sama, Alice dan Bob tidak membayar penambang dan tidak menunggu konfirmasi transaksi dalam blok.

Namun, contoh di atas memerlukan kerja sama dari kedua belah pihak, yang bukan merupakan situasi ideal bagi orang asing. Namun, dengan bantuan mekanisme khusus, setiap tindakan penipuan akan dicatat, dan pelakunya akan dihukum, sehingga para pihak dapat berinteraksi dengan tenang, dan yang terpenting, aman tanpa saling percaya. 


Rute Pembayaran

Jelasnya, saluran pembayaran memudahkan dua pihak yang ingin melakukan transaksi dalam jumlah besar, tetapi dengan perutean pembayaran, fungsinya menjadi lebih baik lagi. Katakanlah jaringan saluran ini dapat diperluas, artinya Alice dapat membayar pihak yang tidak terhubung langsung dengannya. Jika Bob memiliki saluran terbuka dengan Carol, Alice dapat mentransfer dana kepadanya asalkan ada cukup dana. Untuk melakukan ini, ia memberikan koin-koin itu kepada Bob, yang kemudian akan memberikannya kepada Carol. Jika Carol terhubung ke peserta lain, seperti Dan, dia dapat melakukan hal yang sama.

Jaringan semacam itu berkembang menjadi topologi jaringan terdistribusi yang berkomunikasi dengan banyak rekan sekaligus. Dalam jaringan seperti itu, sering kali ada beberapa rute ke suatu tujuan, dan pengguna akan dapat memilih rute yang paling tepat dan efisien. 


Kesimpulan

Kami membahas dua pendekatan skalabilitas yang memungkinkan transaksi dilakukan tanpa membebani blockchain yang mendasarinya. Baik sidechain maupun teknologi saluran pembayaran masih belum matang, tetapi semakin banyak digunakan oleh pengguna yang ingin menghindari kekurangan transaksi lapisan dasar.

Seiring berjalannya waktu dan semakin banyak pengguna bergabung dalam jaringan, sangat penting untuk mempertahankan desentralisasinya. Hal ini hanya dapat dicapai dengan memperkenalkan batasan pada pertumbuhan blockchain sehingga node baru dapat bergabung dengan mudah. Pendukung solusi skalabilitas off-chain meyakini bahwa seiring berjalannya waktu, blockchain utama hanya akan digunakan untuk menyelesaikan transaksi keuangan besar atau untuk menghubungkan sidechain masuk/keluar dan membuka/menutup saluran.