Pengalaman penggunaan yang lebih baik dan lebih aman
EIP-3074 memungkinkan EOA (Akun Milik Eksternal) untuk mentransfer kontrol ke kontrak tertentu, sehingga memperoleh kemampuan eksekusi kaya yang sama dengan kontrak. Sebelum EIP-3074, EOA hanya dapat melakukan satu operasi per transaksi, seperti menyetujui ERC20 atau bertukar di Uniswap. Setelah EIP-3074, EOA dapat melakukan beberapa operasi sekaligus, atau bahkan menyelesaikan tugas yang sebelumnya tak terbayangkan. Sederhananya, EIP-3074 sangat meningkatkan pengalaman pengguna, dan metode otorisasi token yang sudah dikenal akan dibentuk kembali, meningkatkan keamanan tanpa mengubah pengalaman pengguna.
Selain itu, melalui EIP-3074, EOA tidak lebih lama perlu mengirim transaksi ke rantai dengan sendirinya, menghilangkan kesulitan karena harus menaikkan ETH untuk membayar biaya transaksi.
Kontrak yang dapat memperoleh kendali EOA disebut kontrak Invoker. Tentu saja, tidak sembarang kontrak dapat mengendalikan EOA: EOA harus menandatangani dengan kunci pribadi, dan isi tanda tangan akan dengan jelas menentukan kontrak Invoker mana itu dan operasi apa yang diizinkan untuk dilakukan oleh Invoker.
Konten tanda tangan EOA akan dengan jelas menentukan kontrak Invoker (alamat invoker) mana dan mengotorisasi operasi kontrak Invoker tersebut (commit)
Proses eksekusi yang sebenarnya mungkin akan terlihat seperti ini:
Catatan 1: Relayer tidak diperlukan. Alice juga dapat membawa konten dan segel tanda tangannya sendiri ke rantai.
Setelah Invoker memverifikasi tanda tangan dan mulai menjalankan operasi, itu akan dieksekusi sebagai Alice EOA, yang seperti mendapatkan kontrol (terbatas) dari EOA.
Namun, perlu dicatat bahwa nilai nonce EOA tidak akan meningkat setelah eksekusi, sehingga tanda tangan yang sama dapat digunakan kembali (long karena nonce EOA tetap tidak berubah), sehingga Invoker perlu menerapkan mekanisme nonce sendiri untuk menghindari pemutaran ulang.
Jika kontrak Invoker tidak Replay-proof, otorisasi yang sama dapat dijalankan setiap saat.
Untuk pengenalan mekanisme operasi aktual EIP-3074, silakan merujuk ke: Pengantar EIP3074
Izinkan pengguna untuk menggabungkan eksekusi beberapa transaksi menjadi satu, menghemat proses beberapa tanda tangan resmi dan beberapa biaya Gas.
Catatan: Ini akan mengharuskan dApp untuk juga dukungan fungsi Batchcall, seperti EIP-5792, yang saat ini sedang didorong oleh komunitas. Jika tidak, dApp hanya akan meminta pengguna untuk masuk sekali untuk setiap operasi jika memperlakukan pengguna sebagai EOA normal.
Pengguna juga dapat mengizinkan pihak ketiga untuk bertindak atas nama mereka dalam kondisi tertentu. Kunci delegasi dalam diagram di bawah ini adalah pihak ketiga yang berwenang; kebijakan akses adalah pembatasan eksekusi, seperti membatasinya untuk hanya mengoperasikan Uniswap, mentransfer maksimum 1 ETH per hari, masa berlaku otorisasi, dll. Kondisi ini dirancang dan diperiksa dalam kontrak Invoker. long saat pemeriksaan dilewati, pihak ketiga dapat menjalankan operasi sebagai EOA pengguna.
Telegram Bot dapat diberikan izin khusus untuk melakukan operasi atas nama EOA pengguna
Karena long kondisi terpenuhi (yaitu, tanda tangan Izin adalah legal), transfer ETH dapat dilakukan sebagai EOA otorisasi, mencapai efek dari Izin ETH asli.
Pengguna mengisi batas pesanan kondisi, dan ketika kondisi terpenuhi, itu dapat dieksekusi sebagai EOA pengguna, termasuk menyetujui token untuk DEX, pergi ke DEX untuk penebusan, dll. Dibandingkan dengan Limit Order yang disediakan oleh DEX itu sendiri, pengguna tidak perlu mengirim transaksi ke DEX untuk persetujuan terlebih dahulu.
Ketika Alice menyelesaikan pesanan, dia akan mengeksekusi persetujuan pada saat yang sama, menghilangkan kebutuhan untuk persetujuan sebelumnya.
Jika kondisi dirancang untuk menjadi lebih umum, itu akan menjadi seperti kontrak Intent: long kondisi yang ditentukan oleh pengguna terpenuhi, siapa pun dapat mengeksekusi intent atas nama EOA mereka.
long kondisi Intent terpenuhi, siapa pun dapat memulai eksekusi atas nama EOA pengguna
Ketika pengguna kehilangan kunci pribadi EOA, dia (Alice) dapat menggunakan otorisasi EIP-3074 yang dia tandatangani, bersama dengan tanda tangan orang yang berwenang (Suami dan Agen Perwalian) untuk mentransfer semua aset EOA. Pada kenyataannya, apa yang dipulihkan adalah aset (yang dapat dipindahtangankan), bukan kontrol akun. Setelah kunci privat EOA hilang, EOA tidak dapat lebih lama digunakan.
Ketika pengguna kehilangan kunci privat EOA, orang lain yang berwenang dapat menandatangani dan mengotorisasi transfer aset EOA.
Meningkatkan metode otorisasi token, dan berpotensi menggantikan persetujuan/izin?
Saat ini, dApps dirancang dengan asumsi bahwa pengguna adalah EOA: pengguna harus "menyetujui sebelumnya" dan "menyetujui jumlah uang yang cukup" untuk kontrak dApp. Ini berarti pengguna tidak perlu tetap online sepanjang waktu, menunggu dApp dijalankan, atau terus-menerus menyetujui kembali, sangat meningkatkan pengalaman pengguna. Untuk aplikasi yang dipicu kondisi seperti limit order atau DCA, pengguna mungkin tidak online ketika kondisi terpenuhi, sehingga mereka perlu menyetujui terlebih dahulu sejumlah besar uang untuk mengeksekusi kontrak dApp, dan ini mungkin merupakan proses yang berulang.
Pengguna harus menyetujui jumlah yang cukup besar untuk dApp terlebih dahulu sehingga dApp dapat beroperasi dengan uangnya.
Tetapi juga perlu mempercayai dApp atau menghindari menyetujui dApp palsu, dan untuk dapat segera menghapus persetujuan
Mode izin yang muncul kemudian, seperti token-native EIP-2612 atau Permit2 non-native, semuanya untuk meningkatkan pengalaman penggunaan dan keamanan mode persetujuan: pengguna tidak perlu lebih lama menyetujui sejumlah besar uang untuk setiap kontrak dApp (dan setiap token harus disetujui satu kali). Sebagai gantinya, pengguna hanya perlu "menandatangani nama" untuk mengotorisasi kontrak dApp untuk "menarik jumlah yang ditentukan" dalam "waktu yang ditentukan". Ini tidak hanya sangat mengurangi permukaan serangan, tetapi juga sangat meningkatkan pengalaman pengguna.
Pengguna hanya perlu menandatangani off-chain, dan dapat menentukan jumlah dan masa berlaku, memberikan pengalaman dan keamanan pengguna yang lebih baik daripada menyetujui.
Namun pada kenyataannya, tidak hanya menyetujui, mode izin telah sering digunakan sebagai metode serangan penipuan (1,2,3): korban secara keliru menandatangani apa yang mereka pikir sebagai izin untuk dApp tetapi sebenarnya diberikan kepada penyerang.
Ketika pengguna menandatangani izin, mereka hanya dapat melihat siapa yang harus diotorisasi, tetapi mereka tidak tahu operasi apa yang akan dipasangkan dengannya untuk dijalankan.
Catatan: Desain izin saat ini tidak kompatibel dengan dApps operasi berulang, seperti DCA atau aplikasi pembayaran reguler lainnya. Ini karena izin tersebut memiliki mekanisme perlindungan pemutaran ulang, jadi setelah transfer selesai, izin yang sama tidak dapat digunakan lagi, yang berarti bahwa pengguna harus menandatangani izin terlebih dahulu untuk setiap operasi berulang di masa mendatang.
Namun, EIP-3074 membawa peluang untuk perubahan: ketika pengembang dApp tahu bahwa EOA dapat melakukan berbagai operasi kompleks melalui Invoker, desain interaksi dApp tidak lebih lama perlu mengorbankan keamanan dalam pesanan untuk meningkatkan pengalaman pengguna, seperti "pengguna pra-menyetujui sejumlah besar uang" dan "pengguna menandatangani pesan izin untuk mengotorisasi penarikan." Sebaliknya, pengguna mengikat operasi dApp untuk menyetujui dan melakukan eksekusi atom melalui Invoker: baik menyetujui dan operasi dApp berhasil dijalankan bersama-sama, atau mereka gagal bersama-sama. Tidak ada kemungkinan berhasil untuk persetujuan saja, sehingga pengguna dapat yakin bahwa persetujuan ini untuk operasi ini. Dan pengguna menggunakan otorisasi tanda tangan off-chain, jadi pengalaman pengguna sama dengan izin! Ini berarti bahwa dApp tidak lebih lama memerlukan mode izin! Di masa depan, dompet dapat langsung melarang atau melakukan tinjauan yang lebih ketat terhadap permintaan tanda tangan izin, tanpa harus khawatir apakah itu akan menyebabkan pengguna tidak menggunakan beberapa dApps (tetapi pada gilirannya digunakan untuk penipuan).
Pengguna tidak lebih lama hanya mengotorisasi alamat tertentu, tetapi mengotorisasi alamat tertentu dan apa yang harus dilakukan, dan bahkan melihat hasil eksekusi simulasi.
Catatan: Ini tidak berarti bahwa penipuan dapat sepenuhnya diblokir! Pengguna mungkin masih tertipu ke situs web penipuan, dan situs web penipuan masih dapat mengatur operasi persetujuan atau transfer bagi pengguna untuk ditandatangani, tetapi saat ini pengguna setidaknya dapat melihat apa yang akan dilakukan tanda tangan ini, dan dompet bahkan dapat mensimulasikan hasil eksekusi tampilan dan menyajikannya kepada pengguna, sehingga pengguna dapat dengan jelas mengetahui siapa yang akan kehilangan berapa banyak uang dan siapa yang akan mendapatkan berapa banyak uang. Dibandingkan dengan izin yang tidak tahu operasi apa atau bahkan hasil eksekusi, pengguna memiliki lebih banyak informasi untuk memutuskan apakah akan diotorisasi. Meskipun ini bukan obat yang sempurna, itu masih akan menjadi perbaikan substansial untuk situasi saat ini.
Desain EIP-3074 saat ini akan menyertakan nilai nonce EOA dalam konten tanda tangan, sehingga long saat EOA mengirim transaksi ke rantai untuk dieksekusi dan mengubah nilai nonce, semua otorisasi EIP-3074 asli akan dibatalkan.
Jika pengguna mengizinkan orang lain untuk mengoperasikan EOA, seperti Kunci Sesi atau metode Pemulihan Sosial yang disebutkan di atas, nonce EOA harus dicegah agar tidak berubah. Jika tidak, perlu untuk menandatangani semua otorisasi lagi dan memberikannya kepada wali amanat, yang memiliki dampak besar pada pengalaman pengguna dan ketahanan mekanisme.
Jika pengguna berwenang untuk beroperasi sendiri, tidak perlu secara khusus mencegah nonce EOA diubah, karena tanda tangan EIP-3074 masih diharapkan untuk dieksekusi sebelum batas waktu tertentu seperti transaksi. Hanya saja dompet perlu mengelola lebih banyak transaksi EIP-3074 dari EOA: jika ada tanda tangan EIP-3074 yang menunggu untuk diunggah ke rantai, maka transaksi EOA itu sendiri harus menunggu.
Catatan: Kontrak Invoker itu sendiri akan (dan harus) mempertahankan serangkaian mekanisme nonce, jadi setelah tanda tangan digunakan, masih perlu ditandatangani lagi, terlepas dari apakah EOA nonce berubah.
Kunci Sesi dan Pemulihan Sosial kemungkinan besar harus menunggu hingga EIP-3074 mengubah aturan untuk menghapus nonce EOA dari konten tanda tangan sebelum dapat diadopsi dalam skala besar. Oleh karena itu, dompet hanya perlu fokus pada kasus penggunaan "operasi resmi pengguna" dan memperlakukan tanda tangan EIP-3074 sebagai transaksi. Tidak perlu khawatir tentang menghindari transaksi pengiriman EOA atau mengubah nonce EOA.
Namun, perlu dicatat bahwa jika pengguna ingin membawa konten tanda tangannya sendiri EIP-3074 ke rantai, akan ada dua kelemahan:
Karena rantai akan menambahkan 1 ke nonce EOA terlebih dahulu, verifikasi tanda tangan EIP-3074 akan gagal karena ketidakcocokan nonce EOA.
Jika pengguna menambahkan 1 ke nonce EOA dalam tanda tangan EIP-3074 sebelum membawanya ke rantai itu sendiri, verifikasi dapat dilanjutkan dengan lancar.
Pengalaman penggunaan yang lebih baik dan lebih aman
EIP-3074 memungkinkan EOA (Akun Milik Eksternal) untuk mentransfer kontrol ke kontrak tertentu, sehingga memperoleh kemampuan eksekusi kaya yang sama dengan kontrak. Sebelum EIP-3074, EOA hanya dapat melakukan satu operasi per transaksi, seperti menyetujui ERC20 atau bertukar di Uniswap. Setelah EIP-3074, EOA dapat melakukan beberapa operasi sekaligus, atau bahkan menyelesaikan tugas yang sebelumnya tak terbayangkan. Sederhananya, EIP-3074 sangat meningkatkan pengalaman pengguna, dan metode otorisasi token yang sudah dikenal akan dibentuk kembali, meningkatkan keamanan tanpa mengubah pengalaman pengguna.
Selain itu, melalui EIP-3074, EOA tidak lebih lama perlu mengirim transaksi ke rantai dengan sendirinya, menghilangkan kesulitan karena harus menaikkan ETH untuk membayar biaya transaksi.
Kontrak yang dapat memperoleh kendali EOA disebut kontrak Invoker. Tentu saja, tidak sembarang kontrak dapat mengendalikan EOA: EOA harus menandatangani dengan kunci pribadi, dan isi tanda tangan akan dengan jelas menentukan kontrak Invoker mana itu dan operasi apa yang diizinkan untuk dilakukan oleh Invoker.
Konten tanda tangan EOA akan dengan jelas menentukan kontrak Invoker (alamat invoker) mana dan mengotorisasi operasi kontrak Invoker tersebut (commit)
Proses eksekusi yang sebenarnya mungkin akan terlihat seperti ini:
Catatan 1: Relayer tidak diperlukan. Alice juga dapat membawa konten dan segel tanda tangannya sendiri ke rantai.
Setelah Invoker memverifikasi tanda tangan dan mulai menjalankan operasi, itu akan dieksekusi sebagai Alice EOA, yang seperti mendapatkan kontrol (terbatas) dari EOA.
Namun, perlu dicatat bahwa nilai nonce EOA tidak akan meningkat setelah eksekusi, sehingga tanda tangan yang sama dapat digunakan kembali (long karena nonce EOA tetap tidak berubah), sehingga Invoker perlu menerapkan mekanisme nonce sendiri untuk menghindari pemutaran ulang.
Jika kontrak Invoker tidak Replay-proof, otorisasi yang sama dapat dijalankan setiap saat.
Untuk pengenalan mekanisme operasi aktual EIP-3074, silakan merujuk ke: Pengantar EIP3074
Izinkan pengguna untuk menggabungkan eksekusi beberapa transaksi menjadi satu, menghemat proses beberapa tanda tangan resmi dan beberapa biaya Gas.
Catatan: Ini akan mengharuskan dApp untuk juga dukungan fungsi Batchcall, seperti EIP-5792, yang saat ini sedang didorong oleh komunitas. Jika tidak, dApp hanya akan meminta pengguna untuk masuk sekali untuk setiap operasi jika memperlakukan pengguna sebagai EOA normal.
Pengguna juga dapat mengizinkan pihak ketiga untuk bertindak atas nama mereka dalam kondisi tertentu. Kunci delegasi dalam diagram di bawah ini adalah pihak ketiga yang berwenang; kebijakan akses adalah pembatasan eksekusi, seperti membatasinya untuk hanya mengoperasikan Uniswap, mentransfer maksimum 1 ETH per hari, masa berlaku otorisasi, dll. Kondisi ini dirancang dan diperiksa dalam kontrak Invoker. long saat pemeriksaan dilewati, pihak ketiga dapat menjalankan operasi sebagai EOA pengguna.
Telegram Bot dapat diberikan izin khusus untuk melakukan operasi atas nama EOA pengguna
Karena long kondisi terpenuhi (yaitu, tanda tangan Izin adalah legal), transfer ETH dapat dilakukan sebagai EOA otorisasi, mencapai efek dari Izin ETH asli.
Pengguna mengisi batas pesanan kondisi, dan ketika kondisi terpenuhi, itu dapat dieksekusi sebagai EOA pengguna, termasuk menyetujui token untuk DEX, pergi ke DEX untuk penebusan, dll. Dibandingkan dengan Limit Order yang disediakan oleh DEX itu sendiri, pengguna tidak perlu mengirim transaksi ke DEX untuk persetujuan terlebih dahulu.
Ketika Alice menyelesaikan pesanan, dia akan mengeksekusi persetujuan pada saat yang sama, menghilangkan kebutuhan untuk persetujuan sebelumnya.
Jika kondisi dirancang untuk menjadi lebih umum, itu akan menjadi seperti kontrak Intent: long kondisi yang ditentukan oleh pengguna terpenuhi, siapa pun dapat mengeksekusi intent atas nama EOA mereka.
long kondisi Intent terpenuhi, siapa pun dapat memulai eksekusi atas nama EOA pengguna
Ketika pengguna kehilangan kunci pribadi EOA, dia (Alice) dapat menggunakan otorisasi EIP-3074 yang dia tandatangani, bersama dengan tanda tangan orang yang berwenang (Suami dan Agen Perwalian) untuk mentransfer semua aset EOA. Pada kenyataannya, apa yang dipulihkan adalah aset (yang dapat dipindahtangankan), bukan kontrol akun. Setelah kunci privat EOA hilang, EOA tidak dapat lebih lama digunakan.
Ketika pengguna kehilangan kunci privat EOA, orang lain yang berwenang dapat menandatangani dan mengotorisasi transfer aset EOA.
Meningkatkan metode otorisasi token, dan berpotensi menggantikan persetujuan/izin?
Saat ini, dApps dirancang dengan asumsi bahwa pengguna adalah EOA: pengguna harus "menyetujui sebelumnya" dan "menyetujui jumlah uang yang cukup" untuk kontrak dApp. Ini berarti pengguna tidak perlu tetap online sepanjang waktu, menunggu dApp dijalankan, atau terus-menerus menyetujui kembali, sangat meningkatkan pengalaman pengguna. Untuk aplikasi yang dipicu kondisi seperti limit order atau DCA, pengguna mungkin tidak online ketika kondisi terpenuhi, sehingga mereka perlu menyetujui terlebih dahulu sejumlah besar uang untuk mengeksekusi kontrak dApp, dan ini mungkin merupakan proses yang berulang.
Pengguna harus menyetujui jumlah yang cukup besar untuk dApp terlebih dahulu sehingga dApp dapat beroperasi dengan uangnya.
Tetapi juga perlu mempercayai dApp atau menghindari menyetujui dApp palsu, dan untuk dapat segera menghapus persetujuan
Mode izin yang muncul kemudian, seperti token-native EIP-2612 atau Permit2 non-native, semuanya untuk meningkatkan pengalaman penggunaan dan keamanan mode persetujuan: pengguna tidak perlu lebih lama menyetujui sejumlah besar uang untuk setiap kontrak dApp (dan setiap token harus disetujui satu kali). Sebagai gantinya, pengguna hanya perlu "menandatangani nama" untuk mengotorisasi kontrak dApp untuk "menarik jumlah yang ditentukan" dalam "waktu yang ditentukan". Ini tidak hanya sangat mengurangi permukaan serangan, tetapi juga sangat meningkatkan pengalaman pengguna.
Pengguna hanya perlu menandatangani off-chain, dan dapat menentukan jumlah dan masa berlaku, memberikan pengalaman dan keamanan pengguna yang lebih baik daripada menyetujui.
Namun pada kenyataannya, tidak hanya menyetujui, mode izin telah sering digunakan sebagai metode serangan penipuan (1,2,3): korban secara keliru menandatangani apa yang mereka pikir sebagai izin untuk dApp tetapi sebenarnya diberikan kepada penyerang.
Ketika pengguna menandatangani izin, mereka hanya dapat melihat siapa yang harus diotorisasi, tetapi mereka tidak tahu operasi apa yang akan dipasangkan dengannya untuk dijalankan.
Catatan: Desain izin saat ini tidak kompatibel dengan dApps operasi berulang, seperti DCA atau aplikasi pembayaran reguler lainnya. Ini karena izin tersebut memiliki mekanisme perlindungan pemutaran ulang, jadi setelah transfer selesai, izin yang sama tidak dapat digunakan lagi, yang berarti bahwa pengguna harus menandatangani izin terlebih dahulu untuk setiap operasi berulang di masa mendatang.
Namun, EIP-3074 membawa peluang untuk perubahan: ketika pengembang dApp tahu bahwa EOA dapat melakukan berbagai operasi kompleks melalui Invoker, desain interaksi dApp tidak lebih lama perlu mengorbankan keamanan dalam pesanan untuk meningkatkan pengalaman pengguna, seperti "pengguna pra-menyetujui sejumlah besar uang" dan "pengguna menandatangani pesan izin untuk mengotorisasi penarikan." Sebaliknya, pengguna mengikat operasi dApp untuk menyetujui dan melakukan eksekusi atom melalui Invoker: baik menyetujui dan operasi dApp berhasil dijalankan bersama-sama, atau mereka gagal bersama-sama. Tidak ada kemungkinan berhasil untuk persetujuan saja, sehingga pengguna dapat yakin bahwa persetujuan ini untuk operasi ini. Dan pengguna menggunakan otorisasi tanda tangan off-chain, jadi pengalaman pengguna sama dengan izin! Ini berarti bahwa dApp tidak lebih lama memerlukan mode izin! Di masa depan, dompet dapat langsung melarang atau melakukan tinjauan yang lebih ketat terhadap permintaan tanda tangan izin, tanpa harus khawatir apakah itu akan menyebabkan pengguna tidak menggunakan beberapa dApps (tetapi pada gilirannya digunakan untuk penipuan).
Pengguna tidak lebih lama hanya mengotorisasi alamat tertentu, tetapi mengotorisasi alamat tertentu dan apa yang harus dilakukan, dan bahkan melihat hasil eksekusi simulasi.
Catatan: Ini tidak berarti bahwa penipuan dapat sepenuhnya diblokir! Pengguna mungkin masih tertipu ke situs web penipuan, dan situs web penipuan masih dapat mengatur operasi persetujuan atau transfer bagi pengguna untuk ditandatangani, tetapi saat ini pengguna setidaknya dapat melihat apa yang akan dilakukan tanda tangan ini, dan dompet bahkan dapat mensimulasikan hasil eksekusi tampilan dan menyajikannya kepada pengguna, sehingga pengguna dapat dengan jelas mengetahui siapa yang akan kehilangan berapa banyak uang dan siapa yang akan mendapatkan berapa banyak uang. Dibandingkan dengan izin yang tidak tahu operasi apa atau bahkan hasil eksekusi, pengguna memiliki lebih banyak informasi untuk memutuskan apakah akan diotorisasi. Meskipun ini bukan obat yang sempurna, itu masih akan menjadi perbaikan substansial untuk situasi saat ini.
Desain EIP-3074 saat ini akan menyertakan nilai nonce EOA dalam konten tanda tangan, sehingga long saat EOA mengirim transaksi ke rantai untuk dieksekusi dan mengubah nilai nonce, semua otorisasi EIP-3074 asli akan dibatalkan.
Jika pengguna mengizinkan orang lain untuk mengoperasikan EOA, seperti Kunci Sesi atau metode Pemulihan Sosial yang disebutkan di atas, nonce EOA harus dicegah agar tidak berubah. Jika tidak, perlu untuk menandatangani semua otorisasi lagi dan memberikannya kepada wali amanat, yang memiliki dampak besar pada pengalaman pengguna dan ketahanan mekanisme.
Jika pengguna berwenang untuk beroperasi sendiri, tidak perlu secara khusus mencegah nonce EOA diubah, karena tanda tangan EIP-3074 masih diharapkan untuk dieksekusi sebelum batas waktu tertentu seperti transaksi. Hanya saja dompet perlu mengelola lebih banyak transaksi EIP-3074 dari EOA: jika ada tanda tangan EIP-3074 yang menunggu untuk diunggah ke rantai, maka transaksi EOA itu sendiri harus menunggu.
Catatan: Kontrak Invoker itu sendiri akan (dan harus) mempertahankan serangkaian mekanisme nonce, jadi setelah tanda tangan digunakan, masih perlu ditandatangani lagi, terlepas dari apakah EOA nonce berubah.
Kunci Sesi dan Pemulihan Sosial kemungkinan besar harus menunggu hingga EIP-3074 mengubah aturan untuk menghapus nonce EOA dari konten tanda tangan sebelum dapat diadopsi dalam skala besar. Oleh karena itu, dompet hanya perlu fokus pada kasus penggunaan "operasi resmi pengguna" dan memperlakukan tanda tangan EIP-3074 sebagai transaksi. Tidak perlu khawatir tentang menghindari transaksi pengiriman EOA atau mengubah nonce EOA.
Namun, perlu dicatat bahwa jika pengguna ingin membawa konten tanda tangannya sendiri EIP-3074 ke rantai, akan ada dua kelemahan:
Karena rantai akan menambahkan 1 ke nonce EOA terlebih dahulu, verifikasi tanda tangan EIP-3074 akan gagal karena ketidakcocokan nonce EOA.
Jika pengguna menambahkan 1 ke nonce EOA dalam tanda tangan EIP-3074 sebelum membawanya ke rantai itu sendiri, verifikasi dapat dilanjutkan dengan lancar.