Ethereum Foundation sedang menjajaki pernyataan transaksi yang memungkinkan pengguna menambahkan kondisi yang dapat ditegakkan terhadap hasil akhir transaksi, alih-alih hanya mengandalkan persetujuan atas tindakan yang diminta. Riset ini, sebagai bagian dari inisiatif Trillion Dollar Security, menyasar celah dalam keamanan transaksi: tanda tangan yang valid tidak menjamin bahwa saldo, izin, atau kendali akun yang dihasilkan sesuai dengan maksud penandatangan.

Poin Utama

  • Pemeriksaan yang diusulkan akan mengevaluasi hasil transaksi selama eksekusi dan membatalkan tindakan yang melanggar aturan yang ditandatangani.
  • Perlindungan bergantung pada aturan yang disetujui secara independen dari penyusun transaksi yang mungkin telah disusupi.
  • Riset ini dapat mendukung kebijakan keamanan dompet, agen yang diberi wewenang, dan alur kerja solver, tetapi belum merupakan pengumuman penerapan.

Daftar Isi

Mengapa menyetujui transaksi tetap dapat menimbulkan kerugian

Ethereum mengeksekusi permintaan yang disahkan pengguna berdasarkan kode dan status yang tersedia saat eksekusi. Kondisi tersebut dapat berbeda dari apa yang diperiksa pengguna. Misalnya, implementasi proxy dapat berubah sebelum eksekusi, sementara urutan transaksi dapat mengubah harga yang dihadapi dalam swap.

Foundation membedakan permintaan yang menyesatkan dari hasil yang tidak diinginkan. Dalam serangan Bybit dan BadgerDAO, frontend yang disusupi menampilkan permintaan penandatanganan yang berbeda dari apa yang diyakini pengguna sedang mereka setujui. Sebaliknya, permintaan yang ditampilkan secara akurat tetap dapat memungkinkan hasil yang merugikan secara ekonomi.

Contohnya adalah swap agunan Aave dan CoW yang melibatkan sekitar $50.4 juta dalam aEthUSDT. Likuiditas AAVE yang tipis dan batas gas CoW membuat kuotasi terverifikasi hanya sekitar 329 aEthAAVE. Meskipun peringatan dampak harga sebesar 99.9 persen ditampilkan dan pengguna telah mengonfirmasi bahwa seluruh nilai dapat hilang, pengguna tetap menandatangani transaksi dan menerima token senilai sekitar $36,000.

Perbedaan itu menjelaskan mengapa deskripsi transaksi yang lebih baik bukanlah solusi menyeluruh. Clear Signing membantu pengguna memahami tindakan yang diminta. Simulasi memperkirakan dampaknya berdasarkan status blockchain yang dipilih. Namun, keduanya tidak dengan sendirinya memberlakukan kondisi independen atas hasil yang benar-benar terjadi.

ItemDetail
TXTRACEMencantumkan perubahan status bersih dan peristiwa yang dihasilkan oleh transaksi.
TXDIFFMengambil nilai awal dan akhir untuk alamat dan slot penyimpanan tertentu.
EVENTDATACOPYMenyalin data suatu peristiwa ke memori untuk diperiksa.
Informasi penerapanData perubahan status yang diusulkan mencakup kontrak yang baru diterapkan dan hash kodenya.

Cara pernyataan transaksi memeriksa hasil

Pernyataan akan membandingkan status awal dan akhir transaksi menggunakan logika hanya-baca setelah tindakan transaksi dijalankan. Kondisi tersebut akan disertakan dalam transaksi dan ditandatangani bersama tindakan-tindakannya. Jika gagal, tindakan tersebut akan dibatalkan.

Aturan yang mungkin diterapkan mencakup jumlah minimum yang diterima, batas pengeluaran, pembatasan persetujuan token baru, atau perlindungan terhadap perubahan logika kendali akun. Kemampuan pemeriksaan yang diusulkan mencakup lebih dari sekadar saldo, yaitu penyimpanan, kode, kontrak yang baru diterapkan, dan peristiwa yang dihasilkan.

Pemeriksaan kontrak yang ada telah melindungi hasil tertentu. Uniswap dapat menolak swap yang hasil minimumnya berada di bawah batas yang ditentukan, dan guard Safe dapat memeriksa status akun setelah eksekusi. Keterbatasannya adalah visibilitas: pemeriksaan semacam itu harus mengantisipasi hal yang perlu diperiksa dan umumnya bergantung pada antarmuka yang disediakan kontrak lain. Misalnya, proxy tidak harus menyediakan fungsi yang mengungkap alamat implementasinya.

Pernyataan bawaan akan menyediakan seluruh dampak bersih transaksi untuk diperiksa, termasuk perubahan yang mungkin tidak terpikirkan oleh guard biasa. Namun, visibilitas yang lebih luas hanya berguna jika aturannya tepercaya. Frontend berbahaya dapat memberikan kondisi yang mengizinkan serangannya sendiri, sehingga kebijakan harus berasal dari maksud yang disetujui secara independen, kebijakan akun, atau logika protokol yang terlindungi.

