🔥 ข่าวดี: คำตอบและรายได้เป็นไปได้!
👉 ทําแบบทดสอบเกี่ยวกับ Beyond Gaming (BDG) และชนะรางวัลใหญ่: แบ่งปัน 5,000,000 #BDG#
🎁 ตอบถูกชนะใหญ่: https://www.gate.io/activities/answer-earn?period_num=322
รายละเอียด: https://www.gate.io/announcements/article/43624
#Answer2Earn#
วิธีทำให้การแยกบัญชีเป็นการเพิ่มขีดความสามารถของโครงสร้างพื้นฐานเพื่อให้บริการผู้ใช้หลายพันล้านคน
ผู้แต่ง: Albert He, BlockPI Cheif Scientist ผู้รวบรวม: MarsBit, MK
ไม่ว่าจะเป็นตลาดกระทิงหรือตลาดหมี ระบบนิเวศ Ethereum ได้สร้างและปรับปรุงตนเองอย่างต่อเนื่อง ในหมู่พวกเขา บัญชีนามธรรม (AA) ได้กลายเป็นความก้าวหน้าที่สำคัญมากในช่วงไม่กี่ปีที่ผ่านมา และได้แทรกซึมเข้าไปในองค์ประกอบต่างๆ ของระบบนิเวศ Ethereum รวมถึงแอปพลิเคชัน โครงสร้างพื้นฐาน ผู้ใช้ และนักพัฒนา
เราสามารถคาดการณ์ได้ว่าการยอมรับ AA อย่างแพร่หลายในโลกสามารถลดอุปสรรคในการเข้าสู่กรณีการใช้งานบล็อกเชนได้ ซึ่งจะเป็นการนำประสบการณ์ของผู้ใช้ web2 มาสู่อุตสาหกรรม web3 **
เพื่อเปิดรับความเป็นไปได้ในการสร้างตลาด AA หลายพันล้านแห่ง BlockPI วางแผนที่จะทุ่มเททรัพยากรเพื่อรวม AA เข้ากับบริการโครงสร้างพื้นฐาน ด้วยการสร้างการผสานรวมของ AA เรามุ่งมั่นที่จะมอบวิธีที่สะดวกและมีประสิทธิภาพมากขึ้นสำหรับผู้ใช้ AA ในการโต้ตอบกับบัญชีกระเป๋าเงินสัญญาของพวกเขาบนบล็อกเชน ในขณะเดียวกันก็วางตำแหน่งให้ BlockPI เป็นผู้นำในอุตสาหกรรม
ในโพสต์นี้ ฉันจะเจาะลึกความเข้าใจของเราเกี่ยวกับ AA และแบ่งปันความคิดจากมุมมองของผู้ให้บริการโครงสร้างพื้นฐาน
EOA และกระเป๋าเงินสัญญาอัจฉริยะ
**แนวคิดของ AA เกิดจากข้อจำกัดของบัญชี EOA **บัญชี EOA (บัญชีที่เป็นของภายนอก) คือบัญชีผู้ใช้ทั่วไปใน Ethereum ซึ่งแสดงด้วยคีย์สาธารณะ (ที่อยู่บล็อกเชน) ซึ่งเข้าถึงได้ผ่านคีย์ส่วนตัว เป็นองค์ประกอบหลักของระบบนิเวศ Ethereum ช่วยให้ผู้ใช้สามารถโต้ตอบกับสัญญาอัจฉริยะและทำธุรกรรมบนเครือข่ายได้ อย่างไรก็ตาม การใช้ EOA อาจเป็นเรื่องท้าทายสำหรับผู้คน และความไม่สะดวกบางอย่างอาจส่งผลต่อประสบการณ์ของผู้ใช้
**ความไม่สะดวกครั้งแรกของ EOA เกี่ยวข้องกับการใช้แก๊ส **การทำธุรกรรมแต่ละครั้งจะทำให้ผู้ใช้เสีย ETH จำนวนมากเป็นค่าธรรมเนียมน้ำมัน (ค่าธรรมเนียมการโอน ETH อย่างง่าย 25 Gwei สำหรับราคาน้ำมันคือ 0.5 USD และมากกว่านั้นสำหรับการทำสัญญาหรือราคาน้ำมันที่สูงขึ้น) ทำให้ค่าธรรมเนียมการทำธุรกรรมมีราคาแพงมากสำหรับการทำธุรกรรมขนาดเล็ก โดยเฉพาะอย่างยิ่งในช่วงที่มีเครือข่ายหนาแน่น นอกจากนี้ เฉพาะ ETH เท่านั้นที่สามารถใช้ชำระค่าแก๊สได้ ซึ่งหมายความว่าผู้ใช้ต้องมี ETH ในกระเป๋าเงิน ซึ่งเป็นอุปสรรคสำคัญในการเข้าถึงผู้ใช้จำนวนมาก
**ความไม่สะดวกประการที่สองของ EOA คือการทำธุรกรรมแบบมีเงื่อนไขไม่สามารถทำได้ เว้นแต่ว่ามีการใช้ตรรกะบางอย่างโดยใช้สัญญาอัจฉริยะอื่นๆ **ตัวอย่างเช่น หากผู้ใช้ต้องการตั้งค่าการโอนตามรอบเวลา พวกเขาจะต้องโอน ETH ไปยังสัญญาอัจฉริยะของบุคคลที่สามที่มีฟังก์ชันนี้เพื่อให้บรรลุฟังก์ชันนี้
**ความไม่สะดวกอย่างที่สามของ EOA คืออัลกอริธึมการเข้ารหัสลายเซ็น **เครือข่าย Ethereum ใช้อัลกอริธึมลายเซ็นดิจิทัลเฉพาะที่เรียกว่า secp 256 k 1 เพื่อรับรองความถูกต้องและความปลอดภัยของการทำธุรกรรม สิ่งนี้ถูกฮาร์ดโค้ดลงในระบบและผู้ใช้ไม่สามารถเลือกใช้อัลกอริทึมอื่นได้
ดังนั้นจากปัญหาเหล่านี้ผู้คนจึงเริ่มพยายามหาทางแก้ไข กระเป๋าเงินสัญญาอัจฉริยะเช่น MetaMask และ Argent เป็นผลมาจากความพยายามเหล่านี้ โดยแก้ไขข้อจำกัดหลายประการของ EOA โดยใช้สัญญาอัจฉริยะของ Ethereum เพื่อปรับปรุงฟังก์ชันการทำงานของบัญชีผู้ใช้ อย่างไรก็ตาม โซลูชันดังกล่าวยังมีข้อเสียบางประการ โดยส่วนใหญ่ต้องการให้ผู้ใช้จ่ายค่าธรรมเนียมแก๊สสำหรับการทำธุรกรรม และความนิยมของกระเป๋าเงินสัญญาอัจฉริยะ
**จากความท้าทายเหล่านี้ Ethereum เริ่มพยายามนำเสนอแนวคิดใหม่ ซึ่งก็คือการแยกบัญชี เป้าหมายของการสรุปบัญชีคือการแก้ปัญหาเหล่านี้ที่ระดับโปรโตคอล แทนที่จะพึ่งพาสัญญาอัจฉริยะหรือมิดเดิลแวร์อื่นๆ นี่คือสิ่งที่เราเรียกว่าสิ่งที่เป็นนามธรรมของบัญชี (AA) **
ในส่วนที่เหลือของโพสต์นี้ ฉันจะเจาะลึกแนวคิดของการสรุปบัญชีและวิธีที่เราสามารถใช้เพื่อเพิ่มประสิทธิภาพโครงสร้างพื้นฐานของ BlockPI
**นอกเหนือจากความไม่สะดวกสามประการของ EOA ที่กล่าวถึงข้างต้นแล้ว ความสัมพันธ์ระหว่างคีย์สาธารณะและคีย์ส่วนตัวก็เป็นปัญหาเช่นกัน **คีย์ส่วนตัวเป็นวิธีเดียวในการเข้าถึง EOA หากสูญหาย จะไม่มีทางกู้คืนคีย์ส่วนตัวได้ ซึ่งหมายความว่าหากคีย์ส่วนตัวสูญหาย ทรัพย์สินทั้งหมดที่เกี่ยวข้องกับคีย์นั้นจะไม่สามารถเรียกคืนได้
**นอกจากนี้ EOA ยังเผชิญกับข้อจำกัดเมื่อทำงานเชิงเส้นในธุรกรรมเดียว **ตัวอย่างเช่น หากผู้ใช้ต้องการอนุมัติ แลกเปลี่ยน และไม่อนุมัติโทเค็นในการดำเนินการเดียว ผู้ใช้ต้องทำธุรกรรมแยกกัน 3 รายการ ซึ่งไม่มีประสิทธิภาพและใช้เวลานาน
ข่าวดีก็คือ ปัญหาข้างต้นทั้งหมดสามารถแก้ไขได้ด้วยกระเป๋าเงินสัญญาอัจฉริยะ กระเป๋าเงินสัญญาอัจฉริยะเป็นสัญญาอัจฉริยะประเภทพิเศษที่ใช้ AA มันถูกออกแบบมาเพื่อทำหน้าที่เป็นกระเป๋าเงินของผู้ใช้บนเครือข่าย Ethereum และมอบวิธีการที่ปรับเปลี่ยนได้และเป็นส่วนตัวมากขึ้นในการจัดการเงินของพวกเขา ตราบเท่าที่สามารถรับรู้ตรรกะของ Ethereum smart contract กระเป๋าสัญญาอัจฉริยะสามารถจัดเตรียมฟังก์ชันที่จำเป็นได้
โดยเฉพาะอย่างยิ่ง ธุรกรรมของ smart contract wallet สามารถรวมเป็นธุรกรรมบนเครือข่ายเพื่อแชร์ค่าน้ำมันได้ หากบุคคลที่สามยินดีจ่าย อาจไม่มีค่าน้ำมันด้วยซ้ำ การดำเนินการสามารถอำนวยความสะดวกในการดำเนินงานตามลำดับภายในกระเป๋าเงินสัญญาอัจฉริยะ กระเป๋าเงินสัญญาอัจฉริยะสามารถรองรับอัลกอริธึมการเข้ารหัสลายเซ็นและตั้งรหัสกู้คืน ฯลฯ
ด้วยการพูดคุยเกี่ยวกับประโยชน์ของกระเป๋าเงินสัญญาอัจฉริยะ ชุมชน Ethereum ได้ทำงานจริงกับกระเป๋าเงินสัญญาตั้งแต่เริ่มต้น แม้ว่าจะมีการเสนอ EIP จำนวนมากเพื่อสำรวจการแยกบัญชี แต่ยังไม่มีการกำหนดมาตรฐานที่เป็นเอกภาพจนถึงปี 2564 ด้านล่างนี้คือข้อเสนอบางส่วนที่เป็นตัวแทนมากที่สุด
EIP-86
สร้างสรรค์ครั้งแรกในปี 2560 โดย Vitalik Buterin ดำเนินการชุดการเปลี่ยนแปลงกับบริการตรวจสอบลายเซ็นแบบ "นามธรรม" และไม่มีการตรวจสอบ ทำให้ผู้ใช้สามารถสร้าง "สัญญาบัญชี" ที่ดำเนินการตรวจสอบลายเซ็น/ไม่มีการตรวจสอบที่ต้องการ
EIP-2938
สร้างในปี 2020 ชื่อของ EIP นี้คือ Account Abstraction EIP นี้ให้รายละเอียดเกี่ยวกับแนวคิดของ AA แนะนำธุรกรรมประเภทใหม่ ธุรกรรม AA ธุรกรรมนี้จะเริ่มต้นโดยที่อยู่ EntryPoint และเรียกสัญญากระเป๋าเงิน AA การทำเช่นนี้ทำให้ได้ข้อมูลจำเพาะที่เป็นหนึ่งเดียวและนำ AA เข้าสู่ฉันทามติของ Ethereum โดยเฉพาะอย่างยิ่ง มันเพิ่ม opcodes ใหม่สองตัว ตัวแปรส่วนกลางสามตัว และโครงสร้าง payload ที่แตกต่างกันเพื่อฉันทามติของ Ethereum
EIP-3074
สร้างในปี 2020 EIP นี้แนะนำคำสั่ง EVM สองคำสั่ง ได้แก่ AUTH และ AUTHCALL AUTH ตั้งค่าตัวแปรบริบทที่เรียกว่า อนุญาต ตามลายเซ็น ECDSA AUTHCALL ส่งการโทรในนามของบัญชีที่ได้รับอนุญาต สิ่งนี้ทำให้สัญญาอัจฉริยะสามารถส่งธุรกรรมในนามของ EOA แต่นี่ไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์แบบสำหรับ AA EIP-3074 กำหนดข้อจำกัดบางประการเกี่ยวกับการโอนมูลค่าดั้งเดิมระหว่างธุรกรรมการเป็นสปอนเซอร์ หากคุณสูญเสียการเข้าถึง EOA คุณจะไม่สามารถกู้คืนทรัพย์สินของคุณได้ และหากถูกขโมย ทรัพย์สินทั้งหมดจะต้องถูกโอนไปยังบัญชีใหม่
ไม่มีการนำแนวคิดข้างต้นมาใช้อย่างเป็นทางการในโปรโตคอล Ethereum เนื่องจากเหตุผลหลัก เช่น ต้องมีการเปลี่ยนแปลงในชั้นฉันทามติหรือไม่ครอบคลุม ดังนั้น ชุมชน Ethereum ยังคงค้นหาวิธีการแนะนำ AA เข้าสู่โปรโตคอล Ethereum โดยไม่เปลี่ยนแปลงฉันทามติ และในที่สุดก็สร้าง EIP 4337
กกพ. — 4337
EIP-4337 ได้รับการเสนอครั้งแรกในเดือนกันยายน 2021 และได้รับอนุญาตเป็น ERC-4337 ในเดือนมีนาคม 2023 ผู้เขียนประกอบด้วย Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson และ Tjaden Hess
EIP-4337 เป็นข้อเสนอที่เปลี่ยนแปลงเกมซึ่งแนะนำ AA โดยไม่ต้องทำการเปลี่ยนแปลงใด ๆ กับโปรโตคอล Ethereum หลัก EIP-4337 เป็นแนวทางมาตรฐาน ERC-4337 ซึ่งผู้สร้างสามารถใช้เพื่อใช้งานกระเป๋าเงินสัญญาอัจฉริยะของตนเอง และมีโครงสร้างพื้นฐานเพิ่มเติมบางอย่าง รวมถึง "Bundlers" และพูลหน่วยความจำ UserOperation การทำเช่นนี้เป็นการจำลองการทำงานของ mempool ของธุรกรรมในระบบขั้นสูงขึ้น แทนที่จะส่งธุรกรรม ผู้ใช้จะส่งวัตถุ UserOperation ซึ่งสามารถบรรจุเป็นธุรกรรมเดียวและรวมอยู่ในเชน Ethereum
ต่อไปนี้เป็นคำอธิบายทางเทคนิคเฉพาะเจาะจงมากขึ้นของ ERC-4337 จากเอกสารอย่างเป็นทางการ รวมถึงความคิดเห็นบางส่วนเพื่อความเข้าใจที่ดีขึ้น
ความหมายและบทบาทสำคัญของ ERC-4337
UserOperation — โครงสร้างที่อธิบายธุรกรรมที่ส่งในนามของผู้ใช้ เพื่อไม่ให้เกิดความสับสน จึงไม่มีชื่อว่า "ธุรกรรม" มันถูกส่งไปยัง Bundler เพื่อรวมเข้ากับ UserOperations อื่น ๆ จากนั้นแพ็คเกจจะถูกส่งไปยังผู้สร้างบล็อกเป็นธุรกรรมเดียว
ผู้ส่ง — บัญชีสัญญาที่ส่ง UserOperation ใหม่ กระเป๋าเงินสัญญาอัจฉริยะต้องใช้อินเทอร์เฟซ IAccount ของ ERC-4337
EntryPoint — สัญญาซิงเกิลตันที่ใช้แพ็คเกจ UserOperations Bundlers/Clients whitelist รองรับ EntryPoints สัญญานี้ได้รับการอนุมัติและตรวจสอบโดยทีม Infinitism และมีหน้าที่รับผิดชอบในการจัดการ UserOperations ทั้งหมดและการเชื่อมต่อสัญญาอื่นๆ รวมถึง Wallet Factory, Aggregator, Paymaster จะมีที่อยู่เดียวกันในเชนที่เข้ากันได้กับ EVM ส่วนใหญ่
Bundler — โหนด (ตัวสร้างบล็อก) ที่รวม UserOperations หลายรายการจาก mempool และสร้างรายการ EntryPoint.handleOps() ตัวตรวจสอบความถูกต้องทั้งหมดที่เลเยอร์โปรโตคอลไม่จำเป็นต้องเป็น Bundler บริการ Bundler สามารถทำงานโดยอิสระจากตัวสร้างบล็อกและใช้ RPC เพื่อส่ง UserOperations ที่รวมไว้
ผู้รวบรวม — สัญญาผู้ช่วยเหลือที่ได้รับความไว้วางใจจากบัญชีเพื่อตรวจสอบลายเซ็นรวม Bundlers/Clients whitelist รองรับตัวรวบรวม ผู้รวบรวมต้องใช้อินเทอร์เฟซ ERC-4337 IAggregator
Paymaster — สัญญาที่สามารถจ่ายค่าธรรมเนียมน้ำมันของ UserOperation ให้กับผู้ส่งได้ หากฝาก ETH เพียงพอในสัญญา EntryPoint Paymaster ใช้การแยกก๊าซอย่างมีประสิทธิภาพ Paymaster ต้องใช้อินเทอร์เฟซ Paymaster ของ ERC-4337 Paymaster สามารถมีตรรกะของตัวเองเพื่อทำข้อตกลงกับผู้ส่ง ตัวอย่างเช่น ผู้ส่งจ่าย USDC ให้กับ Paymaster และ Paymaster สนับสนุน UserOperations ด้วย ETH ในความเป็นจริง โทเค็น ERC 20 ใดๆ หรือแม้แต่โทเค็นบนเชนอื่นๆ สามารถรองรับได้ ตราบใดที่ Paymaster ตกลงและเป็นไปได้ในทางเทคนิค
Wallet Factory — สัญญาที่สามารถเรียกใช้เพื่อสร้างกระเป๋าสัญญาอัจฉริยะสำหรับผู้ใช้ ERC-4337 การปรับใช้โรงงานกระเป๋าสตางค์ไม่ได้รับอนุญาต ในฐานะที่เป็นส่วนประกอบบนเครือข่าย จึงเปิดให้สาธารณะตรวจสอบและตรวจสอบอย่างโปร่งใส Wallet Factory ที่ใช้กันอย่างแพร่หลายควรได้รับการตรวจสอบโดยผู้เชี่ยวชาญอย่างเต็มที่
แผนภาพด้านล่างอธิบายว่าสัญญา EntryPoint โต้ตอบกับผู้ให้บริการรายอื่นอย่างไร
Bundlers เรียกใช้ฟังก์ชัน handleOps ของสัญญา EntryPoint ซึ่งรับ UserOperation เป็นอินพุต
handleOps ตรวจสอบ UserOperation บนเชน ตรวจสอบว่ามีการลงนามโดยที่อยู่กระเป๋าเงิน smart contract ที่ระบุหรือไม่ และกระเป๋าเงินมี Gas เพียงพอที่จะชดเชย Bundler หรือไม่
หากการตรวจสอบสำเร็จ handleOps จะเรียกใช้ฟังก์ชันกระเป๋าเงินสัญญาอัจฉริยะตามลายเซ็นฟังก์ชันและพารามิเตอร์อินพุตที่กำหนดไว้ใน calldata ของ UserOperation
ในทางกลับกัน เมื่อ Bundler ใช้ EOA เพื่อทริกเกอร์ฟังก์ชัน handleOps จะมีค่าธรรมเนียมน้ำมันเกิดขึ้น กระเป๋าเงินสัญญาอัจฉริยะสามารถจ่ายค่าธรรมเนียมน้ำมันให้กับ Bundlers จากยอดคงเหลือในบัญชีของตนเอง หรือขอให้สัญญา Paymaster จ่ายแทนก็ได้ การดำเนินการของผู้ใช้ที่มีแก๊สไม่เพียงพอไม่สามารถผ่านกระบวนการตรวจสอบในกระเป๋าเงินสัญญาอัจฉริยะเป้าหมายได้ ดังนั้นจึงล้มเหลวก่อนที่จะดำเนินการ แม้ว่าจะมีพลังงานเพียงพอ UserOperations อาจล้มเหลวในระหว่างการดำเนินการ เช่น เนื่องจากข้อผิดพลาดรันไทม์ ไม่ว่าการดำเนินการจะสำเร็จหรือไม่ สัญญา EntryPoint จะจ่ายค่าธรรมเนียมแก๊สให้กับ Bundler ที่เรียกใช้ฟังก์ชัน handleOps
(ที่มา: เอกสารอย่างเป็นทางการ:
หลังจาก ERC-4337 มีผลบังคับใช้ ขณะนี้ผู้ใช้มีสองวิธีในการเริ่มต้นธุรกรรมบล็อกเชน วิธีแรกคือวิธีดั้งเดิมที่ EOA เริ่มต้นการทำธุรกรรม อีกวิธีหนึ่งคือใช้มาตรฐาน ERC-4337 เพื่อเริ่ม UserOperation ผ่าน Bundler จากนั้น Bundler จะรวมแพ็คเกจกับ UserOperations อื่นและเริ่มต้นบนเครือข่าย แผนภูมิขั้นตอนต่อไปนี้แสดงความแตกต่างระหว่างธุรกรรมการส่ง EOA ปกติและกระเป๋าเงินสัญญา ERC-4337 ส่ง UserOperation
ถนนลาดยาง แต่ผู้โดยสารไม่มากนัก
ERC-4337 มอบเฟรมเวิร์กที่มีประสิทธิภาพสำหรับผู้ใช้และนักพัฒนาเพื่อใช้และสร้าง AA บนแพลตฟอร์ม Ethereum แม้ว่ากรอบนี้จะเป็นก้าวสำคัญ แต่ความท้าทายและความไม่แน่นอนหลายประการยังคงต้องได้รับการแก้ไขและแก้ไข
**การยอมรับของ AA ยังอยู่ในช่วงเริ่มต้น **จากผลการวิเคราะห์ Dune ERC-4337 (ERC-4337 Account Abstraction จาก @niftytable) มี UserOperations เพียง 65 k+ เท่านั้นที่ดำเนินการบนเครือข่าย โดย 90% มาจาก Polygon ดังนั้นจำนวน UserOperations ที่ดำเนินการในขณะนี้ยังน้อยมาก ซึ่งส่วนใหญ่เป็นการทดสอบของนักพัฒนาซอฟต์แวร์ และมีเพียงส่วนน้อยเท่านั้นที่เป็นของผู้ใช้ เราทราบว่าผลิตภัณฑ์ที่ผสานรวม AA นั้นยังอยู่ในช่วงเริ่มต้น ในเวลาเดียวกัน คุณจะเห็นว่ากำไรของ Bundler เป็นลบ (-700 ในแง่ MATIC) นี่เป็นเพราะบันเดิลบางตัวบน Polygon ไม่คำนวณแก๊สก่อนการตรวจสอบอย่างถูกต้อง อัลกอริทึมการตรวจสอบนี้ยังต้องการการเพิ่มประสิทธิภาพ
**นอกเหนือจากนั้น ยังมีข้อแก้ตัวอีกเล็กน้อยที่ต้องแก้ไข ปัญหาอย่างหนึ่งคือวิธีที่ Bundlers จัดการกับธุรกรรมที่ล้มเหลว **หลังจาก Bundler รวม UserOperations หลายรายการเข้าด้วยกัน ก่อนอื่น Bundler จะจำลองธุรกรรมเพื่อตรวจสอบว่าจะถูกย้อนกลับหรือไม่ จากนั้นจึงคำนวณว่าค่าธรรมเนียมน้ำมันที่ผู้ส่งหรือ Paymaster ส่งกลับมานั้นมากกว่าค่าธรรมเนียมน้ำมันที่ชำระโดยธุรกรรมหรือไม่ หากสร้างผลกำไร Bundler จะส่ง UserOperations ชุดนี้พร้อมกันเป็นธุรกรรมไปยังตัวสร้างบล็อค อย่างไรก็ตาม การทำธุรกรรมอาจยังคงล้มเหลว ส่งผลให้ Bundler ชำระค่าธรรมเนียมน้ำมันแต่ไม่ได้รับน้ำมันคืนจาก EntryPoint ตัวอย่างเช่น ผู้ใช้อาจส่งการดำเนินการไปยัง Bundler ต่างๆ Bundlers ยินดีที่จะส่งการดำเนินการใด ๆ บนเครือข่ายหากพวกเขาทำกำไรได้และการจำลองของพวกเขาประสบความสำเร็จ ซึ่งหมายความว่าหากมีการส่ง UserOperation โดย Bundler ที่แตกต่างกันในเวลาเดียวกัน ธุรกรรมเดียวเท่านั้นที่จะสำเร็จ Bundler เดียวเท่านั้นที่จะได้รับค่าน้ำมันจาก EntryPoint Bundler อื่น ๆ ทั้งหมดจะสูญเสียน้ำมันเนื่องจากความล้มเหลวในเครือข่าย ในขณะที่ใคร ๆ ก็แย้งว่าผู้ใช้ไม่ควรทำเช่นนี้ พฤติกรรมดังกล่าวจะถือว่าเป็นการโจมตีที่เป็นอันตราย และ Bundler สามารถแบนที่อยู่ผู้ส่งและปฏิเสธคำขอใด ๆ ในอนาคตจากที่อยู่นี้ นี่ไม่ใช่แนวทางที่สมเหตุสมผล เนื่องจากผู้ใช้อาจมีการดำเนินการนี้ ส่งมาโดยไม่ได้ตั้งใจ ปัญหาดังกล่าวจำเป็นต้องได้รับการแก้ไขอย่างเหมาะสมในโค้ด โดยอาจพัฒนาเครือข่าย mempool สาธารณะที่ยังสร้างไม่เสร็จ นอกจากนี้ เนื่องจากความผันผวนของก๊าซอย่างกะทันหัน Bundlers อาจประสบกับการขาดทุน แม้ว่าธุรกรรมจะถูกส่งสำเร็จและจำลองว่าได้กำไรแล้วก็ตาม
**อีกอย่างคือ Maximum Extractable Value (MEV) ที่แยกได้จาก AA **ในบริบทของ Ethereum โดยทั่วไป MEV หมายถึงค่าที่นักขุดหรือผู้ประมวลผลธุรกรรมอื่น ๆ สามารถสกัดได้โดยจัดการลำดับของธุรกรรมในบล็อกหรือรวมธุรกรรมของตนเองในบล็อก มีใครสังเกตไหมว่าตรรกะของ MEV สามารถนำไปใช้กับ AA ได้เช่นกัน เนื่องจาก Bundlers สามารถสั่งซื้อ UserOperations ได้ฟรี อย่างไรก็ตาม นี่เป็นเงื่อนไข ต้องมีการรวม UserOperations ให้เพียงพอเพื่อให้ Bundlers แตกไฟล์ MEV ตอนนี้ตลาด AA ทั้งหมดยังอยู่ในช่วงเริ่มต้น ดังนั้น Bundler MEV จึงสามารถพิจารณาได้ในช่วงเริ่มต้น โดยทั่วไป อุตสาหกรรม **AA อาจพัฒนาในสองทิศทาง: แนวทางหนึ่งคล้ายกับ Ethereum mainnet โดยมีผู้เข้าร่วมเช่น Flashbots, Ultra Sound และ BloXroute เข้าร่วม และอีกทางหนึ่งคือการสร้างฉันทามติของ Bundler เพื่อบังคับใช้การเรียงลำดับอย่างยุติธรรม วิธีหลังจะขจัดความเป็นไปได้ของ MEV ใน AA โดยสิ้นเชิง **
การพัฒนาในอนาคต
หน่วยความจำสาธารณะ
แม้ว่าระบบนิเวศ AA จะทำงานอยู่แล้ว แต่ก็ยังมีงานพัฒนาอีกมากที่ต้องทำ เมื่อพิจารณาถึงระบบนิเวศ AA ทั้งหมด ช่องว่างที่ใหญ่ที่สุดในปัจจุบันคือ mempool สาธารณะ ทีม Etherspot ซึ่งเป็นผู้พัฒนาไคลเอนต์ Skandha Bundler กำลังพัฒนาเครือข่าย p2p ด้วย mempool สาธารณะ เครือข่าย p2p ของ mempool สาธารณะคาดว่าจะใช้งานได้ในเดือนสิงหาคมปีนี้
ขั้นตอนวิธีการบรรจุ
ระหว่างทาง Ethereum Foundation ได้ให้ทุนแก่ทีมพัฒนา AA หลายทีมซึ่งเป็นนักพัฒนาที่ทุ่มเทและทำงานหนัก จนถึงปัจจุบัน ไคลเอ็นต์ Bundler หลายเวอร์ชันได้รับการพัฒนาและพร้อมใช้งานแล้ว บางส่วนได้รับการพัฒนาอย่างมากในแง่ของความสมบูรณ์ของผลิตภัณฑ์ ได้แก่ Candide (Voltaire Bundler เขียนด้วย Python), Pimlico (Alto Bundler เขียนด้วย Type), Etherspot (Skandha Bundler เขียนด้วย Type), Stackup (Stackup-Bundler เขียนด้วย Go) และอีกมากมาย
ตอนนี้ เรามาดูรายละเอียดเพิ่มเติมเกี่ยวกับอัลกอริทึมการบรรจุ ปัจจุบัน เนื่องจาก UserOperations มีจำนวนน้อย Bundler จึงสามารถใช้ตรรกะบรรจุภัณฑ์ที่เรียบง่ายและตรงไปตรงมาได้ เช่น ช่วงเวลาคงที่หรือจำนวน UserOperations ในแต่ละบันเดิล อย่างไรก็ตาม เมื่อจำนวน UserOperations เพิ่มขึ้น โดยเฉพาะอย่างยิ่งหลังจากการเปิดตัว mempool สาธารณะ กลยุทธ์สำหรับการเลือกและบรรจุ UserOperations จะซับซ้อนมากขึ้น เหตุผลนั้นง่ายมาก: หากไม่มีโปรโตคอลที่สอดคล้องกัน เช่น บล็อกเชน Bundlers จะก่อตัวเป็นป่ามืด แต่ละคนจะจัดลำดับความสำคัญของงานตามความสนใจของตนเอง และแข่งขันกันเอง mempools ส่วนตัวซึ่งสอดคล้องกับ mempools สาธารณะมีแนวโน้มที่จะมาก่อน เนื่องจากเมื่อทำแพ็กเกจ UserOperations จาก mempool สาธารณะแล้วไม่ได้ผลกำไร การจัดแพ็กเกจ UserOperations ร่วมกันใน mempool ส่วนตัวจึงอาจได้กำไร ด้วยวิธีนี้ Bundler มีข้อได้เปรียบในการแข่งขันเมื่อพูดถึงบรรจุภัณฑ์
นอกจากนี้ เนื่องจาก mempool สาธารณะค่อยๆ ได้รับการยอมรับ UserOperations ในนั้นจะมีลักษณะที่แตกต่างกัน เช่น ความคาดหวังกำไรจากก๊าซที่แตกต่างกัน และความซับซ้อนในการดำเนินการแบบ on-chain Bundlers จะทำการจำลองแบบออฟไลน์เพื่อประเมินความสามารถในการทำกำไรของชุดค่าผสมต่างๆ ของ UserOperations เพื่อสร้างกลยุทธ์การรวมที่ไม่เหมือนใคร การบรรจุ UserOperations มากขึ้นมีศักยภาพในการให้ผลกำไรมากขึ้น แต่ยังเพิ่มความเสี่ยงในการตรวจสอบล้มเหลวด้วย แม้ว่าการตรวจสอบจะผ่านแล้ว ความเสี่ยงของการดำเนินการที่ล้มเหลวในห่วงโซ่ยังคงมีอยู่ UserOperations ที่มีแพ็คเกจน้อยกว่าทำตรงกันข้าม Bundlers จำเป็นต้องตั้งค่าพารามิเตอร์แก๊สธุรกรรมของตนเอง ซึ่งจะส่งผลต่อลำดับความสำคัญของผู้สร้างบล็อกในการดำเนินการธุรกรรม ภายใต้ราคาก๊าซในตลาดที่แตกต่างกันและสภาวะความผันผวนของก๊าซ Bundler อาจมีกลยุทธ์บรรจุภัณฑ์ที่แตกต่างกัน ในขณะเดียวกัน การตรวจสอบและการคำนวณนโยบายเหล่านี้จำเป็นต้องใช้ทรัพยากรการประมวลผลฮาร์ดแวร์ภายในเครื่องและทรัพยากรโหนดบล็อกเชน Bundlers ยังจำเป็นต้องตรวจสอบให้แน่ใจว่าผู้ใช้ได้รับประสบการณ์ที่ดีและผู้ใช้ไม่ต้องเผชิญกับความล่าช้ามากเกินไปหลังจากส่ง UserOperation
แม้ว่าวิธีแก้ปัญหาสำหรับความท้าทายเหล่านี้ยังคงไม่แน่นอน แต่เรามั่นใจได้ว่าวิวัฒนาการของอุตสาหกรรม AA และความพยายามร่วมกันของนักพัฒนาจะพบวิธีแก้ปัญหาในที่สุด ในฐานะผู้สร้างโครงสร้างพื้นฐาน BlockPI หวังที่จะแก้ปัญหาในการพัฒนาอุตสาหกรรม AA ไม่ว่าจะเป็นในฐานะนักพัฒนาหรือเพื่อจัดหาโครงสร้างพื้นฐาน AA ที่เป็นมิตรสำหรับนักพัฒนารายอื่น
โครงสร้างพื้นฐานต้องปรับตัว
AA สรุปบทบาทต่างๆ ในพฤติกรรมการทำธุรกรรมบนเครือข่าย รวมถึงผู้ส่ง ผู้รวมกลุ่ม ผู้จ่ายน้ำมัน กระเป๋าเงินสัญญา และผู้ลงนาม ทำให้ผู้ใช้มีอิสระในระดับที่สูงขึ้นเมื่อใช้บล็อกเชน นอกจากนี้ บริการต่างๆ ภายใน AA ยังสามารถปรับใช้แยกกันได้อีกด้วย
**เพื่อรองรับการนำ AA ไปใช้ในวงกว้าง ผู้ให้บริการโครงสร้างพื้นฐานจำเป็นต้องให้บริการพื้นฐานอย่างน้อยสองบริการก่อน ได้แก่ บริการ Bundler และบริการ Paymaster **
ในบริการ Bundler ผู้ให้บริการโครงสร้างพื้นฐานอาจต้องพัฒนา mempool ส่วนตัวด้วย Bundlers เพื่อให้แน่ใจว่าผู้ใช้จะได้รับประสบการณ์ที่ดี โดยเฉพาะอย่างยิ่ง ผู้ให้บริการโครงสร้างพื้นฐานจำเป็นต้องผสานรวมไคลเอนต์ Bundler ต่างๆ เพื่อให้แน่ใจว่าบริการ Bundler มีความแข็งแกร่ง ไคลเอนต์ Bundler เหล่านี้ได้รับการพัฒนาในภาษาการเขียนโปรแกรมที่แตกต่างกัน แต่ทั้งหมดมีชุดมาตรฐานของวิธี JSON RPC ที่ระบุโดยทีมหลักของ ERC-4337 ขณะนี้มีวิธีการไม่มากนัก แต่จะมีการเพิ่มวิธีการอื่น ๆ ในอนาคต ผู้ให้บริการโครงสร้างพื้นฐานควรให้การสนับสนุนอย่างต่อเนื่องและครบถ้วนสำหรับ API เหล่านี้
นอกจากนี้ สิ่งสำคัญคือต้องเพิ่มประสิทธิภาพและปรับความสัมพันธ์ระหว่าง Bundler API และ RPC ของไคลเอ็นต์โหนดต้นทาง เราทราบดีว่าไคลเอนต์โหนดปัจจุบันไม่ได้รับการปรับให้เหมาะสมสำหรับการตอบสนองและความสามารถในการปรับตัวของ AA วิธี Bundler API บางวิธีต้องการดัชนีข้อมูลของ AA ในการทำงาน ตัวอย่างเช่น การค้นหา UserOperation ด้วยแฮชจำเป็นต้องมีการจัดทำดัชนี UserOperations ทั้งหมด มิฉะนั้น การใช้ฮาร์ดแวร์ของคำขอเดียวนี้จะสูงมาก และคำขอจะใช้เวลานานในการส่งคืน
นอกจากนี้ ผู้ให้บริการโครงสร้างพื้นฐานยังจำเป็นต้องผสานรวมบริการ Paymaster ต่างๆ เพื่อให้ลูกค้าได้รับประสบการณ์การใช้งานแบบไร้น้ำมันและมอบตัวเลือกบริการต่างๆ แก่ลูกค้า สิ่งนี้ต้องการการสื่อสารและการรวมระบบที่ดีกับผู้ให้บริการ Paymaster บุคคลที่สาม ในขณะเดียวกันก็สามารถออกแบบโซลูชันการรวมระบบที่สะดวกขึ้นตามบริการ Paymaster ที่มีอยู่ตามความต้องการของตลาด บริการอื่นๆ เช่น ลายเซ็นรวม โรงงานกระเป๋าเงิน เป็นต้น เป็นแนวทางที่เป็นไปได้สำหรับการพัฒนาและการรวมระบบในอนาคต
ปัจจุบัน BlockPI กำลังพยายามบรรลุเป้าหมายข้างต้นทั้งหมด ไม่เพียงแค่นั้น เรากำลังสื่อสารกับลูกค้า Bundler และผู้ให้บริการ Paymaster เกือบทั้งหมดในชุมชน และได้รวมเอาบริการ AA เข้ากับเครือข่าย BlockPI ที่เราให้ความสำคัญสูงสุด เรากำลังมีการพูดคุยเชิงลึกกับนักพัฒนากระเป๋าเงิน AA เพื่อทำความเข้าใจความต้องการของผู้ใช้ ดังนั้นเราจึงยินดีต้อนรับความร่วมมือและการแลกเปลี่ยนกับ Bundlers, Paymasters และกระเป๋าเงินทั้งหมดอย่างจริงใจในขณะที่เราก้าวไปข้างหน้า เป้าหมายโดยรวมของเราคือการสร้างและพัฒนาระบบนิเวศ AA ร่วมกับผู้อื่น ผลักดันการเติบโตและการพัฒนาให้ดีที่สุดเท่าที่จะทำได้ ด้วยการทำงานร่วมกัน เราหวังว่าจะมีส่วนสนับสนุนที่มีความหมายต่ออุตสาหกรรม AA โดยรวมและสนับสนุนการพัฒนาอย่างต่อเนื่อง เพราะท้ายที่สุดแล้ว ภารกิจสูงสุดของเราคือการเป็นผู้บุกเบิกในอุตสาหกรรมและส่งเสริมการพัฒนาระบบนิเวศ AA เพื่อให้ผู้ใช้ web2 สามารถเพลิดเพลินกับประสบการณ์บล็อกเชนโดยไม่มีอุปสรรค
##สรุป
จากมุมมองของ AA เราอยู่ในช่วงเวลาใหม่ทางประวัติศาสตร์ แม้ว่าเราจะมีถนนลาดยางบนถนน แต่ก็ยังมีผู้ขับขี่ไม่มากนัก ในปัจจุบัน แอปพลิเคชันของ AA ยังอยู่ในช่วงเริ่มต้น ERC-4337 มอบเฟรมเวิร์กที่มีประสิทธิภาพสำหรับผู้ใช้และนักพัฒนาเพื่อใช้และสร้าง AA บนแพลตฟอร์ม Ethereum อย่างไรก็ตาม ยังมีความท้าทายและความไม่แน่นอนมากมายที่ต้องได้รับการแก้ไข
**ผู้ให้บริการโครงสร้างพื้นฐานของ AA จำเป็นต้องให้บริการ Bundler และบริการ Paymaster แก่ผู้ใช้ และจำเป็นต้องผสานรวมไคลเอ็นต์ Bundler และผู้ให้บริการ Paymaster ต่างๆ เพื่อให้แน่ใจว่าบริการมีความทนทาน **เพื่อเพิ่มประสิทธิภาพการตอบสนองระหว่างไคลเอนต์ API และโหนด ข้อมูล AA อาจต้องทำดัชนีเพื่อลดการใช้ฮาร์ดแวร์สำหรับคำขอเดียว เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้น ผู้ให้บริการโครงสร้างพื้นฐานจำเป็นต้องให้ตัวเลือกบริการเพิ่มเติมแก่ผู้ใช้
**ในอนาคต เมื่อระบบนิเวศ AA เติบโตอย่างต่อเนื่องและมี mempool สาธารณะเกิดขึ้น กลยุทธ์ในการเลือกและบรรจุ UserOperations จะซับซ้อนมากขึ้น ** Bundler แต่ละคนจัดลำดับความสำคัญของงานของตนเองตามความสนใจของตนเองและแข่งขันกับ Bundler รายอื่น Bundlers จำเป็นต้องตั้งค่าพารามิเตอร์ก๊าซสำหรับธุรกรรมของตนเอง ซึ่งส่งผลต่อลำดับความสำคัญของตัวสร้างบล็อกในการดำเนินการธุรกรรม ภายใต้ราคาก๊าซในตลาดที่แตกต่างกันและสภาวะความผันผวนของก๊าซ Bundler อาจมีกลยุทธ์บรรจุภัณฑ์ที่แตกต่างกัน
แม้ว่าวิธีแก้ปัญหาสำหรับความท้าทายเหล่านี้จะไม่แน่นอน แต่เรามั่นใจได้ว่าวิวัฒนาการของอุตสาหกรรม AA และความพยายามร่วมกันของนักพัฒนาจะพบวิธีแก้ปัญหาในที่สุด ในฐานะผู้สร้างโครงสร้างพื้นฐาน BlockPI หวังว่าจะเป็นผู้แก้ปัญหาในการพัฒนาอุตสาหกรรม AA ไม่ว่าจะเป็นนักพัฒนาหรือโดยการจัดหาโครงสร้างพื้นฐาน AA ที่เป็นมิตรสำหรับนักพัฒนารายอื่น ภารกิจของเราคือการส่งเสริมการพัฒนาระบบนิเวศ AA เพื่อให้ผู้ใช้ Web2 สามารถเพลิดเพลินกับประสบการณ์ blockchain โดยไม่มีอุปสรรค