การสำรวจข้อเสนอ EIP-7702: วิตาลิค วิธีการสุดท้ายสำหรับปัญหาการหลีกเลี่ยงบัญชี?

Vitalik Buterin ได้เสนอ EIP-7702 ซึ่งอาจเป็นหนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุดในประวัติศาสตร์ของ Ethereum EIP-7702 มีเป้าหมายที่จะปรับปรุง account abstraction โดยที่จะทำให้ smart contracts สามารถใช้เป็นบัญชี ซึ่งจะเพิ่มความสามารถและความปลอดภัย มันเข้ากันได้ดีมากกับ EIP-4337 ซึ่งได้รับการนำไปใช้อย่างแพร่หลายในแพลตฟอร์มเช่น Polygon EIP-7702 บรรลุการมอบหมายชั่วคราวของ EOAs (Externally Owned Accounts) ให้กับ smart contracts โดยการชั่วคราวที่จะเติมโค้ดสัญญาที่อยู่ในช่องโค้ดของ EOA ด้วยโค้ด smart contract โดยไม่ต้องใช้ hard fork นี่อาจทำให้วิธีการปฏิสัมพันธ์ของผู้ใช้กับแอปพลิเคชัน Web3 เปลี่ยนไป

Vitalik Buterin เสนอ EIP-7702 เร็ว ๆ นี้ ซึ่งอาจเป็นหนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุดในประวัติศาสตร์ของ Ethereum บทความนี้จะแนะนำการทำงานของข้อเสนอใหม่นี้และทุกอย่างที่ต้องเข้าใจในการปฏิบัติ

ตั้งแต่แรก ข้อเสนอ EIP-7702 นั้นสั้นกว่าที่คาดคิดซึ่งทำให้บางคนสับสนเกี่ยวกับการดำเนินการของมัน ในการเข้าใจ EIP-7702 เราจำเป็นต้องมองไปที่ข้อเสนออื่น ๆ 3 ข้อที่กล่าวถึงในนั้น:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

เรามาเริ่มต้นกับเป้าหมายที่ร่วมกันของเสนอนี้: “account abstraction.” ใน Ethereum, EOAs (“ordinary” accounts) มีข้อเสียหายที่สำคัญ—พวกเขาเสี่ยงอันมากและมีฟังก์ชันที่ จำกัด Account abstraction ช่วยให้ผู้ใช้สามารถใช้สัญญาอัจฉริยะเป็นบัญชี โดยเพิ่มความสามารถและความปลอดภัยมากขึ้นเพื่อแก้ไขปัญหาเหล่านี้

EIP-4337

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

ตั้งแต่การเปิดตัว EIP-4337 ได้เห็นการนำมาใช้โดยแพร่หลาย โดยที่มีการนำมาใช้โดยส่วนใหญ่โดย Polygon พร้อมกับการเพิ่มกิจกรรมจาก Base ในเดือนที่ผ่านมา

นวัตกรรมล่าสุดที่เกี่ยวข้องกับ EIP-4337 มาจากนิวอีคอร์นเนอร์ต่างๆ และกระเป๋าเงินฉลองรับกลิ่นของนิวอีคอร์นเนอร์ กระเป๋าเงินนี้มีพื้นฐานเทคโนโลยีชีวภาพซึ่งมอบประสบการณ์ผู้ใช้ที่ยอดเยี่ยม สุดสัปดาห์ที่ผ่านมา ฉันได้สร้างการสาธิตเล็กๆ อีกอันที่ ETH Global Sydney เพื่อแสดงให้เห็น

ดังนั้น EIP-4337 มีปัญหาอะไรบ้าง? ทำไมวันนี้มีข้อเสนอการใช้บัญชีแบบสรุปอีกต่อไป? เพราะว่า EOAs เป็นประเภทบัญชีที่ใช้กันอย่างแพร่หลายที่สุดอยู่

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

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

EIP-3074

นี่เป็นเหตุการณ์ที่นำเรามาสู่ข้อเสนอถัดไปของเรา: EIP-3074.

ในความเป็นจริง ข้อเสนอนี้ถูกนำเสนอก่อน EIP-4337 แต่ยังไม่ได้รวมอยู่ใน mainnet EIP-3074 พยายามที่จะทำให้ EOAs มีอำนาจโดยทำให้พวกเขาสามารถมอบหมายควบคุมของตัวของพวกเขาไปยังสัญญาอัจฉริยะ

