ERC-4337 กับ EIP-3074: การแบ่งขั้วที่ผิดพลาด

ขั้นสูงJan 16, 2024
บทความนี้ชี้แจงความเข้าใจผิดเกี่ยวกับ EIP-3074 ว่าเป็นเส้นทางนามธรรมของบัญชีทางเลือก และวิเคราะห์ความแตกต่างระหว่างนามธรรมของบัญชีแบบเต็ม ERC-4337 และ Epos ที่เป็นนามธรรมของการดำเนินการล้วนๆ
ERC-4337 กับ EIP-3074: การแบ่งขั้วที่ผิดพลาด

นามธรรมบัญชีคืออะไร?

บัญชี Ethereum ทุกบัญชีมีห้าฟังก์ชันการทำงาน:

  • การรับรองความถูกต้อง
  • การอนุญาต
  • การป้องกันการเล่นซ้ำ
  • ชำระค่าแก๊ส
  • การดำเนินการ

EOA นำไปใช้ในลักษณะฮาร์ดโค้ด:

  • การรับรองความถูกต้องและการอนุญาตจะรวมเข้าด้วยกัน: คีย์ ECDSA ที่ไม่เปลี่ยนรูปจะพิสูจน์ตัวตนและให้สิทธิ์เต็มรูปแบบ
  • การป้องกันการเล่นซ้ำนั้นไม่ใช่เรื่องง่าย - การตอบโต้ที่เพิ่มขึ้นอย่างซ้ำซากจำเจ
  • การจ่ายก๊าซจะดำเนินการโดยตรงจากยอดคงเหลือ ETH ของ EOA
  • การดำเนินการ - การโทรครั้งเดียวไปยังปลายทางเดียว

การแยกบัญชีหมายถึงการเพิ่มตรรกะเชิงโปรแกรมให้กับฟังก์ชันทั้งห้านี้:

  • การรับรองความถูกต้อง - รูปแบบใด ๆ ของการพิสูจน์ตัวตนของตน
  • การอนุญาต - นโยบายการเข้าถึงใด ๆ
  • การป้องกันการเล่นซ้ำ - ลำดับธุรกรรมแยกจากการป้องกันการเล่นซ้ำ
  • การจ่ายน้ำมัน - การจ่ายน้ำมันแยกออกจากบัญชีเอง
  • การดำเนินการ - ตรรกะการดำเนินการใด ๆ

ตัวอย่างกรณีการใช้งานนามธรรมบัญชี

  • รูปแบบลายเซ็นที่แตกต่างกัน
    • secp256r1 (วงล้อมที่ปลอดภัย, รหัสผ่าน)
    • ชนอร์
    • บีแอลเอส
    • หลังควอนตัม
    • หลักฐาน ZK (เช่น ซเคเมล)
  • การหมุนกุญแจ
    • แทนที่คีย์ที่ถูกบุกรุก
    • สวิตช์การรับมรดกของ Deadman (คีย์จะใช้งานได้หากบัญชีไม่ได้ใช้งานเป็นเวลาหนึ่งปี)
  • นโยบายการเข้าถึงที่แตกต่างกัน
    • มัลติซิก
    • การเข้าถึงตามบทบาท
    • คีย์เซสชันเฉพาะของ DApp
    • การฟื้นฟูสังคม
  • รูปแบบการป้องกันการเล่นซ้ำที่แตกต่างกัน
    • ธุรกรรมคู่ขนานจากหน่วยงานต่างๆ
    • ธุรกรรมในอนาคตที่ลงนามล่วงหน้าจะถูกส่งโดยบุคคลที่สาม
    • ช่องทางการบริหาร
  • สิ่งที่เป็นนามธรรมของแก๊ส
    • การสนับสนุนก๊าซโดยบุคคลที่สาม
    • ชำระเงินด้วยสินทรัพย์อื่นที่ไม่ใช่ ETH
    • ความเป็นส่วนตัว: การอ้างสิทธิ์หรือการถอนตัวจาก Airdrop โดยไม่เปิดเผยตัวตนจาก ZK Rollups หรือ Mixers
  • นามธรรมการดำเนินการ
    • การรวมสายหลายสายไปยังปลายทางหลายแห่ง (เช่น อนุมัติ+โอนจาก)
    • อะตอมมิกซิตี
    • การปรับปรุง UX เฉพาะ DApp

ERC-4337 กับ EIP-3074: การแบ่งขั้วที่ผิดพลาด

