การวิเคราะห์ลึกลงในอดีตและอนาคตของ Ethereum Account Abstraction

ขั้นสูง9/12/2024, 1:51:56 AM
บทความจะเริ่มต้นด้วยข้อเสนอ Account Abstraction (AA) แรกจากปี 2015 จะจัดระเบียบเนื้อหาหลักของข้อเสนอ EIP จนถึงปัจจุบัน จากนั้นเปรียบเทียบผลตอบรับจากตลาดหลังจากเปิดตัว EIP-4337 และวิเคราะห์ EIP-7702 ที่กำลังจะรวมอยู่ในการอัพเกรด Ethereum ต่อไป

บทนำ

บทความถูกแบ่งออกเป็นสองส่วนหลัก:

ในส่วนแรก จะเริ่มต้นด้วยข้อเสนอ AA ครั้งแรกจากปี 2015 โดยจัดระเบียบเนื้อหาหลักของข้อเสนอ EIP ทั้งหมดในปัจจุบันอย่างเป็นระบบ มีจุดประสงค์ที่จะสำรวจการพัฒนาทางประวัติศาสตร์ของข้อเสนอ AA และประเมินความแข็งแกร่งและความอ่อนแอของแต่ละข้อเสนอโดยละเอียด

ในส่วนที่สอง จะเน้นการเปรียบเทียบข้อตอบรับจากตลาดหลังจากการนำเสนอ EIP-4337 แล้วจะลึกลงไปที่การวิเคราะห์ EIP-7702 ซึ่งกำลังจะรวมอยู่ในการอัปเกรด Ethereum ต่อไป ข้อเสนอนี้หลังจากผสานแล้ว คาดว่าจะทำให้ลักษณะของแอปพลิเคชัน on-chain เปลี่ยนแปลงอย่างมีนัยสำคัญ

EIP-7702 สัญญาว่าจะเปลี่ยนแปลงอย่างปฏิรูป และเราจะพูดถึงมันอย่างละเอียด

1. ความเป็นมาของบัญชีที่เป็นนามธรรม

1.1 ความหมายของการนำเสนอบัญชี

ในปลายปี 2023 ผู้ก่อตั้ง Ethereum ชื่อ Vitalik Buterin ได้อัปเดตแผนพัฒนา ETH อีกครั้ง โดยมีข้อบังคับที่เกี่ยวข้องกับ Account Abstraction ที่ยังคงเหมือนเดิม รูปแบบหลักปัจจุบันยังคงพัฒนาต่อมาจาก EIP-4337 ไปสู่เฟสถัดไป: การแปลง EOA อาจจะเป็นสมัครใจ (การแปลงบัญชี EOA โดยการเริ่มต้นด้วยตนเอง)


https://x.com/VitalikButerin/status/1741190491578810445

