Tidak, menjalankan aplikasi terdesentralisasi (dapp) di blockchain tidak akan menghasilkan bisnis yang sukses. Bahkan, sebagian besar pengguna bahkan tidak memikirkan apakah aplikasi tersebut bekerja di blockchain - mereka hanya memilih produk yang lebih murah, lebih cepat dan lebih mudah.
Sayangnya, bahkan jika blockchain memiliki fitur dan kelebihan uniknya sendiri, sebagian besar aplikasi yang berjalan di atasnya jauh lebih mahal, lebih lambat dan kurang dimengerti daripada pesaing terpusat mereka.

Cukup sering, di whitepaper aplikasi yang dibangun di blockchain, Anda dapat menemukan paragraf yang mengatakan: "blockchain mahal dan tidak dapat mendukung jumlah transaksi yang diperlukan per detik. Untungnya, banyak orang pintar yang bekerja pada penskalaan blockchain bahkan pada saat aplikasi kami diluncurkan itu akan menjadi cukup scalable. "
Dalam satu paragraf sederhana, pengembang dapp dapat meninggalkan diskusi yang lebih mendalam tentang masalah skalabilitas dan solusi alternatif untuk masalah. Ini sering mengarah pada arsitektur yang tidak efisien, di mana backend dan inti aplikasi adalah kontrak pintar yang berjalan di blockchain.
Namun, masih ada pendekatan yang belum dicoba dalam arsitektur aplikasi desentralisasi yang memungkinkan skalabilitas yang jauh lebih baik, karena penurunan ketergantungan blockchain. Misalnya, Blockstack bekerja pada arsitektur di mana sebagian besar data dan logika aplikasi disimpan di luar blockchain.
Pertama mari kita lihat pendekatan yang lebih tradisional, di mana blockchain digunakan sebagai perantara langsung antara pengguna aplikasi, dan yang tidak berskala sangat baik.
Pendekatan # 1: Blockchain sebagai backend
Untuk membuatnya lebih jelas, mari kita ambil industri perhotelan sebagai contoh. Ini adalah industri besar di mana pengecer seperti Booking.com memungut biaya besar untuk menghubungkan tamu dan hotel.
Dalam situasi apa pun ketika kami ingin mengalahkan perantara seperti itu menggunakan pendekatan ini, kami akan mencoba mengulangi logika bisnisnya menggunakan kontrak pintar pada blockchain seperti, misalnya, Ethereum.
Kontrak pintar open source yang dijalankan pada "komputer global" dapat menghubungkan penjual dengan konsumen tanpa perusahaan pihak ketiga di antara mereka, pada akhirnya mengurangi biaya dan komisi yang dibebankan oleh perantara.
Seperti yang ditunjukkan pada gambar di bawah, hotel menggunakan aplikasi terdesentralisasi untuk menempatkan informasi di kamar, ketersediaan dan harga pada hari kerja atau akhir pekan di blockchain, dan bahkan deskripsi kamar dengan semua informasi relevan lainnya dimungkinkan.