EIP-3074 มุ่งหวังที่จะสรุปการดำเนินการโดยการเพิ่มพลัง EOA ด้วยตรรกะการดำเนินการตามอำเภอใจผ่านตัวเรียกใช้งาน มีคุณสมบัติพิเศษคือขยายขีดความสามารถของ EOA โดยไม่ต้องย้ายสินทรัพย์ไปยังบัญชีใหม่ ไม่จำเป็นต้องแก้ไขปัญหาต่างๆ เช่น การเข้าถึงแบบกระจายอำนาจ เนื่องจากการดำเนินการไม่ส่งผลกระทบต่อสิ่งนี้ ฟังก์ชันอีกสี่ฟังก์ชันใช้งานได้ แต่อยู่นอกขอบเขตของ EIP-3074

ERC-4337 มุ่งหวังที่จะสรุปบัญชีทั้งหมด - ฟังก์ชันทั้งห้าฟังก์ชัน เป็นปัญหาที่ยากกว่าในการแก้ไขหากยังคงรักษาการกระจายอำนาจและการต่อต้านการเซ็นเซอร์เอาไว้ จุดเน้นของ ERC-4337 คือการบรรเทา DoS และเวกเตอร์การโจมตีที่น่าเศร้าที่เปิดใช้งานโดยการสรุปฟังก์ชันสี่ฟังก์ชันแรกโดยไม่ต้องใช้โครงสร้างพื้นฐานแบบรวมศูนย์ เนื่องจาก ERC ไม่สามารถขยายขีดความสามารถของ EOA ได้ และจำเป็นต้องย้ายไปยังบัญชีอัจฉริยะ

การทับซ้อนกันระหว่างทั้งสองวิธีมีน้อยมาก: มีเพียงนามธรรมของการดำเนินการเท่านั้น

นอกจากนี้ แต่ละวิธีมีจุดมุ่งหมายเพื่อแก้ไขปัญหาที่อีกวิธีไม่มี: EIP-3074 มีจุดมุ่งหมายเพื่อให้บริการ EOA ที่มีอยู่และทำให้ทุกอย่างเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ ERC-4337 มีเป้าหมายที่จะมอบ Account Abstraction เต็มรูปแบบโดยไม่ต้องเสียสละคุณสมบัติหลักของ Ethereum เช่น การกระจายอำนาจ

หากมีใครยืนยันที่จะเปรียบเทียบ ERC-4337 กับข้อเสนอก่อนหน้า ข้อเสนอที่ใกล้เคียงที่สุดคือ EIP-2938 ไม่ใช่ EIP-3074 EIP-2938 เป็นความก้าวหน้าในด้านนามธรรมบัญชี ซึ่งเป็นข้อเสนอแรกในการตระหนักถึงความยากของการบรรเทา DoS ใน mempool AA ERC-4337 แก้ปัญหาบางอย่างที่ EIP-2938 ไม่ได้แก้ปัญหา แต่การเปรียบเทียบทั้งหมดอยู่นอกขอบเขตของเอกสารนี้

ทั้ง ERC-4337 และ EIP-3074 สามารถแก้ปัญหาอะไรได้บ้าง

ทั้งสองแก้ปัญหานามธรรมในการดำเนินการ และเปิดใช้งานหมวดหมู่สุดท้ายของกรณีการใช้งานด้านบน:

  • การรวมสายหลายสายไปยังปลายทางหลายแห่ง
  • อะตอมมิกซิตี
  • การปรับปรุง UX เฉพาะ DApp

EIP-3074 ทำอะไรได้บ้าง ERC-4337 ทำไม่ได้?

  • เพิ่มฟังก์ชันการดำเนินการที่ซับซ้อนให้กับ EOA ที่มีอยู่
    • ERC-4337 ไม่สามารถเพิ่มฟังก์ชันการทำงานให้กับ EOA ได้เนื่องจากเป็น ERC
  • ความเรียบง่ายและประสิทธิภาพการใช้ก๊าซที่ดีขึ้น เมื่อจำเป็นต้องมีการดำเนินการที่เป็นนามธรรมเท่านั้น
    • นามธรรมบัญชีแบบเต็มเพิ่มความซับซ้อนที่ไม่จำเป็นสำหรับการดำเนินการนามธรรม