ตั้งแต่ EIP-4337 ปล่อยออกมาเมื่อเกือบปีที่แล้ว (ในวันที่ 1 มีนาคม 2023 ที่ WalletCon ใน Denver, นักพัฒนาของ Ethereum Foundation ประกาศว่าสัญญาหลักของ ERC-4337 ได้ผ่านการตรวจสอบของ OpenZeppelin แล้วเป็นที่ยอมรับกล้าๆ จากผู้ใช้ทั่วไป แต่ไม่มีการนำมาใช้โดยแพร่หลาย สภาพแวดล้อมของตลาดที่ประหยัดนี้ได้เร่งการเดินหน้าของ EIP-7702 ซึ่งตอนนี้ได้ยืนยันว่าจะถูกรวมในการอัพเกรดถัดไป

1.2 สถานะตลาดปัจจุบันของการนำเข้าบัญชี

โดยไม่ต้องพูดมากแล้ว มาดูข้อมูล

หลังจากปีและครึ่งของการพัฒนา EIP-4337 เพียงเล็กน้อยเพิ่มขึ้นถึง 12 ล้านที่อยู่ภายใต้บัญชีเชนหลัก เรื่องที่น่าแปลกใจคือในเครือข่ายหลักของ Ethereum มีเพียง 6,764 ที่อยู่ที่ใช้งานอยู่ ในขณะที่อาจจะมีปัญหาด้านมิติทางสถิติ จำนวนนี้ก็ต่างกันมากจากจำนวนที่จะเป็นที่อยู่สำหรับ EOAs และ CAs ตามบริบทนี้ จำนวนที่อยู่ที่ไม่ซ้ำกันในเครือข่ายหลักของ Ethereum ได้ถึง 270 ล้าน (แหล่งที่มา: https://etherscan.io/chart/address.

อาจกล่าวได้ว่า EIP-4337 ไม่มีความคืบหน้าอย่างมีนัยสําคัญในเครือข่ายหลัก


(แหล่งข้อมูลแผนภูมิ: https://dune.com/niftytable/account-abstraction)

อย่างไรก็ตาม สิ่งนี้ไม่ลดค่าที่สรรพสิ่งของ Account Abstraction (AA) จากเริ่มแรก การออกแบบของ EIP-4337 ถูกสร้างขึ้นเพื่อเผชิญกับปัญหาการเข้ากันได้ถอยหลังที่สำคัญบนเครือข่ายหลัก ด้วยเหตุนี้ พร้อมกับ L2 chains ต่าง ๆ ที่รวม AA ธรรมชาติ EIP-4337 ได้เห็นการเจริญเติบโตอย่างมากในที่อยู่บน Layer 2 เช่นเดียวกับ ในเดือนกรกฎาคม จำนวนผู้ใช้ที่ใช้งานบน Base และ Polygon chains ได้ถึง 1 ล้านและ 3 ล้านตามลำดับ ซึ่งมีความน่าประทับใจมาก

ดังนั้น ไม่ใช่ว่าการออกแบบ EIP-4337 มีข้อบกพร่อง มีข้อดีหลายประการที่เราจะสรุปอย่างระบบ สถานการณ์ปัจจุบันเกิดขึ้นจากความแตกต่างระหว่าง mainnet และ Layer 2 ที่แต่ละอย่างต้องการคำตอบที่ปรับเพื่อการแก้ปัญหา

2. คืออะไร Account Abstraction?

การแยกความเป็นเจ้าของ

ในสถาปัตยกรรมเครื่องจำลอง Ethereum Virtual Machine (EVM) มีบัญชี 2 ประเภท: Externally Owned Accounts (EOAs) และ Contract Accounts ใน EOAs การเป็นเจ้าของและอำนาจในการลงลายมีอยู่ในมือของซึ่งตรงกัน The person with the private key not only owns the account but also has the right to sign and transfer all its assets.

การตั้งค่านี้ถูกกำหนดโดยโครงสร้างธุรกรรมบัญชีของ Ethereum ในธุรกรรม Ethereum มาตรฐาน ไม่มีที่อยู่ "จาก" โดยตรงที่เห็นได้ เมื่อเกิดการโอนเงิน ที่อยู่จริงที่ทำให้มีการใช้เงินนั้น ถูกสรุปผ่านพารามิเตอร์ VRS (เช่น ลายมือชื่อของผู้ใช้)

นี้เกี่ยวข้องกับแนวคิดเช่นการเข้ารหัสแบบ ECDSA แบบไม่สมมาตรและฟังก์ชันค่าความลึก แต่เราจะไม่ลึกลงไปในรายละเอียดเหล่านี้ที่นี่ โดยพื้นฐานแล้วการเข้ารหัสทำให้มั่นคงปลอดภัยซึ่งเป็นที่อยู่ของสถานการณ์ปัจจุบันที่การครอบครองและอำนาจในการลงนามรวมกันใน EOAs

ความผลกระทบหลักของ EIP-4337 คือการเพิ่มฟิลด์ที่เกี่ยวข้องกับที่อยู่ผู้ส่งในธุรกรรม ทำให้สามารถแยกคีย์ส่วนตัวและที่อยู่ที่ดำเนินการได้

เพราะเหตุใดการแยกการเป็นเจ้าของมีความสำคัญอย่างมาก?

เนื่องจากการออกแบบของบัญชีที่เป็นเจ้าของภายนอก (EOAs) นำไปสู่ปัญหาหลายประการ:

การป้องกันคีย์ส่วนตัว: การสูญเสียคีย์ส่วนตัว (เนื่องจากสูญหาย, ถูกแฮ็ก, หรือถูกคดีทางคริปโท) หมายถึงการสูญเสียสินทรัพย์ทั้งหมด

วิธีการลงลายจำกัด**: โปรโตคอลธรรมชาติรองรับเฉพาะ ECDSA เพื่อการลงลายและการตรวจสอบ

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

ค่าธรรมเนียมการทำธุรกรรม: ค่าธรรมเนียมสามารถจ่ายได้เฉพาะใน ETH ซึ่งไม่รองรับปริมาณการทำธุรกรรมที่สูง

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

การจำกัดเหล่านี้ทำให้สามารถใช้ Ethereum ได้ยากสำหรับผู้ใช้ทั่วไป

เพื่อใช้งานแอปพลิเคชันใด ๆ บน Ethereum ผู้ใช้จำเป็นต้องถือ ETH (และยอมรับความเสี่ยงจากการเปลี่ยนแปลงราคาของ ETH)

ผู้ใช้ต้องจัดการกับตรรกะค่าธรรมเนียมที่ซับซ้อน เช่น ราคาก๊าส ขีดจำกัดก๊าส และการบล็อกการทำธุรกรรม (ลำดับนอนซ์) ซึ่งอาจจะซับซ้อนเกินไป

แม้ว่ามีบางกระเป๋าเงิน blockchain หรือแอปพลิเคชันพยายามที่จะปรับปรุงประสบการณ์ของผู้ใช้ผ่านการปรับปรุงผลิตภัณฑ์ ความมีประสิทธิภาพของพวกเขาก็ยังมีข้อจำกัด

คำตอบอยู่ที่การนำ Account Abstraction มาปฏิบัติ ซึ่งทำให้การเป็นเจ้าของ (เจ้าของ) และความสามารถในการเซ็นเซอร์ (ผู้เซ็นต์) ถูกแยกออกจากกันเพื่อแก้ไขปัญหาเหล่านี้ ในประวัติศาสตร์มีหลายวิธีแก้ปัญหาที่เกิดขึ้น โดยท้ายที่สุดก็ได้มีการรวมตัวกันเป็นวิธีการสำคัญสองวิธี

3. ภาพรวมประวัติศาสตร์ของข้อเสนอเรื่องการรวมบัญชี

ในขณะที่อาจดูเหมือนว่ามีข้อเสนอ EIP มากมายที่แก้ไขปัญหา แต่ในพื้นฐานแล้วมีแค่วิธีการหลัก ๆ สองวิธี การพิจารณาปัญหาที่ถูกพิจารณาในข้อเสนอที่ไม่ได้รับการอนุมัติในอดีตได้รวมมาเป็นการแก้ไขปัจจุบัน

เส้นทางแรกคือการเปลี่ยนที่อยู่ EOA เป็นที่อยู่ CA

ในวันที่ 15 พฤศจิกายน 2015 Vitalik Buterin ของมีโครงสร้างบัญชีใหม่รอบ EIP-101 ซึ่งเกี่ยวข้องกับการใช้สัญญาเป็นบัญชี นี้จะเปลี่ยนแปลงที่อยู่เป็นตัวแทนที่มีโค้ดและพื้นที่จัดเก็บเท่านั้น เปลี่ยนแปลงการสนับสนุนค่าธรรมเนียมให้เป็นการจ่ายผ่าน ERC20 tokens และใช้สัญญาที่ถูกคอมไพล์เพื่อแปลงสกุลเงินเป็น ERC20-like tokens สำหรับการจัดเก็บยอดคงเหลือ (พร้อมกับคุณสมบัติเช่นการให้สิทธิการใช้งานแทน) ฟิลด์การทำธุรกรรมถูกทำให้เรียบง่ายโดยเพิ่มเข้าไปเฉพาะที่อยู่ สตาร์ทแก๊ส ข้อมูล และโค้ด

นี่เป็นการเปลี่ยนแปลงที่ปฏิวัติวงการที่จะเปลี่ยนแปลงการออกแบบพื้นฐานอย่างมากโดยให้แต่ละบัญชีระบุตรรกะ "รหัส" ของตัวเองซึ่งเป็นสิ่งที่ EIP-7702 ตั้งเป้าที่จะบรรลุในวันนี้ วิธีการนี้ยังสามารถเปิดใช้งานคุณสมบัติเพิ่มเติมเช่น:

การอนุญาตให้ธุรกรรมใช้อัลกอริทึมทางคริปโตเกราฟิคที่มีรหัสภายในของแต่ละที่อยู่เพื่อการตรวจสอบและการรับรอง

การให้ความต้านทานทางควอนตัมเนื่องจากลักษณะของโค้ดที่สามารถอัปเกรดได้

การให้ความสามารถเดียวกันกับสัญญา ERC20 ให้กับ Ether ด้วยคุณสมบัติเช่นการใบอนุญาตแบบมอบหมาย กำจัดความจำเป็นในการใช้จ่ายเหรียญหลัก

ปรับปรุงการปรับแต่งบัญชีสนับสนุนการกู้คืนทางสังคม SBT (โทเค็น soulbound) และการกู้คืนคีย์

เหตุผลที่ไม่ได้เสนอข้อเสนอนี้ไปข้างหน้าเพราะเหตุผลง่าย ๆ คือ ขั้นตอนมีความทะเยอทะยานมากเกินไป เรื่องเช่นการชนกันของ transaction hash และปัญหาด้านความปลอดภัยยังไม่ได้รับการแก้ไขอย่างเต็มที่ ซึ่งทำให้ต้องเลื่อนออกไป อย่างไรก็ตาม หลาย ๆ ข้อดีของมันกลายเป็นคุณลักษณะหลักใน EIP ต่อมา รวมทั้ง EIP-4337 และ EIP-7702

หลาย EIPs ต่อมาพยายามปรับปรุงตรรกะนี้:

EIP-859: Account Abstraction on Mainnet (January 30, 2018) aimed to address code deployment issues. Its core function was to use the รหัสพารามิเตอร์ที่แนบมากับธุรกรรมเพื่อใช้ในการภายในกระเป๋าเงินสัญญาหากสัญญายังไม่ได้ถูกสร้างขึ้น นอกจากนี้ยังมีการนำเสนอรหัสคำสั่ง PAYGAS ใหม่เพื่อแยกส่วนการตรวจสอบและการดำเนินธุรกรรม

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

EIP-7702: การตั้งรหัสบัญชี EOA (7 พ.ค. 2024) เป็น EIP ที่สำคัญที่ถูกพูดถึงที่นี่ วิทัลิกเสนอ EIP-7702 เป็นทางเลือกแทน EIP-3074 ดังนั้น EIP-3074 ถูกยกเลิก และ EIP-7702 กำลังจะถูกรวมอยู่ในการ hard fork ของ ETH Prague/Electra (Pectra) ที่จะมาถึง เนื้อหาเพิ่มเติมจะถูกพูดถึงต่อไป

3.2 วิธีที่สองคือให้ที่อยู่ EOA ขับเคลื่อนที่อยู่ CA

EIP-3074: เพิ่ม AUTH และ AUTHCALL Opcodes (15 ตุลาคม 2020)

EIP นี้นำเสนอโอโค้ดใหม่ 2 รหัสคือ AUTH และ AUTHCALL ลงใน EVM ทำให้ EOAs สามารถให้สิทธิ์ให้สัญญาเพื่อแทนที่ตัวตนของพวกเขาและเรียกใช้สัญญาอื่น ๆ ในพลังงาน โดย ในแง่มุม สามารถ ผู้ใช้ EOA สามารถส่งข้อความที่ลงนาม (ธุรกรรม) ไปยังสัญญาที่เชื่อถือได้ (เรียกว่า Invoker) สัญญา Invoker จากนั้นสามารถใช้รหัส AUTH และ AUTHCALL เพื่อส่งธุรกรรมแทน EOA

EIP-4337: การนำเอาบัญชีผ่าน Transaction Pools (29 กันยายน 2564)

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

EIP-5189: การดำเนินการบัญชีนามบทผ่านผู้รับรอง (29 มิถุนายน 2022)

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

3.3 ข้อเสนออื่น ๆ ที่สนับสนุนการสมมติบัญชี

EIP-2718: ประเภทธุรกรรมใหม่ซอง (13 มิถุนายน 2020)

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

EIP-3607: ป้องกันที่อยู่ EOA จากการปรับใช้สัญญา (10 มิถุนายน 2021)

ข้อเสนอเสริมนี้เกี่ยวกับการแก้ไขปัญหาของที่อยู่การสร้างสัญญาที่ขัดแย้งกับที่อยู่ EOA โดยควบคุมวิธีการสร้างสัญญา ป้องกันโค้ดที่จะถูกสร้างไปยังที่อยู่ที่มีการใช้งานอยู่แล้วโดย EOAs ความเสี่ยงเล็กน้อยเนื่องจาก Ethereum addresses มีความยาว 160 บิต แม้ว่าจะเป็นไปได้ทฤษฎีโดยการชนกันของคีย์ มันจะต้องใช้ความพยายามทางการคำนวณที่สำคัญ

3.4 เข้าใจการพัฒนาของการสรุปบัญชี

เพื่อเข้าใจค่าของการเปลี่ยนจากที่อยู่ CA นั้น จำเป็นต้องเข้าใจผลกระทบทางปฏิบัติของ EIP-4337 ซึ่งสามารถบรรลุได้...

อย่างไรก็ตามข้อเสียเปรียบหลักของ EIP-4337 คือมันละเมิดหลักการของแรงจูงใจของมนุษย์ แม้ว่าจะดูเหมือนจะมีการปรับปรุง แต่ก็ตกอยู่ในภาวะชะงักงันของการพัฒนาตลาด Dapps จํานวนมากยังเข้ากันไม่ได้ทําให้ผู้ใช้ลังเลที่จะใช้ที่อยู่ CA นอกจากนี้การใช้ CA อาจส่งผลให้ต้นทุนการทําธุรกรรมสูงขึ้น (เช่นค่าธรรมเนียมการทําธุรกรรมสามารถเพิ่มเป็นสองเท่าในสถานการณ์การโอนปกติ) ทําให้ขึ้นอยู่กับความเข้ากันได้ของ Dapps เป็นอย่างมาก

เนื่องจากฉะนั้น มันยังไม่ได้เป็นที่แพร่หลายบน Ethereum mainnet จนถึงปัจจุบัน ต้นทุนเป็นปัจจัยที่สำคัญที่สุดสำหรับผู้ใช้ และจะต้องลดลง ในการลดต้นทุน GAS แท้จริง Ethereum เองจะต้องมีการอัพเกรด soft fork เพื่อปรับเปลี่ยนการคำนวณ GAS หรือเปลี่ยนการใช้ GAS ของ opcodes โดยมีความจำเป็นต้องมี soft fork ทำไมไม่พิจารณา EIP-7702 โดยตรง?

4. การวิเคราะห์อย่างเป็นรายละเอียดของ EIP-7702

4.1 คืออะไร EIP-7702

มีความแตกต่างด้วยประเภทธุรกรรมใหม่ ซึ่งช่วยให้ EOA สามารถมีฟังก์ชันของสมาร์ทคอนแทรกในธุรกรรมเดียว ทำให้รองรับการทำธุรกรรมเป็นชุด การทำธุรกรรมไร้ค่า gas และการจัดการสิทธิการใช้งานที่กำหนดเองในธุรกรรมธุรกิจ โดยไม่ต้องนำเข้าชุดคำสั่งของ EVM ใหม่ (มีผลต่อความเข้ากันได้ในอนาคต)

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

4.2 โครงสร้างข้อมูล

เขากำหนดประเภทธุรกรรมใหม่ 0x04 โดย TransactionPayload ของประเภทธุรกรรมนี้คือผลลัพธ์การซีเรียลไลเซชัน RLP ของเนื้อหาต่อไปนี้

rlp([

chain_id, //Chain ID, ใช้เพื่อป้องกันการโจมตีแบบทำซ้ำ

nonce, // ตัวนับธุรกรรมเพื่อให้แน่ใจว่าธุรกรรมไม่ซ้ำ

max_priority_fee_per_gas, //1559 ค่าธรรมเนียมการทำธุรกรรม

max_fee_per_gas, //1559 transaction fee

gas_limit,

ปลายทาง, // ที่อยู่เป้าหมายของธุรกรรม

ค่า

ข้อมูล

access_list, //รายการเข้าถึง, ใช้สำหรับการปรับปรุง Gas ใน EIP-2929.

รายการการอนุญาต,

signature_y_parity, // 3 signature parameters, used to verify transaction signature.

signature_r,

ลายมือชื่อ_s

]

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

authorization_list = [[chain_id, address, nonce, y_parity, r, s], …]

4.3 ชีวิตของธุรกรรม

4.3.1 ขั้นตอนการตรวจสอบ

ที่เริ่มต้นของช่วงการดำเนินการธุรกรรม สำหรับแต่ละ[chain_id, address, nonce, y_parity, r, s] tuple in the รายการการอนุญาต:

ใช้ecrecoverฟังก์ชันสำหรับ recovers ที่อยู่ของผู้เซ็นต์จากลายเซ็น(r, s)โปรดทราบว่าสิ่งนี้ใช้กลไกที่มีอยู่ของ Ethereum ดังนั้นอัลกอริทึมลายเซ็นต์ยังคงเดิมโดย EIP นี้ ที่อยู่ถูกกู้คืนโดยใช้:authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s). นี่คล้ายกับวิธีที่จากที่อยู่มาจากลายเซ็น แต่มันใช้กับลายเซ็นรายการที่เฉพาะ

ตรวจสอบ Chain ID เพื่อป้องกันการโจมตีที่เกิดขึ้นบนโซนที่แตกต่างกัน

ตรวจสอบว่าอำนาจรหัสของผู้ลงนามว่างเปล่าหรือถูกมอบหมาย (เพื่อยืนยันว่าธุรกรรมเป็นธุรกรรม EIP-7702 ที่ถูกตรวจสอบโดยกลไกการมอบหมายในการดำเนินการ)

ตรวจสอบอำนาจตัวตราของผู้เซ็นเนอร์เพื่อป้องกันการโจมตีแบบซ้ำซ้อนในการลายเซ็น

ตั้งค่าอำนาจรหัสของผู้ลงนาม0xef0100 || ที่อยู่(เพื่อหลีกเลี่ยงกลยุทธ์ป้องกันการชน EIP-3607)

เพิ่มอำนาจnonce ของผู้ลงนาม (เพื่อป้องกันการทำซ้ำลายเซ็นเจอร์ภายใน)

เพิ่มอำนาจเพิ่มบัญชีผู้เซ็นต์เข้าไปในรายการการเข้าถึง (เพื่อเปลี่ยนไปยังการเก็บร้อน ลดค่าใช้จ่ายในการใช้ gas สำหรับการเข้าถึง)

4.3.2 ระยะการดำเนินการ

ที่ไหนที่รหัสสัญญาและคำแนะนำการดำเนินงานถูกดำเนินการ?

เวอร์ชัน “ใหม่” เปลี่ยนวิธีการติดตั้งโค้ดสัญญา แทนที่จะตั้งค่าโค้ดบัญชีโดยตรง มันจะดึงโค้ดจาก รายการการอนุญาตที่อยู่และตั้งค่าให้เป็นรหัสบัญชี

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

คำแนะนำการทำงานและพารามิเตอร์ที่เกี่ยวข้องถูกเก็บไว้ในข้อมูลฟิลด์ของข้อมูลธุรกรรม

4.4 มีค่าเท่าไร EIP-7702?

EIP-7702 นำคุณค่าที่สำคัญมาให้เราเพราะมันเปลี่ยนแปลงกระบวนการธุรกรรมทั้งหมดสำหรับ Web3 wallets ทำให้เกิดการเปลี่ยนแปลงที่สำคัญในประสบการณ์ของผู้ใช้ ธุรกรรมทั่วไปที่เริ่มต้นจาก EOA (Externally Owned Account) ตอนนี้สามารถดำเนินการตามหลายๆ ตรรกะที่คล้ายกับการกระทำของสมาร์ทคอนแทรค เช่น การโอนแบบกลุ่ม สิ่งนี้ยังมีผลต่อสถานการณ์ CeFi โดยส่งผลกระทบต่อการระบุธุรกรรมและค่าธรรมเนียมสำหรับการถอนเงินและการรวมรวม

EIP-7702 ทำให้เกิดการแตกแนวคิดที่มีมาอย่างยาวนาน: มันทำให้เกิดการแตกแนวคิดที่ยอดเงินในบัญชีสามารถลดลงได้เพียงเฉพาะการทำธุรกรรมที่มาจากบัญชีนั้น ๆ เท่านั้น มันทำให้เกิดการแตกแนวคิดที่ EOA nonce เพิ่มขึ้นทีละ 1 หลังจากที่การทำธุรกรรมเริ่มต้น (ตอนนี้อาจเพิ่มขึ้นพร้อมกันหลายค่าได้) มันทำให้เกิดการแตกแนวคิดที่ตรรกะป้องกันที่เชื่อมั่นโดยการเปรียบเทียบtx.originและmsg.sender, ที่มีความเสี่ยงต่อสัญญาหลายราย. นอกจากนี้ยังทำให้ข้อเท็จจริงว่า EOA เองไม่สามารถส่งเหตุการณ์ได้, ซึ่งอาจส่งผลต่อการระบุและการตรวจสอบเหตุการณ์บางอย่างบนเชน. ในที่สุด, มันทำให้สมมติฐานว่าที่อยู่ EOA จะได้รับ ERC20, 721, 1155, และสินทรัพย์อื่นๆ ได้เสมอ (เนื่องจากอาจล้มเหลวเนื่องจากกลไกการคืนเรียกกลับ).

4.5 การเปรียบเทียบระหว่าง EIP-7702 และ EIP-4337

1.ความได้เปรียบของ EIP-7702

EIP-7702 มีข้อดีหลายอย่าง หนึ่งในนั้นคือต้นทุน gas ที่ต่ำลง เนื่องจากไม่จำเป็นต้องผ่านโมดูล entrypoint ลดการดำเนินการ on-chain อีกหนึ่งอย่างคือต้นทุนการย้ายผู้ใช้ลดลง เนื่องจากไม่จำเป็นต้องเปิดใช้งานสัญญา on-chain เป็นหลักล่วงหน้า

เมื่อเปรียบเทียบกับ EIP-4337, EIP-7702 ยังรองรับการดำเนินการโค้ดแบบมอบหมายและมีสองประเภทของการมอบหมาย:

การมอบหมายเต็มรูปแบบ: นี่หมายความว่าการมอบหมายควบคุมเต็มรูปแบบของการดำเนินการบางอย่างให้กับที่อยู่ที่ระบุ ตัวอย่างเช่น ผู้ใช้สามารถมอบหมายการจัดการทุกประเภทของ ERC-20 โทเค็นไปยังที่อยู่สมาร์ทคอนแทรค ซึ่งอนุญาตให้สัญญาดำเนินการที่เกี่ยวข้องทั้งหมดในนามของผู้ใช้

การมอบหมายที่ได้รับการป้องกัน: นี้เกี่ยวข้องกับการเพิ่มข้อจำกัดและมั่นคงภายในการมอบหมายเพื่อให้มั่นคงและสามารถควบคุมการดำเนินการที่มอบหมายได้ เช่น เช่นผู้ใช้สามารถมอบหมายสิทธิการจัดการบางส่วนของ ERC-20 tokens เพื่อสัญญาอัจฉริยะหรือตั้งเงื่อนไข (เช่น ใช้จ่ายไม่เกิน 1% ของยอดรวมทั้งหมดต่อวัน)

2. ข้อเสียของ EIP-7702

ข้อเสียหายหลักของ EIP-7702 คือมันเกี่ยวข้องกับการอัปเกรดด้วยฟอร์คเชื่องนี้ต้องการความเห็นร่วมจากชุมชนเพื่อดันหน้าไปข้างหน้า การเปลี่ยนแปลงของมันมีน้ำหนักมากและอาจมีผลกระทบกว้างขวางต่อระบบอนโคด เน้นการประเมินเบื้องต้นโดย Shisi Jun ได้ระบุถึงภาวะท้าทายหลายอย่าง แต่ภาวะท้าทายเหล่านี้ยังสามารถเป็นโอกาสทางตลาดได้เช่นกัน

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

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

ในขณะที่ EIP-7702 ให้ความสามารถในการทำสัญญากับที่อยู่ EOA พื้นที่เก็บข้อมูลที่เกี่ยวข้องไม่สามารถถูกเก็บไว้

ค่าธรรมเนียมของธุรกรรมแต่ละรายการจะสูงขึ้นเล็กน้อยเนื่องจากมีการเพิ่มขึ้นอย่างมีนัยสำคัญในส่วนของ Calldata ค่าที่คาดว่าจะใช้ทั้งหมดในการเรียกคือ 16 (gas) 15 (bytes) = 240 (gas) for calldata costs, plus EIP-3860’s cost of 2 15 = 30, และประมาณ 150 สำหรับค่าใช้จ่ายในการเรียกใช้งาน ดังนั้น การเตรียมบัญชีโดยไม่มีการดำเนินการจะทำให้ค่า gas เพิ่มขึ้นโดยประมาณ 500

“หากผู้รับลงลายมีโค้ดที่ไม่มีฟังก์ชันการรับ ผู้ส่งอาจเผชิญกับ DoS เมื่อพยายามส่งสินทรัพย์” ดูกรณีนี้ ปัญหานี้เกิดขึ้นเมื่อ EOA A ลงลายบางสิ่งที่ไม่ควรมี - ไฟล์ที่สามารถทำซ้ำได้ที่มีการปรับปรุงไม่ถูกต้อง (ขาดreceive()).

ตรวจสอบความเหมาะสมบนเชื่อมโยงบนโซ่และตรรกะการถอนอาจไม่สอดคล้องกัน ตัวอย่างเช่น เมื่อโอน ERC-20 โทเค็น หากบัญชีผู้รับมีโค้ด สัญญาโทเค็นจะเรียกใช้onERC20Receivedบนบัญชีผู้รับ หากonERC20Receivedreverts or returns an incorrect value, the token transfer will revert.

นอกจากนี้ หาก EOA สามารถแพร่กระจายเหตุการณ์ได้ อาจมีปัญหาบางประการหรือไม่? บางโครงสร้างพื้นฐานอาจต้องให้ความสนใจกับนี้

นี่เป็นข้อเสียของสรุปโดย Shisi Jun โดยขึ้นอยู่กับข้อเสนอ EIP-7702 ปัจจุบันและการอภิปรายในฟอรั่มอย่างเป็นทางการ การวิเคราะห์ที่สมบูรณ์จะต้องการการสำรวจรหัสการประมวลผลสุดท้าย

5. สรุป

บทความอาจดูยาว แต่มีคำเพียงประมาณ 6,000 คำเท่านั้น มีการอ้างถึงการตีความ EIP ในอดีตมากมายที่เชื่อมโยงอยู่ในข้อความสำหรับการสำรวจเพิ่มเติม ดังนั้นฉันจึงจะไม่ลงรายละเอียดในเรื่องเหล่านั้นที่นี่

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

อย่างไรก็ตามคราวนี้การเปลี่ยนแปลงค่อนข้างก่อกวนทําลายกฎบนลูกโซ่ที่ "เป็นไปไม่ได้" ก่อนหน้านี้หลายข้อและเปลี่ยนตรรกะของ DApps ส่วนใหญ่ อย่างไรก็ตาม EIP-7702 เข้าใจจุดที่สําคัญที่สุดอย่างแน่นหนา: ช่วยลดต้นทุนของผู้ใช้ได้อย่างมาก ในทางตรงกันข้าม EIP-4337 เกือบสองเท่าของต้นทุนการทําธุรกรรม

ผู้ใช้ยังคงเป็นที่อยู่ EOA (Externally Owned Account) โดยเฉพาะ แต่ใช้และเรียกใช้ตรรกะ CA (Contract Account) เมื่อจำเป็นเท่านั้น ทำให้ลดต้นทุนการถือครอง ไม่จำเป็นต้องแปลงเป็นตัวตั้งต้น CA บนเชนก่อนดำเนินการ ซึ่งหมายความว่าผู้ใช้ไม่จำเป็นต้องลงทะเบียน

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

ดังนั้น หลังจากที่ EIP-7702 ได้เสนอแนะการเปลี่ยนแปลงมากมาย ผลกระทบจากมูลค่าเท่านั้นทำให้ควรศึกษาและปรับใช้สำหรับ DApps ทั้งหมด ครั้งนี้ผู้ใช้งานแน่นอนอยู่ในฝ่ายของ EIP-7702

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [PANews]. สิทธิ์ในการถือครองลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนเดิม [ทุกสิ่งทุกอย่าง]Fourteenth Lord]. หากมีการท้าทานในการพิมพ์ซ้ำนี้ โปรดติดต่อGate Learnทีม และพวกเขาจะดำเนินการด้วยรวดเร็ว
  2. ข้อความปฏิเสธความรับผิดชอบ: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นที่สมบูรณ์ของคำแนะนำในการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn ห้ามคัดลอก กระจาย หรือลอกเลียนแบบบทความที่ถูกแปล นอกเส้นทางที่ได้กล่าวถึง

การวิเคราะห์ลึกลงในอดีตและอนาคตของ Ethereum Account Abstraction

ขั้นสูง9/12/2024, 1:51:56 AM
บทความจะเริ่มต้นด้วยข้อเสนอ Account Abstraction (AA) แรกจากปี 2015 จะจัดระเบียบเนื้อหาหลักของข้อเสนอ EIP จนถึงปัจจุบัน จากนั้นเปรียบเทียบผลตอบรับจากตลาดหลังจากเปิดตัว EIP-4337 และวิเคราะห์ EIP-7702 ที่กำลังจะรวมอยู่ในการอัพเกรด Ethereum ต่อไป

บทนำ

บทความถูกแบ่งออกเป็นสองส่วนหลัก:

ในส่วนแรก จะเริ่มต้นด้วยข้อเสนอ AA ครั้งแรกจากปี 2015 โดยจัดระเบียบเนื้อหาหลักของข้อเสนอ EIP ทั้งหมดในปัจจุบันอย่างเป็นระบบ มีจุดประสงค์ที่จะสำรวจการพัฒนาทางประวัติศาสตร์ของข้อเสนอ AA และประเมินความแข็งแกร่งและความอ่อนแอของแต่ละข้อเสนอโดยละเอียด

ในส่วนที่สอง จะเน้นการเปรียบเทียบข้อตอบรับจากตลาดหลังจากการนำเสนอ EIP-4337 แล้วจะลึกลงไปที่การวิเคราะห์ EIP-7702 ซึ่งกำลังจะรวมอยู่ในการอัปเกรด Ethereum ต่อไป ข้อเสนอนี้หลังจากผสานแล้ว คาดว่าจะทำให้ลักษณะของแอปพลิเคชัน on-chain เปลี่ยนแปลงอย่างมีนัยสำคัญ

EIP-7702 สัญญาว่าจะเปลี่ยนแปลงอย่างปฏิรูป และเราจะพูดถึงมันอย่างละเอียด

1. ความเป็นมาของบัญชีที่เป็นนามธรรม

1.1 ความหมายของการนำเสนอบัญชี

ในปลายปี 2023 ผู้ก่อตั้ง Ethereum ชื่อ Vitalik Buterin ได้อัปเดตแผนพัฒนา ETH อีกครั้ง โดยมีข้อบังคับที่เกี่ยวข้องกับ Account Abstraction ที่ยังคงเหมือนเดิม รูปแบบหลักปัจจุบันยังคงพัฒนาต่อมาจาก EIP-4337 ไปสู่เฟสถัดไป: การแปลง EOA อาจจะเป็นสมัครใจ (การแปลงบัญชี EOA โดยการเริ่มต้นด้วยตนเอง)


https://x.com/VitalikButerin/status/1741190491578810445

ตั้งแต่ EIP-4337 ปล่อยออกมาเมื่อเกือบปีที่แล้ว (ในวันที่ 1 มีนาคม 2023 ที่ WalletCon ใน Denver, นักพัฒนาของ Ethereum Foundation ประกาศว่าสัญญาหลักของ ERC-4337 ได้ผ่านการตรวจสอบของ OpenZeppelin แล้วเป็นที่ยอมรับกล้าๆ จากผู้ใช้ทั่วไป แต่ไม่มีการนำมาใช้โดยแพร่หลาย สภาพแวดล้อมของตลาดที่ประหยัดนี้ได้เร่งการเดินหน้าของ EIP-7702 ซึ่งตอนนี้ได้ยืนยันว่าจะถูกรวมในการอัพเกรดถัดไป

1.2 สถานะตลาดปัจจุบันของการนำเข้าบัญชี

โดยไม่ต้องพูดมากแล้ว มาดูข้อมูล

หลังจากปีและครึ่งของการพัฒนา EIP-4337 เพียงเล็กน้อยเพิ่มขึ้นถึง 12 ล้านที่อยู่ภายใต้บัญชีเชนหลัก เรื่องที่น่าแปลกใจคือในเครือข่ายหลักของ Ethereum มีเพียง 6,764 ที่อยู่ที่ใช้งานอยู่ ในขณะที่อาจจะมีปัญหาด้านมิติทางสถิติ จำนวนนี้ก็ต่างกันมากจากจำนวนที่จะเป็นที่อยู่สำหรับ EOAs และ CAs ตามบริบทนี้ จำนวนที่อยู่ที่ไม่ซ้ำกันในเครือข่ายหลักของ Ethereum ได้ถึง 270 ล้าน (แหล่งที่มา: https://etherscan.io/chart/address.

อาจกล่าวได้ว่า EIP-4337 ไม่มีความคืบหน้าอย่างมีนัยสําคัญในเครือข่ายหลัก


(แหล่งข้อมูลแผนภูมิ: https://dune.com/niftytable/account-abstraction)

อย่างไรก็ตาม สิ่งนี้ไม่ลดค่าที่สรรพสิ่งของ Account Abstraction (AA) จากเริ่มแรก การออกแบบของ EIP-4337 ถูกสร้างขึ้นเพื่อเผชิญกับปัญหาการเข้ากันได้ถอยหลังที่สำคัญบนเครือข่ายหลัก ด้วยเหตุนี้ พร้อมกับ L2 chains ต่าง ๆ ที่รวม AA ธรรมชาติ EIP-4337 ได้เห็นการเจริญเติบโตอย่างมากในที่อยู่บน Layer 2 เช่นเดียวกับ ในเดือนกรกฎาคม จำนวนผู้ใช้ที่ใช้งานบน Base และ Polygon chains ได้ถึง 1 ล้านและ 3 ล้านตามลำดับ ซึ่งมีความน่าประทับใจมาก

ดังนั้น ไม่ใช่ว่าการออกแบบ EIP-4337 มีข้อบกพร่อง มีข้อดีหลายประการที่เราจะสรุปอย่างระบบ สถานการณ์ปัจจุบันเกิดขึ้นจากความแตกต่างระหว่าง mainnet และ Layer 2 ที่แต่ละอย่างต้องการคำตอบที่ปรับเพื่อการแก้ปัญหา

2. คืออะไร Account Abstraction?

การแยกความเป็นเจ้าของ

ในสถาปัตยกรรมเครื่องจำลอง Ethereum Virtual Machine (EVM) มีบัญชี 2 ประเภท: Externally Owned Accounts (EOAs) และ Contract Accounts ใน EOAs การเป็นเจ้าของและอำนาจในการลงลายมีอยู่ในมือของซึ่งตรงกัน The person with the private key not only owns the account but also has the right to sign and transfer all its assets.

การตั้งค่านี้ถูกกำหนดโดยโครงสร้างธุรกรรมบัญชีของ Ethereum ในธุรกรรม Ethereum มาตรฐาน ไม่มีที่อยู่ "จาก" โดยตรงที่เห็นได้ เมื่อเกิดการโอนเงิน ที่อยู่จริงที่ทำให้มีการใช้เงินนั้น ถูกสรุปผ่านพารามิเตอร์ VRS (เช่น ลายมือชื่อของผู้ใช้)

นี้เกี่ยวข้องกับแนวคิดเช่นการเข้ารหัสแบบ ECDSA แบบไม่สมมาตรและฟังก์ชันค่าความลึก แต่เราจะไม่ลึกลงไปในรายละเอียดเหล่านี้ที่นี่ โดยพื้นฐานแล้วการเข้ารหัสทำให้มั่นคงปลอดภัยซึ่งเป็นที่อยู่ของสถานการณ์ปัจจุบันที่การครอบครองและอำนาจในการลงนามรวมกันใน EOAs

ความผลกระทบหลักของ EIP-4337 คือการเพิ่มฟิลด์ที่เกี่ยวข้องกับที่อยู่ผู้ส่งในธุรกรรม ทำให้สามารถแยกคีย์ส่วนตัวและที่อยู่ที่ดำเนินการได้

เพราะเหตุใดการแยกการเป็นเจ้าของมีความสำคัญอย่างมาก?

เนื่องจากการออกแบบของบัญชีที่เป็นเจ้าของภายนอก (EOAs) นำไปสู่ปัญหาหลายประการ:

การป้องกันคีย์ส่วนตัว: การสูญเสียคีย์ส่วนตัว (เนื่องจากสูญหาย, ถูกแฮ็ก, หรือถูกคดีทางคริปโท) หมายถึงการสูญเสียสินทรัพย์ทั้งหมด

วิธีการลงลายจำกัด**: โปรโตคอลธรรมชาติรองรับเฉพาะ ECDSA เพื่อการลงลายและการตรวจสอบ

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

ค่าธรรมเนียมการทำธุรกรรม: ค่าธรรมเนียมสามารถจ่ายได้เฉพาะใน ETH ซึ่งไม่รองรับปริมาณการทำธุรกรรมที่สูง

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

การจำกัดเหล่านี้ทำให้สามารถใช้ Ethereum ได้ยากสำหรับผู้ใช้ทั่วไป

เพื่อใช้งานแอปพลิเคชันใด ๆ บน Ethereum ผู้ใช้จำเป็นต้องถือ ETH (และยอมรับความเสี่ยงจากการเปลี่ยนแปลงราคาของ ETH)

ผู้ใช้ต้องจัดการกับตรรกะค่าธรรมเนียมที่ซับซ้อน เช่น ราคาก๊าส ขีดจำกัดก๊าส และการบล็อกการทำธุรกรรม (ลำดับนอนซ์) ซึ่งอาจจะซับซ้อนเกินไป

แม้ว่ามีบางกระเป๋าเงิน blockchain หรือแอปพลิเคชันพยายามที่จะปรับปรุงประสบการณ์ของผู้ใช้ผ่านการปรับปรุงผลิตภัณฑ์ ความมีประสิทธิภาพของพวกเขาก็ยังมีข้อจำกัด

คำตอบอยู่ที่การนำ Account Abstraction มาปฏิบัติ ซึ่งทำให้การเป็นเจ้าของ (เจ้าของ) และความสามารถในการเซ็นเซอร์ (ผู้เซ็นต์) ถูกแยกออกจากกันเพื่อแก้ไขปัญหาเหล่านี้ ในประวัติศาสตร์มีหลายวิธีแก้ปัญหาที่เกิดขึ้น โดยท้ายที่สุดก็ได้มีการรวมตัวกันเป็นวิธีการสำคัญสองวิธี

3. ภาพรวมประวัติศาสตร์ของข้อเสนอเรื่องการรวมบัญชี

ในขณะที่อาจดูเหมือนว่ามีข้อเสนอ EIP มากมายที่แก้ไขปัญหา แต่ในพื้นฐานแล้วมีแค่วิธีการหลัก ๆ สองวิธี การพิจารณาปัญหาที่ถูกพิจารณาในข้อเสนอที่ไม่ได้รับการอนุมัติในอดีตได้รวมมาเป็นการแก้ไขปัจจุบัน

เส้นทางแรกคือการเปลี่ยนที่อยู่ EOA เป็นที่อยู่ CA

ในวันที่ 15 พฤศจิกายน 2015 Vitalik Buterin ของมีโครงสร้างบัญชีใหม่รอบ EIP-101 ซึ่งเกี่ยวข้องกับการใช้สัญญาเป็นบัญชี นี้จะเปลี่ยนแปลงที่อยู่เป็นตัวแทนที่มีโค้ดและพื้นที่จัดเก็บเท่านั้น เปลี่ยนแปลงการสนับสนุนค่าธรรมเนียมให้เป็นการจ่ายผ่าน ERC20 tokens และใช้สัญญาที่ถูกคอมไพล์เพื่อแปลงสกุลเงินเป็น ERC20-like tokens สำหรับการจัดเก็บยอดคงเหลือ (พร้อมกับคุณสมบัติเช่นการให้สิทธิการใช้งานแทน) ฟิลด์การทำธุรกรรมถูกทำให้เรียบง่ายโดยเพิ่มเข้าไปเฉพาะที่อยู่ สตาร์ทแก๊ส ข้อมูล และโค้ด

นี่เป็นการเปลี่ยนแปลงที่ปฏิวัติวงการที่จะเปลี่ยนแปลงการออกแบบพื้นฐานอย่างมากโดยให้แต่ละบัญชีระบุตรรกะ "รหัส" ของตัวเองซึ่งเป็นสิ่งที่ EIP-7702 ตั้งเป้าที่จะบรรลุในวันนี้ วิธีการนี้ยังสามารถเปิดใช้งานคุณสมบัติเพิ่มเติมเช่น:

การอนุญาตให้ธุรกรรมใช้อัลกอริทึมทางคริปโตเกราฟิคที่มีรหัสภายในของแต่ละที่อยู่เพื่อการตรวจสอบและการรับรอง

การให้ความต้านทานทางควอนตัมเนื่องจากลักษณะของโค้ดที่สามารถอัปเกรดได้

การให้ความสามารถเดียวกันกับสัญญา ERC20 ให้กับ Ether ด้วยคุณสมบัติเช่นการใบอนุญาตแบบมอบหมาย กำจัดความจำเป็นในการใช้จ่ายเหรียญหลัก

ปรับปรุงการปรับแต่งบัญชีสนับสนุนการกู้คืนทางสังคม SBT (โทเค็น soulbound) และการกู้คืนคีย์

เหตุผลที่ไม่ได้เสนอข้อเสนอนี้ไปข้างหน้าเพราะเหตุผลง่าย ๆ คือ ขั้นตอนมีความทะเยอทะยานมากเกินไป เรื่องเช่นการชนกันของ transaction hash และปัญหาด้านความปลอดภัยยังไม่ได้รับการแก้ไขอย่างเต็มที่ ซึ่งทำให้ต้องเลื่อนออกไป อย่างไรก็ตาม หลาย ๆ ข้อดีของมันกลายเป็นคุณลักษณะหลักใน EIP ต่อมา รวมทั้ง EIP-4337 และ EIP-7702

หลาย EIPs ต่อมาพยายามปรับปรุงตรรกะนี้:

EIP-859: Account Abstraction on Mainnet (January 30, 2018) aimed to address code deployment issues. Its core function was to use the รหัสพารามิเตอร์ที่แนบมากับธุรกรรมเพื่อใช้ในการภายในกระเป๋าเงินสัญญาหากสัญญายังไม่ได้ถูกสร้างขึ้น นอกจากนี้ยังมีการนำเสนอรหัสคำสั่ง PAYGAS ใหม่เพื่อแยกส่วนการตรวจสอบและการดำเนินธุรกรรม

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

EIP-7702: การตั้งรหัสบัญชี EOA (7 พ.ค. 2024) เป็น EIP ที่สำคัญที่ถูกพูดถึงที่นี่ วิทัลิกเสนอ EIP-7702 เป็นทางเลือกแทน EIP-3074 ดังนั้น EIP-3074 ถูกยกเลิก และ EIP-7702 กำลังจะถูกรวมอยู่ในการ hard fork ของ ETH Prague/Electra (Pectra) ที่จะมาถึง เนื้อหาเพิ่มเติมจะถูกพูดถึงต่อไป

3.2 วิธีที่สองคือให้ที่อยู่ EOA ขับเคลื่อนที่อยู่ CA

EIP-3074: เพิ่ม AUTH และ AUTHCALL Opcodes (15 ตุลาคม 2020)

EIP นี้นำเสนอโอโค้ดใหม่ 2 รหัสคือ AUTH และ AUTHCALL ลงใน EVM ทำให้ EOAs สามารถให้สิทธิ์ให้สัญญาเพื่อแทนที่ตัวตนของพวกเขาและเรียกใช้สัญญาอื่น ๆ ในพลังงาน โดย ในแง่มุม สามารถ ผู้ใช้ EOA สามารถส่งข้อความที่ลงนาม (ธุรกรรม) ไปยังสัญญาที่เชื่อถือได้ (เรียกว่า Invoker) สัญญา Invoker จากนั้นสามารถใช้รหัส AUTH และ AUTHCALL เพื่อส่งธุรกรรมแทน EOA

EIP-4337: การนำเอาบัญชีผ่าน Transaction Pools (29 กันยายน 2564)

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

EIP-5189: การดำเนินการบัญชีนามบทผ่านผู้รับรอง (29 มิถุนายน 2022)

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

3.3 ข้อเสนออื่น ๆ ที่สนับสนุนการสมมติบัญชี

EIP-2718: ประเภทธุรกรรมใหม่ซอง (13 มิถุนายน 2020)

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

EIP-3607: ป้องกันที่อยู่ EOA จากการปรับใช้สัญญา (10 มิถุนายน 2021)

ข้อเสนอเสริมนี้เกี่ยวกับการแก้ไขปัญหาของที่อยู่การสร้างสัญญาที่ขัดแย้งกับที่อยู่ EOA โดยควบคุมวิธีการสร้างสัญญา ป้องกันโค้ดที่จะถูกสร้างไปยังที่อยู่ที่มีการใช้งานอยู่แล้วโดย EOAs ความเสี่ยงเล็กน้อยเนื่องจาก Ethereum addresses มีความยาว 160 บิต แม้ว่าจะเป็นไปได้ทฤษฎีโดยการชนกันของคีย์ มันจะต้องใช้ความพยายามทางการคำนวณที่สำคัญ

3.4 เข้าใจการพัฒนาของการสรุปบัญชี

เพื่อเข้าใจค่าของการเปลี่ยนจากที่อยู่ CA นั้น จำเป็นต้องเข้าใจผลกระทบทางปฏิบัติของ EIP-4337 ซึ่งสามารถบรรลุได้...

อย่างไรก็ตามข้อเสียเปรียบหลักของ EIP-4337 คือมันละเมิดหลักการของแรงจูงใจของมนุษย์ แม้ว่าจะดูเหมือนจะมีการปรับปรุง แต่ก็ตกอยู่ในภาวะชะงักงันของการพัฒนาตลาด Dapps จํานวนมากยังเข้ากันไม่ได้ทําให้ผู้ใช้ลังเลที่จะใช้ที่อยู่ CA นอกจากนี้การใช้ CA อาจส่งผลให้ต้นทุนการทําธุรกรรมสูงขึ้น (เช่นค่าธรรมเนียมการทําธุรกรรมสามารถเพิ่มเป็นสองเท่าในสถานการณ์การโอนปกติ) ทําให้ขึ้นอยู่กับความเข้ากันได้ของ Dapps เป็นอย่างมาก

เนื่องจากฉะนั้น มันยังไม่ได้เป็นที่แพร่หลายบน Ethereum mainnet จนถึงปัจจุบัน ต้นทุนเป็นปัจจัยที่สำคัญที่สุดสำหรับผู้ใช้ และจะต้องลดลง ในการลดต้นทุน GAS แท้จริง Ethereum เองจะต้องมีการอัพเกรด soft fork เพื่อปรับเปลี่ยนการคำนวณ GAS หรือเปลี่ยนการใช้ GAS ของ opcodes โดยมีความจำเป็นต้องมี soft fork ทำไมไม่พิจารณา EIP-7702 โดยตรง?

4. การวิเคราะห์อย่างเป็นรายละเอียดของ EIP-7702

4.1 คืออะไร EIP-7702

มีความแตกต่างด้วยประเภทธุรกรรมใหม่ ซึ่งช่วยให้ EOA สามารถมีฟังก์ชันของสมาร์ทคอนแทรกในธุรกรรมเดียว ทำให้รองรับการทำธุรกรรมเป็นชุด การทำธุรกรรมไร้ค่า gas และการจัดการสิทธิการใช้งานที่กำหนดเองในธุรกรรมธุรกิจ โดยไม่ต้องนำเข้าชุดคำสั่งของ EVM ใหม่ (มีผลต่อความเข้ากันได้ในอนาคต)

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

4.2 โครงสร้างข้อมูล

เขากำหนดประเภทธุรกรรมใหม่ 0x04 โดย TransactionPayload ของประเภทธุรกรรมนี้คือผลลัพธ์การซีเรียลไลเซชัน RLP ของเนื้อหาต่อไปนี้

rlp([

chain_id, //Chain ID, ใช้เพื่อป้องกันการโจมตีแบบทำซ้ำ

nonce, // ตัวนับธุรกรรมเพื่อให้แน่ใจว่าธุรกรรมไม่ซ้ำ

max_priority_fee_per_gas, //1559 ค่าธรรมเนียมการทำธุรกรรม

max_fee_per_gas, //1559 transaction fee

gas_limit,

ปลายทาง, // ที่อยู่เป้าหมายของธุรกรรม

ค่า

ข้อมูล

access_list, //รายการเข้าถึง, ใช้สำหรับการปรับปรุง Gas ใน EIP-2929.

รายการการอนุญาต,

signature_y_parity, // 3 signature parameters, used to verify transaction signature.

signature_r,

ลายมือชื่อ_s

]

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

authorization_list = [[chain_id, address, nonce, y_parity, r, s], …]

4.3 ชีวิตของธุรกรรม

4.3.1 ขั้นตอนการตรวจสอบ

ที่เริ่มต้นของช่วงการดำเนินการธุรกรรม สำหรับแต่ละ[chain_id, address, nonce, y_parity, r, s] tuple in the รายการการอนุญาต:

ใช้ecrecoverฟังก์ชันสำหรับ recovers ที่อยู่ของผู้เซ็นต์จากลายเซ็น(r, s)โปรดทราบว่าสิ่งนี้ใช้กลไกที่มีอยู่ของ Ethereum ดังนั้นอัลกอริทึมลายเซ็นต์ยังคงเดิมโดย EIP นี้ ที่อยู่ถูกกู้คืนโดยใช้:authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s). นี่คล้ายกับวิธีที่จากที่อยู่มาจากลายเซ็น แต่มันใช้กับลายเซ็นรายการที่เฉพาะ

ตรวจสอบ Chain ID เพื่อป้องกันการโจมตีที่เกิดขึ้นบนโซนที่แตกต่างกัน

ตรวจสอบว่าอำนาจรหัสของผู้ลงนามว่างเปล่าหรือถูกมอบหมาย (เพื่อยืนยันว่าธุรกรรมเป็นธุรกรรม EIP-7702 ที่ถูกตรวจสอบโดยกลไกการมอบหมายในการดำเนินการ)

ตรวจสอบอำนาจตัวตราของผู้เซ็นเนอร์เพื่อป้องกันการโจมตีแบบซ้ำซ้อนในการลายเซ็น

ตั้งค่าอำนาจรหัสของผู้ลงนาม0xef0100 || ที่อยู่(เพื่อหลีกเลี่ยงกลยุทธ์ป้องกันการชน EIP-3607)

เพิ่มอำนาจnonce ของผู้ลงนาม (เพื่อป้องกันการทำซ้ำลายเซ็นเจอร์ภายใน)

เพิ่มอำนาจเพิ่มบัญชีผู้เซ็นต์เข้าไปในรายการการเข้าถึง (เพื่อเปลี่ยนไปยังการเก็บร้อน ลดค่าใช้จ่ายในการใช้ gas สำหรับการเข้าถึง)

4.3.2 ระยะการดำเนินการ

ที่ไหนที่รหัสสัญญาและคำแนะนำการดำเนินงานถูกดำเนินการ?

เวอร์ชัน “ใหม่” เปลี่ยนวิธีการติดตั้งโค้ดสัญญา แทนที่จะตั้งค่าโค้ดบัญชีโดยตรง มันจะดึงโค้ดจาก รายการการอนุญาตที่อยู่และตั้งค่าให้เป็นรหัสบัญชี

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

คำแนะนำการทำงานและพารามิเตอร์ที่เกี่ยวข้องถูกเก็บไว้ในข้อมูลฟิลด์ของข้อมูลธุรกรรม

4.4 มีค่าเท่าไร EIP-7702?

EIP-7702 นำคุณค่าที่สำคัญมาให้เราเพราะมันเปลี่ยนแปลงกระบวนการธุรกรรมทั้งหมดสำหรับ Web3 wallets ทำให้เกิดการเปลี่ยนแปลงที่สำคัญในประสบการณ์ของผู้ใช้ ธุรกรรมทั่วไปที่เริ่มต้นจาก EOA (Externally Owned Account) ตอนนี้สามารถดำเนินการตามหลายๆ ตรรกะที่คล้ายกับการกระทำของสมาร์ทคอนแทรค เช่น การโอนแบบกลุ่ม สิ่งนี้ยังมีผลต่อสถานการณ์ CeFi โดยส่งผลกระทบต่อการระบุธุรกรรมและค่าธรรมเนียมสำหรับการถอนเงินและการรวมรวม

EIP-7702 ทำให้เกิดการแตกแนวคิดที่มีมาอย่างยาวนาน: มันทำให้เกิดการแตกแนวคิดที่ยอดเงินในบัญชีสามารถลดลงได้เพียงเฉพาะการทำธุรกรรมที่มาจากบัญชีนั้น ๆ เท่านั้น มันทำให้เกิดการแตกแนวคิดที่ EOA nonce เพิ่มขึ้นทีละ 1 หลังจากที่การทำธุรกรรมเริ่มต้น (ตอนนี้อาจเพิ่มขึ้นพร้อมกันหลายค่าได้) มันทำให้เกิดการแตกแนวคิดที่ตรรกะป้องกันที่เชื่อมั่นโดยการเปรียบเทียบtx.originและmsg.sender, ที่มีความเสี่ยงต่อสัญญาหลายราย. นอกจากนี้ยังทำให้ข้อเท็จจริงว่า EOA เองไม่สามารถส่งเหตุการณ์ได้, ซึ่งอาจส่งผลต่อการระบุและการตรวจสอบเหตุการณ์บางอย่างบนเชน. ในที่สุด, มันทำให้สมมติฐานว่าที่อยู่ EOA จะได้รับ ERC20, 721, 1155, และสินทรัพย์อื่นๆ ได้เสมอ (เนื่องจากอาจล้มเหลวเนื่องจากกลไกการคืนเรียกกลับ).

4.5 การเปรียบเทียบระหว่าง EIP-7702 และ EIP-4337

1.ความได้เปรียบของ EIP-7702

EIP-7702 มีข้อดีหลายอย่าง หนึ่งในนั้นคือต้นทุน gas ที่ต่ำลง เนื่องจากไม่จำเป็นต้องผ่านโมดูล entrypoint ลดการดำเนินการ on-chain อีกหนึ่งอย่างคือต้นทุนการย้ายผู้ใช้ลดลง เนื่องจากไม่จำเป็นต้องเปิดใช้งานสัญญา on-chain เป็นหลักล่วงหน้า

เมื่อเปรียบเทียบกับ EIP-4337, EIP-7702 ยังรองรับการดำเนินการโค้ดแบบมอบหมายและมีสองประเภทของการมอบหมาย:

การมอบหมายเต็มรูปแบบ: นี่หมายความว่าการมอบหมายควบคุมเต็มรูปแบบของการดำเนินการบางอย่างให้กับที่อยู่ที่ระบุ ตัวอย่างเช่น ผู้ใช้สามารถมอบหมายการจัดการทุกประเภทของ ERC-20 โทเค็นไปยังที่อยู่สมาร์ทคอนแทรค ซึ่งอนุญาตให้สัญญาดำเนินการที่เกี่ยวข้องทั้งหมดในนามของผู้ใช้

การมอบหมายที่ได้รับการป้องกัน: นี้เกี่ยวข้องกับการเพิ่มข้อจำกัดและมั่นคงภายในการมอบหมายเพื่อให้มั่นคงและสามารถควบคุมการดำเนินการที่มอบหมายได้ เช่น เช่นผู้ใช้สามารถมอบหมายสิทธิการจัดการบางส่วนของ ERC-20 tokens เพื่อสัญญาอัจฉริยะหรือตั้งเงื่อนไข (เช่น ใช้จ่ายไม่เกิน 1% ของยอดรวมทั้งหมดต่อวัน)

2. ข้อเสียของ EIP-7702

ข้อเสียหายหลักของ EIP-7702 คือมันเกี่ยวข้องกับการอัปเกรดด้วยฟอร์คเชื่องนี้ต้องการความเห็นร่วมจากชุมชนเพื่อดันหน้าไปข้างหน้า การเปลี่ยนแปลงของมันมีน้ำหนักมากและอาจมีผลกระทบกว้างขวางต่อระบบอนโคด เน้นการประเมินเบื้องต้นโดย Shisi Jun ได้ระบุถึงภาวะท้าทายหลายอย่าง แต่ภาวะท้าทายเหล่านี้ยังสามารถเป็นโอกาสทางตลาดได้เช่นกัน

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

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

ในขณะที่ EIP-7702 ให้ความสามารถในการทำสัญญากับที่อยู่ EOA พื้นที่เก็บข้อมูลที่เกี่ยวข้องไม่สามารถถูกเก็บไว้

ค่าธรรมเนียมของธุรกรรมแต่ละรายการจะสูงขึ้นเล็กน้อยเนื่องจากมีการเพิ่มขึ้นอย่างมีนัยสำคัญในส่วนของ Calldata ค่าที่คาดว่าจะใช้ทั้งหมดในการเรียกคือ 16 (gas) 15 (bytes) = 240 (gas) for calldata costs, plus EIP-3860’s cost of 2 15 = 30, และประมาณ 150 สำหรับค่าใช้จ่ายในการเรียกใช้งาน ดังนั้น การเตรียมบัญชีโดยไม่มีการดำเนินการจะทำให้ค่า gas เพิ่มขึ้นโดยประมาณ 500

“หากผู้รับลงลายมีโค้ดที่ไม่มีฟังก์ชันการรับ ผู้ส่งอาจเผชิญกับ DoS เมื่อพยายามส่งสินทรัพย์” ดูกรณีนี้ ปัญหานี้เกิดขึ้นเมื่อ EOA A ลงลายบางสิ่งที่ไม่ควรมี - ไฟล์ที่สามารถทำซ้ำได้ที่มีการปรับปรุงไม่ถูกต้อง (ขาดreceive()).

ตรวจสอบความเหมาะสมบนเชื่อมโยงบนโซ่และตรรกะการถอนอาจไม่สอดคล้องกัน ตัวอย่างเช่น เมื่อโอน ERC-20 โทเค็น หากบัญชีผู้รับมีโค้ด สัญญาโทเค็นจะเรียกใช้onERC20Receivedบนบัญชีผู้รับ หากonERC20Receivedreverts or returns an incorrect value, the token transfer will revert.

นอกจากนี้ หาก EOA สามารถแพร่กระจายเหตุการณ์ได้ อาจมีปัญหาบางประการหรือไม่? บางโครงสร้างพื้นฐานอาจต้องให้ความสนใจกับนี้

นี่เป็นข้อเสียของสรุปโดย Shisi Jun โดยขึ้นอยู่กับข้อเสนอ EIP-7702 ปัจจุบันและการอภิปรายในฟอรั่มอย่างเป็นทางการ การวิเคราะห์ที่สมบูรณ์จะต้องการการสำรวจรหัสการประมวลผลสุดท้าย

5. สรุป

บทความอาจดูยาว แต่มีคำเพียงประมาณ 6,000 คำเท่านั้น มีการอ้างถึงการตีความ EIP ในอดีตมากมายที่เชื่อมโยงอยู่ในข้อความสำหรับการสำรวจเพิ่มเติม ดังนั้นฉันจึงจะไม่ลงรายละเอียดในเรื่องเหล่านั้นที่นี่

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

อย่างไรก็ตามคราวนี้การเปลี่ยนแปลงค่อนข้างก่อกวนทําลายกฎบนลูกโซ่ที่ "เป็นไปไม่ได้" ก่อนหน้านี้หลายข้อและเปลี่ยนตรรกะของ DApps ส่วนใหญ่ อย่างไรก็ตาม EIP-7702 เข้าใจจุดที่สําคัญที่สุดอย่างแน่นหนา: ช่วยลดต้นทุนของผู้ใช้ได้อย่างมาก ในทางตรงกันข้าม EIP-4337 เกือบสองเท่าของต้นทุนการทําธุรกรรม

ผู้ใช้ยังคงเป็นที่อยู่ EOA (Externally Owned Account) โดยเฉพาะ แต่ใช้และเรียกใช้ตรรกะ CA (Contract Account) เมื่อจำเป็นเท่านั้น ทำให้ลดต้นทุนการถือครอง ไม่จำเป็นต้องแปลงเป็นตัวตั้งต้น CA บนเชนก่อนดำเนินการ ซึ่งหมายความว่าผู้ใช้ไม่จำเป็นต้องลงทะเบียน

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

ดังนั้น หลังจากที่ EIP-7702 ได้เสนอแนะการเปลี่ยนแปลงมากมาย ผลกระทบจากมูลค่าเท่านั้นทำให้ควรศึกษาและปรับใช้สำหรับ DApps ทั้งหมด ครั้งนี้ผู้ใช้งานแน่นอนอยู่ในฝ่ายของ EIP-7702

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์ใหม่จาก [PANews]. สิทธิ์ในการถือครองลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนเดิม [ทุกสิ่งทุกอย่าง]Fourteenth Lord]. หากมีการท้าทานในการพิมพ์ซ้ำนี้ โปรดติดต่อGate Learnทีม และพวกเขาจะดำเนินการด้วยรวดเร็ว
  2. ข้อความปฏิเสธความรับผิดชอบ: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นที่สมบูรณ์ของคำแนะนำในการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่นๆ ทำโดยทีม Gate Learn ห้ามคัดลอก กระจาย หรือลอกเลียนแบบบทความที่ถูกแปล นอกเส้นทางที่ได้กล่าวถึง
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!