3 หลักสูตรแรกจะพาเราย้อนกลับไปสู่การพัฒนากระเป๋าเงินดิจิทัล และชี้ให้เห็นถึงความท้าทายและข้อกังวลบางประการเกี่ยวกับโซลูชันกระเป๋าเงิน web3 ต่างๆ โดยเฉพาะอย่างยิ่งในแง่ของความล้มเหลวจุดเดียวของ EOA ข้อจำกัดของกระเป๋าเงินหลาย sig และ MPC ในการมอบหมายผู้มอบหมายใหม่ นอกจากนี้ ผู้ใช้ web3 ต้องการสภาพแวดล้อมที่เป็นมิตรต่อนักพัฒนาซึ่งช่วยให้นักพัฒนาสามารถสร้างโซลูชันได้อย่างง่ายดายเพื่อตอบสนองความต้องการที่หลากหลายของภูมิทัศน์ web3 ที่พัฒนาอย่างรวดเร็ว เนื่องจากถูกจำกัดโดยตรรกะการทำธุรกรรมของ EOA บน Ethereum นักพัฒนาจึงพบว่าเป็นการยากที่จะขยายฟังก์ชันการทำงานและปฏิบัติตามข้อกำหนดที่ซับซ้อนมากขึ้นของ DApps นี่คือที่มาของ Account Abstraction ก่อนที่เราจะเจาะลึก Account Abstraction เพื่อทำความเข้าใจว่าเหตุใดจึงมักถูกมองว่าเป็นก้าวสำคัญในการนำ web3 มาใช้จำนวนมาก เราจำเป็นต้องเปรียบเทียบวงจรชีวิตโดยทั่วไปของธุรกรรมกับ EOA และกับการปรับปรุง AA ใน Ethereum
Ethereum Network อนุญาตเฉพาะ EOA (บัญชีภายนอก) เพื่อเริ่มต้นธุรกรรมโดยมี ECDSA เป็นลายเซ็น และธุรกรรมที่ลงนามนี้จะถูกส่งไปยัง Mempool บนทุกโหนดในเครือข่ายเพื่อการประมวลผล หลังจากข้อมูล เช่น การจับคู่ลายเซ็น ยอดคงเหลือที่เพียงพอ ปริมาณก๊าซที่เพียงพอ และไม่มีการยืนยันโดยโหนดส่วนใหญ่ จากนั้น EVM จะเริ่มดำเนินการธุรกรรม
จากแผนภูมิด้านบน เราจะเห็นว่าห้าส่วนที่อยู่ในกรอบสีแดงนั้นเป็นฮาร์ดโค้ดในเครือข่าย Ethereum และไม่สามารถเปลี่ยนแปลงได้เลย ดังนั้น นักพัฒนาควรเริ่มต้นใหม่ทั้งหมดหากพวกเขาแนะนำฟังก์ชันใหม่ๆ เช่น การใช้งานหลายลงชื่อโดยใช้วิธีการเข้ารหัส มีวิธีที่จะช่วยให้นักพัฒนามีสภาพแวดล้อมการพัฒนาที่เรียบง่ายโดยไม่ต้องเปลี่ยนแปลงกลไกของเครือข่าย Ethereum หรือไม่? นักพัฒนากลุ่มหนึ่งได้ยื่นข้อเสนอสำหรับ EIP-4337 ซึ่งปัจจุบันรู้จักกันในชื่อ ERC-4337 เพื่อทำให้มันเกิดขึ้น ERC-4337 นำบทบาทใหม่มาสู่ Ethereum เพื่อให้สามารถตั้งโปรแกรมได้มากขึ้น ซึ่งเราเรียกว่า Account Abstraction ใน Ethereum (เอเอ สั้นๆ)
*EIP ย่อมาจาก Ethereum Improvement Proposal ซึ่งสมาชิกคนใดก็ได้ในชุมชน Ethereum สามารถทำได้เพื่อเปลี่ยนแปลงหรือปรับปรุงเครือข่าย Ethereum ในขณะที่ ERC เป็นมาตรฐานสำหรับเครือข่าย Ethereum มีเพียง EIP ที่ชุมชนนำมาใช้เท่านั้นที่สามารถเรียกว่า ERC
วงจรชีวิตโดยทั่วไปของธุรกรรมภายใน ERC-4337 มีลักษณะดังนี้:
ในบริบทของ AA เราจะเห็นได้ว่า Bundler ทำหน้าที่เป็น EOA ดั้งเดิม (จริงๆ แล้ว Bundler คือ EOA) เพื่อแพ็ค UserOperations ลงใน Bundle ซึ่งสอดคล้องกับธุรกรรมดั้งเดิมใน Mempool UO สามารถปรับแต่งได้ ทำให้สามารถลงนามได้หลายประเภท เฉพาะชุดที่ได้รับการตรวจสอบแล้วในชั้นฉันทามติเท่านั้นที่จะถูกส่งไปยัง EVM เพื่อตรวจสอบความถูกต้องเฉพาะของ UO แต่ละรายการตามจุดเริ่มต้นและการดำเนินการตามสัญญาที่เกี่ยวข้อง หลังจากการตรวจสอบความถูกต้องของ Entry Point การดำเนินการตามสัญญาเฉพาะจะเริ่มต้นขึ้น ซึ่งแบ่งออกเป็นสามโมดูล:
ดังนั้น หากเราเปรียบเทียบขั้นตอนในการเริ่มต้นธุรกรรมในลักษณะเดิมและขั้นตอนที่อยู่ภายใต้ AA ก็ไม่ยากที่จะสังเกตได้ว่าในขณะที่ยังคงรักษากลไกของชั้นฉันทามติอยู่นั้น ได้มีการนำโมดูลใหม่ๆ เช่น UserOperation, Bundler และ EntryPoint มาใช้ ซึ่งเพิ่มความเป็นไปได้ ของการนำฟังก์ชันต่างๆ มาใช้มากขึ้น
ที่มา:https://www.erc4337.io/docs/understand-ERC-4337/architecture_
สำหรับนักพัฒนา AA ให้ความยืดหยุ่นมากขึ้นเมื่อพูดถึงการแนะนำฟังก์ชันใหม่ๆ และสำหรับผู้ใช้ การดำเนินงานที่สอดคล้องกับผลิตภัณฑ์ web2
มี 5 ทิศทางหลักที่กระเป๋าสตางค์ AA กำลังสำรวจ:
ผู้ใช้ที่แตกต่างกันสามารถได้รับสิทธิ์การเข้าถึงเฉพาะ ตัวอย่างเช่น บัญชี A ได้รับอนุญาตให้จัดการกระเป๋าเงิน โดยมีขีดจำกัดการใช้งานสูงสุดต่อเดือนที่ $100
ความขาดแคลนของกระเป๋าเงิน AA ที่นำเสนอฟังก์ชันหลายลายเซ็นไม่ได้เกิดจากข้อจำกัดทางเทคโนโลยี แต่มันเกิดจากการที่ Safe ครองส่วนแบ่งการตลาดส่วนใหญ่ในขอบเขตนี้ ด้วยเหตุนี้ ผู้ให้บริการกระเป๋าเงินรายอื่นจึงเปลี่ยนเส้นทางความพยายามของตนไปสู่การยึดตลาดกระเป๋าเงินแต่ละราย
*กระเป๋าสตางค์อาจเพิ่มฟังก์ชันเพิ่มเติมในภายหลัง อัปเดตล่าสุดเมื่อวันที่ 3 พ.ย. 2023
3 หลักสูตรแรกจะพาเราย้อนกลับไปสู่การพัฒนากระเป๋าเงินดิจิทัล และชี้ให้เห็นถึงความท้าทายและข้อกังวลบางประการเกี่ยวกับโซลูชันกระเป๋าเงิน web3 ต่างๆ โดยเฉพาะอย่างยิ่งในแง่ของความล้มเหลวจุดเดียวของ EOA ข้อจำกัดของกระเป๋าเงินหลาย sig และ MPC ในการมอบหมายผู้มอบหมายใหม่ นอกจากนี้ ผู้ใช้ web3 ต้องการสภาพแวดล้อมที่เป็นมิตรต่อนักพัฒนาซึ่งช่วยให้นักพัฒนาสามารถสร้างโซลูชันได้อย่างง่ายดายเพื่อตอบสนองความต้องการที่หลากหลายของภูมิทัศน์ web3 ที่พัฒนาอย่างรวดเร็ว เนื่องจากถูกจำกัดโดยตรรกะการทำธุรกรรมของ EOA บน Ethereum นักพัฒนาจึงพบว่าเป็นการยากที่จะขยายฟังก์ชันการทำงานและปฏิบัติตามข้อกำหนดที่ซับซ้อนมากขึ้นของ DApps นี่คือที่มาของ Account Abstraction ก่อนที่เราจะเจาะลึก Account Abstraction เพื่อทำความเข้าใจว่าเหตุใดจึงมักถูกมองว่าเป็นก้าวสำคัญในการนำ web3 มาใช้จำนวนมาก เราจำเป็นต้องเปรียบเทียบวงจรชีวิตโดยทั่วไปของธุรกรรมกับ EOA และกับการปรับปรุง AA ใน Ethereum
Ethereum Network อนุญาตเฉพาะ EOA (บัญชีภายนอก) เพื่อเริ่มต้นธุรกรรมโดยมี ECDSA เป็นลายเซ็น และธุรกรรมที่ลงนามนี้จะถูกส่งไปยัง Mempool บนทุกโหนดในเครือข่ายเพื่อการประมวลผล หลังจากข้อมูล เช่น การจับคู่ลายเซ็น ยอดคงเหลือที่เพียงพอ ปริมาณก๊าซที่เพียงพอ และไม่มีการยืนยันโดยโหนดส่วนใหญ่ จากนั้น EVM จะเริ่มดำเนินการธุรกรรม
จากแผนภูมิด้านบน เราจะเห็นว่าห้าส่วนที่อยู่ในกรอบสีแดงนั้นเป็นฮาร์ดโค้ดในเครือข่าย Ethereum และไม่สามารถเปลี่ยนแปลงได้เลย ดังนั้น นักพัฒนาควรเริ่มต้นใหม่ทั้งหมดหากพวกเขาแนะนำฟังก์ชันใหม่ๆ เช่น การใช้งานหลายลงชื่อโดยใช้วิธีการเข้ารหัส มีวิธีที่จะช่วยให้นักพัฒนามีสภาพแวดล้อมการพัฒนาที่เรียบง่ายโดยไม่ต้องเปลี่ยนแปลงกลไกของเครือข่าย Ethereum หรือไม่? นักพัฒนากลุ่มหนึ่งได้ยื่นข้อเสนอสำหรับ EIP-4337 ซึ่งปัจจุบันรู้จักกันในชื่อ ERC-4337 เพื่อทำให้มันเกิดขึ้น ERC-4337 นำบทบาทใหม่มาสู่ Ethereum เพื่อให้สามารถตั้งโปรแกรมได้มากขึ้น ซึ่งเราเรียกว่า Account Abstraction ใน Ethereum (เอเอ สั้นๆ)
*EIP ย่อมาจาก Ethereum Improvement Proposal ซึ่งสมาชิกคนใดก็ได้ในชุมชน Ethereum สามารถทำได้เพื่อเปลี่ยนแปลงหรือปรับปรุงเครือข่าย Ethereum ในขณะที่ ERC เป็นมาตรฐานสำหรับเครือข่าย Ethereum มีเพียง EIP ที่ชุมชนนำมาใช้เท่านั้นที่สามารถเรียกว่า ERC
วงจรชีวิตโดยทั่วไปของธุรกรรมภายใน ERC-4337 มีลักษณะดังนี้:
ในบริบทของ AA เราจะเห็นได้ว่า Bundler ทำหน้าที่เป็น EOA ดั้งเดิม (จริงๆ แล้ว Bundler คือ EOA) เพื่อแพ็ค UserOperations ลงใน Bundle ซึ่งสอดคล้องกับธุรกรรมดั้งเดิมใน Mempool UO สามารถปรับแต่งได้ ทำให้สามารถลงนามได้หลายประเภท เฉพาะชุดที่ได้รับการตรวจสอบแล้วในชั้นฉันทามติเท่านั้นที่จะถูกส่งไปยัง EVM เพื่อตรวจสอบความถูกต้องเฉพาะของ UO แต่ละรายการตามจุดเริ่มต้นและการดำเนินการตามสัญญาที่เกี่ยวข้อง หลังจากการตรวจสอบความถูกต้องของ Entry Point การดำเนินการตามสัญญาเฉพาะจะเริ่มต้นขึ้น ซึ่งแบ่งออกเป็นสามโมดูล:
ดังนั้น หากเราเปรียบเทียบขั้นตอนในการเริ่มต้นธุรกรรมในลักษณะเดิมและขั้นตอนที่อยู่ภายใต้ AA ก็ไม่ยากที่จะสังเกตได้ว่าในขณะที่ยังคงรักษากลไกของชั้นฉันทามติอยู่นั้น ได้มีการนำโมดูลใหม่ๆ เช่น UserOperation, Bundler และ EntryPoint มาใช้ ซึ่งเพิ่มความเป็นไปได้ ของการนำฟังก์ชันต่างๆ มาใช้มากขึ้น
ที่มา:https://www.erc4337.io/docs/understand-ERC-4337/architecture_
สำหรับนักพัฒนา AA ให้ความยืดหยุ่นมากขึ้นเมื่อพูดถึงการแนะนำฟังก์ชันใหม่ๆ และสำหรับผู้ใช้ การดำเนินงานที่สอดคล้องกับผลิตภัณฑ์ web2
มี 5 ทิศทางหลักที่กระเป๋าสตางค์ AA กำลังสำรวจ:
ผู้ใช้ที่แตกต่างกันสามารถได้รับสิทธิ์การเข้าถึงเฉพาะ ตัวอย่างเช่น บัญชี A ได้รับอนุญาตให้จัดการกระเป๋าเงิน โดยมีขีดจำกัดการใช้งานสูงสุดต่อเดือนที่ $100
ความขาดแคลนของกระเป๋าเงิน AA ที่นำเสนอฟังก์ชันหลายลายเซ็นไม่ได้เกิดจากข้อจำกัดทางเทคโนโลยี แต่มันเกิดจากการที่ Safe ครองส่วนแบ่งการตลาดส่วนใหญ่ในขอบเขตนี้ ด้วยเหตุนี้ ผู้ให้บริการกระเป๋าเงินรายอื่นจึงเปลี่ยนเส้นทางความพยายามของตนไปสู่การยึดตลาดกระเป๋าเงินแต่ละราย
*กระเป๋าสตางค์อาจเพิ่มฟังก์ชันเพิ่มเติมในภายหลัง อัปเดตล่าสุดเมื่อวันที่ 3 พ.ย. 2023