ERC-4337 ทำอะไรได้บ้าง EIP-3074 ทำไม่ได้?

  • รองรับเชน EVM ใดๆ ในวันที่ 1 ไม่มีการเปลี่ยนแปลงฉันทามติ
    • แต่ละเครือข่ายจะต้องนำ EIP-3074 มาใช้โดยผ่านการเปลี่ยนแปลงที่เป็นเอกฉันท์
  • นวัตกรรมที่ไม่ได้รับอนุญาต
    • กระเป๋าเงินจะอนุญาตเฉพาะผู้เรียกใช้ EIP-3074 ที่ได้รับอนุญาตเท่านั้น บัญชี ERC-4337 ทุกคนสามารถสร้างและใช้งานได้
  • นามธรรมบัญชีแบบเต็ม - กรณีการใช้งานทั้งหมดข้างต้น โดยไม่สูญเสียการกระจายอำนาจ:
    • รูปแบบลายเซ็นที่แตกต่างกัน
      • EIP-3074 ใช้ ECDSA EIP กล่าวถึงเส้นทางในอนาคตสำหรับการย้ายไปยังรูปแบบอื่น แต่ตราบใดที่ EOA เองยอมรับคีย์ ECDSA ผู้เรียกใช้ก็ไม่สามารถป้องกันไม่ให้มีการใช้โดยตรง
    • การหมุนกุญแจ
      • ด้วย EIP-3074 EOA ยังคงมีรหัสที่เพิกถอนไม่ได้
    • นโยบายการเข้าถึงที่แตกต่างกัน
      • คีย์ ECDSA สามารถข้ามผู้เรียกใช้และดำเนินการใดๆ ในบัญชีได้ ไม่มีการควบคุมการเข้าถึงแบบละเอียด
    • รูปแบบการป้องกันการเล่นซ้ำที่แตกต่างกัน
      • บัญชียังคงเป็น EOA และใช้ nonce 1 มิติ
    • สิ่งที่เป็นนามธรรมของแก๊ส
      • บัญชีจะชำระค่าน้ำมันของตัวเองด้วย ETH
      • ระบบนามธรรมก๊าซสามารถสร้างขึ้นได้บน EIP-3074 โดยใช้รีเลย์เพื่อส่งธุรกรรมเมตาในนามของบัญชี อย่างไรก็ตาม การปกป้องรีเลย์ดังกล่าวจาก DoS และความโศกเศร้าถือเป็นความท้าทาย ดังนั้นรีเลย์เหล่านี้จึงมีแนวโน้มที่จะได้รับอนุญาต ความซับซ้อนของ ERC-4337 ส่วนใหญ่เกิดจากการทำให้รีเลย์ (บันเดิล) เหล่านั้นไม่ได้รับอนุญาต

EIP-3074 + EIP-5003 สามารถทำแบบ ERC-4337 ได้หรือไม่?

EIP-5003 เข้ามาเสริม EIP-3074 โดยปล่อยให้ EOA เพิกถอนคีย์ ECDSA และกลายเป็นสัญญาอัจฉริยะ ตามสัญญา จะสามารถสรุปฟังก์ชันการทำงานของบัญชีที่เหลือได้ เช่น แทนที่ ECDSA ด้วยลายเซ็นอื่น หมุนเวียนคีย์ ใช้นโยบายการเข้าถึง ฯลฯ ในแง่นั้น มันค่อนข้างเทียบเท่ากับข้อเสนอเช่น EIP-6913 และ EIP-7377 แต่เหนือกว่า EIP-7377 เพราะในฐานะ opcode มันสามารถใช้ระบบ gas abstraction สำหรับการย้ายข้อมูลได้

เมื่อแปลง EOA เป็นสัญญาอัจฉริยะแล้ว จะไม่สามารถทำธุรกรรมโดยตรงได้อีกต่อไป และจำเป็นต้องเข้าถึงผ่าน EOA อื่น สิ่งนี้ทำให้เกิดความท้าทายที่ ERC-4337 ได้รับการออกแบบมาเพื่อแก้ไข ผู้ใช้มีสองวิธีในการทำธุรกรรมกับบัญชีหลังจากการโยกย้าย:

  1. รักษา EOA ที่ได้รับทุนสนับสนุนอีกรายการหนึ่งเพื่อทำธุรกรรมกับบัญชี และลงนามในธุรกรรมแต่ละรายการสองครั้ง สิ่งนี้จะลบล้างค่าของการลบบัญชีและส่งผลให้ UX ไม่ดี
  2. ใช้รีเลย์ที่ดูแล EOA ที่ได้รับทุน วางธุรกรรมแบบลูกโซ่ และรับเงินคืนจากบัญชี การป้องกันรีเลย์ดังกล่าวจาก DoS และความโศกเศร้านั้นยากกว่าที่คิด ดังนั้นบางโครงการจึงเรียกใช้รีเลย์ที่ได้รับอนุญาต ส่งผลให้สูญเสียการกระจายอำนาจและการต่อต้านการเซ็นเซอร์

