โดย Mustafa Bedawala, Mert Ozbay และ Catherine Gu; Visa แม้จะมีความคืบหน้าอย่างต่อเนื่อง แต่ปัจจุบัน blockchain กำลังดิ้นรนเพื่อมอบความยืดหยุ่นและประสบการณ์ผู้ใช้ในระดับเดียวกับระบบนิเวศการชำระเงินดิจิทัลหลัก อย่างไรก็ตาม เทคโนโลยีที่เกิดขึ้นใหม่สามารถปรับปรุงประสบการณ์การชำระเงินเมื่อทำธุรกรรมด้วยสกุลเงินดิจิทัล ใน "การชำระเงินอัตโนมัติสำหรับกระเป๋าเงินที่โฮสต์เอง" เราเจาะลึกการใช้เทคโนโลยีล้ำสมัยสำหรับการชำระเงินอัตโนมัติโดยใช้ประโยชน์จากแนวคิดของ Account Abstraction (AA) บนบล็อกเชนสาธารณะ ¹การสำรวจ AA และประสบการณ์การชำระเงิน crypto ที่ได้รับการปรับปรุงของเรายังคงดำเนินต่อไปด้วยการดูว่ากระบวนทัศน์ AA ปัจจุบันบน Ethereum นำเสนอโซลูชั่นที่สร้างสรรค์ในการจัดการค่าธรรมเนียมการทำธุรกรรมอย่างไร: ผู้ใช้สามารถใช้ stablecoins, โทเค็น ERC-20 อื่น ๆ เพื่อชำระค่าธรรมเนียมการทำธุรกรรม Ethereum หรือไม่ต้อง ' ไม่จ่ายเลยเหรอ การค้นหาโซลูชันที่เป็นนวัตกรรมเพื่อเปิดใช้งาน crypto ที่ไร้แรงเสียดทานและประสบการณ์การซื้อขายเป็นสิ่งสำคัญจนกว่าสกุลเงินดิจิทัลจะได้รับการยอมรับอย่างกว้างขวางภาพรวมทางเทคนิคของ ERC-4337 ซึ่งเป็นมาตรฐานปัจจุบันสำหรับการนำ AA ไปใช้งานบน Ethereum มีจุดมุ่งหมายเพื่อทำความเข้าใจ ERC-4337 ให้ดียิ่งขึ้น เราหารือเกี่ยวกับการทดลองใช้สัญญา Paymaster สองชุดของ Visa เพื่อแสดงให้เห็นว่าค่าธรรมเนียมก๊าซบนบล็อกเชนสามารถออกแบบใหม่ได้อย่างไรเพื่อปรับปรุงความสะดวกสบายของผู้ใช้## การตัดบัญชีและ ERC-4337เพื่อให้เข้าใจถึงคุณค่าของการสรุปบัญชีได้ดียิ่งขึ้น เรามาทบทวนสั้น ๆ ของบัญชีสองประเภทที่มีอยู่ใน Ethereum ในปัจจุบัน: บัญชีที่เป็นเจ้าของภายนอก (EOA) และบัญชีสัญญา (CAs) โดยทั่วไปเรียกว่าบัญชีผู้ใช้และ CA ตามลำดับ สัญญาอัจฉริยะ . EOA ซึ่งควบคุมโดยคีย์ส่วนตัวช่วยให้ผู้ใช้สามารถส่งธุรกรรมได้ **อย่างไรก็ตาม พวกเขาขาดความสามารถในการตั้งโปรแกรมของสัญญาอัจฉริยะ ทำให้พวกเขาเข้มงวดมากขึ้น ในทางตรงกันข้าม CA มีรหัสที่ปฏิบัติการได้ แต่ไม่สามารถเริ่มต้นธุรกรรมได้อย่างอิสระ ธุรกรรมต้องเริ่มต้นจากบัญชีของผู้ใช้เสมอและมีลายเซ็นของผู้ใช้ ไม่ว่าจะเป็นการโอนโทเค็นอย่างง่ายหรือการดำเนินการที่ซับซ้อนผ่านสัญญาอัจฉริยะจำนวนมาก**แนวคิดของ Account Abstraction (AA) ได้รับการออกแบบมาเพื่อใช้ประโยชน์จากความสามารถในการตั้งโปรแกรมของ CA เพื่อประโยชน์ของผู้ใช้ปลายทาง **เมื่อเขียนสัญญาอัจฉริยะ เป็นเรื่องปกติที่จะกำหนดเจ้าของเพื่อควบคุมพฤติกรรมของสัญญา กระเป๋าเงินที่โฮสต์ในตัวเองซึ่งสร้างขึ้นตามสัญญาอัจฉริยะสามารถมอบฟังก์ชันการทำงานที่มากกว่ากระเป๋าเงินที่ใช้ EOA แก่ผู้ใช้ สิ่งนี้เกิดขึ้นได้จากการแนะนำมาตรฐาน ethereum ใหม่ที่เรียกว่า ERC-4337 ซึ่งเสนอโดยสมาชิกของชุมชน ethereum รวมถึง Vitalik Buterin ผู้ก่อตั้ง ethereum ² ERC-4337 ช่วยให้เจ้าของเป็นเจ้าของบัญชีสัญญาอัจฉริยะได้โดยตรงโดยไม่ต้องมีลายเซ็น EOA แม้ว่าเจ้าของอาจไม่ได้ลงนามใน EOA ในความหมายดั้งเดิม แต่ความเป็นเจ้าของสัญญาอัจฉริยะของพวกเขายังคงต้องการกระบวนการตรวจสอบสิทธิ์ที่ปลอดภัยเพื่อให้แน่ใจว่าพวกเขาควบคุมและจัดการบัญชีสัญญาอัจฉริยะอย่างเหมาะสม ในทางกลับกัน บัญชีสัญญาอัจฉริยะนี้สามารถจัดการงานต่างๆ เช่น การยืนยันตัวตนแบบหลายปัจจัย การชำระเงินตามรอบ และกฎและนโยบายที่กำหนดเองซึ่งกำหนดโดยผู้ใช้ปลายทางERC-4337 เป็นการพัฒนาล่าสุดของ AA ซึ่งเสนอครั้งแรกในปี 2021 ในชื่อ Ethereum Improvement Proposal (EIP)-4337 ผ่านกระบวนการ Ethereum Request for Comments (ERC) ซึ่งสร้างมาตรฐานสำหรับแอปพลิเคชันบนเครือข่าย Ethereum ความแตกต่างระหว่าง EIP และ ERC คือขอบเขตและข้อกำหนดในการนำไปใช้ ERC กำหนดว่าสัญญาอัจฉริยะควรทำงานและโต้ตอบกันอย่างไรในระดับแอปพลิเคชัน พวกเขาไม่ต้องการการยอมรับจากผู้เข้าร่วมทั้งหมดเช่น EIP หลัก (ข้อเสนอการปรับปรุง Ethereum) ซึ่งปรับใช้ในระดับโปรโตคอลและต้องการฉันทามติที่กว้างขึ้นภายในชุมชน การเปลี่ยนจาก EIP-4337 เป็น ERC-4337 บ่งชี้ว่าข้อเสนอเป็นไปตามมาตรฐานที่จำเป็นสำหรับแอปพลิเคชัน Ethereum และตอนนี้เป็นส่วนหนึ่งของระบบนิเวศ Ethereum อย่างเป็นทางการ ในเดือนมีนาคม 2023 ส่วนประกอบหลักของ ERC-4337 ได้รับการปรับใช้บน Ethereum mainnet ซึ่งแตกต่างจาก EIPs การแยกบัญชีก่อนหน้านี้ ERC-4337 ไม่ต้องการการปรับเปลี่ยนชั้นฉันทามติของโปรโตคอล blockchain เพื่อเปิดใช้งานการแยกบัญชีบนเครือข่าย Ethereum ² การพัฒนานี้ช่วยให้ผู้เข้าร่วมเครือข่ายบล็อกเชนสามารถสำรวจและทดลองประสบการณ์ผู้ใช้ใหม่ได้ทันทีโดยไม่ต้องรอการอัปเกรดเครือข่ายครั้งใหญ่ เป็นที่น่าสังเกตว่าข้อดีอย่างหนึ่งของ ERC-4337 คือเข้ากันได้กับบล็อกเชนใด ๆ ที่ใช้เครื่องเสมือน Ethereum ทำให้ AA มีมาตรฐานที่เหนือกว่า Ethereum## ทราเวิร์ธุรกรรม ERC-4337**ในการทำธุรกรรม EOA ทั่วไป ผู้ใช้โต้ตอบกับกระเป๋าเงินที่โฮสต์ด้วยตนเองเพื่อสร้าง ลงนาม และส่งธุรกรรมไปยัง mempool สาธารณะ เพย์โหลดของธุรกรรมที่สร้างและลงนามด้วยคีย์ส่วนตัวของผู้ใช้จะถูกเผยแพร่ผ่านโหนดไปยัง mempool แบบเพียร์ทูเพียร์ (P2P) ผู้ตรวจสอบความถูกต้องหรือหน่วยงานเฉพาะ (เรียกว่าผู้สร้าง) เลือกธุรกรรมที่เหมาะสมและให้ผลกำไรจาก mempool สาธารณะเพื่อดำเนินการและรวมเข้ากับ blockchain ******รูปที่ 1: ขั้นตอนการทำธุรกรรม Ethereum ทั่วไปERC-4337 แนะนำขั้นตอนการทำธุรกรรมทางเลือกให้กับวิธี EOA แบบดั้งเดิม โดยเพิ่มขั้นตอนใหม่ก่อนที่ธุรกรรมจะไปถึงที่อยู่ EOA ของพร็อกซี ผู้ใช้ส่งความตั้งใจเป็น UserOperations ซึ่งจะเผยแพร่ผ่าน mempool UserOperations เฉพาะ mempool เฉพาะนี้ได้รับการตรวจสอบโดย Bundler ซึ่งทำหน้าที่เป็นพร็อกซี EOA โดยส่ง UserOperations ไปยัง mempool สาธารณะในรูปแบบของธุรกรรม EOA ทั่วไปที่เครือข่ายสามารถจัดการได้ ธุรกรรมเหล่านี้เป็นไปตามโฟลว์เดียวกันกับธุรกรรมปกติ ไม่ว่าจะเป็นการเข้าร่วม mempool สาธารณะหรือไปที่ผู้สร้างโดยตรงเราแนะนำขั้นตอนแบบ end-to-end ของธุรกรรม ERC-4337 ตั้งแต่การสร้าง UserOperation ไปจนถึงการดำเนินการ ก่อนที่จะดำดิ่งลงไป จำเป็นอย่างยิ่งที่จะต้องกำหนดแนวคิดของผู้บอก ซึ่งมีบทบาทสำคัญในกระบวนการนี้และเป็นหัวใจของการสำรวจของเราเอง Paymaster เป็นบัญชีสัญญาอัจฉริยะที่เป็นทางเลือกซึ่งสามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับบัญชีสัญญา (สัญญาอัจฉริยะที่มีผู้ใช้เป็นศูนย์กลาง) Paymasters จะประเมินว่า UserOperation ได้รับการยอมรับหรือไม่ในระหว่างขั้นตอนการตรวจสอบ และใช้ตรรกะค่าธรรมเนียมที่จำเป็นใดๆ ในระหว่างขั้นตอนการดำเนินการ ด้วยการทำเช่นนี้ พวกเขาสามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้และช่วยให้ผู้ใช้สามารถชำระค่าน้ำมันโดยใช้โทเค็น ERC-20 เช่น เหรียญ Stablecoin ของ USDรูปที่ 2: ขั้นตอนการทำธุรกรรม ERC-4337**1. ผู้ใช้สร้าง UserOperations ผ่านกระเป๋าเงินสัญญาอัจฉริยะที่สอดคล้องกับมาตรฐาน ERC-4337 ** UserOperations สรุปเจตนาของผู้ใช้ในการโต้ตอบกับ blockchain ซึ่งผู้ใช้ลงนามเพื่อรับรองความถูกต้อง เมื่อสร้างแล้ว UserOperations จะผูกมัดกับ UserOperation Mempool โดยเฉพาะ ซึ่งเป็นที่เก็บข้อมูลเฉพาะสำหรับ UserOperations ที่แยกจาก mempool ธุรกรรม Ethereum มาตรฐาน**2. Bundlers เป็นคลาสเฉพาะของนักแสดงที่ตรวจสอบ UserOperation Mempool เรียกใช้การจำลองและรวบรวม UserOperations ชุดหนึ่งเป็นบันเดิลธุรกรรมเดียว ** Bundlers มีหน้าที่รับผิดชอบในการรวบรวม UserOperations และส่งไปยังสัญญา EntryPoint เพิ่มประสิทธิภาพการใช้ก๊าซและเพิ่มผลกำไรสูงสุดโดยใช้ลอจิกค่าธรรมเนียมเป็นอันดับแรก**3. สัญญา EntryPoint จะได้รับ UserOperations ชุดรวม **ทำหน้าที่เป็นผู้ประสานงานกลางสำหรับการจัดการ UserOperations ในโฟลว์ธุรกรรม ERC-4337**4. หากมีการระบุ UserOperation สัญญา EntryPoint จะโต้ตอบกับสัญญา Paymaster **ตามที่กล่าวไว้ก่อนหน้านี้ Paymasters สามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับบัญชีสัญญา EntryPoint ตรวจสอบว่าผู้ชำระเงินมีเงินฝากเพียงพอ หรือบัญชีสัญญามีเงินเพียงพอสำหรับชำระค่าน้ำมัน ในระหว่างการดำเนินการ หากมี Paymaster เข้ามาเกี่ยวข้อง ก็จะสามารถใช้ตรรกะค่าธรรมเนียมแบบกำหนดเองได้ ซึ่งเราจะสาธิตในส่วนถัดไป**5. จากนั้นสัญญา EntryPoint จะเรียกบัญชีสัญญา และถ้าจำเป็น ให้พนักงานตรวจสอบลายเซ็นใน UserOperation **บัญชีสัญญาคือบัญชีผู้ใช้ที่โต้ตอบกับสัญญา EntryPoint ได้อย่างราบรื่นเพื่ออำนวยความสะดวกในการทำธุรกรรม หลังจากการตรวจสอบยืนยันสำเร็จ EntryPoint จะถ่ายโอนข้อมูลที่เกี่ยวข้องของแต่ละ UserOperation ไปยังบัญชีสัญญาและเริ่มกระบวนการดำเนินการ## บทคัดย่อบัญชีและการประยุกต์ใช้จริง**ในขณะที่เทคโนโลยีบล็อกเชนสำรวจแอปพลิเคชันในโลกแห่งความเป็นจริงอย่างต่อเนื่อง กระเป๋าเงินที่โฮสต์ด้วยตนเองกำลังกลายเป็นตัวเลือกยอดนิยมสำหรับผู้ใช้ในการถือและทำธุรกรรมด้วยสกุลเงินดิจิทัลของตน **นับตั้งแต่ก่อตั้ง Ethereum มีการทำธุรกรรมประมาณ 180 ล้านที่อยู่ที่ไม่ซ้ำกัน รวมถึงบัญชีทุกประเภทและหลายบัญชีที่เป็นของบุคคลหรือกลุ่มบุคคลเดียวกัน “อย่างไรก็ตาม ในแต่ละเดือน เราจะเห็นเฉพาะการโต้ตอบบนเครือข่ายหลายล้านรายการที่เริ่มต้นโดยคนจริงๆ โดยมีกิจกรรมบนเครือข่ายรายวันบน Ethereum mainnet ประมาณ 1 ล้านรายการต่อวัน ⁴ เมื่อเทียบกันแล้ว Visa ประมวลผลธุรกรรม 258 พันล้านรายการในปี 2022 โดยเฉลี่ย 707 ล้านธุรกรรมต่อวัน และปัจจุบันมีบัตรที่เชื่อมโยงกับ Visa จำนวน 4.1 พันล้านใบทั่วโลก ⁵ บล็อกเชนสามารถรับการยอมรับในระดับที่เทียบเคียงกันได้หากพวกเขารองรับประสบการณ์การชำระเงินที่กว้างเท่ากันและใช้งานง่ายเหมือนกัน? ขั้นตอนที่เป็นไปได้ในทิศทางนี้ ได้แก่ การถอนค่าธรรมเนียมก๊าซสำหรับผู้ใช้หรืออนุญาตให้ชำระค่าธรรมเนียมการทำธุรกรรมในโทเค็น ERC-20### ใช้ ERC-4337 Paymaster เพื่อชำระเงินด้วยโทเค็น ERC-20รูปที่ 3: Paymaster อำนวยความสะดวกในการชำระค่าธรรมเนียมการทำธุรกรรมโดยใช้โทเค็น ERC-20ในการทำธุรกรรมบน Ethereum blockchain ในปัจจุบัน ผู้ใช้จำเป็นต้องได้รับ ETH เพื่อชำระค่าก๊าซ ในทำนองเดียวกัน ในการทำธุรกรรมบน Polygon blockchain ผู้ใช้จำเป็นต้องได้รับโทเค็น MATIC ดั้งเดิม มีวิธีแก้ปัญหาที่ขจัดความจำเป็นในการสะสมช่วงของโทเค็น blockchain ดั้งเดิมเพื่อจุดประสงค์ในการจ่ายค่าน้ำมันหรือไม่? สถานการณ์นี้คล้ายกับมูลค่าของเครือข่ายการชำระเงินข้ามพรมแดนหลักของวีซ่า ซึ่งผู้เดินทางสามารถใช้จ่ายในสกุลเงินท้องถิ่นของตนโดยไม่ต้องซื้อก่อน ในสัญญา Paymaster เวอร์ชันนี้ สัญญาสามารถทำหน้าที่เป็นบริการแปลงสกุลเงินตัวกลาง บริการสามารถรวบรวมสกุลเงินดิจิทัลจากผู้ใช้แล้วแปลงเป็นโทเค็นดั้งเดิมตามอัตราแลกเปลี่ยนที่เป็นอยู่เพื่อชำระค่าน้ำมันในนามของผู้ใช้ นอกจากนี้ยังสามารถทำได้ด้วยการจัดหาเงินทุนแบบทันที ซึ่งหมายความว่าผู้ใช้เพียงต้องการเงินทุนสำหรับค่าน้ำมันในขณะที่ทำธุรกรรม โดยไม่ต้องมีข้อกำหนดทางการเงินล่วงหน้าใดๆ เพื่อเพิ่มประสิทธิภาพการจัดการกระแสเงินสด### สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ที่ใช้ ERC-4337 Paymasterรูปที่ 4: Paymaster สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้การทำธุรกรรม P2P ใน Web 2.0 ในปัจจุบันนั้นฟรีสำหรับผู้บริโภคในหลายประเทศ ซึ่งทำให้เกิดคำถามทันทีว่า ทำไมผู้บริโภคจึงควรจ่ายเงินสำหรับการทำธุรกรรม P2P บนบล็อกเชน Account Abstraction มอบโซลูชันที่ช่วยให้ผู้ใช้สามารถข้ามค่าธรรมเนียมเหล่านี้ได้ หากบุคคลที่สาม (เช่น ผู้ให้บริการกระเป๋าเงิน fintech) เต็มใจที่จะจ่ายให้ ในกรณีนี้ ผู้ให้บริการกระเป๋าเงินหรือ dApp สามารถทำหน้าที่เป็นผู้ชำระเงิน จ่ายค่าน้ำมันให้กับผู้ใช้และลดความขัดแย้งลงอย่างมาก แนวคิด ERC-4337 Paymaster สามารถจูงใจให้ผู้ใช้ยอมรับโดยอนุญาตให้ผู้ใช้ทำธุรกรรมผ่านแพลตฟอร์มกระเป๋าเงินได้ฟรียิ่งไปกว่านั้น **บัญชีสัญญาอัจฉริยะสามารถลดความซับซ้อนในการจัดการกระเป๋าเงินและมอบทางเลือกแทนการตรวจสอบลายเซ็น เปิดใช้งานการตรวจสอบสิทธิ์แบบหลายปัจจัยเพื่อเพิ่มความปลอดภัยและการกู้คืนเงินทุนในกระเป๋าเงินที่ดูแลตนเอง ****นอกจากนี้ยังทำให้การใช้ dApps ง่ายขึ้นด้วยการให้สิทธิ์ชั่วคราวสำหรับงานเฉพาะด้วยขีดจำกัดที่ปรับแต่งได้ เช่น การอนุญาตให้ dApps ประมวลผลการดึงการชำระเงินที่เกิดซ้ำจากบัญชีผู้ใช้จนถึงจำนวนที่กำหนด **ตัวอย่างเหล่านี้เป็นเพียงตัวอย่างว่าสัญญาอัจฉริยะสามารถช่วยให้ผู้ใช้ที่ไม่ใช่เจ้าของภาษาเข้ารหัสลับโต้ตอบกับเทคโนโลยีบล็อกเชนได้ง่ายขึ้นในขณะที่รักษาบัญชีของพวกเขาให้ปลอดภัยได้อย่างไร## การทดลองของเรากับ ERC-4337 Paymaster### ใช้ ERC-4337 Paymaster เพื่อชำระเงินด้วยโทเค็น ERC-20รูปที่ 5: Paymaster อำนวยความสะดวกในการชำระค่าธรรมเนียมการทำธุรกรรมโดยใช้โทเค็น ERC-20 (ข้อมูลโค้ด)ด้วยสัญญา Visa Paymaster ฉบับแรก เรากำลังสำรวจว่าผู้ใช้สามารถชำระค่าธรรมเนียมการทำธุรกรรมด้วยโทเค็นทางเลือก เช่น USD stablecoins หรือแม้แต่สกุลเงินดิจิทัลของธนาคารกลางในอนาคตหรือไม่ ในกรณีนี้ Paymaster จ่ายค่าธรรมเนียมการทำธุรกรรม ETH โดยได้รับเทียบเท่ากับโทเค็น ERC-20 ทั่วไปที่จ่ายโดยผู้ใช้ สำหรับการดำเนินการ เราใช้โค้ดเริ่มต้นที่ Ethereum Foundation และทีมหลัก ERC-4337 มอบให้⁶ สัญญาตัวอย่างนี้มีตรรกะการจัดการสำหรับ Paymaster และโทเค็น ERC-20 ที่กำหนดเอง สำหรับสัญญานี้ เราแนะนำรายการที่อนุญาตพิเศษและฟังก์ชันเพื่ออัปเดตอัตราการแปลงโทเค็นเป็น ETH สิ่งนี้ช่วยให้เราสามารถจำลองสภาพชีวิตจริงได้ดีขึ้น ซึ่งอัตราแลกเปลี่ยนระหว่าง ETH และโทเค็นเป็นแบบไดนามิก การตั้งค่าการทดสอบของเราเกี่ยวข้องกับการปรับใช้กระเป๋าเงินสัญญาอัจฉริยะและส่งการดำเนินการของผู้ใช้ ปัจจุบันตัวเลือกกระเป๋าเงินที่เข้ากันได้กับ ERC-4337 นั้นมีจำกัด เราตัดสินใจใช้กระเป๋าเงิน Trampoline ที่สร้างโดย Ethereum Foundation และทีมงานหลักของ ERC-4337 ⁷ ในการส่งการกระทำของผู้ใช้ไปยัง Goerli Testnet เราใช้ Bundler สาธารณะของ Blocknative ⁸ เพื่อให้ UserOperation ประสบความสำเร็จ ก่อนอื่นสัญญา Visa Paymaster จะต้องตรวจสอบว่าผู้ใช้มีเงินเพียงพอใน ERC-20 เพื่อชำระค่าน้ำมันหรือไม่ หลังจากการยืนยัน ผู้ใช้จะชำระค่าธรรมเนียมการทำธุรกรรมด้วยโทเค็น ERC-20 ทั่วไปนี้ คุณสามารถดูสัญญาที่ปรับใช้ของเรา ⁹ และ UserOperation ที่จัดการได้ที่นี่### สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ที่ใช้ ERC-4337 Paymasterรูปที่ 6: Paymaster สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ (ข้อมูลโค้ด)ตามกรณีการใช้งานที่สองที่เรากล่าวถึง สัญญา Visa Paymaster อื่นของเราสนับสนุนค่าธรรมเนียมการทำธุรกรรมอย่างเต็มที่ อีกครั้ง การใช้งานของเราอิงตามรหัสเริ่มต้น¹¹ ที่จัดทำโดย Ethereum Foundation และทีมหลัก ERC-4337 Origination Code สนับสนุนการทำธุรกรรมแต่ละรายการ เราได้เพิ่มรายการที่อนุญาตพิเศษเพื่ออนุญาตให้เฉพาะผู้ใช้ที่ได้รับอนุญาตโต้ตอบกับสัญญา Visa Paymaster คุณสามารถดูสัญญาที่ปรับใช้ของเราได้ที่นี่ ¹² การดำเนินการทดสอบของเราสามารถสนับสนุนค่าธรรมเนียมธุรกรรมการดำเนินการของผู้ใช้สำหรับผู้ใช้ที่อนุญาตพิเศษได้สำเร็จ คุณสามารถดู UserOperation ที่ประสบความสำเร็จได้ที่นี่ ¹³กรณีการใช้งาน Paymaster ไปไกลเกินกว่าที่เราได้เน้นย้ำในบทความนี้ ด้วยการแยกตรรกะการประมวลผลบล็อกเชนพื้นฐานออกไป ประสบการณ์ผู้ใช้ที่เป็นนวัตกรรมมากมายจึงเป็นไปได้ สำหรับการพัฒนา ERC-4337 ที่กำลังดำเนินการอยู่นั้น เราเห็นแนวทางที่เป็นไปได้หลายประการที่สามารถต่อยอดจากการทดลองของเราที่อธิบายไว้ข้างต้น ตัวอย่างเช่น แทนที่จะต้องการโทเค็น ERC-20 ใหม่แบบกำหนดเองที่สร้างขึ้นใน Paymaster smart contract การรวม Paymaster เข้ากับโทเค็น ERC-20 ที่มีอยู่เช่น USDC จะง่ายกว่า วิธีการนี้ต้องใช้แหล่งข้อมูลภายนอกเพื่อกำหนดราคาโทเค็นและตรวจสอบว่าสัญญา Paymaster ได้อนุมัติการเรียกเก็บเงินจากผู้ใช้สำหรับโทเค็นที่ระบุ แนวทางหนึ่งคือการปรับใช้บริการ oracle แบบออฟไลน์ที่สามารถให้ข้อมูลที่จำเป็น เช่น ราคาโทเค็น และลายเซ็นที่สัญญา Paymaster สามารถตรวจสอบได้อีกทางหนึ่ง กระบวนการทั้งหมดสามารถจัดการแบบออนไลน์ได้ด้วยความช่วยเหลือจากสัญญาของออราเคิลสำหรับข้อมูลที่จำเป็น แม้ว่าแนวทางนี้จะให้การรับประกันที่ดีกว่าว่าพนักงานเก็บเงินได้รับการชดเชยอย่างเหมาะสม แต่ก็เป็นสิ่งที่ท้าทายกว่าในการดำเนินการ ข้อจำกัดบางประการของ ERC-4337 ทำให้ Paymasters สืบค้นออราเคิลออนไลน์ระหว่างการตรวจสอบ Paymaster ได้ยาก และ Bundlers มักจะปฏิเสธ UserOperations ที่จำเป็นต้องทำเช่นนั้น เพื่อเปิดใช้งานกระบวนการนี้ จำเป็นต้องสร้าง mempool สำรองที่มีรายชื่อ Paymasters ที่เชื่อถือได้ ซึ่ง Bundler สามารถเลือกเข้าร่วมได้ Paymasters ที่เชื่อถือได้เหล่านี้สามารถเรียกใช้สัญญา oracle และ UserOperations โดยใช้ Paymasters เหล่านี้จะถูกดึงมาจากพูลหน่วยความจำสำรอง## มองไปยังอนาคต** การโต้ตอบกับบล็อกเชนโดยใช้กระเป๋าเงินดิจิทัลอาจเป็นประสบการณ์ที่ท้าทาย และหลายคนเชื่อว่าการทำให้ใช้งานง่ายเป็นขั้นตอนสำคัญในการผลักดันให้เกิดการนำไปใช้ในวงกว้าง ERC-4337 นำเสนอความเป็นไปได้ในอนาคตที่น่าสนใจสำหรับการปรับปรุงประสบการณ์การชำระเงินของผู้ใช้บนเครือข่ายผ่านกระเป๋าเงินสัญญาอัจฉริยะที่ดูแลตนเองได้ ซึ่งจะสามารถเปลี่ยนวิธีที่ผู้ใช้ใช้จ่ายสกุลเงินดิจิทัลและสินทรัพย์ดิจิทัล **ชุมชน Ethereum เป็นจุดเริ่มต้นของการเดินทางครั้งใหม่เมื่อพูดถึง ERC-4337 มีแผนมากมายในการจัดหาโครงสร้างพื้นฐานที่สามารถสร้างสตรีมที่ขับเคลื่อนด้วย AA ซึ่งบางส่วนเราใช้ในการทดสอบของเราและกล่าวถึงในบทความนี้ แต่ก็ยังมีช่องว่างสำหรับการเติบโตอีกมาก เช่นเดียวกับ open field อื่นๆ มีแนวทางการแข่งขันและการแลกเปลี่ยน เช่น ตัวเลือกการกระจายอำนาจที่เสนอโดย Bundlers สาธารณะเทียบกับความสามารถในการปรับแต่งของ Bundlers ส่วนตัว ความปลอดภัยที่ไว้ใจไม่ได้ของ Paymaster บนเครือข่ายทั้งหมดเมื่อเทียบกับการปรับใช้ส่วนประกอบบางอย่างเมื่อเทียบกับความคุ้มค่า และรูปแบบลายเซ็นทางเลือกมากมายที่กระเป๋าเงินอาจใช้ เหนือสิ่งอื่นใด ตัวเลือกการออกแบบที่แตกต่างกันเหล่านี้อาจส่งผลให้เกิดชุดตัวเลือกมากมายเพื่อมอบประสบการณ์การชำระเงินดิจิทัลในอนาคตแก่ผู้ใช้ได้ดียิ่งขึ้น## นวัตกรรมการชำระเงินสำหรับทุกคนทุกที่ในฐานะผู้นำระดับโลกด้านโซลูชั่นการชำระเงิน Visa มองหานวัตกรรมที่ตอบสนองความต้องการในโลกแห่งความเป็นจริงอยู่เสมอ เราจะดำเนินการตรวจสอบศักยภาพของสัญญาอัจฉริยะและอนาคตที่เป็นไปได้ของเงินที่ตั้งโปรแกรมได้และการชำระเงินที่ตั้งโปรแกรมได้ ในเอกสารนี้ เราจะเจาะลึกว่า AA บน Ethereum ที่ดำเนินการโดย ERC-4337 สามารถเปิดใช้งานกรณีการใช้งานใหม่ที่น่าสนใจบนบล็อกเชนได้อย่างไร เราให้แนวทางแบบ end-to-end ของธุรกรรม ERC-4337 และอธิบายว่าแตกต่างจากธุรกรรม Ethereum มาตรฐานอย่างไรเพื่อเน้นกลไกพื้นฐานการทดลองของเราเกี่ยวกับ ERC-4337 มุ่งเน้นไปที่กรณีการใช้งานที่แตกต่างกัน 2 กรณีโดยการปรับใช้สัญญา Paymaster เพื่อเรียนรู้และประเมินศักยภาพของยูทิลิตี้ในการแก้ปัญหาในโลกแห่งความเป็นจริง และปรับปรุงประสบการณ์ของลูกค้าอย่างมีนัยสำคัญผ่านการโต้ตอบบนเครือข่าย สำหรับบริษัทที่ทำงานบนพรมแดนนี้ ทีมผลิตภัณฑ์ การวิจัย และวิศวกรรมของเรายินดีที่จะหารือเกี่ยวกับแนวคิดสำหรับการชำระเงินแบบตั้งโปรแกรมได้
Visa: คิดใหม่เกี่ยวกับธุรกรรม Crypto จากการลบบัญชี
โดย Mustafa Bedawala, Mert Ozbay และ Catherine Gu; Visa แม้จะมีความคืบหน้าอย่างต่อเนื่อง แต่ปัจจุบัน blockchain กำลังดิ้นรนเพื่อมอบความยืดหยุ่นและประสบการณ์ผู้ใช้ในระดับเดียวกับระบบนิเวศการชำระเงินดิจิทัลหลัก อย่างไรก็ตาม เทคโนโลยีที่เกิดขึ้นใหม่สามารถปรับปรุงประสบการณ์การชำระเงินเมื่อทำธุรกรรมด้วยสกุลเงินดิจิทัล ใน "การชำระเงินอัตโนมัติสำหรับกระเป๋าเงินที่โฮสต์เอง" เราเจาะลึกการใช้เทคโนโลยีล้ำสมัยสำหรับการชำระเงินอัตโนมัติโดยใช้ประโยชน์จากแนวคิดของ Account Abstraction (AA) บนบล็อกเชนสาธารณะ ¹การสำรวจ AA และประสบการณ์การชำระเงิน crypto ที่ได้รับการปรับปรุงของเรายังคงดำเนินต่อไปด้วยการดูว่ากระบวนทัศน์ AA ปัจจุบันบน Ethereum นำเสนอโซลูชั่นที่สร้างสรรค์ในการจัดการค่าธรรมเนียมการทำธุรกรรมอย่างไร: ผู้ใช้สามารถใช้ stablecoins, โทเค็น ERC-20 อื่น ๆ เพื่อชำระค่าธรรมเนียมการทำธุรกรรม Ethereum หรือไม่ต้อง ' ไม่จ่ายเลยเหรอ การค้นหาโซลูชันที่เป็นนวัตกรรมเพื่อเปิดใช้งาน crypto ที่ไร้แรงเสียดทานและประสบการณ์การซื้อขายเป็นสิ่งสำคัญจนกว่าสกุลเงินดิจิทัลจะได้รับการยอมรับอย่างกว้างขวาง
ภาพรวมทางเทคนิคของ ERC-4337 ซึ่งเป็นมาตรฐานปัจจุบันสำหรับการนำ AA ไปใช้งานบน Ethereum มีจุดมุ่งหมายเพื่อทำความเข้าใจ ERC-4337 ให้ดียิ่งขึ้น เราหารือเกี่ยวกับการทดลองใช้สัญญา Paymaster สองชุดของ Visa เพื่อแสดงให้เห็นว่าค่าธรรมเนียมก๊าซบนบล็อกเชนสามารถออกแบบใหม่ได้อย่างไรเพื่อปรับปรุงความสะดวกสบายของผู้ใช้
การตัดบัญชีและ ERC-4337
เพื่อให้เข้าใจถึงคุณค่าของการสรุปบัญชีได้ดียิ่งขึ้น เรามาทบทวนสั้น ๆ ของบัญชีสองประเภทที่มีอยู่ใน Ethereum ในปัจจุบัน: บัญชีที่เป็นเจ้าของภายนอก (EOA) และบัญชีสัญญา (CAs) โดยทั่วไปเรียกว่าบัญชีผู้ใช้และ CA ตามลำดับ สัญญาอัจฉริยะ . EOA ซึ่งควบคุมโดยคีย์ส่วนตัวช่วยให้ผู้ใช้สามารถส่งธุรกรรมได้ **อย่างไรก็ตาม พวกเขาขาดความสามารถในการตั้งโปรแกรมของสัญญาอัจฉริยะ ทำให้พวกเขาเข้มงวดมากขึ้น ในทางตรงกันข้าม CA มีรหัสที่ปฏิบัติการได้ แต่ไม่สามารถเริ่มต้นธุรกรรมได้อย่างอิสระ ธุรกรรมต้องเริ่มต้นจากบัญชีของผู้ใช้เสมอและมีลายเซ็นของผู้ใช้ ไม่ว่าจะเป็นการโอนโทเค็นอย่างง่ายหรือการดำเนินการที่ซับซ้อนผ่านสัญญาอัจฉริยะจำนวนมาก
**แนวคิดของ Account Abstraction (AA) ได้รับการออกแบบมาเพื่อใช้ประโยชน์จากความสามารถในการตั้งโปรแกรมของ CA เพื่อประโยชน์ของผู้ใช้ปลายทาง **เมื่อเขียนสัญญาอัจฉริยะ เป็นเรื่องปกติที่จะกำหนดเจ้าของเพื่อควบคุมพฤติกรรมของสัญญา กระเป๋าเงินที่โฮสต์ในตัวเองซึ่งสร้างขึ้นตามสัญญาอัจฉริยะสามารถมอบฟังก์ชันการทำงานที่มากกว่ากระเป๋าเงินที่ใช้ EOA แก่ผู้ใช้ สิ่งนี้เกิดขึ้นได้จากการแนะนำมาตรฐาน ethereum ใหม่ที่เรียกว่า ERC-4337 ซึ่งเสนอโดยสมาชิกของชุมชน ethereum รวมถึง Vitalik Buterin ผู้ก่อตั้ง ethereum ² ERC-4337 ช่วยให้เจ้าของเป็นเจ้าของบัญชีสัญญาอัจฉริยะได้โดยตรงโดยไม่ต้องมีลายเซ็น EOA แม้ว่าเจ้าของอาจไม่ได้ลงนามใน EOA ในความหมายดั้งเดิม แต่ความเป็นเจ้าของสัญญาอัจฉริยะของพวกเขายังคงต้องการกระบวนการตรวจสอบสิทธิ์ที่ปลอดภัยเพื่อให้แน่ใจว่าพวกเขาควบคุมและจัดการบัญชีสัญญาอัจฉริยะอย่างเหมาะสม ในทางกลับกัน บัญชีสัญญาอัจฉริยะนี้สามารถจัดการงานต่างๆ เช่น การยืนยันตัวตนแบบหลายปัจจัย การชำระเงินตามรอบ และกฎและนโยบายที่กำหนดเองซึ่งกำหนดโดยผู้ใช้ปลายทาง
ERC-4337 เป็นการพัฒนาล่าสุดของ AA ซึ่งเสนอครั้งแรกในปี 2021 ในชื่อ Ethereum Improvement Proposal (EIP)-4337 ผ่านกระบวนการ Ethereum Request for Comments (ERC) ซึ่งสร้างมาตรฐานสำหรับแอปพลิเคชันบนเครือข่าย Ethereum ความแตกต่างระหว่าง EIP และ ERC คือขอบเขตและข้อกำหนดในการนำไปใช้ ERC กำหนดว่าสัญญาอัจฉริยะควรทำงานและโต้ตอบกันอย่างไรในระดับแอปพลิเคชัน พวกเขาไม่ต้องการการยอมรับจากผู้เข้าร่วมทั้งหมดเช่น EIP หลัก (ข้อเสนอการปรับปรุง Ethereum) ซึ่งปรับใช้ในระดับโปรโตคอลและต้องการฉันทามติที่กว้างขึ้นภายในชุมชน การเปลี่ยนจาก EIP-4337 เป็น ERC-4337 บ่งชี้ว่าข้อเสนอเป็นไปตามมาตรฐานที่จำเป็นสำหรับแอปพลิเคชัน Ethereum และตอนนี้เป็นส่วนหนึ่งของระบบนิเวศ Ethereum อย่างเป็นทางการ ในเดือนมีนาคม 2023 ส่วนประกอบหลักของ ERC-4337 ได้รับการปรับใช้บน Ethereum mainnet ซึ่งแตกต่างจาก EIPs การแยกบัญชีก่อนหน้านี้ ERC-4337 ไม่ต้องการการปรับเปลี่ยนชั้นฉันทามติของโปรโตคอล blockchain เพื่อเปิดใช้งานการแยกบัญชีบนเครือข่าย Ethereum ² การพัฒนานี้ช่วยให้ผู้เข้าร่วมเครือข่ายบล็อกเชนสามารถสำรวจและทดลองประสบการณ์ผู้ใช้ใหม่ได้ทันทีโดยไม่ต้องรอการอัปเกรดเครือข่ายครั้งใหญ่ เป็นที่น่าสังเกตว่าข้อดีอย่างหนึ่งของ ERC-4337 คือเข้ากันได้กับบล็อกเชนใด ๆ ที่ใช้เครื่องเสมือน Ethereum ทำให้ AA มีมาตรฐานที่เหนือกว่า Ethereum
ทราเวิร์ธุรกรรม ERC-4337
**ในการทำธุรกรรม EOA ทั่วไป ผู้ใช้โต้ตอบกับกระเป๋าเงินที่โฮสต์ด้วยตนเองเพื่อสร้าง ลงนาม และส่งธุรกรรมไปยัง mempool สาธารณะ เพย์โหลดของธุรกรรมที่สร้างและลงนามด้วยคีย์ส่วนตัวของผู้ใช้จะถูกเผยแพร่ผ่านโหนดไปยัง mempool แบบเพียร์ทูเพียร์ (P2P) ผู้ตรวจสอบความถูกต้องหรือหน่วยงานเฉพาะ (เรียกว่าผู้สร้าง) เลือกธุรกรรมที่เหมาะสมและให้ผลกำไรจาก mempool สาธารณะเพื่อดำเนินการและรวมเข้ากับ blockchain **
รูปที่ 1: ขั้นตอนการทำธุรกรรม Ethereum ทั่วไป
ERC-4337 แนะนำขั้นตอนการทำธุรกรรมทางเลือกให้กับวิธี EOA แบบดั้งเดิม โดยเพิ่มขั้นตอนใหม่ก่อนที่ธุรกรรมจะไปถึงที่อยู่ EOA ของพร็อกซี ผู้ใช้ส่งความตั้งใจเป็น UserOperations ซึ่งจะเผยแพร่ผ่าน mempool UserOperations เฉพาะ mempool เฉพาะนี้ได้รับการตรวจสอบโดย Bundler ซึ่งทำหน้าที่เป็นพร็อกซี EOA โดยส่ง UserOperations ไปยัง mempool สาธารณะในรูปแบบของธุรกรรม EOA ทั่วไปที่เครือข่ายสามารถจัดการได้ ธุรกรรมเหล่านี้เป็นไปตามโฟลว์เดียวกันกับธุรกรรมปกติ ไม่ว่าจะเป็นการเข้าร่วม mempool สาธารณะหรือไปที่ผู้สร้างโดยตรง
เราแนะนำขั้นตอนแบบ end-to-end ของธุรกรรม ERC-4337 ตั้งแต่การสร้าง UserOperation ไปจนถึงการดำเนินการ ก่อนที่จะดำดิ่งลงไป จำเป็นอย่างยิ่งที่จะต้องกำหนดแนวคิดของผู้บอก ซึ่งมีบทบาทสำคัญในกระบวนการนี้และเป็นหัวใจของการสำรวจของเราเอง Paymaster เป็นบัญชีสัญญาอัจฉริยะที่เป็นทางเลือกซึ่งสามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับบัญชีสัญญา (สัญญาอัจฉริยะที่มีผู้ใช้เป็นศูนย์กลาง) Paymasters จะประเมินว่า UserOperation ได้รับการยอมรับหรือไม่ในระหว่างขั้นตอนการตรวจสอบ และใช้ตรรกะค่าธรรมเนียมที่จำเป็นใดๆ ในระหว่างขั้นตอนการดำเนินการ ด้วยการทำเช่นนี้ พวกเขาสามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้และช่วยให้ผู้ใช้สามารถชำระค่าน้ำมันโดยใช้โทเค็น ERC-20 เช่น เหรียญ Stablecoin ของ USD
รูปที่ 2: ขั้นตอนการทำธุรกรรม ERC-4337
**1. ผู้ใช้สร้าง UserOperations ผ่านกระเป๋าเงินสัญญาอัจฉริยะที่สอดคล้องกับมาตรฐาน ERC-4337 ** UserOperations สรุปเจตนาของผู้ใช้ในการโต้ตอบกับ blockchain ซึ่งผู้ใช้ลงนามเพื่อรับรองความถูกต้อง เมื่อสร้างแล้ว UserOperations จะผูกมัดกับ UserOperation Mempool โดยเฉพาะ ซึ่งเป็นที่เก็บข้อมูลเฉพาะสำหรับ UserOperations ที่แยกจาก mempool ธุรกรรม Ethereum มาตรฐาน
**2. Bundlers เป็นคลาสเฉพาะของนักแสดงที่ตรวจสอบ UserOperation Mempool เรียกใช้การจำลองและรวบรวม UserOperations ชุดหนึ่งเป็นบันเดิลธุรกรรมเดียว ** Bundlers มีหน้าที่รับผิดชอบในการรวบรวม UserOperations และส่งไปยังสัญญา EntryPoint เพิ่มประสิทธิภาพการใช้ก๊าซและเพิ่มผลกำไรสูงสุดโดยใช้ลอจิกค่าธรรมเนียมเป็นอันดับแรก
**3. สัญญา EntryPoint จะได้รับ UserOperations ชุดรวม **ทำหน้าที่เป็นผู้ประสานงานกลางสำหรับการจัดการ UserOperations ในโฟลว์ธุรกรรม ERC-4337
**4. หากมีการระบุ UserOperation สัญญา EntryPoint จะโต้ตอบกับสัญญา Paymaster **ตามที่กล่าวไว้ก่อนหน้านี้ Paymasters สามารถสนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับบัญชีสัญญา EntryPoint ตรวจสอบว่าผู้ชำระเงินมีเงินฝากเพียงพอ หรือบัญชีสัญญามีเงินเพียงพอสำหรับชำระค่าน้ำมัน ในระหว่างการดำเนินการ หากมี Paymaster เข้ามาเกี่ยวข้อง ก็จะสามารถใช้ตรรกะค่าธรรมเนียมแบบกำหนดเองได้ ซึ่งเราจะสาธิตในส่วนถัดไป
**5. จากนั้นสัญญา EntryPoint จะเรียกบัญชีสัญญา และถ้าจำเป็น ให้พนักงานตรวจสอบลายเซ็นใน UserOperation **บัญชีสัญญาคือบัญชีผู้ใช้ที่โต้ตอบกับสัญญา EntryPoint ได้อย่างราบรื่นเพื่ออำนวยความสะดวกในการทำธุรกรรม หลังจากการตรวจสอบยืนยันสำเร็จ EntryPoint จะถ่ายโอนข้อมูลที่เกี่ยวข้องของแต่ละ UserOperation ไปยังบัญชีสัญญาและเริ่มกระบวนการดำเนินการ
บทคัดย่อบัญชีและการประยุกต์ใช้จริง
**ในขณะที่เทคโนโลยีบล็อกเชนสำรวจแอปพลิเคชันในโลกแห่งความเป็นจริงอย่างต่อเนื่อง กระเป๋าเงินที่โฮสต์ด้วยตนเองกำลังกลายเป็นตัวเลือกยอดนิยมสำหรับผู้ใช้ในการถือและทำธุรกรรมด้วยสกุลเงินดิจิทัลของตน **นับตั้งแต่ก่อตั้ง Ethereum มีการทำธุรกรรมประมาณ 180 ล้านที่อยู่ที่ไม่ซ้ำกัน รวมถึงบัญชีทุกประเภทและหลายบัญชีที่เป็นของบุคคลหรือกลุ่มบุคคลเดียวกัน “อย่างไรก็ตาม ในแต่ละเดือน เราจะเห็นเฉพาะการโต้ตอบบนเครือข่ายหลายล้านรายการที่เริ่มต้นโดยคนจริงๆ โดยมีกิจกรรมบนเครือข่ายรายวันบน Ethereum mainnet ประมาณ 1 ล้านรายการต่อวัน ⁴ เมื่อเทียบกันแล้ว Visa ประมวลผลธุรกรรม 258 พันล้านรายการในปี 2022 โดยเฉลี่ย 707 ล้านธุรกรรมต่อวัน และปัจจุบันมีบัตรที่เชื่อมโยงกับ Visa จำนวน 4.1 พันล้านใบทั่วโลก ⁵ บล็อกเชนสามารถรับการยอมรับในระดับที่เทียบเคียงกันได้หากพวกเขารองรับประสบการณ์การชำระเงินที่กว้างเท่ากันและใช้งานง่ายเหมือนกัน? ขั้นตอนที่เป็นไปได้ในทิศทางนี้ ได้แก่ การถอนค่าธรรมเนียมก๊าซสำหรับผู้ใช้หรืออนุญาตให้ชำระค่าธรรมเนียมการทำธุรกรรมในโทเค็น ERC-20
ใช้ ERC-4337 Paymaster เพื่อชำระเงินด้วยโทเค็น ERC-20
รูปที่ 3: Paymaster อำนวยความสะดวกในการชำระค่าธรรมเนียมการทำธุรกรรมโดยใช้โทเค็น ERC-20
ในการทำธุรกรรมบน Ethereum blockchain ในปัจจุบัน ผู้ใช้จำเป็นต้องได้รับ ETH เพื่อชำระค่าก๊าซ ในทำนองเดียวกัน ในการทำธุรกรรมบน Polygon blockchain ผู้ใช้จำเป็นต้องได้รับโทเค็น MATIC ดั้งเดิม มีวิธีแก้ปัญหาที่ขจัดความจำเป็นในการสะสมช่วงของโทเค็น blockchain ดั้งเดิมเพื่อจุดประสงค์ในการจ่ายค่าน้ำมันหรือไม่? สถานการณ์นี้คล้ายกับมูลค่าของเครือข่ายการชำระเงินข้ามพรมแดนหลักของวีซ่า ซึ่งผู้เดินทางสามารถใช้จ่ายในสกุลเงินท้องถิ่นของตนโดยไม่ต้องซื้อก่อน ในสัญญา Paymaster เวอร์ชันนี้ สัญญาสามารถทำหน้าที่เป็นบริการแปลงสกุลเงินตัวกลาง บริการสามารถรวบรวมสกุลเงินดิจิทัลจากผู้ใช้แล้วแปลงเป็นโทเค็นดั้งเดิมตามอัตราแลกเปลี่ยนที่เป็นอยู่เพื่อชำระค่าน้ำมันในนามของผู้ใช้ นอกจากนี้ยังสามารถทำได้ด้วยการจัดหาเงินทุนแบบทันที ซึ่งหมายความว่าผู้ใช้เพียงต้องการเงินทุนสำหรับค่าน้ำมันในขณะที่ทำธุรกรรม โดยไม่ต้องมีข้อกำหนดทางการเงินล่วงหน้าใดๆ เพื่อเพิ่มประสิทธิภาพการจัดการกระแสเงินสด
สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ที่ใช้ ERC-4337 Paymaster
รูปที่ 4: Paymaster สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้
การทำธุรกรรม P2P ใน Web 2.0 ในปัจจุบันนั้นฟรีสำหรับผู้บริโภคในหลายประเทศ ซึ่งทำให้เกิดคำถามทันทีว่า ทำไมผู้บริโภคจึงควรจ่ายเงินสำหรับการทำธุรกรรม P2P บนบล็อกเชน Account Abstraction มอบโซลูชันที่ช่วยให้ผู้ใช้สามารถข้ามค่าธรรมเนียมเหล่านี้ได้ หากบุคคลที่สาม (เช่น ผู้ให้บริการกระเป๋าเงิน fintech) เต็มใจที่จะจ่ายให้ ในกรณีนี้ ผู้ให้บริการกระเป๋าเงินหรือ dApp สามารถทำหน้าที่เป็นผู้ชำระเงิน จ่ายค่าน้ำมันให้กับผู้ใช้และลดความขัดแย้งลงอย่างมาก แนวคิด ERC-4337 Paymaster สามารถจูงใจให้ผู้ใช้ยอมรับโดยอนุญาตให้ผู้ใช้ทำธุรกรรมผ่านแพลตฟอร์มกระเป๋าเงินได้ฟรี
ยิ่งไปกว่านั้น **บัญชีสัญญาอัจฉริยะสามารถลดความซับซ้อนในการจัดการกระเป๋าเงินและมอบทางเลือกแทนการตรวจสอบลายเซ็น เปิดใช้งานการตรวจสอบสิทธิ์แบบหลายปัจจัยเพื่อเพิ่มความปลอดภัยและการกู้คืนเงินทุนในกระเป๋าเงินที่ดูแลตนเอง ****นอกจากนี้ยังทำให้การใช้ dApps ง่ายขึ้นด้วยการให้สิทธิ์ชั่วคราวสำหรับงานเฉพาะด้วยขีดจำกัดที่ปรับแต่งได้ เช่น การอนุญาตให้ dApps ประมวลผลการดึงการชำระเงินที่เกิดซ้ำจากบัญชีผู้ใช้จนถึงจำนวนที่กำหนด **ตัวอย่างเหล่านี้เป็นเพียงตัวอย่างว่าสัญญาอัจฉริยะสามารถช่วยให้ผู้ใช้ที่ไม่ใช่เจ้าของภาษาเข้ารหัสลับโต้ตอบกับเทคโนโลยีบล็อกเชนได้ง่ายขึ้นในขณะที่รักษาบัญชีของพวกเขาให้ปลอดภัยได้อย่างไร
การทดลองของเรากับ ERC-4337 Paymaster
ใช้ ERC-4337 Paymaster เพื่อชำระเงินด้วยโทเค็น ERC-20
รูปที่ 5: Paymaster อำนวยความสะดวกในการชำระค่าธรรมเนียมการทำธุรกรรมโดยใช้โทเค็น ERC-20 (ข้อมูลโค้ด)
ด้วยสัญญา Visa Paymaster ฉบับแรก เรากำลังสำรวจว่าผู้ใช้สามารถชำระค่าธรรมเนียมการทำธุรกรรมด้วยโทเค็นทางเลือก เช่น USD stablecoins หรือแม้แต่สกุลเงินดิจิทัลของธนาคารกลางในอนาคตหรือไม่ ในกรณีนี้ Paymaster จ่ายค่าธรรมเนียมการทำธุรกรรม ETH โดยได้รับเทียบเท่ากับโทเค็น ERC-20 ทั่วไปที่จ่ายโดยผู้ใช้ สำหรับการดำเนินการ เราใช้โค้ดเริ่มต้นที่ Ethereum Foundation และทีมหลัก ERC-4337 มอบให้⁶ สัญญาตัวอย่างนี้มีตรรกะการจัดการสำหรับ Paymaster และโทเค็น ERC-20 ที่กำหนดเอง สำหรับสัญญานี้ เราแนะนำรายการที่อนุญาตพิเศษและฟังก์ชันเพื่ออัปเดตอัตราการแปลงโทเค็นเป็น ETH สิ่งนี้ช่วยให้เราสามารถจำลองสภาพชีวิตจริงได้ดีขึ้น ซึ่งอัตราแลกเปลี่ยนระหว่าง ETH และโทเค็นเป็นแบบไดนามิก การตั้งค่าการทดสอบของเราเกี่ยวข้องกับการปรับใช้กระเป๋าเงินสัญญาอัจฉริยะและส่งการดำเนินการของผู้ใช้ ปัจจุบันตัวเลือกกระเป๋าเงินที่เข้ากันได้กับ ERC-4337 นั้นมีจำกัด เราตัดสินใจใช้กระเป๋าเงิน Trampoline ที่สร้างโดย Ethereum Foundation และทีมงานหลักของ ERC-4337 ⁷ ในการส่งการกระทำของผู้ใช้ไปยัง Goerli Testnet เราใช้ Bundler สาธารณะของ Blocknative ⁸ เพื่อให้ UserOperation ประสบความสำเร็จ ก่อนอื่นสัญญา Visa Paymaster จะต้องตรวจสอบว่าผู้ใช้มีเงินเพียงพอใน ERC-20 เพื่อชำระค่าน้ำมันหรือไม่ หลังจากการยืนยัน ผู้ใช้จะชำระค่าธรรมเนียมการทำธุรกรรมด้วยโทเค็น ERC-20 ทั่วไปนี้ คุณสามารถดูสัญญาที่ปรับใช้ของเรา ⁹ และ UserOperation ที่จัดการได้ที่นี่
สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ที่ใช้ ERC-4337 Paymaster
รูปที่ 6: Paymaster สนับสนุนค่าธรรมเนียมการทำธุรกรรมสำหรับผู้ใช้ (ข้อมูลโค้ด)
ตามกรณีการใช้งานที่สองที่เรากล่าวถึง สัญญา Visa Paymaster อื่นของเราสนับสนุนค่าธรรมเนียมการทำธุรกรรมอย่างเต็มที่ อีกครั้ง การใช้งานของเราอิงตามรหัสเริ่มต้น¹¹ ที่จัดทำโดย Ethereum Foundation และทีมหลัก ERC-4337 Origination Code สนับสนุนการทำธุรกรรมแต่ละรายการ เราได้เพิ่มรายการที่อนุญาตพิเศษเพื่ออนุญาตให้เฉพาะผู้ใช้ที่ได้รับอนุญาตโต้ตอบกับสัญญา Visa Paymaster คุณสามารถดูสัญญาที่ปรับใช้ของเราได้ที่นี่ ¹² การดำเนินการทดสอบของเราสามารถสนับสนุนค่าธรรมเนียมธุรกรรมการดำเนินการของผู้ใช้สำหรับผู้ใช้ที่อนุญาตพิเศษได้สำเร็จ คุณสามารถดู UserOperation ที่ประสบความสำเร็จได้ที่นี่ ¹³
กรณีการใช้งาน Paymaster ไปไกลเกินกว่าที่เราได้เน้นย้ำในบทความนี้ ด้วยการแยกตรรกะการประมวลผลบล็อกเชนพื้นฐานออกไป ประสบการณ์ผู้ใช้ที่เป็นนวัตกรรมมากมายจึงเป็นไปได้ สำหรับการพัฒนา ERC-4337 ที่กำลังดำเนินการอยู่นั้น เราเห็นแนวทางที่เป็นไปได้หลายประการที่สามารถต่อยอดจากการทดลองของเราที่อธิบายไว้ข้างต้น ตัวอย่างเช่น แทนที่จะต้องการโทเค็น ERC-20 ใหม่แบบกำหนดเองที่สร้างขึ้นใน Paymaster smart contract การรวม Paymaster เข้ากับโทเค็น ERC-20 ที่มีอยู่เช่น USDC จะง่ายกว่า วิธีการนี้ต้องใช้แหล่งข้อมูลภายนอกเพื่อกำหนดราคาโทเค็นและตรวจสอบว่าสัญญา Paymaster ได้อนุมัติการเรียกเก็บเงินจากผู้ใช้สำหรับโทเค็นที่ระบุ แนวทางหนึ่งคือการปรับใช้บริการ oracle แบบออฟไลน์ที่สามารถให้ข้อมูลที่จำเป็น เช่น ราคาโทเค็น และลายเซ็นที่สัญญา Paymaster สามารถตรวจสอบได้
อีกทางหนึ่ง กระบวนการทั้งหมดสามารถจัดการแบบออนไลน์ได้ด้วยความช่วยเหลือจากสัญญาของออราเคิลสำหรับข้อมูลที่จำเป็น แม้ว่าแนวทางนี้จะให้การรับประกันที่ดีกว่าว่าพนักงานเก็บเงินได้รับการชดเชยอย่างเหมาะสม แต่ก็เป็นสิ่งที่ท้าทายกว่าในการดำเนินการ ข้อจำกัดบางประการของ ERC-4337 ทำให้ Paymasters สืบค้นออราเคิลออนไลน์ระหว่างการตรวจสอบ Paymaster ได้ยาก และ Bundlers มักจะปฏิเสธ UserOperations ที่จำเป็นต้องทำเช่นนั้น เพื่อเปิดใช้งานกระบวนการนี้ จำเป็นต้องสร้าง mempool สำรองที่มีรายชื่อ Paymasters ที่เชื่อถือได้ ซึ่ง Bundler สามารถเลือกเข้าร่วมได้ Paymasters ที่เชื่อถือได้เหล่านี้สามารถเรียกใช้สัญญา oracle และ UserOperations โดยใช้ Paymasters เหล่านี้จะถูกดึงมาจากพูลหน่วยความจำสำรอง
มองไปยังอนาคต
** การโต้ตอบกับบล็อกเชนโดยใช้กระเป๋าเงินดิจิทัลอาจเป็นประสบการณ์ที่ท้าทาย และหลายคนเชื่อว่าการทำให้ใช้งานง่ายเป็นขั้นตอนสำคัญในการผลักดันให้เกิดการนำไปใช้ในวงกว้าง ERC-4337 นำเสนอความเป็นไปได้ในอนาคตที่น่าสนใจสำหรับการปรับปรุงประสบการณ์การชำระเงินของผู้ใช้บนเครือข่ายผ่านกระเป๋าเงินสัญญาอัจฉริยะที่ดูแลตนเองได้ ซึ่งจะสามารถเปลี่ยนวิธีที่ผู้ใช้ใช้จ่ายสกุลเงินดิจิทัลและสินทรัพย์ดิจิทัล **
ชุมชน Ethereum เป็นจุดเริ่มต้นของการเดินทางครั้งใหม่เมื่อพูดถึง ERC-4337 มีแผนมากมายในการจัดหาโครงสร้างพื้นฐานที่สามารถสร้างสตรีมที่ขับเคลื่อนด้วย AA ซึ่งบางส่วนเราใช้ในการทดสอบของเราและกล่าวถึงในบทความนี้ แต่ก็ยังมีช่องว่างสำหรับการเติบโตอีกมาก เช่นเดียวกับ open field อื่นๆ มีแนวทางการแข่งขันและการแลกเปลี่ยน เช่น ตัวเลือกการกระจายอำนาจที่เสนอโดย Bundlers สาธารณะเทียบกับความสามารถในการปรับแต่งของ Bundlers ส่วนตัว ความปลอดภัยที่ไว้ใจไม่ได้ของ Paymaster บนเครือข่ายทั้งหมดเมื่อเทียบกับการปรับใช้ส่วนประกอบบางอย่างเมื่อเทียบกับความคุ้มค่า และรูปแบบลายเซ็นทางเลือกมากมายที่กระเป๋าเงินอาจใช้ เหนือสิ่งอื่นใด ตัวเลือกการออกแบบที่แตกต่างกันเหล่านี้อาจส่งผลให้เกิดชุดตัวเลือกมากมายเพื่อมอบประสบการณ์การชำระเงินดิจิทัลในอนาคตแก่ผู้ใช้ได้ดียิ่งขึ้น
นวัตกรรมการชำระเงินสำหรับทุกคนทุกที่
ในฐานะผู้นำระดับโลกด้านโซลูชั่นการชำระเงิน Visa มองหานวัตกรรมที่ตอบสนองความต้องการในโลกแห่งความเป็นจริงอยู่เสมอ เราจะดำเนินการตรวจสอบศักยภาพของสัญญาอัจฉริยะและอนาคตที่เป็นไปได้ของเงินที่ตั้งโปรแกรมได้และการชำระเงินที่ตั้งโปรแกรมได้ ในเอกสารนี้ เราจะเจาะลึกว่า AA บน Ethereum ที่ดำเนินการโดย ERC-4337 สามารถเปิดใช้งานกรณีการใช้งานใหม่ที่น่าสนใจบนบล็อกเชนได้อย่างไร เราให้แนวทางแบบ end-to-end ของธุรกรรม ERC-4337 และอธิบายว่าแตกต่างจากธุรกรรม Ethereum มาตรฐานอย่างไรเพื่อเน้นกลไกพื้นฐาน
การทดลองของเราเกี่ยวกับ ERC-4337 มุ่งเน้นไปที่กรณีการใช้งานที่แตกต่างกัน 2 กรณีโดยการปรับใช้สัญญา Paymaster เพื่อเรียนรู้และประเมินศักยภาพของยูทิลิตี้ในการแก้ปัญหาในโลกแห่งความเป็นจริง และปรับปรุงประสบการณ์ของลูกค้าอย่างมีนัยสำคัญผ่านการโต้ตอบบนเครือข่าย สำหรับบริษัทที่ทำงานบนพรมแดนนี้ ทีมผลิตภัณฑ์ การวิจัย และวิศวกรรมของเรายินดีที่จะหารือเกี่ยวกับแนวคิดสำหรับการชำระเงินแบบตั้งโปรแกรมได้