ERC 20 เทียบกับ ERC 223 เทียบกับ ERC 777: การเปรียบเทียบระหว่างมาตรฐานโทเค็น Ethereum

คุณเป็นนักพัฒนา Ethereum ที่ทำงานในโครงการ crypto หรือไม่? คุณมีแนวโน้มที่จะพัฒนาโทเค็นใหม่โดยใช้มาตรฐาน ERC20 อย่างไรก็ตามคุณจำเป็นต้องทราบถึงความพยายามในการปรับปรุง สิ่งนี้จะช่วยให้คุณตัดสินใจได้อย่างถูกต้องว่าควรใช้มาตรฐานโทเค็น ERC ใดดังนั้นฉันจะอธิบายการเปรียบเทียบ ERC777 กับ ERC223 เทียบกับ ERC20 ในบทความนี้.

ฉันจะเริ่มการเปรียบเทียบด้วยคำอธิบายของ ERC 20 และฉันจะอธิบายข้อเสียของมันในภายหลัง จากนั้นฉันจะอธิบายถึงความพยายามในการปรับปรุงที่ชุมชน Ethereum ดำเนินการผ่านทาง ERC 777 และ ERC 223.

เปรียบเทียบระหว่าง ERC20 กับ ERC223 กับ ERC777

ERC 20 เทียบกับ ERC 223 เทียบกับ ERC 777


ERC คืออะไร 20?

ก่อนที่ฉันจะเปรียบเทียบ ERC 20 กับ ERC 223 กับ ERC 777 ฉันต้องอธิบายว่า ERC คืออะไรและ ERC20 แสดงถึงอะไร นักพัฒนา Ethereum มักจะส่ง “ข้อเสนอการปรับปรุง Ethreum” (EIP) ชุมชน Ethereum ตรวจสอบ EIP แสดงความคิดเห็นซึ่งอาจทำให้เกิดการทำงานซ้ำ.

หลังจากที่ชุมชน Ethereum ยอมรับ EIP แล้วมันจะกลายเป็นมาตรฐานจากนั้นเราจึงเรียกมันว่า ‘Ethereum Request for Comments’ (ERC) ERC 20 เป็นมาตรฐานหนึ่งสำหรับโทเค็น Ethreum.

ERC 20 เป็นมาตรฐานโทเค็น Ethereum ที่มีชื่อเสียงที่สุดและ ICO เกือบทั้งหมดที่ใช้แพลตฟอร์ม Ethereum ได้ใช้มัน นักพัฒนาใช้เป็นค่าเริ่มต้นเพื่อสร้างโทเค็นใหม่ในขณะที่กระเป๋าเงินและการแลกเปลี่ยนยอมรับโทเค็น ERC 20 ได้อย่างง่ายดาย.

ก่อน ERC 20 นักพัฒนา Ethereum ต้องกำหนดกฎเกณฑ์โดยเฉพาะเพื่อให้โทเค็นของตนปฏิบัติตามและแนวทางนี้ขาดมาตรฐาน ตอนนี้ด้วย ERC20 นักพัฒนา Ethereum รู้ว่าพวกเขาจะต้องใช้มาตรฐาน ERC 20 เท่านั้น มาตรฐานนี้มีส่วนสำคัญในการกระตุ้นความคลั่งไคล้ ICO ที่เราเห็นมาตั้งแต่ปี 2560.

อ่านเพิ่มเติมเกี่ยวกับมาตรฐาน ERC 20 ใน“ คู่มือสำหรับผู้เริ่มต้น: ERC20 คืออะไร”.

ฟังก์ชันมาตรฐาน ERC 20 คืออะไร?

มาตรฐาน ERC 20 กำหนดฟังก์ชันต่อไปนี้เมื่อพัฒนาโทเค็น Ethereum:

  1. รับโทเค็นทั้งหมด: คุณต้องใช้ฟังก์ชัน“ totalSupply”.
  2. เรียกคืนโทเค็นยอดคงเหลือของบัญชีเจ้าของอื่น.
  3. ส่งโทเค็นไปยังบัญชีเจ้าของอื่น: คุณต้องใช้ฟังก์ชัน “โอน” บัญชีเหล่านี้เป็นบัญชี EOA.
  4. ส่งโทเค็นจากที่อยู่โทเค็นหนึ่งไปยังอีกที่อยู่ ที่อยู่โทเค็นคือที่อยู่ในสัญญาและคุณต้องใช้ฟังก์ชัน“ transferFrom”.
  5. อนุญาตให้บัญชีอื่นถอนเงินจากบัญชีของคุณซ้ำ ๆ ภายในขีด จำกัด ที่กำหนด คุณควรใช้ฟังก์ชัน“ อนุมัติ” สำหรับสิ่งนี้.
  6. ผู้ใช้จ่ายสามารถคืนโทเค็นที่ไม่ได้ใช้ให้กับเจ้าของโดยใช้ฟังก์ชัน “ค่าเผื่อ”.

