ERC 20 έναντι ERC 223 έναντι ERC 777: Σύγκριση μεταξύ προτύπων διακριτικών Ethereum

Είστε προγραμματιστής Ethereum που εργάζεται σε ένα πρόγραμμα κρυπτογράφησης; Είναι πιθανό να αναπτύξετε το νέο διακριτικό χρησιμοποιώντας το πρότυπο ERC20, ωστόσο, πρέπει να γνωρίζετε τις προσπάθειες βελτίωσης. Αυτό θα σας βοηθήσει να λάβετε τη σωστή απόφαση σχετικά με το ποιο πρότυπο διακριτικού ERC θα χρησιμοποιήσετε, επομένως θα εξηγήσω τη σύγκριση ERC777 έναντι ERC223 έναντι ERC20 σε αυτό το άρθρο.

Θα ξεκινήσω τη σύγκριση με μια εξήγηση του ERC 20 και στη συνέχεια θα εξηγήσω τα μειονεκτήματα αυτού. Τότε θα εξηγήσω τις προσπάθειες βελτίωσης που ανέλαβε η κοινότητα Ethereum, μέσω ERC 777 και ERC 223.

Σύγκριση μεταξύ ERC20 έναντι ERC223 έναντι ERC777

Τι είναι το ERC 20?


Πριν συγκρίνω ERC 20 έναντι ERC 223 έναντι ERC 777, πρέπει να εξηγήσω τι είναι ERC και τι αντιπροσωπεύει το ERC20. Οι προγραμματιστές Ethereum συχνά υποβάλλουν «Προτάσεις βελτίωσης Ethreum» (EIPs). Η κοινότητα Ethereum αξιολογεί τα EIP, κάνουν σχόλια, τα οποία μπορεί να προκαλέσουν κάποια επανεξέταση.

Αφού η κοινότητα του Ethereum αποδεχτεί ένα EIP, γίνεται πρότυπο και στη συνέχεια το ονομάσαμε «Αιτηματικό Ethereum για Σχόλια» (ERC). Το ERC 20 είναι ένα τέτοιο πρότυπο για τα διακριτικά Ethreum.

Το ERC 20 είναι το πιο διάσημο πρότυπο διακριτικών Ethereum και σχεδόν όλοι οι ICO που χρησιμοποίησαν την πλατφόρμα Ethereum το έχουν χρησιμοποιήσει. Οι προγραμματιστές το χρησιμοποιούν από προεπιλογή για να δημιουργήσουν νέα διακριτικά, ενώ τα πορτοφόλια και οι ανταλλαγές δέχονται εύκολα τα διακριτικά ERC 20.

Πριν από το ERC 20, οι προγραμματιστές Ethereum έπρεπε να ορίσουν συγκεκριμένα κανόνες που θα ακολουθήσουν το διακριτικό τους και αυτή η προσέγγιση δεν διέθετε τυποποίηση. Τώρα με το ERC20, οι προγραμματιστές Ethereum γνωρίζουν ότι θα πρέπει απλώς να χρησιμοποιούν το πρότυπο ERC 20. Αυτή η τυποποίηση διαδραμάτισε σημαντικό ρόλο στην τροφοδοσία της τρέλας του ICO που είδαμε από το 2017.

Διαβάστε περισσότερα για το πρότυπο ERC 20 στον “Οδηγό για αρχάριους: Τι είναι το ERC20;”.

Τι είναι οι τυπικές λειτουργίες ERC 20?

Το πρότυπο ERC 20 ορίζει τις ακόλουθες λειτουργίες κατά την ανάπτυξη ενός διακριτικού Ethereum:

  1. Λάβετε τη συνολική προσφορά των διακριτικών: Πρέπει να χρησιμοποιήσετε τη λειτουργία “totalSupply”.
  2. Ανάκτηση υπολοίπου λογαριασμού άλλου κατόχου.
  3. Αποστολή διακριτικών σε άλλο λογαριασμό κατόχου: Πρέπει να χρησιμοποιήσετε τη λειτουργία “μεταφορά”. Αυτοί οι λογαριασμοί είναι λογαριασμοί EOA.
  4. Στείλτε διακριτικά από μία διεύθυνση διακριτικού σε άλλη. Οι διευθύνσεις διακριτικών είναι διευθύνσεις συμβολαίων και πρέπει να χρησιμοποιήσετε τη λειτουργία “transferFrom”.
  5. Επιτρέψτε σε άλλο λογαριασμό να αποσύρει χρήματα από τον λογαριασμό σας επανειλημμένα, εντός καθορισμένου ορίου. Θα πρέπει να χρησιμοποιήσετε τη λειτουργία “έγκριση” για αυτό.
  6. Οι δαπάνες μπορούν να επιστρέψουν τα αχρησιμοποίητα διακριτικά στους ιδιοκτήτες, χρησιμοποιώντας τη συνάρτηση «επίδομα».

