< Kembali ke Berita

Ethereum bergabung dengan SSP — Schnorr multisig di ERC-4337

·4 mnt baca·Oleh SSP Editorial Team
Lencana RELEASE dengan ikon kunci, petir, perisai, dan CPU di atas judul Ethereum + Schnorr Multisig — Account Abstraction ERC-4337

Pada 18 Juli 2024, SSP Wallet v1.6.0 menambahkan Ethereum — dan SSP menjadi wallet pertama yang merilis akun Schnorr-multisig sejati di Ethereum menggunakan Account Abstraction ERC-4337. Wallet lain menyebut diri mereka "Ethereum multisig" dengan menumpuk satu akun kepemilikan eksternal di balik antarmuka. SSP memilih jalan yang lebih sulit, agar model 2-dari-2 yang sama yang menjaga Bitcoin di dalam SSP kini juga menjaga ETH.

TL;DR

  • Ethereum (ETH) bergabung dengan SSP sebagai rantai kelas satu.
  • Akun adalah kontrak pintar mengikuti ERC-4337, bukan EOA — sehingga penegakan 2-dari-2 hidup di rantai.
  • Dua tanda tangan Schnorr digabungkan menjadi satu sebelum sampai ke Ethereum, menjaga gas tetap dapat diprediksi.
  • Pustaka penandatanganan bersifat sumber terbuka di npm: @runonflux/aa-schnorr-multisig-sdk.
  • Dukungan token ERC-20 adalah langkah berikutnya; rilis ini menghadirkan ETH sendiri ditambah fondasi AA di bawahnya.

Apa yang mendarat: dukungan Ethereum, dengan cara yang sulit

Sebagian besar wallet "mendukung Ethereum" dengan menghasilkan akun kepemilikan eksternal (EOA) — satu kunci privat, satu tanda tangan, satu titik kegagalan. Menambahkan multisig di atasnya biasanya berarti kebijakan perangkat lunak di sisi wallet, bukan aturan yang ditegakkan di rantai. Rantai tetap melihat satu kunci, dan siapa pun yang memegangnya bisa memindahkan dana sendirian.

SSP menolak jalan pintas itu. Seluruh inti dari model 2-dari-2 SSP adalah bahwa baik SSP Wallet di desktop maupun SSP Key di ponsel tidak dapat memindahkan dana sendirian — penandatanganan bersama adalah sifat akun, bukan konvensi antarmuka. Untuk mempertahankannya di Ethereum, EOA tidak akan pernah cukup. Akun Ethereum harus menjadi kontrak pintar yang menuntut dua tanda tangan berdasarkan konstruksinya. Itulah persis yang dirilis di v1.6.0.

Apa arti Schnorr multisig di sini

Skrip UTXO Bitcoin dapat menyatakan 2-dari-2 secara native — itulah cara rantai SSP yang ada menegakkan penandatanganan bersama. Model akun Ethereum tidak bisa, tidak tanpa bantuan. SSP menutup celah itu dengan tanda tangan Schnorr.

Schnorr adalah skema tanda tangan dengan satu sifat yang penting di sini: dua penandatangan masing-masing dapat menghasilkan tanda tangan parsial, dan parsial itu dapat digabungkan menjadi satu tanda tangan tunggal yang sah dan terverifikasi di bawah satu kunci publik teragregasi. Bagi siapa pun yang membaca rantai, tampak seperti satu penandatangan menandatangani sekali. Bagi SSP, dua perangkat harus setuju. Kedalaman kriptografisnya — agregasi kunci, koordinasi nonce, ronde gaya MuSig2 — diuraikan dalam artikel akademi kami tentang tanda tangan Schnorr dan agregasi multisig jika kamu menginginkannya. Ringkasan sisi pengguna pendek: jabat tangan SSP Wallet + SSP Key yang sama yang sudah kamu pakai, kini diungkapkan sebagai satu tanda tangan Schnorr teragregasi di Ethereum.

Account Abstraction ERC-4337

Account Abstraction (AA) adalah istilah payung untuk membiarkan akun Ethereum berperilaku seperti wallet yang dapat diprogram alih-alih sekadar pasangan kunci. Dalam model standar Ethereum ada dua jenis akun: EOA, dikendalikan satu kunci privat, dan kontrak, yang tidak dapat memulai transaksi sendiri. AA membubarkan perbedaan itu pada lapisan aplikasi.

ERC-4337 adalah standar Ethereum yang menghadirkan AA tanpa mengubah Ethereum itu sendiri. Alih-alih hard fork, ia mendefinisikan objek transaksi tingkat lebih tinggi yang disebut UserOperation, sebuah bundler yang mengubahnya menjadi transaksi Ethereum biasa, dan kontrak EntryPoint yang memvalidasinya. "Akun" kamu adalah kontrak pintar yang memutuskan bagaimana ia ingin mengotentikasi pengeluaran — untuk SSP, aturan otentikasi itu adalah: tanda tangan Schnorr teragregasi dari SSP Wallet dan SSP Key, atau tidak sama sekali. Tanpa hard fork L1, tanpa operator simpul khusus, tanpa asumsi kepercayaan di luar yang sudah terpasang di mainnet.

Pustaka sumber terbuka

Lapisan penandatanganan Schnorr-multisig tidak terkubur di dalam aplikasi SSP. Kami mengekstraknya sebagai pustaka yang dapat dipakai ulang dan merilisnya dengan sikap sumber terbuka yang sama dengan sisa SSP. SDK TypeScript hidup di npm sebagai @runonflux/aa-schnorr-multisig-sdk; kontrak Solidity Account Abstraction yang berpasangan dengannya hidup di repositori @runonflux/account-abstraction di GitHub.

Jika kamu pengembang wallet, peneliti keamanan, atau sekadar ingin tahu bagaimana AA Schnorr-multisig benar-benar tersusun di Ethereum, kedua proyek itu ada di sana untuk dibaca, di-fork, dan dikontribusikan kembali. Pull request dan issue disambut baik — kami lebih suka mengeraskan satu pustaka bersama dengan lebih banyak mata daripada membiarkan setiap wallet yang menginginkan primitif ini menemukannya kembali.

Apa yang ini buka

Khusus untuk v1.6.0, rantai yang ditawarkan adalah Ethereum sendiri — saldo ETH, transfer ETH, sakelar panel Chains yang sama yang kamu gunakan untuk koin lain, kini dengan akun AA di belakangnya. Pipa yang dipasang rilis ini adalah bagian yang lebih sulit. Begitu akun Schnorr AA 2-dari-2 ada dan bekerja, setiap saldo berbentuk Ethereum menjadi terjangkau.

Dukungan token ERC-20 adalah langkah berikutnya yang alami, dan sudah ada di peta jalan — kami akan membahasnya di pos newsroom tersendiri saat rilis. Untuk hari ini, kepala beritanya adalah Ethereum sudah ada di SSP, ada di SSP dengan cara yang benar, dan fondasi kriptografis serta kontrak pintarnya di bawahnya bersumber terbuka di npm dan GitHub untuk diperiksa siapa pun.

Sumber: catatan rilis SSP Wallet v1.6.0.

Bagikan artikel ini

Artikel terkait