ข้อผิดพลาด ERC 20 ที่เบิร์นโทเค็น

แม้ว่าจะมีการจัดทำเอกสารและใช้งานโดยรวมเป็นอย่างดี แต่มาตรฐาน ERC 20 ก็มีข้อบกพร่องและสิ่งนี้ได้เผาโทเค็นมูลค่าหลายล้านดอลลาร์สหรัฐไปแล้ว ฟังก์ชัน “โอน” อนุญาตให้คุณส่งโทเค็นไปยังเจ้าของรายอื่นเท่านั้นเช่นบัญชี EOA.

หากคุณต้องการส่งเงินไปยังบัญชีสัญญาอัจฉริยะเช่นบัญชี Ethereum รูปแบบอื่นคุณต้องใช้ชุดค่าผสม“ อนุมัติ” และ“ โอนจาก” หากคุณส่งโทเค็นไปยังสัญญาอัจฉริยะโดยใช้ฟังก์ชัน “โอน” คุณจะเห็นธุรกรรมที่สำเร็จ แต่สัญญาจะไม่ได้รับโทเค็น.

สิ่งนี้จะเผาโทเค็นเหล่านั้นไปตลอดกาลและคุณไม่สามารถเรียกคืนได้ ผู้ใช้หลายคนใช้ฟังก์ชันที่ไม่ถูกต้องในการส่งโทเค็นไปยังสัญญาอัจฉริยะและสูญเสียโทเค็นไปโดยปริยาย!

มูลนิธิ Ethereum รู้เกี่ยวกับข้อบกพร่อง แต่ยังคงส่งเสริมมาตรฐาน ERC 20 ฉันไม่รู้เหตุผลของพวกเขาที่ทำเช่นนั้น พวกเขาอาจไม่เห็นคุณค่าของการนำเข้าปัญหาหรือมีความต้านทานต่อการเปลี่ยนแปลง.

มาตรฐานโทเค็น ERC223: การแก้ปัญหาที่เสนอสำหรับข้อบกพร่อง ERC 20

นักพัฒนา Ethereum ที่ใช้ชื่อผู้ใช้ Reddit“ Dexaran” เสนอ EIP 223 พร้อมวิธีแก้บั๊ก ERC 20 นี้ ก่อนที่จะเปรียบเทียบ ERC 20 vs ERC 223 vs ERC 777 ฉันจะอธิบายข้อเสนอของเขาก่อน.

มาตรฐานโทเค็น ERC223 ยังคงเป็นแบบร่างและชุมชน Ethereum ยังไม่ได้นำไปใช้ เสนอวิธีแก้ปัญหาต่อไปนี้:

  1. จะถือว่าธุรกรรมบน Ethereum blockchain เป็นเหตุการณ์และใช้แนวคิด “การจัดการเหตุการณ์”.
  2. หากผู้ใช้ใช้ฟังก์ชัน “โอน” เพื่อส่งโทเค็นไปยังสัญญาอัจฉริยะระบบจะแสดงข้อผิดพลาดและจะยกเลิกธุรกรรมในภายหลัง.
  3. ผู้ใช้จ่าย Ethereum“ ราคาก๊าซ” แต่ไม่เสียโทเค็นใด ๆ.
  4. ข้อเสนอนี้เพิ่มพารามิเตอร์เพิ่มเติมให้กับฟังก์ชัน “โอน” เพื่อตรวจสอบว่าที่อยู่ผู้รับเป็นบัญชีสัญญาหรือไม่.
  5. หากพบว่าที่อยู่ผู้รับเป็นบัญชีในสัญญาไม่ใช่บัญชี EOA จะถือว่าสัญญาได้ใช้ “tokenFallback”.
  6. ฟังก์ชัน“ tokenFallback” อนุญาตให้เรียกโทเค็นกลับดังนั้นธุรกรรมจึงไม่เบิร์นโทเค็นใด ๆ.

ในขณะที่ ERC223 แก้ไขข้อบกพร่อง ERC 20 ในระดับที่ดี แต่ก็มีจุดอ่อนในข้อเสนอนี้ หากผู้รับสัญญาอัจฉริยะไม่มีฟังก์ชัน“ tokanFallback” ฟังก์ชัน“ ทางเลือก” จะทำงานส่งผลให้โทเค็นสูญหาย.

มีเพียงไม่กี่โครงการที่ใช้ ERC 223 ตัวอย่างคือไฟล์ โครงการ AmigoCoin. คุณสามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับข้อเสนอ ERC 223 ได้ในไฟล์ ที่เก็บ GitHub EIP 223. มาตรฐานนี้เรียกอีกอย่างว่า ERC 23.