Ένα σφάλμα ERC 20 που καίει μάρκες

Ενώ είναι πολύ καλά τεκμηριωμένο και εφαρμοσμένο συνολικά, το πρότυπο ERC 20 έχει ένα σφάλμα, και αυτό έχει ήδη κάψει μάρκες αξίας εκατομμύρια δολαρίων ΗΠΑ. Η λειτουργία “μεταφορά” σάς επιτρέπει μόνο να στέλνετε διακριτικά σε άλλον κάτοχο, δηλαδή σε λογαριασμό EOA.

Εάν θέλετε να στείλετε χρήματα σε έναν έξυπνο λογαριασμό συμβολαίου, δηλαδή την άλλη μορφή λογαριασμών Ethereum, πρέπει να χρησιμοποιήσετε το συνδυασμό “έγκριση” και “μεταφορά από”. Εάν στείλετε διακριτικά σε μια έξυπνη σύμβαση χρησιμοποιώντας τη λειτουργία “μεταφορά”, θα δείτε μια επιτυχημένη συναλλαγή, αλλά η σύμβαση δεν θα λάβει ποτέ τα διακριτικά.

Αυτό καίει αυτά τα διακριτικά για πάντα και δεν μπορείτε να τα ανακτήσετε. Πολλοί χρήστες έχουν χρησιμοποιήσει λάθος λειτουργία για να στείλουν μάρκες σε έξυπνα συμβόλαια και έχασαν τα διακριτικά τους για πάντα!

Το Ethereum Foundation γνωρίζει για το σφάλμα, αλλά συνεχίζει να προωθεί το πρότυπο ERC 20. Δεν ξέρω τους λόγους για τους οποίους το έκαναν. Πιθανότατα δεν εκτιμούν την εισαγωγή του ζητήματος ή υπάρχει αντίσταση στην αλλαγή.

Το πρότυπο διακριτικού ERC223: Μια προτεινόμενη ανάλυση για το σφάλμα ERC 20

Ένας προγραμματιστής Ethereum που πηγαίνει με το όνομα χρήστη Reddit “Dexaran” πρότεινε το EIP 223 με μια λύση σε αυτό το σφάλμα ERC 20. Πριν συγκρίνω ERC 20 έναντι ERC 223 έναντι ERC 777, θα εξηγήσω πρώτα την πρότασή του.

Το πρότυπο διακριτικού ERC223 εξακολουθεί να είναι προσχέδιο και η κοινότητα Ethereum δεν το έχει εφαρμόσει ακόμα. Προτείνει την ακόλουθη λύση:

  1. Θεωρεί μια συναλλαγή στο Ethereum blockchain ως γεγονός και χρησιμοποιεί την έννοια «χειρισμός συμβάντων».
  2. Εάν οι χρήστες χρησιμοποιούν τη λειτουργία “μεταφοράς” για να στείλουν μάρκες σε μια έξυπνη σύμβαση, θα προκαλέσει σφάλμα και στη συνέχεια θα ακυρώσει τη συναλλαγή.
  3. Ο χρήστης πληρώνει το Ethereum “Τιμή αερίου”, αλλά δεν χάνει κανένα διακριτικό.
  4. Αυτή η πρόταση προσθέτει μια πρόσθετη παράμετρο στη συνάρτηση «μεταφορά», για να ελέγξει αν η διεύθυνση παραλαβής είναι λογαριασμός συμβολαίου.
  5. Εάν διαπιστώσει ότι η διεύθυνση παραλήπτη είναι λογαριασμός συμβολαίου και όχι λογαριασμός EOA, τότε υποθέτει ότι η σύμβαση έχει εφαρμόσει ένα “tokenFallback”.
  6. Η συνάρτηση “tokenFallback” επιτρέπει την επαναφορά του διακριτικού, οπότε η συναλλαγή δεν καίει κανένα διακριτικό.

Ενώ το ERC223 λύνει το σφάλμα ERC 20 σε μεγάλο βαθμό, υπάρχει μια αδυναμία σε αυτήν την πρόταση. Εάν το έξυπνο συμβόλαιο παραλήπτη δεν έχει λειτουργία “tokanFallback”, τότε θα εκτελεστεί η λειτουργία “Fallback”, με αποτέλεσμα την απώλεια διακριτικών.

Μόνο μερικά έργα χρησιμοποιούν το ERC 223, ένα παράδειγμα είναι το Έργο AmigoCoin. Μπορείτε να διαβάσετε περισσότερες λεπτομέρειες σχετικά με την πρόταση ERC 223 στο Αποθήκη GitHub EIP 223. Αυτό το πρότυπο ονομάζεται επίσης το ERC 23.

