Bagaimana cara keluar dari pola pikir Rollup dan mengintegrasikan platform Web2 dengan Web3 dengan kerangka kerja yang lebih luas dan terbuka?
Ditulis oleh Wuyue, Geek Web3
**Pendahuluan: **Artikel ini secara prospektif akan memperkenalkan paradigma desain infrastruktur Web3 yang tampaknya agak unik - Paradigma Konsensus Berbasis Penyimpanan (SCP). Meskipun model desain produk ini Secara teori, ini sangat berbeda dari modular arus utama solusi blockchain seperti Ethereum Rollup, tetapi sangat layak dalam hal kemudahan implementasi dan kemudahan koneksi dengan platform Web2, karena Sejak awal, saya tidak bermaksud membatasi diri pada jalur implementasi yang sempit seperti Rollup. Saya ingin menggunakan kerangka kerja yang lebih luas dan terbuka untuk mengintegrasikan platform Web2 dan fasilitas Web3, yang dapat dikatakan sebagai otak Pendekatan yang terbuka lebar dan imajinatif.
Teks: Mari kita bayangkan solusi perluasan rantai publik dengan karakteristik berikut:
Kecepatannya sebanding dengan aplikasi atau pertukaran Web2 tradisional, jauh melebihi rantai publik, L2, rollup, rantai samping, dll.
Tidak ada biaya bahan bakar, dan biaya pemakaian hampir 0.
Keamanan dana tinggi, jauh melebihi fasilitas terpusat seperti bursa, lebih rendah dari Rollup tetapi lebih besar atau sama dengan rantai samping.
Pengalaman pengguna yang sama seperti Web2, tanpa pengetahuan apa pun tentang kunci publik dan pribadi, dompet, infrastruktur, dll. dari blockchain.
Solusi seperti ini memang sangat menarik: di satu sisi, solusi ini pada dasarnya telah mencapai perluasan kapasitas tertinggi; di sisi lain, solusi ini juga telah meletakkan dasar yang sangat kuat untuk adopsi Web3 secara massal, yang pada dasarnya menghilangkan kesenjangan antara Web2 dan Web3. pengalaman penggunaan.
Namun, kita tidak dapat membayangkan berapa banyak solusi yang bisa diselesaikan dengan begitu lengkap, karena diskusi dan praktik arus utama terlalu sedikit.
Kami menggunakan ekspansi, topik yang sangat familiar, sebagai pengantar di atas. Faktanya, SCP tidak terbatas pada ekspansi. Inspirasi desainnya datang dari rencana ekspansi dan diskusi komunitas rantai publik seperti Bitcoin dan Ethereum. Visi dan penerapan praktisnya adalah untuk membangun infrastruktur generasi baru yang tidak dapat dipercaya, bahkan platform komputasi non-blockchain. **
Komponen dasar dan prinsip kerja SCP
Secara umum, **SCP juga seperti apa yang oleh komunitas Ethereum dan Celestia disebut sebagai “blockchain modular”. **SCP memiliki divisi modul seperti lapisan ketersediaan data, lapisan eksekusi, lapisan konsensus, dan lapisan penyelesaian.
Lapisan ketersediaan data: Diasumsikan oleh rantai publik atau fasilitas penyimpanan yang dikenal luas dan terbukti sebagai lapisan ketersediaan data, seperti Ethereum, Arweave, Celestia, dll.
Lapisan eksekusi: Server yang digunakan untuk menerima transaksi pengguna dan mengeksekusinya, dan pada saat yang sama mengirimkan data transaksi yang ditandatangani pengguna ke lapisan DA dalam batch, mirip dengan sequencer Rollup. Namun lapisan eksekusi tidak harus memiliki struktur daftar tertaut bergaya blockchain, melainkan dapat sepenuhnya berupa database Web2 + sistem komputasi, tetapi seluruh sistem komputasi harus open source dan transparan.
Lapisan konsensus: Terdiri dari sekelompok node. Mereka menarik data yang dikirimkan oleh lapisan eksekusi ke lapisan DA, dan menggunakan algoritme yang sama dengan lapisan eksekusi untuk mengoperasikan data ini guna mengonfirmasi apakah hasilnya keluaran dari lapisan eksekusi sudah benar, dan Dapat digunakan sebagai redundansi pencegahan bencana untuk lapisan eksekusi. Pengguna juga dapat membaca data yang dikembalikan oleh setiap node di lapisan konsensus untuk memastikan tidak ada penipuan di lapisan eksekusi.
Lapisan penyelesaian: Ini terdiri dari sekelompok node dan kontrak atau alamat di rantai lain. Ini digunakan untuk menangani perilaku pengguna yang mengisi ulang ke SCP atau menarik uang dari SCP. Ini agak mirip dengan mode operasi dari jembatan rantai silang. Node lapisan penyelesaian mengontrol fungsi penarikan alamat isi ulang melalui kontrak multi-tanda tangan atau alamat berbasis TSS. Saat mengisi ulang, pengguna menyetorkan aset ke alamat yang ditentukan di rantai, dan saat menarik, permintaan dikirim. Setelah node lapisan penyelesaian membaca data, ia melepaskan aset melalui multi-tanda tangan atau TSS. Tingkat keamanan lapisan penyelesaian bergantung pada mekanisme lintas rantai yang diadopsi.
Kerangka latihan SCP
Kita dapat memahami paradigma SCP melalui kerangka berikut. Produk yang memenuhi kerangka SCP dapat memiliki fungsi utama seperti pengisian ulang, transfer, penarikan, penukaran, dll., dan dapat diperluas lebih lanjut atas dasar ini. Gambar di bawah adalah diagram skema produk tersebut:
Lapisan DA proyek menggunakan fasilitas penyimpanan permanen Arweave, lingkaran besar pada gambar.
**Koordinator, lapisan eksekusi. **Pengguna mengirimkan transaksi ke koordinator, koordinator melakukan operasi dan menampilkan hasil operasi, lalu mengirimkan data masukan asli pengguna ke lapisan DA secara batch.
Detektor, mengambil data transaksi asli yang dikirimkan oleh koordinator dari Arweave, dan menggunakan algoritma yang konsisten dengan koordinator untuk memverifikasi data dan hasilnya. Klien detektor juga bersifat open source dan dapat dijalankan oleh siapa saja.
**Watchmen, sekelompok penguji yang bertanggung jawab atas multi-tanda tangan sistem penarikan. **Permintaan penarikan akan diverifikasi dan dirilis berdasarkan data transaksi. Selain itu, penjaga juga bertugas menandatangani proposal.
Kita dapat melihat keseluruhan sistem, dan konsensus yang mereka capai semuanya terletak di luar rantai. Ini adalah inti dari paradigma konsensus penyimpanan - ini meninggalkan sistem konsensus node bergaya blockchain dan membebaskan lapisan eksekusi dari konsensus yang berat. proses konfirmasi hanya membutuhkan kerja satu server, sehingga mencapai TPS dan penghematan yang hampir tidak terbatas. Ini sangat mirip dengan Rollup, namun SCP telah mengambil jalur yang berbeda dari Rollup, mengubahnya dari kasus penggunaan khusus untuk perluasan kapasitas ke model transisi baru dari Web2 ke Web3. **
Koordinator yang disebutkan di atas adalah server, namun bukan berarti koordinator dapat berbuat sesukanya. Mirip dengan penyortir Rollup, setelah data asli yang dikirimkan oleh pengguna dikirimkan secara batch di Arweave, siapa pun dapat menjalankan program detektor untuk memverifikasinya dan membandingkannya dengan status yang dikembalikan oleh koordinator. **Sampai batas tertentu, ini persis sama dengan ide aplikasi prasasti. **
Di bawah arsitektur ini, server dan database terpusat tidak menimbulkan tantangan mendasar. Ini juga merupakan poin lain dari paradigma SCP, yang mengikat dan memisahkan dua konsep “sentralisasi” dan “entitas tunggal” - **Dalam sistem yang tidak dapat dipercaya, dapat terdapat komponen terpusat, **bahkan dapat berupa komponen inti, tapi ini tidak mempengaruhi ketidakpercayaan secara keseluruhan.
Kita dapat meneriakkan slogan seperti itu - “Infrastruktur tanpa kepercayaan generasi berikutnya tidak harus bergantung pada protokol konsensus, namun harus berupa sistem sumber terbuka dan jaringan node P2P”.
Niat awal orang-orang yang menciptakan dan menggunakan blockchain adalah untuk tidak mempercayai, buku besar yang konsisten, tidak dapat dipalsukan, dapat dilacak, dan hal-hal mendasar lainnya, yang dengan jelas dinyatakan dalam kertas putih Bitcoin. **Tetapi setelah Ethereum, **apakah itu rencana perluasan rantai publik lama, atau Rollup atau blockchain modular, semua orang telah membentuk pola pikir: apa yang kami buat harus berupa blockchain ( Ini terdiri dari protokol konsensus node), atau solusi seperti Rollup yang terlihat seperti rantai (hanya memiliki struktur data blockchain, namun node tidak secara langsung bertukar pesan konsensus).
Tapi sekarang, di bawah kerangka kerja berbasis SCP, bahkan jika itu bukan blockchain, serangkaian persyaratan seperti tidak dapat dipercaya, konsistensi buku besar, non-pemalsuan, ketertelusuran, dll dapat dicapai. Tentu saja, premisnya adalah bahwa harus ada detail implementasi yang lebih jelas.
Lapisan eksekusi
Lapisan eksekusi sangat penting dalam keseluruhan sistem karena melakukan proses komputasi seluruh sistem dan menentukan aplikasi apa yang dapat dijalankan pada sistem.
Lingkungan eksekusi yang mungkin tidak ada habisnya
Secara teoritis, lingkungan eksekusi di lapisan eksekusi dapat dibuat dalam bentuk apa pun, dan kemungkinannya tidak terbatas, bergantung pada bagaimana pihak proyek memposisikan proyeknya:
*Menukarkan. Berdasarkan SCP, dapat dibangun pertukaran yang terbuka, transparan, dan TPS tinggi.Pertukaran ini tidak hanya memiliki karakteristik kecepatan CEX dan biaya nol, tetapi juga menjaga desentralisasi DEX. Perbedaan antara CEX dan DEX menjadi kabur di sini.
Jaringan pembayaran. Mirip dengan Alipay, PayPal, dll.
Mendukung mesin virtual/blockchain untuk memuat program/kontrak. Pengembang mana pun dapat menerapkan aplikasi apa pun di dalamnya, berbagi semua data pengguna dengan program lain, dan beroperasi sesuai dengan instruksi pengguna.
**SCP, model desain yang mendukung lingkungan eksekusi sewenang-wenang, memiliki manfaat uniknya: **Anda tidak lagi harus bergantung pada komponen tertentu dengan beban historis, terutama konsep “abstraksi akun” yang unik untuk komunitas Ethereum, yang sangat penting kepada SCP. Dikatakan bahwa hal itu tidak diperlukan secara alami.
Di bawah arsitektur SCP, tidak ada konsep abstraksi akun - Anda dapat menggunakan akun standar Web2 dan akun blockchain sesuka hati. Dari perspektif ini, banyak kasus penggunaan Web2 yang matang dapat langsung digunakan di SCP tanpa memikirkan ulang dan membangunnya. Ini mungkin kelebihan SCP dibandingkan Rollup. **
Transparansi dan Asimetri
Sistem akun telah disebutkan di atas.Pembaca yang sensitif seharusnya mengetahui bahwa meskipun SCP dapat menggunakan sistem akun Web2, tampaknya ada masalah dalam penggunaannya tanpa perubahan.
Karena seluruh sistem ini sepenuhnya transparan! Penggunaan model interaksi pengguna-ke-server secara langsung akan menyebabkan masalah serius, sehingga tidak ada keamanan untuk keseluruhan sistem. Pertama-tama mari kita tinjau cara kerja model pengguna server tradisional:
1. Pendaftaran akun: Pengguna memasukkan nama pengguna dan kata sandi pada halaman pendaftaran aplikasi. Untuk melindungi kata sandi pengguna, server memproses kata sandi melalui fungsi hash setelah menerimanya. Untuk meningkatkan kompleksitas hash dan melindungi terhadap serangan tabel pelangi, setiap kata sandi pengguna sering kali digabungkan dengan string yang dibuat secara acak (disebut “garam”) dan di-hash bersama-sama. **Nama pengguna, garam, dan hash disimpan dalam teks jelas di database penyedia layanan dan tidak diungkapkan kepada publik. **Namun meski begitu, pengasinan dan pengamanan tetap diperlukan untuk mencegah orang dalam dan serangan.
2. Login Pengguna: Pengguna memasukkan nama pengguna dan kata sandinya pada formulir login. Sistem membandingkan nilai hash password yang diproses dengan nilai hash yang disimpan dalam database. Jika kedua hash cocok, pengguna memberikan kata sandi yang benar dan proses login dilanjutkan.
3. Otentikasi operasi: Setelah otentikasi login dilewati, sistem akan membuat sesi untuk pengguna. Biasanya, informasi sesi disimpan di server, dan server mengirimkan identifikasi (seperti token) ke browser atau aplikasi pengguna. Pengguna tidak perlu lagi memasukkan kembali nama pengguna dan kata sandi mereka dalam operasi selanjutnya: browser atau aplikasi akan menyimpan pengidentifikasi dan menyertakannya dengan setiap permintaan untuk menunjukkan bahwa mereka memiliki izin dari server terkait.
Mari kita tinjau sistem interaksi pengguna blockchain Web3 pada umumnya:
1. Pendaftaran akun: Sebenarnya tidak ada proses pendaftaran akun, dan tidak ada sistem nama pengguna-kata sandi. Akun (alamat) tidak perlu didaftarkan, mereka ada secara alami, dan siapa pun yang memiliki kunci pribadi mengontrol akun tersebut. Kunci pribadi dibuat secara acak secara lokal oleh dompet dan tidak melibatkan proses jaringan.
2. Login pengguna: Penggunaan blockchain tidak memerlukan login. Kebanyakan dApps tidak memiliki proses login, tetapi terhubung ke dompet. Beberapa dApps akan mengharuskan pengguna untuk melakukan verifikasi tanda tangan setelah terhubung ke dompet untuk memastikan bahwa pengguna benar-benar memegang kunci pribadi, bukan hanya meneruskan alamat dompet ke front end.
**3. Otentikasi operasi: ** Pengguna langsung mengirimkan data yang ditandatangani ke node. Setelah verifikasi, node akan menyiarkan transaksi ke seluruh jaringan blockchain. Setelah memenuhi konsensus jaringan blockchain, operasi pengguna akan dikonfirmasi .
Perbedaan kedua mode tersebut disebabkan oleh simetri dan asimetri. Dalam arsitektur pengguna server, kedua belah pihak menyimpan rahasia yang sama. Dalam arsitektur pengguna blockchain, hanya pengguna yang memegang rahasianya.
Meskipun lapisan eksekusi SCP mungkin bukan blockchain, semua data perlu disinkronkan ke lapisan DA yang terlihat secara publik.** Oleh karena itu, metode login dan verifikasi operasi yang digunakan oleh SCP harus asimetris. **Tetapi karena kami tidak ingin pengguna menyimpan kunci pribadi, menggunakan dompet, dan tindakan rumit lainnya serta pengalaman buruk yang memengaruhi adopsi skala besar, ada juga permintaan yang kuat untuk aplikasi yang dibangun di SCP untuk menggunakan kata sandi ID tradisional atau OAuth otentikasi tiga pihak untuk login. Jadi bagaimana cara menggabungkan keduanya?
Karena sifat kriptografi asimetris yang asimetris dan bukti tanpa pengetahuan, Saya membayangkan dua kemungkinan solusi:
Jika Anda ingin menggunakan sistem ID-password, Anda tidak dapat memasukkan modul penyimpan kata sandi ini ke dalam SCP, sehingga tidak dapat dilihat oleh orang lain. Lapisan eksekusi SCP masih menggunakan akun kunci publik dan pribadi serta logika operasi blockchain, dan tidak ada registrasi, tidak ada login, dll. **ID pengguna sebenarnya sesuai dengan kunci pribadi. **Tentu saja, kunci pribadi ini tidak dapat disimpan di sisi proyek. Solusi yang lebih layak adalah dengan menggunakan 2-3 MPC untuk menyelesaikan masalah penyimpanan terpusat tanpa membiarkan pengguna terbebani dengan penggunaan kunci pribadi.
**Saat mengandalkan OAuth untuk login, JWT (Json Web Token) dapat digunakan sebagai metode autentikasi. **Metode ini akan sedikit lebih terpusat daripada metode di atas, karena pada dasarnya bergantung pada layanan login pihak ketiga yang disediakan oleh produsen Web2 besar untuk otentikasi identitas.
Saat menggunakan pihak ketiga untuk login pertama kali, daftarkan kolom di JWT yang mewakili identitas pengguna dan identitas penyedia layanan dalam sistem. Dalam operasi pengguna selanjutnya, instruksi operasi digunakan sebagai masukan publik, dan JWT secara keseluruhan digunakan sebagai saksi rahasia untuk memverifikasi setiap transaksi pengguna dengan ZKP.
Setiap JWT memiliki batas waktu kedaluwarsa, dan pengguna juga akan mengajukan JWT baru saat login berikutnya, sehingga tidak perlu menyimpannya secara permanen. Selain itu, sistem ini juga perlu mengandalkan JWK, yang dapat dipahami sebagai kunci publik yang disediakan oleh pabrikan untuk memverifikasi JWK. Jadi bagaimana cara memasukkan JWK ke dalam sistem secara desentralisasi dan bagaimana menangani rotasi kunci privat di masa depan juga perlu ditelusuri.
**Apa pun metode yang digunakan, biaya pengembangan dan komputasi lebih tinggi dibandingkan metode tradisional, namun hal ini juga merupakan harga yang harus dibayar untuk desentralisasi. **Tentu saja, jika pihak proyek tidak menganggap desentralisasi ekstrem diperlukan, atau terdapat tonggak pencapaian yang berbeda pada tahapan pembangunan yang berbeda, maka tidak masalah jika rancangan ini tidak ada, karena desentralisasi tidak hitam dan putih, namun ada wilayah abu-abu diantara.
Pribadi
Masalah transparansi yang disebutkan di atas tidak hanya mempengaruhi paradigma interaksi pengguna, tetapi juga mempengaruhi data pengguna. Data pengguna terekspos secara langsung. Meskipun tidak menjadi masalah di blockchain, hal ini tidak dapat diterima di beberapa aplikasi, sehingga pengembang juga dapat membangun sistem transaksi pribadi.
KORBAN
Bagaimana lapisan eksekutif mengenakan biaya adalah hal lain yang perlu diperhatikan. Sebab pengiriman data ke lapisan DA juga memerlukan biaya, termasuk operasional servernya sendiri. Tujuan inti pertama dari blockchain tradisional yang membebankan biaya bahan bakar kepada pengguna adalah untuk mencegah pengguna merusak jaringan transaksi dengan melakukan banyak transaksi berulang, dan yang kedua adalah untuk mengurutkan transaksi berdasarkan bahan bakar. Web2 tidak memiliki kekhawatiran serupa, jadi yang ada hanya konsep dasar seperti banjir dan DDoS.
**Lapisan eksekusi dapat menyesuaikan berbagai strategi pengisian daya, seperti terisi penuh atau terisi sebagian. **Lapisan eksekusi juga dapat memperoleh keuntungan dari perilaku lain seperti MEV (sangat matang dalam sequencer), aktivitas pasar, dll.
Resistensi Sensor
Lapisan eksekusi tidak tahan sensor dan secara teoritis dapat menolak transaksi pengguna tanpa batas. Di Rollup, resistensi sensor dapat dijamin dengan fungsi pengumpulan paksa dari kontrak L1, sedangkan rantai samping atau rantai publik adalah jaringan blockchain terdistribusi lengkap dan sulit untuk disensor.
**Saat ini tidak ada solusi yang jelas terhadap masalah penolakan sensor, yang merupakan masalah dalam paradigma SCP. **
Lapisan konsensus
Lapisan ini terdiri dari node-node yang longgar, node-node ini tidak secara aktif membentuk jaringan, jadi ini bukan lapisan konsensus dalam arti sebenarnya, tetapi hanya digunakan untuk mengkonfirmasi status lapisan eksekusi saat ini ke dunia luar (seperti pengguna).
Misalnya, jika Anda ragu dengan kesehatan node ini, Anda dapat mengunduh klien detektornya, yang akan menjalankan kode program yang sama dengan koordinator. **
Namun, hal ini mirip dengan Rollup, karena data dikirimkan dalam batch, status yang dikembalikan ke pengguna oleh lapisan eksekusi selalu lebih baru dibandingkan pada lapisan DA. Ini melibatkan masalah pra-konfirmasi:
**Lapisan eksekusi memberikan hasil akhir lunak yang telah dikonfirmasi sebelumnya kepada pengguna, **karena hasil tersebut belum dikirimkan ke lapisan DA;
**Lapisan konsensus memberi pengguna finalitas yang sulit. **Pengguna mungkin tidak terlalu peduli dengan hal ini, namun untuk aplikasi seperti jembatan lintas rantai, finalitas yang ketat harus diikuti. Misalnya, sistem penyetoran dan penarikan bursa tidak akan mempercayai data yang disiarkan secara off-chain oleh sequencer Rollup, dan harus menunggu hingga data diunggah ke Ethereum sebelum dikenali.
Selain digunakan untuk mengkonfirmasi hasil, lapisan konsensus juga berperan sangat penting, yaitu sebagai redundansi pencegahan bencana pada lapisan eksekusi. **Jika lapisan eksekusi melakukan pemogokan secara permanen dan melakukan kejahatan serius, secara teori, lapisan konsensus mana pun dapat mengambil alih pekerjaan lapisan eksekusi dan menerima permintaan pengguna. Jika situasi serius seperti ini terjadi, komunitas harus memilih node yang stabil dan andal sebagai server lapisan eksekusi.
Lapisan penyelesaian
Karena SCP bukan Rollup, ia tidak dapat mencapai penarikan tanpa kepercayaan yang tidak memerlukan intervensi manual dan sepenuhnya didasarkan pada kriptografi dan kode kontrak pintar seperti lapisan penyelesaian penarikan Rollup. **Tingkat keamanan jembatan lintas rantai SCP sama dengan jembatan rantai samping atau jembatan rantai saksi pihak ketiga. **Ini perlu bergantung pada pengelola multi-tanda tangan resmi untuk melepaskan aset. Kami menyebutnya mode saksi .
Menjadikan jembatan saksi sedesentralisasi mungkin adalah topik dari banyak studi jembatan lintas rantai. Karena keterbatasan tempat, kami tidak akan membahas detailnya di sini. Platform SCP yang dirancang dengan baik juga harus memiliki mitra multi-tanda tangan yang memiliki reputasi baik dalam praktiknya.
**Seseorang mungkin bertanya mengapa SCP tidak menggunakan rantai dengan kontrak pintar sebagai lapisan DA? **Hal ini memungkinkan lapisan penyelesaian berbasis kontrak yang sepenuhnya tidak dapat dipercaya.
Dalam jangka panjang, selama beberapa kesulitan teknis dapat diatasi, jika lapisan DA ditempatkan pada lapisan DA dengan kontrak seperti Ethereum, dan kontrak verifikasi yang sesuai dapat dibuat, SCP juga dapat memperoleh keamanan penyelesaian yang sama seperti Rollup. Tidak perlu menggunakan banyak tanda tangan.
Namun dalam praktiknya, ini mungkin bukan pilihan terbaik:
Ethereum tidak secara khusus digunakan untuk penyimpanan data, dan harganya terlalu tinggi dibandingkan dengan rantai publik penyimpanan data murni. **Untuk paradigma SCP, biaya penyimpanan yang cukup rendah atau tetap sangatlah penting. **Hanya dengan cara ini dimungkinkan untuk mendukung throughput tingkat Web2.
2.** Hal ini membuktikan bahwa sistem sangat sulit untuk dikembangkan, karena SCP tidak hanya dapat mensimulasikan EVM, tetapi juga mengimplementasikan logika apa pun. **Dan ketika kita melihat tim seperti Optimism, yang bukti penipuannya masih belum online, dan betapa sulitnya mengembangkan zkEVM, kita dapat membayangkan bahwa sangat sulit untuk menerapkan bukti berbagai sistem pada Ethereum.
Oleh karena itu, **Rollup adalah solusi yang memiliki kelayakan praktis yang lebih baik hanya dalam keadaan tertentu.**Jika Anda berencana untuk menerapkan solusi yang lebih luas dan terbuka, singkirkan sistem EVM dan integrasikan lebih banyak fitur Web2, maka Ethernet Idenya Fang Rollup tidak cocok.
**SCP bukanlah rencana perluasan rantai publik tertentu, tetapi arsitektur platform komputasi Web3 yang lebih besar, jadi jelas tidak perlu mengikuti ide Ethereum Layer 2. **
Gambar yang membandingkan SCP dan paradigma lain
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Interpretasi SCP: Mendobrak paradigma infrastruktur tanpa kepercayaan berbasis Rollup
Ditulis oleh Wuyue, Geek Web3
**Pendahuluan: **Artikel ini secara prospektif akan memperkenalkan paradigma desain infrastruktur Web3 yang tampaknya agak unik - Paradigma Konsensus Berbasis Penyimpanan (SCP). Meskipun model desain produk ini Secara teori, ini sangat berbeda dari modular arus utama solusi blockchain seperti Ethereum Rollup, tetapi sangat layak dalam hal kemudahan implementasi dan kemudahan koneksi dengan platform Web2, karena Sejak awal, saya tidak bermaksud membatasi diri pada jalur implementasi yang sempit seperti Rollup. Saya ingin menggunakan kerangka kerja yang lebih luas dan terbuka untuk mengintegrasikan platform Web2 dan fasilitas Web3, yang dapat dikatakan sebagai otak Pendekatan yang terbuka lebar dan imajinatif.
Teks: Mari kita bayangkan solusi perluasan rantai publik dengan karakteristik berikut:
Solusi seperti ini memang sangat menarik: di satu sisi, solusi ini pada dasarnya telah mencapai perluasan kapasitas tertinggi; di sisi lain, solusi ini juga telah meletakkan dasar yang sangat kuat untuk adopsi Web3 secara massal, yang pada dasarnya menghilangkan kesenjangan antara Web2 dan Web3. pengalaman penggunaan.
Namun, kita tidak dapat membayangkan berapa banyak solusi yang bisa diselesaikan dengan begitu lengkap, karena diskusi dan praktik arus utama terlalu sedikit.
Kami menggunakan ekspansi, topik yang sangat familiar, sebagai pengantar di atas. Faktanya, SCP tidak terbatas pada ekspansi. Inspirasi desainnya datang dari rencana ekspansi dan diskusi komunitas rantai publik seperti Bitcoin dan Ethereum. Visi dan penerapan praktisnya adalah untuk membangun infrastruktur generasi baru yang tidak dapat dipercaya, bahkan platform komputasi non-blockchain. **
Komponen dasar dan prinsip kerja SCP
Secara umum, **SCP juga seperti apa yang oleh komunitas Ethereum dan Celestia disebut sebagai “blockchain modular”. **SCP memiliki divisi modul seperti lapisan ketersediaan data, lapisan eksekusi, lapisan konsensus, dan lapisan penyelesaian.
Kerangka latihan SCP
Kita dapat memahami paradigma SCP melalui kerangka berikut. Produk yang memenuhi kerangka SCP dapat memiliki fungsi utama seperti pengisian ulang, transfer, penarikan, penukaran, dll., dan dapat diperluas lebih lanjut atas dasar ini. Gambar di bawah adalah diagram skema produk tersebut:
Kita dapat melihat keseluruhan sistem, dan konsensus yang mereka capai semuanya terletak di luar rantai. Ini adalah inti dari paradigma konsensus penyimpanan - ini meninggalkan sistem konsensus node bergaya blockchain dan membebaskan lapisan eksekusi dari konsensus yang berat. proses konfirmasi hanya membutuhkan kerja satu server, sehingga mencapai TPS dan penghematan yang hampir tidak terbatas. Ini sangat mirip dengan Rollup, namun SCP telah mengambil jalur yang berbeda dari Rollup, mengubahnya dari kasus penggunaan khusus untuk perluasan kapasitas ke model transisi baru dari Web2 ke Web3. **
Koordinator yang disebutkan di atas adalah server, namun bukan berarti koordinator dapat berbuat sesukanya. Mirip dengan penyortir Rollup, setelah data asli yang dikirimkan oleh pengguna dikirimkan secara batch di Arweave, siapa pun dapat menjalankan program detektor untuk memverifikasinya dan membandingkannya dengan status yang dikembalikan oleh koordinator. **Sampai batas tertentu, ini persis sama dengan ide aplikasi prasasti. **
Di bawah arsitektur ini, server dan database terpusat tidak menimbulkan tantangan mendasar. Ini juga merupakan poin lain dari paradigma SCP, yang mengikat dan memisahkan dua konsep “sentralisasi” dan “entitas tunggal” - **Dalam sistem yang tidak dapat dipercaya, dapat terdapat komponen terpusat, **bahkan dapat berupa komponen inti, tapi ini tidak mempengaruhi ketidakpercayaan secara keseluruhan.
Kita dapat meneriakkan slogan seperti itu - “Infrastruktur tanpa kepercayaan generasi berikutnya tidak harus bergantung pada protokol konsensus, namun harus berupa sistem sumber terbuka dan jaringan node P2P”.
Niat awal orang-orang yang menciptakan dan menggunakan blockchain adalah untuk tidak mempercayai, buku besar yang konsisten, tidak dapat dipalsukan, dapat dilacak, dan hal-hal mendasar lainnya, yang dengan jelas dinyatakan dalam kertas putih Bitcoin. **Tetapi setelah Ethereum, **apakah itu rencana perluasan rantai publik lama, atau Rollup atau blockchain modular, semua orang telah membentuk pola pikir: apa yang kami buat harus berupa blockchain ( Ini terdiri dari protokol konsensus node), atau solusi seperti Rollup yang terlihat seperti rantai (hanya memiliki struktur data blockchain, namun node tidak secara langsung bertukar pesan konsensus).
Tapi sekarang, di bawah kerangka kerja berbasis SCP, bahkan jika itu bukan blockchain, serangkaian persyaratan seperti tidak dapat dipercaya, konsistensi buku besar, non-pemalsuan, ketertelusuran, dll dapat dicapai. Tentu saja, premisnya adalah bahwa harus ada detail implementasi yang lebih jelas.
Lapisan eksekusi
Lapisan eksekusi sangat penting dalam keseluruhan sistem karena melakukan proses komputasi seluruh sistem dan menentukan aplikasi apa yang dapat dijalankan pada sistem.
Lingkungan eksekusi yang mungkin tidak ada habisnya
Secara teoritis, lingkungan eksekusi di lapisan eksekusi dapat dibuat dalam bentuk apa pun, dan kemungkinannya tidak terbatas, bergantung pada bagaimana pihak proyek memposisikan proyeknya:
*Menukarkan. Berdasarkan SCP, dapat dibangun pertukaran yang terbuka, transparan, dan TPS tinggi.Pertukaran ini tidak hanya memiliki karakteristik kecepatan CEX dan biaya nol, tetapi juga menjaga desentralisasi DEX. Perbedaan antara CEX dan DEX menjadi kabur di sini.
**SCP, model desain yang mendukung lingkungan eksekusi sewenang-wenang, memiliki manfaat uniknya: **Anda tidak lagi harus bergantung pada komponen tertentu dengan beban historis, terutama konsep “abstraksi akun” yang unik untuk komunitas Ethereum, yang sangat penting kepada SCP. Dikatakan bahwa hal itu tidak diperlukan secara alami.
Di bawah arsitektur SCP, tidak ada konsep abstraksi akun - Anda dapat menggunakan akun standar Web2 dan akun blockchain sesuka hati. Dari perspektif ini, banyak kasus penggunaan Web2 yang matang dapat langsung digunakan di SCP tanpa memikirkan ulang dan membangunnya. Ini mungkin kelebihan SCP dibandingkan Rollup. **
Transparansi dan Asimetri
Sistem akun telah disebutkan di atas.Pembaca yang sensitif seharusnya mengetahui bahwa meskipun SCP dapat menggunakan sistem akun Web2, tampaknya ada masalah dalam penggunaannya tanpa perubahan.
Karena seluruh sistem ini sepenuhnya transparan! Penggunaan model interaksi pengguna-ke-server secara langsung akan menyebabkan masalah serius, sehingga tidak ada keamanan untuk keseluruhan sistem. Pertama-tama mari kita tinjau cara kerja model pengguna server tradisional:
1. Pendaftaran akun: Pengguna memasukkan nama pengguna dan kata sandi pada halaman pendaftaran aplikasi. Untuk melindungi kata sandi pengguna, server memproses kata sandi melalui fungsi hash setelah menerimanya. Untuk meningkatkan kompleksitas hash dan melindungi terhadap serangan tabel pelangi, setiap kata sandi pengguna sering kali digabungkan dengan string yang dibuat secara acak (disebut “garam”) dan di-hash bersama-sama. **Nama pengguna, garam, dan hash disimpan dalam teks jelas di database penyedia layanan dan tidak diungkapkan kepada publik. **Namun meski begitu, pengasinan dan pengamanan tetap diperlukan untuk mencegah orang dalam dan serangan.
2. Login Pengguna: Pengguna memasukkan nama pengguna dan kata sandinya pada formulir login. Sistem membandingkan nilai hash password yang diproses dengan nilai hash yang disimpan dalam database. Jika kedua hash cocok, pengguna memberikan kata sandi yang benar dan proses login dilanjutkan.
3. Otentikasi operasi: Setelah otentikasi login dilewati, sistem akan membuat sesi untuk pengguna. Biasanya, informasi sesi disimpan di server, dan server mengirimkan identifikasi (seperti token) ke browser atau aplikasi pengguna. Pengguna tidak perlu lagi memasukkan kembali nama pengguna dan kata sandi mereka dalam operasi selanjutnya: browser atau aplikasi akan menyimpan pengidentifikasi dan menyertakannya dengan setiap permintaan untuk menunjukkan bahwa mereka memiliki izin dari server terkait.
Mari kita tinjau sistem interaksi pengguna blockchain Web3 pada umumnya:
1. Pendaftaran akun: Sebenarnya tidak ada proses pendaftaran akun, dan tidak ada sistem nama pengguna-kata sandi. Akun (alamat) tidak perlu didaftarkan, mereka ada secara alami, dan siapa pun yang memiliki kunci pribadi mengontrol akun tersebut. Kunci pribadi dibuat secara acak secara lokal oleh dompet dan tidak melibatkan proses jaringan.
2. Login pengguna: Penggunaan blockchain tidak memerlukan login. Kebanyakan dApps tidak memiliki proses login, tetapi terhubung ke dompet. Beberapa dApps akan mengharuskan pengguna untuk melakukan verifikasi tanda tangan setelah terhubung ke dompet untuk memastikan bahwa pengguna benar-benar memegang kunci pribadi, bukan hanya meneruskan alamat dompet ke front end.
**3. Otentikasi operasi: ** Pengguna langsung mengirimkan data yang ditandatangani ke node. Setelah verifikasi, node akan menyiarkan transaksi ke seluruh jaringan blockchain. Setelah memenuhi konsensus jaringan blockchain, operasi pengguna akan dikonfirmasi .
Perbedaan kedua mode tersebut disebabkan oleh simetri dan asimetri. Dalam arsitektur pengguna server, kedua belah pihak menyimpan rahasia yang sama. Dalam arsitektur pengguna blockchain, hanya pengguna yang memegang rahasianya.
Meskipun lapisan eksekusi SCP mungkin bukan blockchain, semua data perlu disinkronkan ke lapisan DA yang terlihat secara publik.** Oleh karena itu, metode login dan verifikasi operasi yang digunakan oleh SCP harus asimetris. **Tetapi karena kami tidak ingin pengguna menyimpan kunci pribadi, menggunakan dompet, dan tindakan rumit lainnya serta pengalaman buruk yang memengaruhi adopsi skala besar, ada juga permintaan yang kuat untuk aplikasi yang dibangun di SCP untuk menggunakan kata sandi ID tradisional atau OAuth otentikasi tiga pihak untuk login. Jadi bagaimana cara menggabungkan keduanya?
Karena sifat kriptografi asimetris yang asimetris dan bukti tanpa pengetahuan, Saya membayangkan dua kemungkinan solusi:
**Apa pun metode yang digunakan, biaya pengembangan dan komputasi lebih tinggi dibandingkan metode tradisional, namun hal ini juga merupakan harga yang harus dibayar untuk desentralisasi. **Tentu saja, jika pihak proyek tidak menganggap desentralisasi ekstrem diperlukan, atau terdapat tonggak pencapaian yang berbeda pada tahapan pembangunan yang berbeda, maka tidak masalah jika rancangan ini tidak ada, karena desentralisasi tidak hitam dan putih, namun ada wilayah abu-abu diantara.
Pribadi
Masalah transparansi yang disebutkan di atas tidak hanya mempengaruhi paradigma interaksi pengguna, tetapi juga mempengaruhi data pengguna. Data pengguna terekspos secara langsung. Meskipun tidak menjadi masalah di blockchain, hal ini tidak dapat diterima di beberapa aplikasi, sehingga pengembang juga dapat membangun sistem transaksi pribadi.
KORBAN
Bagaimana lapisan eksekutif mengenakan biaya adalah hal lain yang perlu diperhatikan. Sebab pengiriman data ke lapisan DA juga memerlukan biaya, termasuk operasional servernya sendiri. Tujuan inti pertama dari blockchain tradisional yang membebankan biaya bahan bakar kepada pengguna adalah untuk mencegah pengguna merusak jaringan transaksi dengan melakukan banyak transaksi berulang, dan yang kedua adalah untuk mengurutkan transaksi berdasarkan bahan bakar. Web2 tidak memiliki kekhawatiran serupa, jadi yang ada hanya konsep dasar seperti banjir dan DDoS.
**Lapisan eksekusi dapat menyesuaikan berbagai strategi pengisian daya, seperti terisi penuh atau terisi sebagian. **Lapisan eksekusi juga dapat memperoleh keuntungan dari perilaku lain seperti MEV (sangat matang dalam sequencer), aktivitas pasar, dll.
Resistensi Sensor
Lapisan eksekusi tidak tahan sensor dan secara teoritis dapat menolak transaksi pengguna tanpa batas. Di Rollup, resistensi sensor dapat dijamin dengan fungsi pengumpulan paksa dari kontrak L1, sedangkan rantai samping atau rantai publik adalah jaringan blockchain terdistribusi lengkap dan sulit untuk disensor.
**Saat ini tidak ada solusi yang jelas terhadap masalah penolakan sensor, yang merupakan masalah dalam paradigma SCP. **
Lapisan konsensus
Lapisan ini terdiri dari node-node yang longgar, node-node ini tidak secara aktif membentuk jaringan, jadi ini bukan lapisan konsensus dalam arti sebenarnya, tetapi hanya digunakan untuk mengkonfirmasi status lapisan eksekusi saat ini ke dunia luar (seperti pengguna).
Misalnya, jika Anda ragu dengan kesehatan node ini, Anda dapat mengunduh klien detektornya, yang akan menjalankan kode program yang sama dengan koordinator. **
Namun, hal ini mirip dengan Rollup, karena data dikirimkan dalam batch, status yang dikembalikan ke pengguna oleh lapisan eksekusi selalu lebih baru dibandingkan pada lapisan DA. Ini melibatkan masalah pra-konfirmasi:
**Lapisan eksekusi memberikan hasil akhir lunak yang telah dikonfirmasi sebelumnya kepada pengguna, **karena hasil tersebut belum dikirimkan ke lapisan DA;
**Lapisan konsensus memberi pengguna finalitas yang sulit. **Pengguna mungkin tidak terlalu peduli dengan hal ini, namun untuk aplikasi seperti jembatan lintas rantai, finalitas yang ketat harus diikuti. Misalnya, sistem penyetoran dan penarikan bursa tidak akan mempercayai data yang disiarkan secara off-chain oleh sequencer Rollup, dan harus menunggu hingga data diunggah ke Ethereum sebelum dikenali.
Selain digunakan untuk mengkonfirmasi hasil, lapisan konsensus juga berperan sangat penting, yaitu sebagai redundansi pencegahan bencana pada lapisan eksekusi. **Jika lapisan eksekusi melakukan pemogokan secara permanen dan melakukan kejahatan serius, secara teori, lapisan konsensus mana pun dapat mengambil alih pekerjaan lapisan eksekusi dan menerima permintaan pengguna. Jika situasi serius seperti ini terjadi, komunitas harus memilih node yang stabil dan andal sebagai server lapisan eksekusi.
Lapisan penyelesaian
Karena SCP bukan Rollup, ia tidak dapat mencapai penarikan tanpa kepercayaan yang tidak memerlukan intervensi manual dan sepenuhnya didasarkan pada kriptografi dan kode kontrak pintar seperti lapisan penyelesaian penarikan Rollup. **Tingkat keamanan jembatan lintas rantai SCP sama dengan jembatan rantai samping atau jembatan rantai saksi pihak ketiga. **Ini perlu bergantung pada pengelola multi-tanda tangan resmi untuk melepaskan aset. Kami menyebutnya mode saksi .
Menjadikan jembatan saksi sedesentralisasi mungkin adalah topik dari banyak studi jembatan lintas rantai. Karena keterbatasan tempat, kami tidak akan membahas detailnya di sini. Platform SCP yang dirancang dengan baik juga harus memiliki mitra multi-tanda tangan yang memiliki reputasi baik dalam praktiknya.
**Seseorang mungkin bertanya mengapa SCP tidak menggunakan rantai dengan kontrak pintar sebagai lapisan DA? **Hal ini memungkinkan lapisan penyelesaian berbasis kontrak yang sepenuhnya tidak dapat dipercaya.
Dalam jangka panjang, selama beberapa kesulitan teknis dapat diatasi, jika lapisan DA ditempatkan pada lapisan DA dengan kontrak seperti Ethereum, dan kontrak verifikasi yang sesuai dapat dibuat, SCP juga dapat memperoleh keamanan penyelesaian yang sama seperti Rollup. Tidak perlu menggunakan banyak tanda tangan.
Namun dalam praktiknya, ini mungkin bukan pilihan terbaik:
2.** Hal ini membuktikan bahwa sistem sangat sulit untuk dikembangkan, karena SCP tidak hanya dapat mensimulasikan EVM, tetapi juga mengimplementasikan logika apa pun. **Dan ketika kita melihat tim seperti Optimism, yang bukti penipuannya masih belum online, dan betapa sulitnya mengembangkan zkEVM, kita dapat membayangkan bahwa sangat sulit untuk menerapkan bukti berbagai sistem pada Ethereum.
Oleh karena itu, **Rollup adalah solusi yang memiliki kelayakan praktis yang lebih baik hanya dalam keadaan tertentu.**Jika Anda berencana untuk menerapkan solusi yang lebih luas dan terbuka, singkirkan sistem EVM dan integrasikan lebih banyak fitur Web2, maka Ethernet Idenya Fang Rollup tidak cocok.
**SCP bukanlah rencana perluasan rantai publik tertentu, tetapi arsitektur platform komputasi Web3 yang lebih besar, jadi jelas tidak perlu mengikuti ide Ethereum Layer 2. **
Gambar yang membandingkan SCP dan paradigma lain