MSTR Cat

Blockchain/Tahap VII · Evolusi/7.1 Ethereum: komputer dunia/Pelajaran 4

Penandatanganan eksplisit: UTXO berbanding kelulusan token

Tandatangan yang membelanjakan, dan kebenaran yang kekal lebih lama daripadanya

BahanDompet perkakasan dengan sokongan PSBTAkses ke Etherscan atau penjelajah blok (block explorer) yang serupaAntaramuka Revoke.cash

Ingin tahu

  1. Mengapa kontrak pintar boleh mengalihkan token anda bertahun-tahun selepas anda berinteraksi dengannya?
  2. Apakah perbezaan struktur antara menandatangani transaksi dan memberikan kuasa berterusan?
  3. Bagaimanakah satu format fail menjadikan setiap input dan output transaksi Bitcoin dapat dilihat sebelum tandatangan dibubuh?

Teroka

  1. Di rantaian EVM, standard ERC-20 mengawal pemindahan token. Untuk memindahkan token daripada dompet luaran ke kontrak, pemegang mesti terlebih dahulu memanggil `approve`, yang memberi kontrak itu kebenaran untuk membelanjakan jumlah tertentu token tersebut bagi pihaknya. Had perbelanjaan (allowance) ini direkodkan dalam keadaan (state) kontrak dan kekal tanpa had masa sehingga dibatalkan atau habis digunakan. Pengguna yang meluluskan 10,000 token untuk sebuah bursa terdesentralisasi (DEX) masih memegang kuasa berterusan itu walaupun selepas swap selesai.
  2. EIP-2612 memperkenalkan `permit`, yang membolehkan pengguna menandatangani mesej luar rantaian (off-chain) yang menetapkan had perbelanjaan ini tanpa menghantar transaksi serta-merta. Tandatangan itu kekal sah sehingga ia digunakan atau tarikh akhirnya berlalu, dan ia memberikan kuasa perbelanjaan yang sama. Sebaik sahaja had perbelanjaan wujud, sesiapa yang mengawal alamat spender yang diluluskan boleh mengosongkan had itu dengan memanggil `transferFrom`, walaupun pengguna tidak lagi berinteraksi dengan kontrak tersebut sejak itu.
  3. Wallet drainer mengeksploitasi seni bina ini. Laman phishing memperdaya pengguna supaya menandatangani `approve` atau `permit` tanpa had untuk alamat berniat jahat. Setelah ditandatangani, penyerang memegang kebenaran berterusan untuk memindahkan token sesuka hati. Membatalkan kelulusan ini memerlukan transaksi tambahan dan yuran gas, sekali gus menimbulkan geseran. Akibatnya, satu tandatangan sahaja boleh mewujudkan kelemahan kekal yang tidak kelihatan melainkan pengguna secara aktif mengaudit had perbelanjaan aktif mereka menggunakan alat seperti Revoke.cash atau Etherscan.
  4. Model UTXO Bitcoin beroperasi secara berbeza. Tiada kebenaran berterusan. Setiap transaksi secara eksplisit membelanjakan output transaksi yang belum dibelanjakan (UTXO) tertentu untuk mencipta output baharu. Tandatangan membenarkan pergerakan koin tertentu dari alamat tertentu ke destinasi tertentu, tanpa meninggalkan sebarang kuasa sisa. Jika pengguna menandatangani transaksi yang menghantar 1 BTC ke bursa, tandatangan itu tidak boleh digunakan semula untuk menghantar 1 BTC lagi kemudian.
  5. BIP-174 mentakrifkan format Partially Signed Bitcoin Transaction (PSBT). Sebelum ditandatangani, PSBT mengandungi semua input dan output, membolehkan dompet perisian atau perkakasan memaparkan dengan tepat apa yang dibelanjakan dan ke mana ia pergi. Pengguna melihat struktur transaksi sepenuhnya—input, output, yuran—dan menandatangani muatan khusus itu; dengan jenis tandatangan lalai, tandatangan tersebut mengikat keseluruhan transaksi. Oleh sebab tiada kebenaran tersembunyi diwujudkan, tandatangan berniat jahat hanya boleh memindahkan koin yang dinyatakan dalam transaksi tunggal itu; ia tidak boleh meninggalkan pintu belakang untuk pemindahan pada masa hadapan.
  6. Komprominya ialah kebolehgubahan (composability). Kelulusan EVM membolehkan interaksi berbilang langkah yang kompleks, di mana kontrak mengurus baki token bagi pihak pengguna merentasi pelbagai tindakan. Model eksplisit Bitcoin memerlukan setiap pergerakan ditandatangani secara berasingan, sekali gus mengehadkan keupayaan untuk mewakilkan kuasa kepada kontrak pintar dengan cara yang sama lancar. Pengguna memperoleh keselamatan melalui ketelusan dan ketiadaan kebenaran berterusan, tetapi mengorbankan kemudahan tingkah laku ejen yang automatik dan berterusan.

Fakta utama

  • ERC-20 `approve` memberikan kebenaran kepada kontrak untuk membelanjakan token bagi pihak pemegangnya, dan kebenaran ini kekal berkuat kuasa sehingga dibatalkan.
  • EIP-2612 membenarkan tandatangan luar rantaian (off-chain) untuk menetapkan had perbelanjaan (allowance) token tanpa transaksi serta-merta.
  • Pengosong dompet mengeksploitasi kelulusan yang tidak terhad atau dilupakan untuk mengosongkan token daripada dompet yang telah terjejas.
  • Transaksi Bitcoin menggunakan UTXO tertentu dan mencipta output baru; tiada kebenaran berterusan yang diwujudkan.
  • BIP-174 (PSBT) membenarkan pengguna untuk memeriksa semua input dan output transaksi Bitcoin sebelum menandatanganinya.
  • Kebolehgubahan (composability) EVM bergantung pada had perbelanjaan (allowance) yang berterusan, manakala keselamatan Bitcoin bergantung pada tandatangan eksplisit sekali guna.

Latihan sembilan, enam, tiga, satu

9KumpulSenaraikan 9 tindakan biasa dalam DeFi atau kripto yang memerlukan tandatangan pengguna. Nyatakan yang mana menghasilkan kebenaran berterusan dan yang mana merupakan pemindahan sekali sahaja.
6KelompokkanKumpulkan 9 tersebut kepada 6 berdasarkan apa yang ditinggalkan oleh setiap tandatangan.
3SaringKurangkan 6 tersebut kepada 3 sebab utama mengapa kebenaran berterusan menimbulkan risiko keselamatan yang unik berbanding pemindahan sekali sahaja.
1KristalkanTulis 1 ayat tentang apa yang dibenarkan oleh tandatangan dalam setiap model dan bagaimana kebenaran itu kekal (atau tidak).

Semakan fakta

Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.

Buka dalam akademi interaktif →

EN PT ES ZH JA KO RU DE FR