Menyelami Arsitektur Abstraksi Akun SSP

·7 mnt baca·Oleh SSP Editorial Team
Diagram abstraksi akun SSP: kunci 1 di ekstensi dan kunci 2 di seluler bergabung menjadi satu tanda tangan Schnorr yang dikirim lewat bundler ke EntryPoint

Menyelami Arsitektur Abstraksi Akun SSP

SSP adalah dompet swakelola yang dibangun di sekitar multisig 2-dari-2. Satu kunci berada di ekstensi peramban SSP Wallet, kunci kedua berada di aplikasi seluler SSP Key, dan tidak ada transaksi yang diselesaikan kecuali kedua perangkat menyetujuinya. Di rantai EVM, SSP memenuhi jaminan itu dengan account abstraction ERC-4337: dompet adalah sebuah smart account yang logika validasinya menerima satu tanda tangan Schnorr teragregasi yang dibangun dari kedua kunci. Artikel ini menelusuri arsitektur tersebut dari ujung ke ujung — setiap komponen, alur penandatanganan yang tepat, dan sifat keamanan yang dihasilkannya.

Jika account abstraction masih baru bagi Anda, mulailah dengan Abstraksi akun dari prinsip pertama dan penjelasan terfokus tentang ERC-4337. Di sini kami mengasumsikan Anda kira-kira tahu apa itu smart account dan UserOperation, dan kami berfokus pada bagaimana SSP merangkai keduanya.

Bagian-bagian yang menjadi sandaran SSP

Sebelum menelusuri alurnya, ada baiknya menamai komponen-komponennya dan apa yang dilakukan masing-masing:

  • Smart account. Di rantai EVM, dompet SSP Anda bukan EOA yang dikendalikan oleh satu kunci. Ia adalah smart account ERC-4337 — sebuah kontrak yang menyimpan dana Anda dan memuat logika validasinya sendiri. Logika itulah jantung rancangannya: ia menerima sebuah transaksi hanya ketika tanda tangan yang diberikan cocok dengan kunci teragregasi yang diharapkan dompet.
  • Dua perangkat. Kunci 1 berada di ekstensi peramban SSP Wallet. Kunci 2 berada di aplikasi seluler SSP Key. Setiap perangkat menyimpan satu bagian dan menghasilkan satu tanda tangan parsial. Tidak ada bagian yang dapat mengotorisasi apa pun sendirian.
  • UserOperation. Alih-alih transaksi biasa, ekstensi mengungkapkan niat Anda sebagai sebuah UserOperation — objek terstruktur yang menggambarkan apa yang harus dilakukan account dan tanda tangan yang mengotorisasinya.
  • Bundler. Sebuah bundler mengambil UserOperation dari mempool khusus, mengemasnya menjadi transaksi on-chain yang nyata, dan membayar gas lapisan dasar untuk mengirimkannya.
  • EntryPoint. Satu kontrak EntryPoint yang telah diaudit adalah pintu masuk on-chain bagi setiap operasi ERC-4337. Ia memanggil smart account Anda untuk menjalankan logika validasi account tersebut, lalu memicu eksekusi jika validasi lolos.

Sebuah paymaster secara opsional dapat menanggung gas untuk sebuah UserOperation; itu topik tersendiri, dibahas dalam Sponsorship gas dan paymaster dijelaskan.

Alur penandatanganan yang tepat

Inilah yang terjadi, langkah demi langkah, ketika Anda mengirim transaksi dari SSP di rantai EVM:

  SSP Wallet extension (key 1)          SSP Key mobile app (key 2)
        |                                     |
        | 1. initiate tx                      |
        | 2. build UserOperation              |
        | 3. partial Schnorr sig  --- push -->| 4. approve
        |                                     | 5. partial Schnorr sig
        |                                     |
        |        6. aggregate (MuSig2 / secp256k1)
        |                v
        |        ONE Schnorr signature
        |                |
        v                v
  7. UserOperation --> 8. bundler --> 9. EntryPoint --> smart account
                                                  |
                                          validate aggregate sig
                                                  |
                                         valid? --> execute call

Dibaca sebagai prosa:

  1. Anda memulai sebuah transaksi di ekstensi peramban SSP Wallet, yang menyimpan kunci 1.
  2. Ekstensi membangun sebuah UserOperation ERC-4337 yang menggambarkan tindakannya.
  3. Kunci 1 menghasilkan tanda tangan Schnorr parsial atas operasi itu.
  4. Permintaan didorong ke aplikasi seluler SSP Key (kunci 2) untuk disetujui.
  5. Kunci 2 menghasilkan tanda tangan parsialnya sendiri.
  6. Kedua parsial itu diagregasi, bergaya MuSig2 di atas secp256k1, menjadi satu tanda tangan Schnorr.
  7. UserOperation, yang kini membawa satu tanda tangan teragregasi itu, siap dikirim.
  8. Ia menuju sebuah bundler, yang mengemasnya menjadi transaksi dan membayar gas.
  9. Bundler mengirimkannya ke kontrak EntryPoint, yang memanggil smart account SSP. Account memvalidasi satu tanda tangan teragregasi itu terhadap kunci teragregasi yang diharapkan dompet dan, jika valid, mengeksekusi panggilan.

Kedua perangkat dibutuhkan untuk mencapai langkah 6, dan itulah yang menjadikannya 2-dari-2 yang sejati. Hilangkan salah satu tanda tangan parsial dan agregasi tidak akan dapat menghasilkan tanda tangan yang akan diterima kontrak.