วิธีกระจายอำนาจการเข้าถึงบัญชีหลังการโยกย้ายคือการใช้ข้อจำกัดบางประการจนกว่าบัญชีจะชำระค่าน้ำมัน แนวทางนี้ดำเนินการโดยทั้ง EIP-2938 และ ERC-4337 <a href="https://notes.ethereum.org/ @yoav /unified-erc-4337-mempool">ERC-4337 mempool เสนอวิธีกระจายอำนาจในการทำธุรกรรมกับบัญชี

TL; DR: ไม่ มันเพียงเน้นย้ำถึงความจำเป็นของ ERC-4337

ข้อแม้: การโยกย้าย EOA ถือเป็นอันตราย

เป็นเรื่องที่น่าสนใจสำหรับผู้ใช้ EOA ที่มีอยู่ให้ย้ายไปยังบัญชีอัจฉริยะแทนการโอนสินทรัพย์ อย่างไรก็ตาม มันมาพร้อมกับช่องโหว่บางอย่าง ซึ่งบางส่วนไม่สามารถบรรเทาลงได้

จะเกิดอะไรขึ้นหากคีย์ EOA ถูกบุกรุกหลังจากถูกเพิกถอนแล้ว

  1. คีย์ยังคงใช้ได้บนเชนอื่นๆ (รวมถึงเชนในอนาคตที่ไม่มีอยู่ด้วยซ้ำในขณะย้าย) สามารถใช้เพื่ออ้างสิทธิ์ในบัญชีเดียวกันในเครือข่ายอื่น และโอนทรัพย์สินใด ๆ ที่ส่งไปยังบัญชีในเครือข่ายเหล่านี้
  2. ระบบออฟเชน เช่น กระบวนการเข้าสู่ระบบของลายเซ็นการตรวจสอบส่วนหน้าของ dapp หลายรายการรองรับ EIP-1271 สำหรับลายเซ็นสัญญาอัจฉริยะ แต่จะลองใช้เฉพาะในกรณีที่ Ecrecover ล้มเหลว สามารถใช้คีย์เพื่อประนีประนอมบัญชีในระบบเหล่านี้ได้
  3. สามารถใช้ออนไลน์ได้ (บนเครือข่ายเดียวกันกับที่ถูกเพิกถอน) เพื่อลงนามการอนุญาต หากบัญชีมีโทเค็น ERC-20 ที่สนับสนุนใบอนุญาต โทเค็นเหล่านี้อาจถูกขโมยโดยใช้คีย์ที่ถูกเพิกถอน
  4. สะพานข้ามโซ่มักจะตรวจสอบลายเซ็นระหว่างการถอน หากบัญชีส่งเงินไปยังเครือข่ายอื่นผ่านสะพานดังกล่าว คีย์ที่ถูกเพิกถอนอาจถูกนำมาใช้เพื่อถอนเงินในอีกด้านหนึ่ง

ผู้ใช้สามารถเบิร์นคีย์ส่วนตัวได้หลังจากการโยกย้ายและหวังว่าจะไม่มีสำเนาเหลืออยู่ แต่ผู้ใช้ก็ไม่สามารถอ้างสิทธิ์ที่อยู่เดียวกันบนเครือข่ายอื่นได้

ดังนั้นการโยกย้ายจึงควรใช้เป็นทางเลือกสุดท้ายเมื่อมีเหตุผลหนักแน่นที่จะคงที่อยู่เดิมไว้ ตามค่าเริ่มต้น บัญชีใหม่จะถูกปรับใช้กับ CREATE2 ได้ดีที่สุด แทนที่จะย้ายจาก EOA เพื่อไม่ให้เชื่อมโยงกับคีย์ EOA บนเครือข่ายอื่น

ชุมชนมีแนวโน้มที่จะเน้นย้ำถึงความสำคัญของการย้าย EOA มากเกินไป เนื่องจากผู้ใช้ปัจจุบันส่วนใหญ่มี EOA ผู้ใช้พันล้านรายถัดไปสามารถเริ่มต้นด้วยบัญชีอัจฉริยะและไม่ต้องย้ายจาก EOA พวกเราซึ่งเป็นผู้ใช้ EOA ในปัจจุบัน เป็นเพียงส่วนเล็กๆ ของสิ่งนั้น การย้ายข้อมูลอาจมีความสำคัญสักระยะหนึ่งเพื่อให้ผู้ใช้ปัจจุบันย้ายข้อมูลได้ มันจะกลายเป็นขั้นตอนที่ไม่ค่อยได้ใช้เมื่อนามธรรมของบัญชีเป็นเรื่องปกติ