ข้อเสนอรายละเอียดเพิ่มรหัสคำสั่งสองรหัสใหม่:

  1. AUTH: EOA สามารถเรียกใช้ AUTH เพื่อให้สัญญาอัจฉริยะที่กำหนดได้มีสิทธิ์ทำงานแทน
  2. AUTHCALL: สัญญาอัจฉริยะที่ได้รับอนุญาตสามารถใช้ AUTHCALL เพื่อดำเนินการธุรกรรมแทน EOA ได้

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

การตอบสนองที่พบบ่อยต่อ EIP-3074 คือ “Imagine ถ้ามีใครสร้างสัญญาที่เป็นอันตรายและผู้ใช้มอบหมายให้มัน?” หลังจากนั้น การมอบหมายให้กับสัญญาที่เป็นอันตรายอาจส่งผลให้เงินเข้าในกระเป๋าเงินดิจิทัลทั้งหมดของผู้ใช้ถูกโอนออกไป

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

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

ในสารที่หลังจากผู้ใช้ทำธุรกรรมใหม่ การมอบหมายจะไม่ถูกต้องอีกต่อไป

EIP-5003

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

นี่นำเรามาสู่ข้อเสนอถัดไปของเรา: EIP-5003 EIP-5003 นำเสนอออพคอดอีกตัว คือ "AUTHUSURP" ซึ่งใช้ในการเปิดใช้งานโค้ดที่อยู่ใน EIP-3074 authorization address

ความแตกต่างระหว่าง EIP-3074 และ EIP-5003 คือ:

EIP-3074 เป็นการมอบอำนาจชั่วคราวให้สัญญาอัจฉริยะ ซึ่งสามารถถอนได้

EIP-5003 เป็นการย้ายถาวรจาก EOAs และ "การแปลง" จาก EOAs เป็นบัญชีสมาร์ทคอนแทร็ก

ปัญหาใหญ่ของ EIP-3074 + EIP-5003 คือความไม่เข้ากันได้กับโครงการการสร้างบัญชีปัจจุบันผ่าน EIP-4337 บางคนในชุมชน Ethereum กังวลว่าเราอาจ "สร้างระบบโค้ดสองชุดแยกกัน" ด้วยการสร้างบัญชีแบบนี้

EIP-7702

นี่เป็นเหตุการณ์ที่นำเรามาสู่ข้อเสนอของ Vitalik Buterin ในวันนี้: EIP-7702 เขาเสนอที่จะปรับเปลี่ยน EIP-3074 เพื่อทำให้มันกระชับและเข้ากันได้กับ EIP-4337 เพื่อไม่ให้เกิดอะไรขึ้นว่าเราจะมีระบบนิเวศการสร้างบัญชีสองระบบแยกกัน EIP-5003 จึงถือเป็นขั้นตอนถัดไปสำหรับการย้ายถาวร

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

เช่นเดียวกับ EIP-3074 สิ่งนี้บรรลุการมอบหมาย EOAs ชั่วคราวให้กับสัญญาอัจฉริยะ อย่างไรก็ตาม EIP-7702 ไม่ได้แนะนํา opcodes ใหม่ (ซึ่งจะต้องใช้ hard fork) แต่กําหนดฟังก์ชันที่จะเรียกว่า:

AUTH -> เรียก "verify"

AUTHCALL -> เรียกใช้งาน "execute"

โดยเฉพาะ

ตรวจสอบว่าโค้ดสัญญาของบัญชีของคุณว่างเปล่าหรือไม่

หากมีค่าว่าง จะตั้งค่าเป็นรหัสสัญญาที่ให้มา

ดำเนินการธุรกรรมตามวิธีที่สัญญาอัจฉริยะที่ให้มาจัดการกับธุรกรรม

เรียกคืนโค้ดสัญญาของบัญชีให้ว่างเปล่า

“รหัสสัญญา” เป็นตัวอักษรตัวตัว; นี่คือที่เก็บรหัสของสัญญาฉลากฉลอง โดยที่ EOA ตัวเองไม่ใช่สัญญา ฟิลด์นี้มักจะว่างเปล่า อย่างไรก็ตามความยอดเยี่ยมของ EIP-7702 คือว่ามันจะเติมข้อมูลรหัสสัญญาบางส่วนชั่วคราวในฟิลด์นี้ระหว่างการดำเนินการธุรกรรม