Siapa pun yang ingin memesan kamar menggunakan aplikasi ini untuk mencari hotel dan kamar yang terletak di blockchain. Segera setelah pengguna memilih kamar, reservasi dikirim dengan mengirimkan jumlah token yang diperlukan ke hotel sebagai deposit. Dan sebagai tanggapan, kontrak pintar memperbarui informasi pada blockchain bahwa nomor itu tidak lagi tersedia.
Ada dua sisi masalah skalabilitas dalam pendekatan ini. Pertama, jumlah maksimum transaksi per detik. Kedua, jumlah data yang dapat disimpan di blockchain.
Mari kita lakukan perhitungan kasar. Booking.com mengklaim memiliki hampir 2 juta hotel terdaftar. Misalkan rata-rata hotel memiliki 10 kamar dan masing-masing dipesan hanya 20 kali setahun - ini memberi kami rata-rata 13 pemesanan per detik.
Untuk memperkirakan angka ini, perlu dicatat bahwa Ethereum dapat memproses sekitar 15 transaksi per detik.
Pada saat yang sama, ada baiknya mempertimbangkan bahwa dalam aplikasi kita juga akan ada transaksi dari hotel - untuk mengunduh dan terus memperbarui informasi tentang kamar mereka. Hotel memperbarui harga kamar sangat sering, kadang-kadang bahkan setiap hari, dan setiap perubahan harga atau deskripsi memerlukan transaksi di blockchain.
Ada juga masalah ukuran di sini - berat blockchain Ethereum baru-baru ini melewati tanda 2TB. Jika aplikasi dengan pendekatan ini menjadi sangat populer, maka jaringan Ethereum akan menjadi sangat tidak stabil.
Sistem berbasis blockchain seperti itu dapat mengecualikan orang luar karena ketidakberpihakannya dan kurangnya sentralisasi - keunggulan utama teknologi blockchain. Tetapi blockchain juga memiliki fitur lain - didistribusikan dan tidak dapat ditulis ulang, ini adalah karakteristik yang sangat baik, tetapi Anda harus membayarnya dengan kecepatan dan biaya transaksi.
Oleh karena itu, pengembang dapps harus mengevaluasi dengan cermat apakah setiap fitur yang menggunakan blockchain benar-benar memerlukan distribusi dan tidak dapat ditulis ulang.
Misalnya: apa keuntungan mendistribusikan data setiap hotel ke ratusan mobil di seluruh dunia dan menyimpannya di sana secara permanen? Apakah benar-benar penting bahwa data historis tentang harga dan ketersediaan kamar selalu disertakan pada blockchain? Mungkin tidak.
Jika kita mulai mengajukan pertanyaan seperti itu, kita akan mulai melihat bahwa kita tidak perlu semua karakteristik mahal dari blockchain untuk semua fungsi kita. Jadi apa alternatifnya?
Pendekatan # 2: Arsitektur yang terinspirasi blokstack
Meskipun penekanan utama Blockstack adalah pada aplikasi di mana pengguna memiliki data mereka (misalnya, seperti Airtext , BentenSound , ImageOptimizer atau Graphite ), blockstack juga memiliki filosofi sedikit penggunaan blockchain - hanya ketika benar-benar diperlukan. Argumen utama mereka adalah bahwa blockchain lambat dan mahal, yang berarti harus digunakan hanya untuk operasi tunggal atau jarang. Sisa interaksi dengan aplikasi harus terjadi melalui peer-to-peer, mis. pengguna aplikasi yang terdesentralisasi harus berbagi data secara langsung satu sama lain, dan tidak melalui blockchain. Pada akhirnya, aplikasi terdesentralisasi tertua dan paling sukses seperti BitTorrent, email, dan Tor dibuat sebelum konsep blockchain.

