ERC 20 vs ERC 223 vs ERC 777: Perbandingan antara standar token Ethereum

Apakah Anda seorang pengembang Ethereum yang mengerjakan proyek kripto? Anda mungkin mengembangkan token baru menggunakan standar ERC20, namun Anda perlu mengetahui upaya peningkatannya. Ini akan membantu Anda membuat keputusan yang tepat tentang standar token ERC mana yang akan digunakan, oleh karena itu saya akan menjelaskan perbandingan ERC777 vs ERC223 vs ERC20 di artikel ini..

Saya akan memulai perbandingan dengan penjelasan ERC 20, dan selanjutnya saya akan menjelaskan kekurangannya. Kemudian saya akan menjelaskan upaya perbaikan yang dilakukan komunitas Ethereum, melalui ERC 777 dan ERC 223.

Perbandingan antara ERC20 vs ERC223 vs ERC777

ERC 20 vs ERC 223 vs ERC 777

Apa itu ERC 20?

Sebelum saya membandingkan ERC 20 vs ERC 223 vs ERC 777, saya perlu menjelaskan apa itu ERC, dan apa yang diwakili oleh ERC20. Pengembang Ethereum sering mengirimkan ‘Proposal Peningkatan Ethreum’ (EIP). Komunitas Ethereum meninjau EIP, memberikan komentar, yang dapat memicu pengerjaan ulang.

Setelah komunitas Ethereum menerima EIP, itu menjadi standar, dan kami menyebutnya ‘Permintaan Ethereum untuk Komentar’ (ERC). ERC 20 adalah salah satu standar untuk token Ethreum.

ERC 20 adalah standar token Ethereum paling terkenal dan hampir semua ICO yang menggunakan platform Ethereum telah menggunakannya. Pengembang menggunakannya secara default untuk membuat token baru, sementara dompet dan bursa menerima token ERC 20 dengan mudah.

Sebelum ERC 20, pengembang Ethereum harus secara khusus menetapkan aturan yang akan diikuti oleh token mereka, dan pendekatan ini tidak memiliki standarisasi. Sekarang dengan ERC20, pengembang Ethereum tahu bahwa mereka hanya perlu menggunakan standar ERC 20. Standarisasi ini berperan besar dalam memicu kegilaan ICO yang kami saksikan sejak 2017.

Baca lebih lanjut tentang standar ERC 20 di “Panduan Pemula: Apa itu ERC20?”.

Apa itu fungsi standar ERC 20?

Standar ERC 20 mengatur fungsi-fungsi berikut saat mengembangkan token Ethereum:

  1. Dapatkan total pasokan token: Anda perlu menggunakan fungsi “totalSupply”.
  2. Ambil kembali saldo token akun pemilik lain.
  3. Kirim token ke akun pemilik lain: Anda perlu menggunakan fungsi “transfer”. Akun ini adalah akun EOA.
  4. Kirim token dari satu alamat token ke alamat lain. Alamat token adalah alamat kontrak, dan Anda perlu menggunakan fungsi “transferFrom”.
  5. Izinkan akun lain untuk menarik dana dari akun Anda berulang kali, dalam batas yang ditentukan. Anda harus menggunakan fungsi “setujui” untuk ini.
  6. Pengeluaran dapat mengembalikan token yang tidak digunakan kepada pemilik, menggunakan fungsi “tunjangan”.

Bug ERC 20 yang membakar token


Meskipun didokumentasikan dan diterapkan dengan sangat baik secara keseluruhan, standar ERC 20 memiliki bug, dan ini telah membakar token senilai jutaan dolar AS. Fungsi “transfer” hanya memungkinkan Anda mengirim token ke pemilik lain, yaitu akun EOA.

Jika Anda ingin mengirim dana ke akun kontrak pintar, yaitu bentuk lain dari akun Ethereum, Anda perlu menggunakan kombinasi “menyetujui” dan “transferFrom”. Jika Anda mengirim token ke kontrak pintar menggunakan fungsi “transfer”, Anda akan melihat transaksi yang berhasil, tetapi kontrak tidak akan pernah menerima token.

Ini akan membakar token tersebut selamanya, dan Anda tidak dapat mengambilnya kembali. Beberapa pengguna telah menggunakan fungsi yang salah untuk mengirim token ke kontrak pintar dan kehilangan token mereka untuk selamanya!

Ethereum Foundation mengetahui tentang bug tersebut tetapi terus mempromosikan standar ERC 20. Saya tidak tahu alasan mereka melakukannya. Mereka mungkin tidak menghargai impor masalah, atau ada penolakan untuk berubah.

Standar token ERC223: Resolusi yang diusulkan untuk bug ERC 20

Pengembang Ethereum yang menggunakan nama pengguna Reddit “Dexaran” mengusulkan EIP 223 dengan solusi untuk bug ERC 20 ini. Sebelum membandingkan ERC 20 vs ERC 223 vs ERC 777, saya akan menjelaskan proposalnya terlebih dahulu.