นี่เป็นวิธีการจัดเตรียมลักษณะการทํางานใหม่ (ในรูปแบบโค้ด) สําหรับ EOA ของคุณเพื่อดําเนินการธุรกรรมเฉพาะนี้ ขั้นตอนต่อไปคือการทําให้เป็นการเปลี่ยนแปลงพฤติกรรมอย่างถาวรโดยเพียงแค่เลือก "ไม่ตั้งค่ารหัสให้ว่างเปล่าหลังจากการทําธุรกรรมสิ้นสุดลง"

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

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

ในอนาคต สิ่งนี้อาจเปลี่ยนแปลงพื้นฐานวิธีการที่เราทุกคนมีปฏิสัมพันธ์กับแอปพลิเคชัน Web3 ทั้งหมด

คำแถลง:

  1. บทความนี้ถูกคัดลอกมาจาก [ panews], หัวเรื่องเริ่มต้น “การสำรวจข้อเสนอ EIP-7702: การสั่งยาสุดท้ายของวิทัลิคสำหรับปัญหาการถอดบัญชี?”, ลิขสิทธิ์เป็นของเจ้าของเดิม [Foresight News], หากคุณมีเหตุใดๆที่ต้องการใช้งานใหม่ โปรดติดต่อGate Learn Team, ทีมจะดำเนินการให้เร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง

  2. คำโฆษณา: มุมมองและความเห็นที่แสดงในบทความนี้เพียงแสดงถึงมุมมองส่วนตัวของผู้เขียนเท่านั้น และไม่ใช่เป็นคำแนะนำในการลงทุนใดๆ

  3. เวอร์ชันภาษาอื่นของบทความถูกแปลโดยทีม Gate Learn ซึ่งไม่ได้กล่าวถึงGate.io, บทความที่ถูกแปลอาจไม่สามารถทำสำเนา กระจายหรือลอกเลียนได้

การสำรวจข้อเสนอ EIP-7702: วิตาลิค วิธีการสุดท้ายสำหรับปัญหาการหลีกเลี่ยงบัญชี?

มือใหม่5/14/2024, 1:42:24 PM
Vitalik Buterin ได้เสนอ EIP-7702 ซึ่งอาจเป็นหนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุดในประวัติศาสตร์ของ Ethereum EIP-7702 มีเป้าหมายที่จะปรับปรุง account abstraction โดยที่จะทำให้ smart contracts สามารถใช้เป็นบัญชี ซึ่งจะเพิ่มความสามารถและความปลอดภัย มันเข้ากันได้ดีมากกับ EIP-4337 ซึ่งได้รับการนำไปใช้อย่างแพร่หลายในแพลตฟอร์มเช่น Polygon EIP-7702 บรรลุการมอบหมายชั่วคราวของ EOAs (Externally Owned Accounts) ให้กับ smart contracts โดยการชั่วคราวที่จะเติมโค้ดสัญญาที่อยู่ในช่องโค้ดของ EOA ด้วยโค้ด smart contract โดยไม่ต้องใช้ hard fork นี่อาจทำให้วิธีการปฏิสัมพันธ์ของผู้ใช้กับแอปพลิเคชัน Web3 เปลี่ยนไป

Vitalik Buterin เสนอ EIP-7702 เร็ว ๆ นี้ ซึ่งอาจเป็นหนึ่งในการเปลี่ยนแปลงที่สำคัญที่สุดในประวัติศาสตร์ของ Ethereum บทความนี้จะแนะนำการทำงานของข้อเสนอใหม่นี้และทุกอย่างที่ต้องเข้าใจในการปฏิบัติ

ตั้งแต่แรก ข้อเสนอ EIP-7702 นั้นสั้นกว่าที่คาดคิดซึ่งทำให้บางคนสับสนเกี่ยวกับการดำเนินการของมัน ในการเข้าใจ EIP-7702 เราจำเป็นต้องมองไปที่ข้อเสนออื่น ๆ 3 ข้อที่กล่าวถึงในนั้น:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