Informasi yang akan tersedia melalui implementasi yang diusulkan

Pengumuman Foundation tentang pernyataan transaksi bawaan menjelaskan EIP-7906 sebagai kemungkinan implementasi, bukan rancangan final. EIP ini dibangun di atas frame transactions dalam EIP-8141, yang mengatur langkah validasi dan tindakan dalam suatu urutan. EIP-8141 dijadwalkan untuk Hegotá; EIP-7906 telah mencapai status Considered for Inclusion, tetapi belum dikonfirmasi untuk peningkatan tersebut.

Dalam pendekatan ini, frame POST_TX hanya-baca akan memeriksa hasil pada akhir eksekusi. Instruksi akses data yang diusulkan hanya akan beroperasi di dalam frame tersebut, bukan di seluruh EVM.

Informasi tersebut akan menggambarkan dampak bersih, bukan riwayat setiap perubahan sementara. Slot penyimpanan yang diubah berulang kali akan ditampilkan dengan nilai awal dan akhirnya; slot yang dikembalikan ke nilai semula tidak akan ditampilkan. Karena itu, penting untuk membedakan penegakan berdasarkan status akhir dari pemantauan setiap langkah eksekusi.

Jika pemeriksaan gagal, badan eksekusi akan dibatalkan, tetapi transaksi tetap tercatat di dalam blok sebagai transaksi gagal. Pembayar gas tetap harus membayar gas yang digunakan, sehingga transaksi yang sengaja dibuat gagal tidak dapat membebankan pekerjaan eksekusi kepada builder secara cuma-cuma.

Bagian yang perlu diubah pada dompet dan protokol

Usulan ini menyediakan mekanisme pemeriksaan, bukan kewajiban otomatis untuk menggunakannya. Untuk transaksi pengguna, dompet harus menjadikan kebijakan keamanannya sebagai bagian dari penyusunan transaksi, alih-alih membiarkan builder bebas menghilangkannya. Kebijakan itu dapat bersumber dari simulasi dompet sendiri atau diterapkan sebagai aturan akun yang berlaku tetap.

Untuk protokol, perlindungan harus dimasukkan ke dalam kondisi akses ke fungsi yang dilindungi. Menyediakan transaksi yang mendukung pernyataan saja tidak cukup: pemanggilan harus membawa pemeriksaan spesifik yang diwajibkan protokol. Hal ini akan mengubah persyaratan integrasi bagi pemanggil, sementara kontrak immutable yang sudah diterapkan tidak dapat menambahkan pemeriksaan akses tersebut secara retroaktif.

Ketergantungan ini memisahkan kemampuan EVM yang berpotensi kuat dari jaminan yang dirasakan pengguna. Perlindungan yang efektif memerlukan kondisi yang kuat serta perangkat lunak yang secara konsisten memastikan kondisi tersebut tidak dapat dihindari.

Manfaat bagi agen dan alur kerja solver

Agen yang diberi wewenang dapat dibatasi berdasarkan hasil selain izin. Batasan atas kontrak yang boleh digunakan agen atau jumlah yang boleh dibelanjakannya dapat dilengkapi dengan persyaratan mengenai hasil akhir setiap transaksi.

Dalam eksekusi berbasis solver, protokol dapat menentukan hasil yang dapat diterima sekaligus membiarkan solver memilih rutenya. Jaminan ini hanya berlaku untuk transaksi di satu jaringan, bukan rute yang melintasi beberapa blockchain.

Pernyataan juga dapat memeriksa pembersihan alur kerja, misalnya pengembalian token yang tidak digunakan dan pencabutan persetujuan yang masih tersisa. Foundation sedang meminta masukan dari tim dompet dan protokol seiring berlanjutnya pengembangan rancangan, sehingga penerapan potensial ini masih merupakan arah riset, bukan fitur produk yang telah diumumkan.

Kesimpulan

Pernyataan transaksi bawaan akan mengalihkan sebagian keamanan transaksi Ethereum dari penafsiran permintaan ke penegakan hasilnya. Nilai praktisnya akan bergantung pada kebijakan yang tepercaya serta adopsi oleh dompet dan protokol yang bertanggung jawab menerapkannya.

Baca Berita Lainnya

Berita FinanceVelix lainnya

Penafian

Artikel FinanceVelix ini memberikan informasi umum, bukan saran keuangan, investasi, hukum, atau perpajakan yang dipersonalisasi. Harga kripto dapat berubah dengan cepat, dan Anda dapat kehilangan seluruh dana yang diinvestasikan. Fakta mencerminkan materi yang tersedia pada saat publikasi dan dapat berubah. Periksa sendiri informasi penting dan konsultasikan dengan profesional yang berkualifikasi jika diperlukan. Penyebutan aset, perusahaan, atau layanan bukan merupakan dukungan.