Skip to content
Semua panduan opsyen
Akaun pintar Ethereum12 minit bacaan

Akaun Pintar Ethereum: UserOperation, Bundler dan Tajaan Gas

Ikuti UserOperation ERC-4337 melalui bundler dan EntryPoint, fahami tajaan gas paymaster, serta bezakan pemulihan akaun dengan jagaan kunci.

Dalam panduan iniAkaun pintar meletakkan peraturan kebenaran boleh atur cara dalam kontrak

Ringkasan ringkas

ERC-4337 membolehkan akaun kontrak menghantar UserOperation mengikut peraturannya melalui laluan berasingan daripada transaksi EOA. Bundler memanggil EntryPoint; paymaster boleh menaja gas. Pemulihan, transaksi percuma dan tanpa jagaan tidak dijamin.

Akaun pintar meletakkan peraturan kebenaran boleh atur cara dalam kontrak

Akaun milik luaran (EOA) membuktikan kawalan melalui tandatangan kunci peribadi dan nonce menentukan susunan transaksinya. Model ini mudah, tetapi biasanya satu kunci yang sama meluluskan semua tindakan.

Satu transaksi EOA membawa satu tindakan peringkat atas; kontrak yang dipanggil masih boleh memanggil kontrak lain secara dalaman.

Panduan transaksi Ethereum tertangguh menerangkan laluan EOA yang berbeza daripada ERC-4337.

Akaun pintar ialah kontrak yang boleh menyimpan aset dan melaksanakan panggilan. Kod pengesahannya boleh meminta satu tandatangan, ambang beberapa tandatangan atau kebenaran yang tamat tempoh.

ERC-4337 menetapkan antara muka untuk mengesahkan dan melaksanakan operasi, bukan satu dompet atau dasar pemulihan.

Ethereum.org menyenaraikan kunci sandaran dan tajaan gas sebagai kemungkinan, bukan ciri yang ada pada semua dompet.

Label “dompet pintar” sahaja tidak menunjukkan siapa yang mengawalnya. Semak kontrak yang memegang aset, kod dan EntryPoint yang dipercayai akaun, serta penandatangan yang boleh meluluskan panggilan.

Jika logik akaun boleh dinaik taraf, kuasa pentadbir dan proses perubahan turut mempengaruhi kawalan aset.

UserOperation belum menjadi transaksi Ethereum yang dimasukkan ke blok

UserOperation menerangkan tindakan yang mahu dilakukan akaun pintar. Biasanya ia mengandungi alamat akaun pengirim, nonce akaun, data panggilan, tandatangan, had gas dan syarat fi.

Maklumat factory untuk mencipta akaun atau maklumat paymaster untuk tajaan juga boleh disertakan. Medan tepat berbeza mengikut versi EntryPoint.

Daripada menghantarnya terus ke rantaian dengan eth_sendTransaction, dompet menyerahkannya kepada bundler atau relay yang menyediakan RPC ERC-4337 seperti eth_sendUserOperation.

Permintaan itu melalui pool UserOperation yang berasingan daripada pool transaksi EOA. Hash UserOperation mengenal pasti permintaan; transaksi dalam rantaian yang dibuat oleh bundler mempunyai hash dan resit sendiri.

ERC-7769 menetapkan RPC untuk penghantaran dan semakan hasil. Jawapan bundler mungkin bermakna permintaan melepasi semakan perkhidmatan itu dan masuk ke poolnya.

Ia tidak membuktikan bahawa blok memasukkannya atau tindakan aplikasi berjaya.

Penyebaran kepada bundler lain bergantung pada infrastruktur dan dasarnya. Bezakan pengakuan penyedia daripada hasil dalam rantaian.

Bundler mensimulasikan pengesahan dan menyediakan panggilan dalam rantaian

Bundler menerima operasi, menyemak keserasian dengan versi EntryPoint, kemudian mensimulasikan logik pengesahan akaun dan paymaster. Ia memeriksa tandatangan, kepercayaan terhadap EntryPoint, nonce, gas dan syarat tajaan.

Operasi yang melanggar peraturan atau gagal simulasi boleh ditolak. Panduan bundler ERC-4337 menerangkan simulasi dan penghantaran kelompok.

Seterusnya bundler memilih satu atau lebih operasi yang lulus lalu mencipta transaksi Ethereum biasa untuk memanggil handleOps pada EntryPoint. Kemasukan transaksi itu ke dalam blok masih bergantung pada penghasilan blok dan keadaan rangkaian.