เรามาเริ่มต้นกับเป้าหมายที่ร่วมกันของเสนอนี้: “account abstraction.” ใน Ethereum, EOAs (“ordinary” accounts) มีข้อเสียหายที่สำคัญ—พวกเขาเสี่ยงอันมากและมีฟังก์ชันที่ จำกัด Account abstraction ช่วยให้ผู้ใช้สามารถใช้สัญญาอัจฉริยะเป็นบัญชี โดยเพิ่มความสามารถและความปลอดภัยมากขึ้นเพื่อแก้ไขปัญหาเหล่านี้

EIP-4337

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

ตั้งแต่การเปิดตัว EIP-4337 ได้เห็นการนำมาใช้โดยแพร่หลาย โดยที่มีการนำมาใช้โดยส่วนใหญ่โดย Polygon พร้อมกับการเพิ่มกิจกรรมจาก Base ในเดือนที่ผ่านมา

นวัตกรรมล่าสุดที่เกี่ยวข้องกับ EIP-4337 มาจากนิวอีคอร์นเนอร์ต่างๆ และกระเป๋าเงินฉลองรับกลิ่นของนิวอีคอร์นเนอร์ กระเป๋าเงินนี้มีพื้นฐานเทคโนโลยีชีวภาพซึ่งมอบประสบการณ์ผู้ใช้ที่ยอดเยี่ยม สุดสัปดาห์ที่ผ่านมา ฉันได้สร้างการสาธิตเล็กๆ อีกอันที่ ETH Global Sydney เพื่อแสดงให้เห็น

ดังนั้น EIP-4337 มีปัญหาอะไรบ้าง? ทำไมวันนี้มีข้อเสนอการใช้บัญชีแบบสรุปอีกต่อไป? เพราะว่า EOAs เป็นประเภทบัญชีที่ใช้กันอย่างแพร่หลายที่สุดอยู่

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

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

EIP-3074

นี่เป็นเหตุการณ์ที่นำเรามาสู่ข้อเสนอถัดไปของเรา: EIP-3074.

ในความเป็นจริง ข้อเสนอนี้ถูกนำเสนอก่อน EIP-4337 แต่ยังไม่ได้รวมอยู่ใน mainnet EIP-3074 พยายามที่จะทำให้ EOAs มีอำนาจโดยทำให้พวกเขาสามารถมอบหมายควบคุมของตัวของพวกเขาไปยังสัญญาอัจฉริยะ

ข้อเสนอรายละเอียดเพิ่มรหัสคำสั่งสองรหัสใหม่:

  1. AUTH: EOA สามารถเรียกใช้ AUTH เพื่อให้สัญญาอัจฉริยะที่กำหนดได้มีสิทธิ์ทำงานแทน
  2. AUTHCALL: สัญญาอัจฉริยะที่ได้รับอนุญาตสามารถใช้ AUTHCALL เพื่อดำเนินการธุรกรรมแทน EOA ได้

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

การตอบสนองที่พบบ่อยต่อ EIP-3074 คือ “Imagine ถ้ามีใครสร้างสัญญาที่เป็นอันตรายและผู้ใช้มอบหมายให้มัน?” หลังจากนั้น การมอบหมายให้กับสัญญาที่เป็นอันตรายอาจส่งผลให้เงินเข้าในกระเป๋าเงินดิจิทัลทั้งหมดของผู้ใช้ถูกโอนออกไป

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

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

ในสารที่หลังจากผู้ใช้ทำธุรกรรมใหม่ การมอบหมายจะไม่ถูกต้องอีกต่อไป

EIP-5003

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

นี่นำเรามาสู่ข้อเสนอถัดไปของเรา: EIP-5003 EIP-5003 นำเสนอออพคอดอีกตัว คือ "AUTHUSURP" ซึ่งใช้ในการเปิดใช้งานโค้ดที่อยู่ใน EIP-3074 authorization address

ความแตกต่างระหว่าง EIP-3074 และ EIP-5003 คือ:

EIP-3074 เป็นการมอบอำนาจชั่วคราวให้สัญญาอัจฉริยะ ซึ่งสามารถถอนได้

EIP-5003 เป็นการย้ายถาวรจาก EOAs และ "การแปลง" จาก EOAs เป็นบัญชีสมาร์ทคอนแทร็ก