มาตรฐาน ERC777: ข้อเสนอที่ปรับปรุงเพื่อแก้ไขข้อบกพร่อง ERC 20

ข้อเสนอที่ได้รับการปรับปรุงเพื่อป้องกันการสูญหายของโทเค็นเนื่องจากข้อผิดพลาด ERC 20 คือข้อเสนอ ERC 777 ซึ่งรวมถึงสิ่งต่อไปนี้:

  1. ฟังก์ชั่นใหม่: “ส่ง” แทน “โอน”, “authoriseOperator” แทน “อนุมัติ” และ “โทเค็นได้รับ” แทน “tokenFallback”.
  2. เป็นเวลานานมาแล้วที่แพลตฟอร์ม Ethereum มีข้อเสียเปรียบเนื่องจากนักพัฒนาไม่สามารถระบุได้ว่าสัญญาอัจฉริยะใช้ฟังก์ชันใดบ้าง ERC 820 กล่าวคือมาตรฐานอื่นได้ใช้การลงทะเบียนกลางของสัญญาบนเครือข่ายด้วยเหตุนี้จึงเป็นไปได้ที่จะทราบถึงฟังก์ชันและการเชื่อมต่อของสัญญาอัจฉริยะ ERC777 ใช้เพื่อระบุอินเทอร์เฟซที่สัญญาอัจฉริยะใช้ ตอนนี้นักพัฒนาจะทราบล่วงหน้าว่าสัญญามีฟังก์ชันที่จำเป็นในการรับโทเค็นที่ส่งผ่านฟังก์ชันบางอย่างหรือไม่.
  3. ERC 777 เปิดใช้งาน “รายการที่อนุญาตพิเศษ” ของผู้ให้บริการดังนั้นผู้ใช้เครือข่าย Ethereum จะสามารถปฏิเสธการชำระเงินจากที่อยู่ในบัญชีดำได้ ที่อยู่อาจถูกขึ้นบัญชีดำได้เนื่องจากสาเหตุหลายประการเช่น พยายามแฮ็กเครือข่ายประวัติกิจกรรมที่ผิดกฎหมาย.

คุณสามารถดูได้ในการเปรียบเทียบ ERC 777 เทียบกับ ERC 20 เทียบกับ ERC 223 ว่า ERC777 มีตัวเลือกมากมายให้กับนักพัฒนาเพื่อป้องกันการสูญหายของโทเค็นได้อย่างไร อย่างไรก็ตามมาตรฐาน ERC777 ยังมีความเสี่ยงดังนี้:

  1. นักพัฒนา Ethereum บางรายเชื่อว่าฟังก์ชัน“ authoriseOperator” เลิกใช้งานแล้วดังนั้นนักพัฒนาจึงไม่ควรใช้ฟังก์ชันนี้ ฟังก์ชั่นนี้จะต้องใช้“ แก๊ส” มากขึ้นและจะทำให้เกิดความเครียดเพิ่มเติมในเครือข่าย.
  2. การใช้รีจิสทรีส่วนกลางของสัญญาอัจฉริยะเพื่อค้นหาอินเทอร์เฟซที่สัญญาใช้มีความเสี่ยง รีจิสทรีส่วนกลางอาจมีจุดบกพร่องและสิ่งใดก็ตามที่ขึ้นอยู่กับสิ่งนั้นจะมีผลกระทบ.

ERC777 ยังคงเป็นร่างอย่างไรก็ตามไฟล์ ออร์ก้า โทเค็นใช้มัน อ่านข้อเสนอในไฟล์ ที่เก็บ EIP 777 GitHub.

ERC 777 vs ERC 20 vs ERC 223: การคุ้มครองเงินเป็นสิ่งสำคัญ

ในขณะที่มีเวลาเท่านั้นที่จะบอกได้ว่าระบบนิเวศของ Ethereum จะยอมรับมาตรฐานใดในฐานะ “มาตรฐานทองคำ” แต่คุณในฐานะนักพัฒนาต้องจำไว้ว่าการปกป้องเงินทุนของเทรดเดอร์และนักลงทุนเป็นความรับผิดชอบของคุณ หากคุณรับตำแหน่งที่รับผิดชอบเช่นนี้คุณอาจจะยอมรับว่าแม้จะมีความซับซ้อน แต่ก็ควรนำมาตรฐาน ERC 777 มาใช้และนำไปใช้.

หมายเหตุ: หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับมาตรฐาน ERC ที่สำคัญบางประการโปรดอ่าน“ รายการขั้นสูงสุดของมาตรฐาน ERC ที่คุณต้องรู้”.

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