Skalabilitas Blockchain - Sidechain dan Saluran Pembayaran
HomeArticles

Skalabilitas Blockchain - Sidechain dan Saluran Pembayaran

Tingkat Lanjut
6d ago
8m

Daftar isi


Pengantar

Secara umum skalabilitas merupakan kemampuan sistem untuk berkembang dalam memenuhi permintaan yang terus meningkat. Dalam komputasi, Anda mungkin akan menambah kemampuan mesin Anda dengan meningkatkan penampilan perangkat keras sehingga menjadi lebih cepat dalam mengerjakan tugas-tugas tertentu. Jika berbicara mengenai skalabilitas dalam blockchain, yang dimaksud adalah mengembangkan kapasitas untuk menangani lebih banyak transaksi.

Protokol seperti Bitcoin memiliki banyak kelebihan, tetapi sayangnya skalabilitas bukanlah salah satu di antaranya. Jika Bitcoin dijalankan dalam sebuah database yang dimiliki secara terpusat, maka akan relatif mudah bagi administrator untuk meningkatkan kecepatan hasil. Tetapi proposisi nilai Bitcoin (contohnya: tahan sensor) mensyaratkan banyak partisipan menyinkronkan salinan blockchain.


Permasalahan skalabilitas blokchain

Menjalankan node Bitcoin relatif murah, dan bahkan perangkat sederhana dapat melakukannya. Tetapi karena ribuan node harus tetap up-to-date dengan yang lainnya, ini menyebabkan terdapat banyak batasan tertentu dalam kapasitasnya. 

Batasan-batasan ditempatkan di dalam beberapa transaksi yang dapat diproses on-chain, untuk menghindari database mengembang ke ukuran yang tidak diinginkan. Jika terlalu besar atau terlalu cepat, node tidak akan dapat mengikuti. Terlebih lagi, jika blok terlalu besar, maka blok tersebut tidak dapat diteruskan melalui jaringan.

Sebagai akibatnya, kita berada dalam kondisi yang dikenal dengan leher botol. Blockchain dapat diumpamakan seperti layananan kereta api yang akan berangkat dalam interval yang telah diatur. Terdapat kursi yang terbatas dalam setiap gerbong, dan untuk mendapatkan tiket, para pelancong harus menawar untuk mengamankan tempat. Jika setiap orang mencoba untuk masuk ke kereta api dalam waktu yang sama, maka harganya akan tinggi. Demikian juga, sebuah jaringan yang tersumbat karena transaksi yang tertunda akan meminta pengguna untuk mmbayar biaya yang lebih mahal agar transaksi mereka dikerjakan tepat waktu.

Salah satu solusi adalah dengan membuat gerbong yang lebih besar. Ini berarti akan ada lebih banyak kursi, dan harga tiket yang lebih murah. Tetapi tidak ada jaminan bahwa kursi akan lebih lengang. Gerbong tidak dapat terus-menerus diperbesar, sama seperti blok atau  gas blok tidak dapat terus-menerus berkembang. Ini akan membuat lebih mahal bagi node untuk tetap berada dalam jaringan, karena akan membutuhkan perangkat keras yang lebih mahal untuk tetap tersinkron.

Pencipta Ethereum Vitalik Buterin menciptakan Trilema Skalabilitas  untuk menjelaskan tantangan yang dihadapi oleh blockchain. Ia berteori bahwa protokol harus memilih salah satu di antara skalabilitas, keamanan, dan desentralisasi. Ini merupakan keadaan yang sulit – jika terlalu berfokus pada dua properti, yang ketiga akan sangat lemah.

Dengan alasan ini, banyak yang berpendapat bahwa skalabilitas harus dicapai dengan cara off-chain, sementara keamanan dan desentralisasi harus dimaksimalkan pada blockchain itu sendiri.


Apa saja solusi skalabilitas off-chain?

Perluasan secara off-chain merupakan pendekatan yang memungkinkan transaksi dieksekusi tanpa menggembungkan blockchain. Protokol yang terhubung dengan chain memungkinkan pengguna untuk mengirim dan menerima dana, tetapi transaksi tidak muncul dalam chain utama. Kita akan membahas dua perkembangan penting dalam sektor ini: sidechain dan saluran pembayaran.


Mengenal sidechain

Apa itu sidechain?

Sidechain adalah blockchain terperisah. Namun bukan merupakan platform yang berdiri sendiri, karena ditautkan dengan cara tertentu ke chain utama. Chain utama dan sidechain dapat dioperasikan dengan cara yang sama, yang artinya aset-aset dapat mengalir dengan bebas dari dan ke kedua jenis chain ini.