ปัญหาใหญ่ของ EIP-3074 + EIP-5003 คือความไม่เข้ากันได้กับโครงการการสร้างบัญชีปัจจุบันผ่าน EIP-4337 บางคนในชุมชน Ethereum กังวลว่าเราอาจ "สร้างระบบโค้ดสองชุดแยกกัน" ด้วยการสร้างบัญชีแบบนี้

EIP-7702

นี่เป็นเหตุการณ์ที่นำเรามาสู่ข้อเสนอของ Vitalik Buterin ในวันนี้: EIP-7702 เขาเสนอที่จะปรับเปลี่ยน EIP-3074 เพื่อทำให้มันกระชับและเข้ากันได้กับ EIP-4337 เพื่อไม่ให้เกิดอะไรขึ้นว่าเราจะมีระบบนิเวศการสร้างบัญชีสองระบบแยกกัน EIP-5003 จึงถือเป็นขั้นตอนถัดไปสำหรับการย้ายถาวร

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

เช่นเดียวกับ EIP-3074 สิ่งนี้บรรลุการมอบหมาย EOAs ชั่วคราวให้กับสัญญาอัจฉริยะ อย่างไรก็ตาม EIP-7702 ไม่ได้แนะนํา opcodes ใหม่ (ซึ่งจะต้องใช้ hard fork) แต่กําหนดฟังก์ชันที่จะเรียกว่า:

AUTH -> เรียก "verify"

AUTHCALL -> เรียกใช้งาน "execute"

โดยเฉพาะ

ตรวจสอบว่าโค้ดสัญญาของบัญชีของคุณว่างเปล่าหรือไม่

หากมีค่าว่าง จะตั้งค่าเป็นรหัสสัญญาที่ให้มา

ดำเนินการธุรกรรมตามวิธีที่สัญญาอัจฉริยะที่ให้มาจัดการกับธุรกรรม

เรียกคืนโค้ดสัญญาของบัญชีให้ว่างเปล่า

“รหัสสัญญา” เป็นตัวอักษรตัวตัว; นี่คือที่เก็บรหัสของสัญญาฉลากฉลอง โดยที่ EOA ตัวเองไม่ใช่สัญญา ฟิลด์นี้มักจะว่างเปล่า อย่างไรก็ตามความยอดเยี่ยมของ EIP-7702 คือว่ามันจะเติมข้อมูลรหัสสัญญาบางส่วนชั่วคราวในฟิลด์นี้ระหว่างการดำเนินการธุรกรรม

นี่เป็นวิธีการจัดเตรียมลักษณะการทํางานใหม่ (ในรูปแบบโค้ด) สําหรับ EOA ของคุณเพื่อดําเนินการธุรกรรมเฉพาะนี้ ขั้นตอนต่อไปคือการทําให้เป็นการเปลี่ยนแปลงพฤติกรรมอย่างถาวรโดยเพียงแค่เลือก "ไม่ตั้งค่ารหัสให้ว่างเปล่าหลังจากการทําธุรกรรมสิ้นสุดลง"

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

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

ในอนาคต สิ่งนี้อาจเปลี่ยนแปลงพื้นฐานวิธีการที่เราทุกคนมีปฏิสัมพันธ์กับแอปพลิเคชัน Web3 ทั้งหมด

คำแถลง:

  1. บทความนี้ถูกคัดลอกมาจาก [ panews], หัวเรื่องเริ่มต้น “การสำรวจข้อเสนอ EIP-7702: การสั่งยาสุดท้ายของวิทัลิคสำหรับปัญหาการถอดบัญชี?”, ลิขสิทธิ์เป็นของเจ้าของเดิม [Foresight News], หากคุณมีเหตุใดๆที่ต้องการใช้งานใหม่ โปรดติดต่อGate Learn Team, ทีมจะดำเนินการให้เร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง

  2. คำโฆษณา: มุมมองและความเห็นที่แสดงในบทความนี้เพียงแสดงถึงมุมมองส่วนตัวของผู้เขียนเท่านั้น และไม่ใช่เป็นคำแนะนำในการลงทุนใดๆ

  3. เวอร์ชันภาษาอื่นของบทความถูกแปลโดยทีม Gate Learn ซึ่งไม่ได้กล่าวถึงGate.io, บทความที่ถูกแปลอาจไม่สามารถทำสำเนา กระจายหรือลอกเลียนได้

Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!