Ditulis oleh: Wuyue, geek web3
Editor: Faust
Sejak narasi AA menjadi populer di komunitas Ethereum pada tahun 2022, konsep abstraksi akun telah populer di komunitas Web3. Ini sebenarnya adalah konsep desain untuk sistem akun, yang bertujuan untuk menetapkan standar pada tingkat yang lebih tinggi dan meningkatkan fungsionalitas akun. Dalam blockchain arus utama seperti Ethereum, karena keterbatasan aturan tetap, fleksibilitas dan keserbagunaan sistem akun sangat buruk, misalnya:
Anda harus memiliki ETH dan Token Gas lainnya di akun Anda terlebih dahulu, jika tidak, Anda tidak dapat melakukan transaksi, yang jelas sangat tidak bersahabat dengan akun baru;
Rantai publik yang diwakili oleh sistem EVM hanya mendukung sistem akun tunggal, dan rantai publik lainnya atau pengguna Web2 perlu menggunakan alat dan pintu masuk akun baru.
Proposal EIP-4337 yang sebelumnya populer di komunitas Ethereum dianggap mampu menyelesaikan permasalahan di atas. Namun karena faktor-faktor seperti model teknisnya, bagasi sejarah, perkembangan ekologi, dan kognisi pengembang, maka EIP-4337 Rencana patch 4337 lebih seperti tambal sulam daripada menyelesaikan masalah secara mendasar, yang mencoba menambahkan opcode baru ke EVM, dianggap memiliki risiko keamanan sangat kontroversial.
Karena berbagai alasan, tim pendiri Ethereum tidak sepenuhnya mempertimbangkan sistem akun di awal peluncuran mainnet, meninggalkan banyak beban, seperti: akun EOA dan akun kontrak dipisahkan, tidak ada transaksi gas yang tidak didukung, dan beberapa akun tidak didukung. Beban sejarah ini telah menyebabkan hambatan nyata terhadap implementasi peta jalan AA Ethereum. Bahkan dapat dikatakan bahwa rencana AA Ethereum tidak memungkinkan sistem akunnya melampaui rantai publik baru, namun hanya menjembatani kesenjangan di antara keduanya. Jika rantai publik sepenuhnya mempertimbangkan desain akun saat pertama kali dirancang, maka tidak perlu mengambil jalan memutar seperti Ethereum.
Berbeda dengan rantai publik berbasis EVM, Nervos telah mempertimbangkan secara mendalam masalah sistem akun pada awal desainnya. Setelah melakukan penelitian, kami yakin bahwa sistem akun Nervos lebih condong ke lapisan bawah dan esensi AA-nya model akun dan dukungan untuk beberapa OmniLock, sebuah metode verifikasi, sangat konsisten dengan tujuan AA dari awal hingga akhir, dan tidak memiliki beban historis. Ini secara alami mendukung sistem akun rantai publik lainnya seperti BTC, ETH, dan bahkan Solana.
Selain itu, untuk BTCFi yang baru-baru ini populer, karena BTCFi sendiri memperkenalkan Defi dan skenario lain untuk aset Bitcoin asli, agar pemegang Bitcoin mendapatkan pengalaman produk yang lancar, diperlukan kompatibilitas dengan dompet Bitcoin arus utama dan fasilitas periferal lainnya solusi asli AA secara alami menyadari hal ini, menciptakan kondisi yang diperlukan untuk adopsi BTCFi dalam skala besar.
Di bawah ini kami akan menafsirkan sistem abstraksi akun Nervos dari berbagai perspektif seperti konsep desain, arsitektur sistem, aplikasi, dan ekologi.
Bitcoin UTXO dan Model Sel Nervos
Kebanyakan orang tahu bahwa struktur penyimpanan data rantai publik berdasarkan model UTXO tidak didasarkan pada sistem "saldo akun", tetapi mengadopsi bentuk yang unik. Secara khusus, UTXO dapat dicairkan atau dicetak seperti emas, dan dengan setiap transaksi, UTXO lama dihancurkan dan UTXO baru lahir. Selain itu, data UTXO tidak disimpan dalam alamat terpusat, tetapi tersebar dalam transaksi yang menghasilkan UTXO, dan hanya dapat ditemukan dengan membaca catatan blok-blok sebelumnya.
Bacaan yang disarankan: (Mendekati BTC: Pengetahuan latar belakang diperlukan untuk memahami BitVM (1))
Tidaklah berlebihan untuk mengatakan bahwa Bitcoin telah menciptakan paradigma penyimpanan yang berbeda dari sistem "informasi akun" pada platform Web2 tradisional, yang dapat memecahkan masalah ledakan negara, efisiensi pembacaan dan penulisan data yang rendah, dan kepemilikan yang kabur. Di bawah model UTXO, lokasi penyimpanan dan kepemilikan data aset orang yang berbeda sangat jelas, dan ramah terhadap paralelisme/konkurensi. Juga mudah untuk mendukung fungsi seperti penyewaan penyimpanan, dan dapat menghindari banyak jebakan pada akun tradisional sistem.
Sistem akun rantai publik Nervos sepenuhnya menyerap keunggulan Bitcoin UTXO sejak awal desainnya. Model Selnya sebenarnya adalah versi yang ditingkatkan dari Bitcoin UTXO, memberikan kemampuan program Turing yang lengkap. Selain itu, baik CKB maupun aset lainnya merupakan aset kelas satu dan tidak memperlakukan aset asli secara berbeda dari ERC-20 seperti rantai publik EVM.
Mekanisme operasi Sel CKB kira-kira sama dengan Bitcoin UTXO: keduanya digerakkan oleh "skrip pengunci" dan "skrip pembuka kunci". Ketika setiap UTXO/Sel dibuat, akan ada "skrip pengunci", seperti a kata sandi Kunci; dan "skrip buka kunci" adalah kunci yang sesuai, yang dapat membuka kunci "skrip kunci". Selama Anda dapat mengirimkan "kunci" yang sesuai dengan "gembok", UTXO yang terkait akan siap membantu Anda.
Namun tidak seperti Bitcoin UTXO, Cell menambahkan kolom "TypeScript" di atas skrip pengunci. Jika LockScript adalah pengautentikasi identitas yang menentukan apakah Anda memenuhi syarat untuk menulis ulang Sel ini, maka TypeScript adalah kontrak pintar yang dilampirkan ke Sel. Kode DEX dan protokol peminjaman dapat diterapkan di TypeScript.
Jika pengembang ingin menerapkan kumpulan likuiditas yang mirip dengan AMM di CKB, mereka hanya perlu menulis kode kontrak dalam TypeScript dari Sel khusus, dan kemudian menyimpan informasi status kumpulan likuiditas (seperti di kumpulan) di bidang Data Sel ini. Berbagai saldo aset), lalu pengguna dapat berinteraksi dengan kode di TypeScript.
Desain CKB ini memperluas skenario yang lebih kaya berdasarkan model Bitcoin UTXO dan jauh lebih dapat diprogram. Dan karena CKB sendiri menggunakan mesin virtual RISC-V, ia mendukung program yang ditulis dalam berbagai bahasa pemrograman dan dapat mendukung berbagai logika yang jauh lebih kuat. daripada Bitcoin.
Sedangkan untuk lock script Cell LockScript berhubungan langsung dengan topik inti kita hari ini yaitu AA. Karena salah satu fitur yang dianjurkan oleh AA adalah memungkinkan akun di rantai mendukung metode otentikasi yang fleksibel dan beragam. Untuk UTXO, untuk mencapai fungsi ini, perlu dikerjakan LockScript yang bertindak sebagai autentikator. Untuk tujuan ini, CKB meluncurkan skrip OmniLock yang secara khusus mendukung beberapa skema otentikasi.
Mari kita lihat desain spesifik OmniLock.
OmniLock dan Abstraksi Akun
Seperti yang kami sebutkan sebelumnya, izin penggunaan Sel CKB dan Bitcoin UTXO ditentukan oleh skrip kunci. LockScript akan menentukan siapa yang dapat menulis ulang Sel, yang berperan dalam verifikasi identitas. Untuk mendukung beberapa metode otentikasi, CKB menyediakan skrip kunci universal yang disebut OmniLock, yang kompatibel dengan beberapa algoritma tanda tangan dan mekanisme verifikasi.
OmniLock memodulasi logika verifikasi yang berbeda. Selama parameter yang berbeda ditetapkan, algoritma verifikasi yang berbeda dapat dikonfigurasi secara fleksibel. Pengguna dapat menggunakan akun, dompet/metode autentikasi seperti BTC, ETH atau bahkan WebAuthn untuk memanipulasi aset secara langsung di rantai CKB.
Jadi bagaimana OmniLock diimplementasikan dan digunakan? Sebenarnya, untuk menjelaskannya secara sederhana, OmniLock adalah sepotong kode yang diatur secara resmi oleh Nervos langsung di rantai CKB. Kode ini ditulis pada Sel tertentu dan dapat digunakan oleh Sel lain, seperti halnya "kontrak sistem". dalam rantai publik EVM. Jika Sel ingin menggunakan OmniLock, ia dapat mendeklarasikan referensi ke OmniLock dalam skrip pengunciannya sendiri.
Di bawah ini kita dapat memahami prinsip kerja skrip kunci dan OmniLock melalui sepotong kode semu.
Skrip penguncian CKB berisi tiga bidang: Hash kode, tipe hash, dan Args. Karena hash Kode dan tipe hash memiliki sedikit relevansi dengan konten bagian ini, maka keduanya tidak akan dijelaskan di sini. Di bawah ini kami fokus pada bidang Args. Dengan mengonfigurasi Args secara fleksibel, Anda dapat menggunakan algoritma verifikasi berbeda yang ditentukan di OmniLock.
Konten yang sesuai dengan bidang Args dapat dibagi menjadi dua bagian. Satu bagian adalah autentikasi, yang khusus digunakan untuk otentikasi. Panjangnya adalah 21 byte, termasuk pengidentifikasi bendera 1 byte dan 20 byte data otentikasi. Data autentikasi autentikasi berisi hash kunci publik yang telah ditetapkan sebelumnya. Hanya pemilik kunci publik yang sesuai dengan hash kunci publik yang dapat lolos verifikasi identitas dan memenuhi syarat untuk menulis ulang data di Sel.
Bendera di Auth adalah pengidentifikasi yang digunakan untuk memilih metode otentikasi yang berbeda. Metode otentikasi yang disebutkan di sini tidak hanya mengacu pada verifikasi tanda tangan kriptografi, tetapi juga mencakup pemrosesan informasi dan proses komprehensif lainnya: misalnya, ketika benderanya adalah 0x01, ini mewakili Otentikasi Ethereum metode untuk pesan eksternal. Selain Ethereum, OmniLock juga mendukung formulir verifikasi pesan kaya seperti Bitcoin, Dogecoin, Tron, dan multi-tanda tangan.
Bagian lain dari Args disebut Omnilock args. Ini seperti tombol yang memungkinkan Anda memilih di antara mode fungsi preset OmniLock, seperti mode administrator (seperti fungsi pembekuan administrator USDT), siapa pun untuk pembayaran mikro sumbangan kecil), mode kunci waktu, dll. Bagaimanapun, hanya dengan menyesuaikan argumen Omnilock, Anda dapat menggunakan berbagai fungsi yang telah ditulis sebelumnya di OmniLock.
Singkatnya, kita dapat memasukkan parameter yang berbeda di bidang argumen Auth dan Omnilock pada skrip Penguncian sel untuk memilih metode otentikasi untuk rantai publik atau platform yang berbeda, dan memperkenalkan berbagai metode otentikasi ke CKB. Tentu saja, selain beberapa metode autentikasi yang telah ditentukan sebelumnya di OmniLock, pengembang juga dapat menentukan skema autentikasi mereka sendiri.
Ekologi abstraksi akun Nervos: CCC, Mobit dan JoyID
Kita telah mengetahui di atas bahwa OmniLock adalah dasar bagi Nervos untuk mengimplementasikan abstraksi akun, dan dompet berbasis OmniLock seperti Mobit, .bit, Omiga, dan middleware CCC (Common Chains Connector) merupakan ekosistem abstraksi akun BTCFi yang kaya dari Nervos, selain Did .id, platform DID yang menyediakan perlindungan privasi dan layanan manajemen identitas yang aman, dan Dobby, platform perdagangan aset Dobs yang terdesentralisasi, dll.
Fitur-fitur bagus dari AA juga memberikan kenyamanan luar biasa pada aplikasi ekologi BTCFi, memungkinkan proyek-proyek di ekosistem CKB untuk secara langsung mendukung interaksi dompet BTC, sehingga menurunkan ambang batas penggunaan. Berikut ini, mari kita ambil kasus spesifik untuk mengkaji ekologi AA CKB.
Konektor Rantai Umum (CCC)
Pertama, mari kita ambil CCC sebagai contoh. Ini adalah middleware koneksi dompet yang secara khusus menyediakan dompet dan dApps dengan pengoperasian berbagai rantai publik di CKB.
Gambar di bawah adalah jendela koneksi CCC. Di sini kami mengambil MetaMask sebagai contoh. Jika Anda memiliki akun Ethereum, cara mengoperasikan akun terkait di rantai CKB.
Saat menggunakan CCC untuk melakukan transaksi di rantai CKB, demo akan memanggil metode personal_sign dompet MetaMask untuk menandatangani.
Terlihat informasi tersebut berisi rangkaian kode heksadesimal untuk transaksi CKB. Pesan yang ditandatangani oleh MetaMask akan dikirimkan ke rantai Nervos CKB dan diverifikasi melalui mekanisme seperti OmniLock.
Seperti yang kami sebutkan sebelumnya, Nervos sendiri mendukung verifikasi format pesan Ethereum. Dapat dikatakan bahwa CKB telah mempertimbangkan untuk terhubung dengan ekosistem rantai publik lainnya dari bawah ke atas. Bagi pengguna, Anda dapat memasuki ekosistem CKB melalui pintu masuk dan alat yang sudah ada dan familiar;
Untuk pengembang, Nervos telah mendefinisikan standar OmniLock di tingkat bawah dan mengabstraksi rincian implementasi dompet multi-rantai melalui CCC, yang sangat mengurangi kesulitan pengembangan dan memungkinkan pengembang aplikasi lapisan atas untuk lebih fokus pada pengembangan lapisan atas. logika bisnis. Jangan terlalu fokus pada detail tingkat rendah.
Mobit
Mobit adalah platform DID dan manajemen aset berdasarkan Nervos. Jika menggunakan metafora, Mobit seperti pintu bagi dunia luar untuk memasuki ekosistem Nervors, dan ambang pintu ini sangat rendah. Dengan Mobit, pengguna hampir tidak memerlukan pengetahuan sebelumnya dan hanya memerlukan beberapa operasi sederhana untuk menyelesaikan interaksi di ekosistem Nervos menggunakan akun dari rantai publik lainnya.
Gambar di bawah adalah jendela koneksi Mobit. Dapat dilihat bahwa Mobit saat ini mendukung sistem akun dari berbagai rantai publik arus utama, dan daftar ini terus bertambah.
Masih mengambil dompet Metamask sebagai contoh. Antarmuka yang terhubung juga dapat melihat alamat EVM dan CKB pengguna, dan menampilkan aset Token dan DOB yang disimpan oleh alamat tersebut pada rantai CKB.
Mari kita bahas tentang DOB di sini, yang unik untuk ekosistem Nervos dan mirip dengan aset NFT, tetapi DOB pada dasarnya berbeda dari NFT. Pertama-tama, data DOB disimpan sepenuhnya di rantai dan dapat dianggap sebagai "NFT rantai penuh", sedangkan data dari banyak NFT Ethereum tidak sepenuhnya disimpan di rantai;
Selain itu, setiap DOB dapat diatur dengan Chatbot, yang dapat menjalankan skenario interaktif seperti dialog dengan pemegangnya. Dengan jalur pengembangan yang berbeda dari pemegang yang berbeda, setiap DOB akan memiliki manfaat yang lebih signifikan dibandingkan dengan perbedaan individu NFT tradisional.
Sedangkan untuk Omiga, yang merupakan platform perdagangan DOB di ekosistem Nervos, pengguna dapat langsung mengaksesnya di antarmuka Aplikasi Mobit dengan satu klik.
Omiga juga memanfaatkan kemampuan abstraksi akun Nervos.
Pengoperasian Mobit yang sederhana dan fungsi yang komprehensif akan memfasilitasi interaksi BTCFi. Inti dari produk BTCFi adalah untuk memberikan pengalaman Defi yang beragam untuk aset Bitcoin asli. Apakah produk tersebut kompatibel dengan dompet Bitcoin arus utama akan menjadi faktor penting untuk dipertimbangkan untuk fasilitas periferal BTCFi, dan CKB saat ini sudah siap.
Adopsi WebAuthn
WebAuthn adalah standar jaringan yang dikembangkan bersama oleh World Wide Web Consortium (W3C) dan FIDO (Fast IDentity Online) Alliance. Tujuannya adalah untuk meningkatkan keamanan otentikasi pengguna, menyederhanakan proses login, dan mengurangi ketergantungan pada kata sandi tradisional atau pribadi kunci.
Perangkat lunak manajemen kunci yang dibangun di beberapa sistem operasi desktop atau seluler umum seperti iOS dan Android dapat menggunakan modul keamanan lokal atau penyimpanan cloud untuk menyimpan kunci dan melakukan tanda tangan. Saat ini, praktik utama WebAuthn umumnya mendukung P-256, P-384, P-521, dll. Karena OmniLock Nervos mendukung primitif kriptografi khusus, hal ini juga dapat tercakup.
Berikut beberapa klien yang didukung oleh WebAuthn:
Gantungan Kunci Apple:
Enklave Keamanan: Perangkat Apple menggunakan Enklave Aman untuk menangani operasi kriptografi penting, termasuk penyimpanan dan penandatanganan kunci pribadi.
iOS dan macOS: Sistem Apple dapat menggunakan API Rantai Kunci untuk operasi autentikasi dan penandatanganan, serta autentikasi pengguna melalui Face ID atau Touch ID.
Jendela Halo:
TPM (Modul Platform Tepercaya): Perangkat Windows dapat memanfaatkan TPM untuk pembuatan kunci pribadi dan penandatanganan melalui Windows Hello.
Otentikasi biometrik: Windows Hello mendukung pengenalan sidik jari dan pengenalan wajah untuk memverifikasi identitas pengguna.
Android Keystore: Perangkat Android dapat memanfaatkan modul keamanan perangkat keras untuk penyimpanan dan penandatanganan kunci, serta autentikasi melalui biometrik seperti sidik jari atau pengenalan wajah.
Kunci Keamanan Ubisoft: Perangkat keras kunci keamanan, seperti YubiKey, mendukung operasi otentikasi dan penandatanganan yang aman melalui USB atau NFC.
Dompet ekologi CKB JoyID adalah aplikasi yang diimplementasikan menggunakan teknologi WebAuthn. Dengan JoyID, pengguna dapat melakukan autentikasi secara langsung melalui biometrik seperti sidik jari atau pengenalan wajah, memungkinkan login dan manajemen identitas yang lancar dan sangat aman.
.bit di ekosistem Nervos juga merupakan skenario di mana implementasi WebAuthn Apple digunakan untuk masuk dan menggunakan blockchain.
Dari kasus di atas, kita dapat melihat bahwa solusi AA CKB secara inheren mendukung jaringan publik dan pengguna Web2 lainnya. Bagi sebagian besar pengguna Web2, mendukung WebAuthn sangat penting. Ini menghilangkan beban manajemen kunci pribadi dan frase mnemonik dan sangat menurunkan ambang batas penggunaan. Semakin dini ekosistem rantai publik melakukan upaya ke arah ini, semakin banyak keuntungan yang didapat di masa depan.
Meringkaskan
Ethereum dibatasi oleh masalah bagasi historisnya, dan solusi AA yang ada pada dasarnya mengatasi gejalanya tetapi bukan akar masalahnya, dan tidak dapat menyelesaikan masalah pada akarnya, sementara Nervos sepenuhnya mempertimbangkan desain sistem akun saat meluncurkan mainnet dan menyediakannya Fungsi OmniLock. Segala bentuk metode otentikasi dapat didukung.
Model Sel Nervos pada dasarnya adalah perluasan fungsional dari Bitcoin UTXO. Skrip pengunciannya dapat mendukung berbagai algoritma verifikasi tanda tangan. OmniLock mendukung Sel apa pun untuk dipanggil langsung dalam skrip penguncian dengan cara yang mirip dengan kontrak sistem, menyediakan platform baru untuk pengembang. Memberikan pengalaman tingkat Web2 kepada pengguna;
Saat ini ekosistem abstrak akun Nervos sudah memiliki produk seperti CCC, Mobit, dan Joyid yang pada dasarnya lengkap;
Inti dari BTCFi adalah untuk memberikan pengalaman Defi yang beragam untuk aset Bitcoin asli. Apakah kompatibel dengan dompet Bitcoin arus utama akan menjadi faktor penting untuk dipertimbangkan untuk fasilitas periferal BTCFi. Sebagai fasilitas penting dalam ekosistem BTCFi, CKB mengadopsi pendekatan inklusif Pendekatannya adalah menciptakan kondisi yang diperlukan untuk adopsi BTCFi secara massal di sisi pengembang dan pengguna sebanyak mungkin.