Ada beberapa cara untuk memastikan bahwa dana dapat dikirimkan. Pada kasus tertentu, aset dipindahkan dari chain utama dengan cara menyetorkannya ke alamat khusus. Sebenarnya dana ini tidak dikirimkan – melainkan dikunci di dalam alamat, dan jumlah yang sama diterbitkan di sidechain. Cara yang lebih mudah (tetapi ini merupakan opsi tersentralisasi) adalah mengirim dana ke kustodian, yang menukar setoran dengan dana di sidechain.


Bagaimana cara kerja sidechain?

Bayangkan teman kita Alice memiliki lima bitcoin. Dia ingin menukarkannya dengan lima unit setara pada sidechain Bitcoin – misalkan namanya sidecoin. Sidechain yang dimaksud menggunakan tautan dua arah, artinya pengguna dapat mentransfer aset mereka dari chain utama ke sidechain dan sebaliknya. 

Harap diingat bahwa sidechain adalah blockchain terpisah. Jadi chain ini memiliki blok, node, dan mekanisme validasi yang berbeda. Untuk mendapatkan sidecoin miliknya, Alice mengirimkan lima bitcoin ke alamat yang lain. Alamat ini bisa saja milik seseorang yang akan mengkreditkan lima sidecoin ke alamat sidechain Alice jika mereka telah menerima bitcoin tersebut. Atau alternatif lainnya, sistem memiliki semacam pengaturan di mana sidecoin secara otomatis dikreditkan setelah perangkat lunak mendeteksi pembayaran.


Skalabilitas sidechain


Sekarang Alice telah menukarkan koinnya ke sidechain, tetapi ia dapat kapan saja melakukan proses sebaliknya untuk mendapatkan kembali bitcoin. Karena telah memasuki sidechain, sekarang ia bebas bertransaksi di blockchain terpisah ini. Ia dapat mengirimkan atau menerima sidecoin dengan mudah seperti di chain utama.

Sekarang ia dapat, katakan saja, membayar Bob satu sidecoin untuk pembelian hoodie Binance. Ketika ia ingin kembali ke Bitcoin, ia dapat mengirim empat sidecoin ke alamat khusus. Setelah transaksi dikonfirmasi, empat bitcoin akan dilepaskan dan dikirimkan ke alamat yang dikendalikan sendiri olehnya di chain utama.


Mengapa sidechain digunakan?

Mungkin Anda bertanya-tanya apa sebenarnya intinya. Mengapa Alice tidak menggunakan blockchain Bitcoin saja?

Jawabannya adalah bahwa sidechain mampu melakukan hal-hal yang tidak dapat dilakukan oleh Bitcoin. Blockchain adalah sistem trade-off yang dirakit dengan cermat. Walaupun Bitcoin adalah mata uang kripto yang paling aman dan tersentralisasi, tetapi dalam hal throughput, Bitcoin bukanlah yang terbaik. Walaupun transaksi Bitcoin lebih cepat daripada metode konvensional, tetapi masih relatif lambat jika dibandingkan dengan sistem blockchain lainnya. Blok-blok ditambang setiap sepuluh menit, dan biaya dapat meningkat secara signifikan saat jaringan padat.

Memang, mungkin untuk pembayaran kecil sehari-hari tidak membutuhkan tingkat keamanan ini. Jika Alice membayar kopi yang dibelinya, dia tidak akan mau berdiri menunggu transaksi untuk dikonfirmasi. Kalau itu terjadi, ia akan menahan antrian, dan minumannya akan menjadi dingin sebelum diminum.

Sidechain tidak terikat oleh aturan yang sama. Bahkan, tidak perlu menggunakan Proof of Work untuk berfungsi. Anda dapat menggunakan mekanisme konsensus mana pun, mempercayai validator tunggal, atau mengubah sejumlah parameter. Anda dapat menambahkan peningkatan yang tidak ada pada chain utama, menghasilkan blok yang lebih besar, dan menyelesaikan transaksi dengan cepat.

Menariknya, sidechain bahkan dapat memiliki cacat/bug yang kritis tanpa mempengaruhi chain yang mendasarinya. Ini memungkinkan bagi sidechain untuk digunakan sebagai platform bereksperimen dan untuk menggelar fitur-fitur yang mungkin memerlukan konsensus dari mayoritas jaringan.

Jika pengguna tidak mempermasalahkan trade-off, sidechain dapat menjadi langkah integral menuju skalabilitas yang efektif. Tidak ada persyaratan node chain utama untuk menyimpan setiap transaksi dari sidechain. Alice dapat memasuki sidechain dengan satu transaksi Bitcoin, melakukan ratusan transaksi sidecoin, dan kemudian keluar dari sidechain. Sejauh menyangkut blockchain Bitcoin, dia hanya melakukan dua hal – yaitu masuk dan keluar.

Ini mirip dengan Plasma Ethereum, tetapi terdapat beberapa perbedaan besar. Baca lebih lanjut mengenai: Apa yang Dimaksud dengan Plasma Ethereum


Mengenal saluran pembayaran

Apa itu saluran pembayaran?