Mengapa rantai hanya melihat satu tanda tangan

Detail yang membuat rancangan SSP elegan adalah agregasi pada langkah 6. Ekstensi dan ponsel tidak masing-masing menempelkan tanda tangan terpisah pada operasi. Kedua tanda tangan Schnorr parsial mereka bergabung — bergaya MuSig2, di atas kurva secp256k1 yang sama yang sudah digunakan Ethereum — menjadi satu tanda tangan Schnorr. Smart account memeriksa satu tanda tangan itu terhadap satu kunci teragregasi yang diharapkan.

Hal ini memiliki dua konsekuensi yang layak dicermati:

  • Jejak on-chain tetap kecil. UserOperation membawa satu tanda tangan, bukan dua. Tidak ada daftar penanda tangan untuk disimpan atau ditelusuri, dan tidak ada loop verifikasi per penanda tangan. Kontrak melakukan jumlah kerja validasi yang sama seperti yang akan dilakukannya untuk satu penanda tangan tunggal.
  • Rantai tidak dapat mengetahui bahwa ini multisig. Yang tiba di EntryPoint tampak seperti operasi bertanda tangan biasa. Penegakan 2-dari-2 terletak pada bagaimana tanda tangan itu dihasilkan — melintasi dua perangkat — bukan pada suatu struktur multipihak yang terlihat di rantai. Bagi pengamat luar, dompet berperilaku seperti smart account lain mana pun.

Itulah perbedaan antara pendekatan SSP dan multisig naif yang memposting N tanda tangan terpisah dan memverifikasi masing-masing. Mekanika melakukan multisig dengan cara ini di EVM digali lebih dalam dalam Multisig EVM ala abstraksi akun.

Apa yang sebenarnya dilindungi setiap perangkat

Layak untuk tepat soal sifat keamanan ini, karena itulah seluruh maksud dari arsitekturnya.

  • Tidak ada kunci yang sendirian dapat memindahkan dana. Kunci 1 di ekstensi dapat membangun sebuah UserOperation dan menandatangani separuhnya, tetapi separuh tanda tangan teragregasi menjadi sesuatu yang tidak akan diterima kontrak. Kunci 2 di ponsel dapat menyetujui dan menandatangani separuhnya, tetapi tidak dapat memulai maupun menyelesaikan transfer sendirian.
  • Mengompromikan satu perangkat saja tidak cukup. Penyerang yang sepenuhnya menguasai ekstensi peramban Anda tetap tidak dapat membelanjakan dana, karena ia tidak dapat menghasilkan tanda tangan parsial kunci 2 tanpa ponsel. Sebaliknya juga berlaku. Model ancaman yang tidak dapat ditahan oleh EOA kunci tunggal — satu kunci bocor, kehilangan total — tidak berlaku di sini.
  • Persetujuan bersifat eksplisit dan di layar kedua. Karena langkah 4 mendorong permintaan ke aplikasi SSP Key, Anda melihat dan menyetujui operasi pada perangkat yang terpisah secara fisik sebelum ia dapat diagregasi dan dikirim.

Ini adalah sifat 2-dari-2 yang sama seperti yang dijelaskan dalam Apa itu multisig 2-dari-2?, diwujudkan di rantai EVM melalui abstraksi akun alih-alih opcode multisig native.

Manfaatnya, secara ringkas

Menyatukan benang-benangnya, arsitektur ini memberi pengguna SSP suatu kombinasi spesifik yang sulit diperoleh dengan cara lain:

  • Keamanan multisig di setiap rantai EVM yang didukung. Rancangan 2-dari-2 yang sama berjalan di Ethereum, Polygon, Base, BNB Smart Chain, dan Avalanche, karena ERC-4337 adalah standar di tingkat kontrak, bukan fitur khusus suatu rantai.
  • Jejak on-chain yang kecil. Satu tanda tangan teragregasi berarti smart account memvalidasi seperti satu penanda tangan tunggal, menjaga verifikasi tetap ramping.
  • UX seperti penanda tangan tunggal. Dari sisi Anda, rasanya seperti menyetujui transaksi pada dua perangkat, bukan menyusun sebuah komite. Tidak ada alamat penanda tangan bersama untuk dikelola dan tidak ada kontrak multisig terpisah yang harus dikonfigurasi per transfer.
  • Tidak diperlukan perubahan protokol. Karena semuanya berjalan di atas ERC-4337, SSP memperoleh semua ini tanpa menunggu abstraksi akun di lapisan dasar dirilis.

Catatan tentang audit

Sebuah arsitektur keamanan hanya sepercaya tinjauannya. Smart contracts SSP diaudit oleh Halborn pada 2025. Audit eksternal tidak membuat sistem apa pun sempurna, tetapi ia merupakan sinyal kepercayaan yang berarti bagi logika kontrak yang menegakkan aturan 2-dari-2 yang dijelaskan di atas.

Ke mana selanjutnya

Artikel ini menelusuri abstraksi akun SSP dari ujung ke ujung. Untuk mendalami standar dan konsep di sekitarnya:

Untuk spesifikasi formal, lihat EIP-4337; untuk upaya yang lebih luas, peta jalan abstraksi akun Ethereum melacak ke mana arahnya. Intinya: SSP mengubah janji abstrak tentang sebuah account yang dapat diprogram menjadi dompet 2-dari-2 yang konkret, tempat dua perangkat menghasilkan satu tanda tangan dan rantai sekadar melihat satu operasi yang valid.

Bagikan artikel ini

Artikel terkait