Hash UserOperation yang dikembalikan bukan bukti pelaksanaan pada rantaian kanonik. Pool UserOperation berasingan daripada pool EOA; tidak semua penyedia semestinya menerima permintaan yang sama.

Bundler boleh menolak atau membiarkan operasi menunggu, manakala rangkaian, versi EntryPoint dan dasar yang disokong berbeza-beza. Untuk menyemak status, bezakan paparan dompet, resit operasi dan resit dalam rantaian bagi transaksi kelompok.

Rajah tanpa perkataan menunjukkan operasi bertandatangan melalui bundler dan EntryPoint ke akaun pintar; penaja pilihan membayar gas
ERC-4337 memisahkan permintaan bertandatangan, penghantaran bundler, pengesahan akaun dan tajaan gas pilihan

EntryPoint menyemak kebenaran akaun lalu memanggilnya

EntryPoint menerima handleOps daripada bundler lalu memanggil fungsi pengesahan setiap akaun. Akaun menyemak bahawa panggilan datang melalui EntryPoint yang dipercayai, serta mengesahkan tandatangan dan peraturan kebenarannya sendiri.

Nonce ERC-4337 terdiri daripada key 192-bit dan sequence 64-bit. EntryPoint mengesahkan dan menaikkan sequence bagi setiap pasangan akaun-key; akaun boleh menetapkan makna khusus pada key atau menambah semakan.

Panduan EntryPoint ERC-4337 menerangkan langkah pengesahan dan pelaksanaan. Paymaster pilihan turut menyemak sama ada ia akan menaja operasi.

Selepas pengesahan berjaya, EntryPoint memanggil fungsi pelaksanaan akaun untuk menjalankan tindakan dalam callData dan menyelesaikan kos.

EntryPoint ialah kontrak bersama yang membolehkan aliran akaun pintar tanpa perubahan protokol bagi setiap reka bentuk dompet. Semak alamat, versi dan rangkaian yang digunakan. Simulasi ialah pratonton berguna, bukannya janji kemasukan.

Semasa menunggu, keadaan rantaian, fi, tempoh sah atau kontrak luaran boleh berubah. Walaupun pengesahan lulus, panggilan aplikasi boleh gagal atau dibatalkan. Kemasukan ke blok sahaja tidak membuktikan pindahan atau tindakan yang dimaksudkan berjaya.

Paymaster menaja gas hanya jika meluluskan operasi

Jika UserOperation mengandungi maklumat paymaster, EntryPoint bertanya sama ada kontrak itu mahu menajanya. Aplikasi boleh menanggung fi atau membolehkan pengguna memulakan tindakan tanpa ETH dalam akaun.

Sesetengah reka bentuk membenarkan bayaran token atau syarat kelayakan lain; hal ini bergantung pada dompet dan paymaster. Tajaan tidak menghapuskan kos.

Paymaster boleh mengehadkan aplikasi, pengguna, bilangan operasi atau jumlah, memeriksa permintaan dan menolaknya. Depositnya pada EntryPoint membayar kos operasi.

Jika stake berasingan diperlukan, stake itu cagaran mengikut peraturan pengesahan dan bukan deposit gas yang sama.

Panduan paymaster ERC-4337 dan EIP-4337 menerangkan pengesahan dan penyelesaian. Paparan fi sifar dalam aplikasi tidak bermaksud tiada kos.

Penaja mungkin membayar dahulu dan mendapatkan nilai semula melalui langganan, token atau syarat perkhidmatan. Semak pihak yang akhirnya menanggung kos, had tajaan dan sama ada operasi gagal masih boleh menggunakan gas.

Nilai panggilan berganda dan fi secara berasingan

Jika disokong dompet, satu UserOperation boleh mengandungi kelulusan aplikasi dan swap. Kedua-duanya dihantar sebagai satu operasi melalui EntryPoint.

Ini berbeza daripada satu transaksi EOA biasa dan daripada bundler yang menggabungkan beberapa UserOperation berlainan dalam satu transaksi rantaian. Semak pratonton dompet. Contoh hipotesis: kos gas sebenar bagi operasi tajaan yang diluluskan ialah 0.0012 ETH.

Kos itu mungkin diselesaikan daripada deposit paymaster pada EntryPoint, bukan baki pengguna. Angka ini hanya untuk ilustrasi, bukan sebut harga semasa. Kos sebenar bergantung pada gas digunakan, syarat fi dan rangkaian.