Standar token ERC223 masih berupa draf, dan komunitas Ethereum belum menerapkannya. Ini mengusulkan solusi berikut:

  1. Ini menganggap transaksi di blockchain Ethereum sebagai sebuah peristiwa dan menggunakan konsep ‘penanganan peristiwa’.
  2. Jika pengguna menggunakan fungsi “transfer” untuk mengirim token ke kontrak pintar, itu akan menimbulkan kesalahan, dan selanjutnya akan membatalkan transaksi.
  3. Pengguna membayar “harga Gas” Ethereum, tetapi tidak kehilangan token apa pun.
  4. Proposal ini menambahkan parameter tambahan ke fungsi “transfer”, untuk memeriksa apakah alamat penerima adalah akun kontrak.
  5. Jika ditemukan bahwa alamat penerima adalah akun kontrak dan bukan akun EOA, maka diasumsikan bahwa kontrak telah menerapkan “tokenFallback”.
  6. Fungsi “tokenFallback” memungkinkan pemanggilan kembali token, sehingga transaksi tidak membakar token apa pun.

Sementara ERC223 menyelesaikan sebagian besar bug ERC 20, ada kelemahan dalam proposal ini. Jika smart contract penerima tidak memiliki fungsi “tokanFallback”, maka fungsi “Fallback” akan berjalan, yang mengakibatkan hilangnya token.

Hanya beberapa proyek yang menggunakan ERC 223, contohnya adalah Proyek AmigoCoin. Anda dapat membaca lebih detail tentang proposal ERC 223 di Repositori GitHub EIP 223. Standar ini juga disebut ERC 23.

Standar ERC777: Proposal yang ditingkatkan untuk mengatasi bug ERC 20

Proposal yang ditingkatkan untuk mencegah hilangnya token karena bug ERC 20 adalah proposal ERC 777. Ini termasuk yang berikut:

  1. Fungsi baru: “kirim”, bukan “transfer”, “authoriseOperator”, bukan “setujui”, dan “tokensReceived”, bukan “tokenFallback”.
  2. Selama ini platform Ethereum memiliki kekurangan karena pengembang tidak dapat mengidentifikasi fungsi yang diimplementasikan oleh kontrak pintar. ERC 820, yaitu standar lain, telah menerapkan registri pusat kontrak di jaringan, oleh karena itu sekarang dimungkinkan untuk mengetahui fungsi dan antarmuka yang dimiliki kontrak pintar. ERC777 menggunakannya untuk mengidentifikasi antarmuka yang digunakan kontrak pintar. Sekarang pengembang akan mengetahui sebelumnya apakah suatu kontrak memiliki fungsi yang diperlukan untuk menerima token yang dikirim melalui fungsi tertentu.
  3. ERC 777 mengaktifkan ‘daftar putih’ operator, sehingga pengguna jaringan Ethereum sekarang memiliki kemampuan untuk menolak pembayaran dari alamat yang masuk daftar hitam. Sebuah alamat dapat masuk daftar hitam karena berbagai alasan, misalnya. mencoba meretas jaringan, riwayat aktivitas ilegal.

Anda dapat melihat pada perbandingan ERC 777 vs ERC 20 vs ERC 223 bagaimana ERC777 memberikan banyak pilihan kepada pengembang sehingga mereka dapat mencegah hilangnya token. Namun, standar ERC777 juga memiliki beberapa risiko, sebagai berikut:

  1. Beberapa pengembang Ethereum percaya bahwa fungsi “authoriseOperator” sudah tidak digunakan lagi, oleh karena itu pengembang tidak boleh menggunakannya. Fungsi ini juga akan membutuhkan lebih banyak “Gas” dan akan memberikan tekanan tambahan pada jaringan.
  2. Penggunaan registri pusat kontrak pintar untuk mencari antarmuka yang digunakan kontrak berisiko. Registri pusat mungkin memiliki bug, dan apa pun yang bergantung padanya akan berdampak buruk.

ERC777 masih merupakan konsep, namun ORCA token menggunakannya. Baca proposal di Repositori GitHub EIP 777.

ERC 777 vs ERC 20 vs ERC 223: Perlindungan dana itu penting

Meskipun hanya waktu yang akan memberi tahu standar mana yang akan diterima ekosistem Ethereum sebagai “standar Emas”, Anda sebagai pengembang harus ingat bahwa itu adalah tanggung jawab Anda untuk melindungi dana pedagang dan investor. Jika Anda mengambil posisi yang bertanggung jawab, Anda mungkin akan setuju bahwa meskipun kompleksitasnya, standar ERC 777 harus diterapkan dan diadopsi..

Catatan: Jika Anda ingin mempelajari lebih lanjut tentang beberapa kunci standar ERC, baca “Daftar Utama Standar ERC yang Perlu Anda Ketahui”.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map