Abstraksi akun
Pengguna berinteraksi dengan Ethereum menggunakan . Ini adalah satu-satunya cara untuk memulai transaksi atau mengeksekusi kontrak pintar. Hal ini membatasi bagaimana pengguna dapat berinteraksi dengan Ethereum. Misalnya, menyulitkan untuk melakukan banyak transaksi dan mengharuskan pengguna untuk selalu menjaga saldo ETH untuk menutupi gas.
Abstraksi akun adalah cara untuk mengatasi masalah ini dengan memungkinkan pengguna secara fleksibel memprogram lebih banyak keamanan dan pengalaman pengguna yang lebih baik ke dalam akun mereka. Hal ini dapat terjadi dengan memperbarui EOA(opens in a new tab) sehingga dapat dikontrol oleh kontrak pintar, atau dengan memperbarui kontrak pintar(opens in a new tab) agar dapat memulai transaksi. Kedua opsi ini membutuhkan perubahan pada protokol Ethereum. Ada juga jalur ketiga yang melibatkan penambahan sistem transaksi kedua yang terpisah(opens in a new tab) untuk berjalan secara paralel dengan protokol yang ada. Terlepas dari rutenya, hasilnya adalah akses ke Ethereum melalui dompet kontrak pintar, baik yang didukung secara native sebagai bagian dari protokol yang ada atau melalui jaringan transaksi tambahan.
Dompet kontrak pintar membuka banyak manfaat bagi pengguna, termasuk:
- menentukan aturan keamanan fleksibel Anda sendiri
- memulihkan akun Anda jika Anda kehilangan kunci
- berbagi keamanan akun Anda di seluruh perangkat atau individu tepercaya
- membayar gas orang lain, atau meminta orang lain membayar gas Anda
- transaksi batch secara bersamaan (mis. menyetujui dan mengeksekusi pertukaran sekaligus)
- lebih banyak kesempatan bagi dapps dan pengembang dompet untuk berinovasi pada pengalaman pengguna
Manfaat ini tidak didukung secara native saat ini karena hanya akun yang dimiliki secara eksternal () yang dapat memulai transaksi. EOA secara sederhana adalah pasangan kunci publik-pribadi. Cara kerjanya seperti ini:
- jika Anda memiliki kunci pribadi, Anda dapat melakukan apa saja sesuai dengan aturan Mesin Virtual Ethereum (EVM)
- jika Anda tidak memiliki kunci pribadi, Anda tidak dapat melakukan apa-apa.
Jika Anda kehilangan kunci, kunci tersebut tidak dapat dipulihkan, dan kunci yang dicuri memberi pencuri akses instan ke semua dana dalam akun.
Dompet kontrak pintar adalah solusi untuk masalah ini, tetapi saat ini sulit untuk diprogram karena pada akhirnya logika apa pun yang diterapkan harus diterjemahkan ke dalam satu set transaksi EOA sebelum dapat diproses oleh Ethereum. Abstraksi akun memungkinkan kontrak pintar untuk memulai transaksi sendiri, sehingga logika apa pun yang ingin diimplementasikan oleh pengguna dapat dikodekan ke dalam dompet kontrak pintar itu sendiri dan dieksekusi di Ethereum.
Pada akhirnya, abstraksi akun meningkatkan dukungan untuk dompet kontrak pintar, membuatnya lebih mudah dibuat dan lebih aman digunakan. Pada akhirnya, dengan abstraksi akun, pengguna dapat menikmati semua manfaat Ethereum tanpa harus mengetahui atau peduli dengan teknologi yang mendasarinya.
Di luar frasa benih
Akun-akun saat ini diamankan menggunakan kunci pribadi yang dihitung dari frasa benih. Setiap orang yang memiliki akses ke frase benih dapat dengan mudah menemukan kunci pribadi yang melindungi sebuah akun dan mendapatkan akses ke semua aset yang dilindunginya. Jika kunci pribadi dan frase benih hilang, maka tidak akan pernah bisa dipulihkan dan aset yang dikontrolnya akan dibekukan selamanya. Mengamankan frase benih ini sangat sulit, bahkan bagi pengguna yang sudah ahli sekalipun, dan phishing frasa benih merupakan salah satu cara yang paling umum dilakukan untuk menipu para pengguna.
Abstraksi akun akan menyelesaikan masalah ini dengan menggunakan kontrak pintar untuk menyimpan aset dan mengesahkan transaksi. Kontrak pintar ini kemudian dapat didekorasi dengan logika khusus untuk membuatnya seaman mungkin dan disesuaikan dengan pengguna. Pada akhirnya, Anda masih menggunakan kunci pribadi untuk mengontrol akses ke akun Anda, tetapi dengan jaring pengaman yang membuatnya lebih mudah dan aman untuk dikelola.
Sebagai contoh, kunci cadangan dapat ditambahkan ke dompet sehingga jika Anda kehilangan atau secara tidak sengaja mengekspos kunci utama Anda, kunci tersebut dapat diganti dengan kunci baru yang aman dengan izin dari kunci cadangan. Anda bisa mengamankan setiap kunci ini dengan cara yang berbeda, atau membaginya ke beberapa penjaga yang tepercaya. Hal ini membuat pencuri lebih sulit mendapatkan kendali penuh atas dana Anda. Sama halnya, Anda dapat menambahkan peraturan pada dompet untuk mengurangi dampak jika kunci utama Anda diretas, sebagai contoh, Anda dapat mengizinkan transaksi bernilai rendah untuk diverifikasi dengan satu tanda tangan, sedangkan transaksi bernilai lebih tinggi membutuhkan persetujuan dari beberapa penanda tangan yang terautentikasi. Ada beberapa cara lain dompet kontrak pintar dapat membantu Anda untuk menggagalkan pencurian, contohnya adalah daftar putih yang dapat digunakan untuk memblokir setiap transaksi kecuali jika transaksi tersebut ditujukan kepada alamat yang terpercaya atau diverifikasi oleh beberapa kunci yang telah Anda setujui sebelumnya.
Contoh logika keamanan yang dapat dibangun ke dalam dompet kontrak pintar:
- Otorisasi multisig: Anda dapat berbagi kredensial otorisasi di beberapa orang atau perangkat tepercaya. Kemudian kontrak dapat dikonfigurasikan sehingga transaksi yang melebihi nilai yang telah ditetapkan memerlukan otorisasi dari proporsi tertentu (mis. 3/5) dari pihak-pihak tepercaya. Sebagai contoh, transaksi bernilai tinggi mungkin memerlukan persetujuan dari perangkat seluler dan dompet perangkat keras, atau tanda tangan dari akun yang didistribusikan ke anggota keluarga tepercaya.
- Pembekuan akun: Jika perangkat hilang atau disusupi, akun dapat dikunci dari perangkat lain yang sah, untuk melindungi aset pengguna.
- Pemulihan akun: Kehilangan perangkat atau lupa kata sandi? Dalam paradigma saat ini, ini berarti aset Anda bisa dibekukan selamanya. Dengan dompet kontrak pintar, Anda dapat mengatur beberapa akun yang telah disetujui sebelumnya yang dapat mengizinkan perangkat baru dan mengatur ulang akses.
- Tetapkan batas transaksi: Tentukan ambang batas harian berapa banyak nilai yang dapat ditransfer dari akun dalam satu hari/minggu/bulan. Ini berarti jika penyerang mendapatkan akses ke akun Anda, mereka tidak dapat menguras semuanya sekaligus dan Anda memiliki kesempatan untuk membekukan dan mengatur ulang akses.
- Buat daftar putih: Hanya mengizinkan transaksi ke alamat tertentu yang Anda ketahui aman. Ini berarti bahwa meskipun kunci pribadi Anda dicuri, penyerang tidak dapat mengirimkan dana ke akun tujuan yang tidak masuk dalam daftar putih. Daftar putih ini akan membutuhkan beberapa tanda tangan untuk mengubahnya sehingga penyerang tidak dapat menambahkan alamat mereka sendiri ke dalam daftar kecuali mereka memiliki akses ke beberapa kunci cadangan Anda.
Pengalaman pengguna yang lebih baik
Abstraksi akun memungkinkan pengalaman pengguna yang lebih baik secara keseluruhan serta peningkatan keamanan karena menambahkan dukungan untuk dompet kontrak pintar di tingkat protokol. Alasan yang paling penting untuk hal ini adalah akan memberi pengembang kontrak pintar, dompet, dan aplikasi lebih banyak kebebasan untuk berinovasi pada pengalaman pengguna dengan cara yang mungkin belum dapat kita antisipasi. Beberapa peningkatan nyata yang akan datang bersama dengan abstraksi akun termasuk penggabungan transaksi untuk kecepatan dan efisiensi. Sebagai contoh, pertukaran sederhana seharusnya merupakan operasi sekali klik, tetapi saat ini memerlukan penandatanganan beberapa transaksi untuk menyetujui pengeluaran token individu sebelum pertukaran dieksekusi. Abstraksi akun menghilangkan gesekan tersebut dengan mengizinkan penggabungan transaksi. Selain itu, transaksi yang digabungkan dapat menyetujui dengan tepat nilai token yang tepat yang diperlukan untuk setiap transaksi dan kemudian mencabut persetujuan setelah transaksi selesai, memberikan keamanan tambahan.
Manajemen gas juga jauh lebih baik dengan adanya abstraksi akun. Aplikasi tidak hanya dapat menawarkan untuk membayar biaya gas penggunanya, tetapi biaya gas dapat dibayar dengan token selain ETH, membebaskan pengguna dari keharusan untuk mempertahankan saldo ETH untuk mendanai transaksi. Ini akan bekerja dengan menukar token pengguna dengan ETH di dalam kontrak dan kemudian menggunakan ETH untuk membayar gas.
Sesi tepercaya juga berpotensi mengubah pengalaman pengguna, terutama untuk aplikasi seperti game, di mana sejumlah besar transaksi kecil mungkin memerlukan persetujuan dalam waktu singkat. Menyetujui setiap transaksi secara individual akan merusak pengalaman bermain game, tetapi persetujuan permanen tidak aman. Dompet kontrak pintar dapat menyetujui transaksi tertentu untuk waktu tertentu, hingga nilai tertentu atau hanya ke alamat tertentu.
Menarik juga untuk mempertimbangkan bagaimana pembelian dapat berubah dengan abstraksi akun. Saat ini, setiap transaksi harus disetujui dan dieksekusi dari dompet yang sudah didanai sebelumnya dengan jumlah token yang tepat. Dengan abstraksi akun, pengalamannya bisa lebih mirip dengan belanja daring yang sudah dikenal di mana pengguna dapat mengisi "keranjang" dengan barang-barang dan mengklik sekali untuk membeli sekaligus, dengan semua logika yang diperlukan ditangani oleh kontrak, bukan oleh pengguna.
Ini hanyalah beberapa contoh bagaimana pengalaman pengguna dapat ditingkatkan dengan abstraksi akun, tetapi akan ada lebih banyak lagi yang belum kami bayangkan. Abstraksi akun membebaskan pengembang dari batasan EOA saat ini, memungkinkan mereka untuk membawa aspek-aspek yang baik dari web2 ke dalam web3 tanpa mengorbankan hak milik dan meretas secara kreatif pada pengalaman pengguna baru yang kreatif.
Bagaimana abstraksi akun akan diimplementasikan?
Dompet kontrak pintar sudah ada saat ini, namun sulit untuk diimplementasikan karena EVM tidak mendukungnya. Sebaliknya, mereka mengandalkan pembungkusan kode yang relatif rumit di sekitar transaksi Ethereum standar. Ethereum dapat mengubah hal ini dengan mengizinkan kontrak pintar untuk memulai transaksi, menangani logika yang diperlukan dalam kontrak pintar Ethereum, bukan di luar rantai. Menambahkan logika ke dalam kontrak pintar juga meningkatkan desentralisasi Ethereum karena menghilangkan kebutuhan untuk "relayers" yang dikelola oleh pengembang dompet guna menerjemahkan pesan yang ditandatangani oleh pengguna ke dalam transaksi Ethereum reguler.
Kemajuan saat ini
Dompet kontrak pintar sudah tersedia, tetapi lebih banyak peningkatan diperlukan untuk membuatnya terdesentralisasi dan tanpa izin. EIP-4337 adalah proposal matang yang tidak memerlukan perubahan apa pun pada protokol Ethereum, sehingga sangat mungkin untuk diimplementasikan dengan cepat. Namun, peningkatan yang mengubah protokol Ethereum saat ini tidak dalam pengembangan aktif, sehingga perubahan tersebut mungkin membutuhkan waktu lebih lama untuk dikirimkan. Hal ini juga memungkinkan bahwa abstraksi akun dicapai dengan cukup baik oleh EIP-4337 sehingga tidak ada perubahan protokol yang diperlukan.
Bacaan lebih lanjut
- erc4337.io(opens in a new tab)
- Diskusi panel abstraksi akun dari Devcon Bogota(opens in a new tab)
- "Mengapa abstraksi akun adalah pengubah permainan untuk dapps" dari Devcon Bogota(opens in a new tab)
- "Abstraksi akun ELI5" dari Devcon Bogota(opens in a new tab)
- Catatan "Jalan Menuju Abstraksi Akun" dari Vitalik(opens in a new tab)
- Postingan blog Vitalik tentang dompet pemulihan sosial(opens in a new tab)
- Catatan EIP-2938(opens in a new tab)
- Dokumentasi EIP-2938(opens in a new tab)
- Catatan EIP-4337(opens in a new tab)
- Dokumentasi EIP-4337(opens in a new tab)
- Dokumentasi EIP-2771(opens in a new tab)
- "Dasar-dasar Abstraksi Akun" - Apa itu Abstraksi Akun Bagian I(opens in a new tab)