Pengelompokan tidak sentiasa lebih murah atau selamat. Keatomikan beberapa panggilan bergantung pada cara akaun pintar mengendalikan kegagalan.

Semak sama ada satu panggilan gagal membatalkan seluruh kelompok, tindakan lain boleh kekal, dan pihak yang membayar gas. Anggaran salah boleh menyebabkan operasi ditolak atau gagal.

Panduan fi gas Ethereum menerangkan medan fi.

Pelaksanaan akaun menentukan pemulihan, bukan ERC-4337

Akaun boleh mempunyai penandatangan sandaran atau proses apabila penjaga dipercayai mencapai ambang untuk menggantikan kunci. Sesetengah reka bentuk memberi tempoh menunggu supaya kunci sedia ada boleh membantah.

Namun, jika satu tandatangan sentiasa diperlukan, kehilangan kunci itu boleh menghalang pemulihan. ERC-4337 membenarkan peraturan akaun sendiri tetapi tidak memberi semua akaun kunci sandaran atau pemulihan sosial secara lalai.

Terlalu sedikit penjaga atau peraturan penggantian kunci yang lemah boleh membuka laluan serangan. Terlalu ramai penjaga atau syarat berat boleh melambatkan pemilik sah. Semak ambang, tempoh menunggu, hak pembatalan dan tempat kunci pemulihan disimpan.

Peraturan itu juga menentukan pihak yang boleh menyekat operasi. Dompet kontrak tidak secara automatik bersifat jagaan atau tanpa jagaan.

Kawalan bergantung pada pemegang kunci tandatangan, kuasa pentadbir atau naik taraf, dan perkara yang boleh diluluskan oleh penandatangan terhos atau perkhidmatan pemulihan.

Semak kontrak pemegang aset secara berasingan daripada kunci dan perkhidmatan yang mengawalnya. Panduan pemulihan frasa benih membincangkan jenis pemulihan lain.

Semak operasi dan laluan kawalan sebelum menghantar

Dalam pratonton dompet, semak rangkaian, alamat akaun, kontrak sasaran, data panggilan, skop kelulusan token dan bilangan panggilan. Tandatangan mungkin membenarkan lebih daripada tindakan yang diserlahkan antara muka.

Jika data tandatangan tidak difahami, rujuk dokumentasi rasmi aplikasi dan dompet. Untuk memahami tajaan, baca syarat kelayakan, had penggunaan, pilihan bayaran lain dan peraturan kos apabila gagal; jangan bergantung pada nama paymaster sahaja.

Label tajaan aktif tidak bermaksud aplikasi sentiasa percuma, dan paymaster masih boleh menolak operasi. Kesesakan rangkaian dan kelewatan blok ialah perkara berasingan.

Jika UserOperation mengambil masa lama, jangan terus guna aliran “percepat” atau “batalkan” untuk transaksi EOA. Cari hash operasi dan resitnya dahulu. Jika hash transaksi bundler tersedia, semak resit blok dan hasil pelaksanaan juga.

Resit RPC boleh membezakan kos dan kejayaan satu operasi daripada resit keseluruhan kelompok.

Soalan lazim

Q1Adakah UserOperation sama seperti transaksi Ethereum?

Tidak. Ia permintaan akaun pintar melalui pool berasingan. Apabila bundler menghantar panggilan EntryPoint, rantaian merekod transaksi kelompok dan hasil setiap operasi.

Q2Jika ada paymaster, adakah pengguna tidak membayar gas?

Pengguna mungkin tidak membayar ETH terus daripada akaun, tetapi kos rangkaian tetap wujud. Had, bayaran token atau syarat perkhidmatan boleh dikenakan; operasi gagal juga boleh menggunakan gas.

Q3Bolehkah dompet ERC-4337 dipulihkan selepas kehilangan kunci?

Hanya jika akaun mempunyai penandatangan sandaran atau dasar pemulihan. Semak ambang, tempoh menunggu, kuasa menukar kunci dan kawalan perkhidmatan pemulihan.

Sumber dan bacaan lanjut

Laporkan masalah

Kami akan menyediakan e-mel dengan pautan artikel ini. Mark menerima laporan hanya selepas anda menghantarnya

Semakan pantas

Sudah membaca panduan? Uji diri dengan 3 soalan

Soalan 1 / 3

Soalan 01

Bundler memulangkan hash UserOperation. Apakah yang dibuktikan oleh jawapan itu sahaja?

Pilih jawapan untuk melihat penjelasan

Glosari opsyen