Saluran pembayaran melayani tujuan yang sama dengan sidechain dalam hal skalabilitas, tetapi keduanya sangat berbeda secara fundamental. Seperti sidechain, saluran pembayaran mendorong transaksi dilakukan di luar chain utama untuk mencegah blockchain membengkak. Namun berbeda dengan sidechain, saluran pembayaran tidak membutuhkan blockchain terpisah.

Saluran pembayaran menggunakan smart contract untuk memungkinkan pengguna bertransaksi tanpa menerbitkan transaksi mereka ke blockchain. Ini dilakukan dengan penggunaan persetujuan yang didukung perangkat lunak antara dua peserta.


Bagaimana cara kerja saluran pembayaran?

Dalam model seperti Jaringan Lightning yang populer, dua pihak pertama-tama akan menyetor koin ke alamat yang mereka miliki bersama. Ini adalah alamat multisignature, yang membutuhkan dua tanda tangan agar dana dapat dibelanjakan. Jadi, jika Alice dan Bob membuat alamat seperti ini, dana hanya bisa dipindahkan dengan persetujuan keduanya.

Katakanlah mereka masing-masing menyetor 10 BTC ke alamat yang sekarang menampung 20 BTC. Akan mudah bagi mereka untuk menyimpan neraca keuangan yang dimulai dengan menyatakan bahwa Alice dan Bob masing-masing memiliki 10 BTC. Jika Alice ingin memberikan koin kepada Bob, mereka dapat memperbaruinya sehingga terbaca bahwa Alice memiliki 9 BTC, Bob memiliki 11 BTC. Mereka tidak perlu menerbitkannya ke blockchain karena saldo terus diperbaharui. 


bagaimana cara kerja saluran pembayaran


Ketika saatnya tiba, katakanlah Alice memiliki 5 BTC, dan Bob 15 BTC. Mereka kemudian dapat membuat transaksi yang mengirimkan saldo ini ke alamat yang dimiliki oleh para pihak, menandatanganinya, dan menyiarkannya.

Alice dan Bob bisa saja mencatat sepuluh, seratus, atau seribu transaksi di neraca keuangan mereka. Namun sejauh menyangkut blockchain, mereka hanya melakukan dua operasi on-chain: satu untuk transaksi pendanaan awal, dan satu untuk mengalokasikan kembali saldo ketika telah selesai. Terlepas dari dua ini, semua transaksi lainnya gratis dan hampir instan karena terjadi secara off-chain. Tidak ada biaya penambang yang harus dibayar dan tidak ada konfirmasi blok yang harus ditunggu.

Contoh yang kita diskusikan di atas tentu saja mengharuskan kedua pihak untuk bekerja sama, situasi ini tidak ideal bagi pihak-pihak yang tidak saling mengenal. Namun, mekanisme khusus dapat digunakan untuk menghukum setiap percobaan berbuat curang, sehingga semua pihak dapat berinteraksi dengan aman tanpa perlu mempercayai satu sama lain. 


Jalur pembayaran

Sangat jelas bahwa saluran pembayaran sangat bermanfaat bagi dua pihak yang memiliki volume transaksi tinggi. Bahkan ada kabar yang lebih baik lagi, jaringan saluran-saluran ini dapat disempurnakan, artinya Alice dapat membayar pihak yang tidak terhubung langsung dengannya. Jika Bob memiliki saluran terbuka dengan Carol, Alice dapat membayar Carol asalkan ada kapasitas yang cukup. Dia akan memindahkan dana ke saluran Bob, Kemudian Bob akan memindahkannya ke saluran Carol. Jika Carol terhubung dengan peserta lain, misalnya Dani, hal yang sama dapat dilakukan. 

Jaringan seperti ini berkembang menjadi topologi terdistribusi di mana setiap orang terhubung ke banyak peers. Akan sering terdapat beberapa jalur atau rute ke satu tujuan, dan pengguna akan dapat memilih yang paling efektif. 


Penutup

Kita telah mendiskusikan dua pendekatan skalabilitas yang memungkinkan transaksi dilakukan tanpa membebani blockchain yang mendasarinya. Sidechain dan teknologi saluran pembayaran masih tergolong muda, tetapi keduanya semakin diminati oleh pengguna yang ingin menghindari kekurangan transaksi pada lapisan dasar.

Seiring berjalannya waktu dan semakin banyak pengguna bergabung ke dalam jaringan, tujuan desentralisasi harus dicapai. Ini hanya dapat dilakukan dengan memberlakukan batasan pada pertumbuhan blockchain sehingga node baru dapat dengan mudah bergabung. Para pendukung solusi skalabilitas off-chain yakin bahwa pada waktunya, chain utama hanya akan digunakan untuk menyelesaikan transaksi bernilai tinggi, atau untuk proses tautan masuk/keluar sidechain dan membuka/menutup saluran.