Το πρότυπο ERC777: Μια βελτιωμένη πρόταση για την επίλυση του σφάλματος ERC 20

Μια βελτιωμένη πρόταση για την αποτροπή της απώλειας διακριτικών λόγω του σφάλματος ERC 20 είναι η πρόταση ERC 777. Περιλαμβάνει τα ακόλουθα:

  1. Νέες λειτουργίες: “αποστολή” αντί για “μεταφορά”, “authoriseOperator” αντί για “έγκριση” και “tokensReceived” αντί για “tokenFallback”.
  2. Για πολύ καιρό η πλατφόρμα Ethereum είχε ένα μειονέκτημα, επειδή οι προγραμματιστές δεν μπορούσαν να εντοπίσουν ποιες λειτουργίες εφαρμόζουν τα έξυπνα συμβόλαια. Το ERC 820, δηλαδή ένα άλλο πρότυπο, έχει εφαρμόσει ένα κεντρικό μητρώο συμβάσεων στο δίκτυο, επομένως είναι πλέον δυνατό να γνωρίζουμε τις λειτουργίες και τις διεπαφές που έχει ένα έξυπνο συμβόλαιο. Το ERC777 το χρησιμοποιεί για να προσδιορίσει διεπαφές που χρησιμοποιεί μια έξυπνη σύμβαση. Τώρα οι προγραμματιστές θα γνωρίζουν εκ των προτέρων εάν μια σύμβαση έχει τις λειτουργίες που απαιτούνται για τη λήψη διακριτικών που αποστέλλονται μέσω συγκεκριμένων λειτουργιών.
  3. Το ERC 777 επιτρέπει τη «λίστα επιτρεπόμενων» των χειριστών, επομένως οι χρήστες του δικτύου Ethereum θα έχουν πλέον τη δυνατότητα να απορρίπτουν πληρωμές από διευθύνσεις μαύρης λίστας. Μια διεύθυνση μπορεί να συμπεριληφθεί στη μαύρη λίστα για πολλούς λόγους, π.χ. προσπάθεια παραβίασης του δικτύου, ιστορικό παράνομων δραστηριοτήτων.

Μπορείτε να δείτε στη σύγκριση ERC 777 vs ERC 20 vs ERC 223 πώς το ERC777 παρέχει πολλές επιλογές στους προγραμματιστές, ώστε να μπορούν να αποτρέψουν την απώλεια διακριτικών. Ωστόσο, το πρότυπο ERC777 έρχεται επίσης με μερικούς κινδύνους, ως εξής:

  1. Ορισμένοι προγραμματιστές Ethereum πιστεύουν ότι η λειτουργία “authoriseOperator” έχει καταργηθεί, επομένως οι προγραμματιστές δεν πρέπει να τη χρησιμοποιούν. Αυτή η λειτουργία θα απαιτήσει επίσης περισσότερο “Gas” και θα επιβαρύνει περισσότερο το δίκτυο.
  2. Η χρήση ενός κεντρικού μητρώου έξυπνων συμβάσεων για την αναζήτηση διεπαφών που χρησιμοποιεί μια σύμβαση είναι επικίνδυνη. Ένα κεντρικό μητρώο μπορεί να έχει σφάλματα και οτιδήποτε εξαρτάται από αυτό θα έχει δυσμενείς επιπτώσεις.

Το ERC777 είναι ακόμα ένα σχέδιο, ωστόσο, το ORCA το διακριτικό το χρησιμοποιεί. Διαβάστε την πρόταση στο Αποθήκη EIP 777 GitHub.

ERC 777 vs ERC 20 έναντι ERC 223: Η προστασία των κεφαλαίων είναι σημαντική

Αν και μόνο ο χρόνος θα δείξει ποιο πρότυπο το οικοσύστημα Ethereum θα αποδεχτεί ως “Χρυσό πρότυπο”, εσείς ως προγραμματιστής πρέπει να θυμάστε ότι είναι δική σας ευθύνη να προστατεύετε τα κεφάλαια των εμπόρων και των επενδυτών. Εάν λάβετε μια τόσο υπεύθυνη θέση, πιθανότατα θα συμφωνήσετε ότι παρά την πολυπλοκότητα, το πρότυπο ERC 777 πρέπει να εφαρμοστεί και να υιοθετηθεί.

Σημείωση: Εάν θέλετε να μάθετε περισσότερα σχετικά με μερικά βασικά πρότυπα ERC, διαβάστε την ενότητα “Η απόλυτη λίστα προτύπων ERC που πρέπει να γνωρίζετε”. 

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me