Kiri: Pendekatan pertama di mana pengguna berinteraksi melalui blockchain. Kanan: pengguna berinteraksi langsung satu sama lain, dan blockchain hanya digunakan untuk identifikasi dan sejenisnya .
Mari kita kembali ke contoh pemesanan hotel. Kami menginginkan protokol yang adil, independen, dan terbuka untuk menghubungkan para tamu ke hotel. Dengan kata lain, kami ingin menghapus perantara terpusat. Kita tidak perlu, misalnya, untuk terus-menerus menyimpan harga kamar dalam registri terdistribusi umum.
Mengapa kita tidak membiarkan saja tamu dan hotel berinteraksi secara langsung, dan tidak melalui blockchain. Hotel dapat menyimpan harga, ketersediaan kamar, dan informasi lainnya di suatu tempat di mana mereka akan tersedia untuk semua orang - misalnya, IPFS, Amazon S3, atau bahkan server lokal mereka sendiri. Ini persis seperti yang disediakan sistem penyimpanan terdesentralisasi Blockstack yang disebut Gaia . Ini memungkinkan pengguna untuk memilih di mana mereka ingin menyimpan data mereka dan mengontrol siapa yang dapat memiliki akses kepada mereka melalui suatu pendekatan yang disebut penyimpanan multi - pengguna .
Untuk membangun kepercayaan, semua data hotel ditandatangani secara kriptografis oleh hotel itu sendiri. Di mana pun data ini disimpan, integritasnya dapat diverifikasi menggunakan kunci publik yang terkait dengan informasi identifikasi hotel ini yang disimpan di blockchain.
Dalam kasus Blockstack, hanya informasi identifikasi Anda yang disimpan di blockchain. Informasi tentang cara mendapatkan data setiap pengguna disimpan dalam file zona dan didistribusikan melalui jaringan peer-to-peer menggunakan node. Dan sekali lagi - Anda tidak perlu mempercayai data yang diberikan oleh node, karena Anda dapat memverifikasi keasliannya dengan membandingkannya dengan hash yang disimpan di blockchain dan oleh pengguna lain.
Dalam versi sistem yang disederhanakan, para tamu akan menggunakan jaringan peer-to-peer Blockstack untuk mencari hotel dan mendapatkan informasi tentang kamar mereka. Dan keaslian dan integritas semua data yang Anda terima dapat diverifikasi menggunakan kunci publik dan hash yang disimpan dalam rantai virtual Blockstack.
Arsitektur ini lebih kompleks daripada pendekatan pertama, dan membutuhkan infrastruktur yang lebih terintegrasi. Bahkan, di sinilah Blockstack masuk, menyediakan semua komponen yang diperlukan untuk membuat sistem yang terdesentralisasi.

Dengan arsitektur ini, kami hanya menyimpan data di blockchain yang benar-benar perlu didistribusikan dan tidak ditimpa. Dalam kasus Blockstack, Anda hanya perlu transaksi pada blockchain untuk mendaftar dan menunjukkan di mana data Anda harus disimpan. Anda mungkin memerlukan lebih banyak transaksi jika Anda ingin mengubah informasi ini, tetapi ini bukan peristiwa yang berulang.
Selain itu, logika aplikasi, yang bertentangan dengan pendekatan pertama, bekerja di sisi klien, dan bukan pada kontrak pintar. Hal ini memungkinkan pengembang untuk mengubah logika ini tanpa pembaruan mahal atau kadang-kadang bahkan mustahil untuk kontrak pintar. Dan dengan menjaga data dan logika aplikasi dari blockchain, aplikasi terdesentralisasi dapat mencapai tingkat kinerja dan skalabilitas sistem terpusat tradisional.
Kesimpulan
Aplikasi yang berjalan di Blockstack dapat berskala jauh lebih baik daripada aplikasi blockchain konvensional, tetapi ini adalah pendekatan yang lebih muda dengan masalah sendiri dan pertanyaan yang belum terjawab.
Misalnya, jika aplikasi yang didesentralisasi tidak berfungsi pada kontrak pintar, ini mengurangi kebutuhan akan token utilitas. Ini dapat menyebabkan masalah bagi bisnis, mengingat ICO adalah sumber utama pendanaan untuk aplikasi yang didesentralisasi (termasuk Blockstack itu sendiri)
Ada juga masalah teknis. Misalnya, relatif sederhana untuk menerapkan fungsi reservasi hotel dalam kontrak pintar, di mana selama operasi atom, pemesanan kamar dilakukan dengan imbalan token. Dan tidak terlalu jelas bagaimana pemesanan akan berfungsi dalam aplikasi Blockstack tanpa kontrak pintar.
Aplikasi yang menargetkan pasar global dengan potensi jutaan pengguna harus berskala sangat baik untuk menjadi sukses. Adalah kesalahan untuk hanya mengandalkan blockchain untuk mencapai tingkat skalabilitas ini dalam waktu dekat. Agar dapat bersaing dengan pemain pasar besar terpusat seperti Booking.com, pengembang aplikasi yang terdesentralisasi harus mempertimbangkan pendekatan alternatif untuk merancang aplikasi mereka, seperti yang ditawarkan oleh Blockstack.