มีการทำงานร่วมกันระหว่าง ERC-4337 และ EIP-3074 หรือไม่

ใช่ พวกมันสามารถ <a href="https://notes.ethereum.org/@yoav /eip-3074-erc-4337-synergy"> รวมกันในรูปแบบที่น่าสนใจ หากเครือข่ายใช้ EIP-3074 โครงการที่ใช้ ERC-4337 จะสามารถนำมาใช้ให้เกิดประโยชน์ได้

RIP-7560: เส้นทางที่มีแนวโน้มสำหรับอนาคตของการลบบัญชี

ทั้ง EIP-3074 และ ERC-4337 เป็นขั้นตอนในการรับประโยชน์บางประการจากการลบบัญชีแบบเนทีฟเต็มรูปแบบ แบบแรกมุ่งเน้นไปที่การได้รับประโยชน์ทั้งหมดจากการดำเนินการที่เป็นนามธรรม และแบบหลังมุ่งเน้นไปที่การได้รับผลประโยชน์ทั้งหมดของนามธรรมบัญชีในเครือข่าย EVM ทั้งหมด แต่ด้วยวิธีที่ไม่ใช่แบบเนทิฟซึ่งมีประสิทธิภาพน้อยกว่า

เครือข่ายที่ต้องการให้ผู้ใช้ได้รับประโยชน์จากการสร้างบัญชีแบบเนทิฟเต็มรูปแบบอาจนำ RIP-7560 มาใช้ ใช้บัญชีและสถาปัตยกรรม mempool เดียวกันกับ ERC-4337 แต่ทำงานได้ในระดับโปรโตคอล

ไม่จำเป็นต้องปรับใช้ RIP-7560 ตั้งแต่วันที่ 1 และบัญชีที่มีอยู่จะสามารถโยกย้ายไปยังเครือข่ายที่เลือกที่จะปรับใช้เมื่อใดก็ได้ในอนาคต:

  • บัญชี ERC-4337 จะสามารถโยกย้ายไปยัง RIP-7560 ได้โดยไม่ต้องเปลี่ยนสถาปัตยกรรม โดยการเปลี่ยนการใช้งานเพื่อให้เชื่อถือที่อยู่ EntryPoint พิเศษที่กำหนดไว้ใน RIP-7560 บัญชีสามารถเข้ากันได้กับ ERC-4337 และ RIP-7560 โดยใช้เวลาเพียงเล็กน้อย ดังนั้นจึงไม่จำเป็นต้องย้ายข้อมูลด้วยซ้ำ
  • EOA อาจสามารถโยกย้ายโดยตรงไปยัง RIP-7560 โดยไม่ต้องผ่าน ERC-4337 หรือ EIP-3074 RIP-7560 รองรับการแยกก๊าซสำหรับ EOA แล้ว RIP ในอนาคตสามารถปล่อยให้ EOA ตั้งรหัสได้ ไม่ว่าจะใช้ opcode เช่น SETCODE (EIP-6913) หรือ AUTHUSURP (EIP-5003) หรือโดยการเพิ่มประเภทย่อย TransactionType4 ที่คล้ายกับ EIP-7377 opcode/ประเภทย่อยนี้สามารถใช้ได้โดยสัญญาการย้ายข้อมูลซึ่งเรียกว่าในธุรกรรม Type-4 (RIP-7560) อย่างไรก็ตาม การย้าย EOA <a href="https://notes.ethereum.org/@yoav/erc-4337-vs-eip-3074-false-dichotomy#Caveat:-EOA-migration-considered-harmful"> ท้อแท้ .

RIP-7560 ต้องการคำติชมของคุณ

เรากำลังรวบรวมข้อเสนอแนะเกี่ยวกับ RIP-7560 ก่อนที่จะเสนอให้ประดิษฐานไว้ หากคุณสนใจในการสรุปบัญชีแบบเนทีฟ โปรดตรวจสอบ PR หรือเข้าร่วม การสนทนา

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [https://notes.ethereum.org/@ yoav/erc-4337-vs-eip-3074-false-dichotomy@yoav ] ลิขสิทธิ์ทั้งหมดเป็นของผู้แต่งต้นฉบับ [@yoav] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
立即注册