คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
คำอธิบายโดยละเอียดเกี่ยวกับการแยกบัญชี Ethereum และ ERC-4337
IOBC Capital
特邀专栏作者
2022-10-26 03:30
บทความนี้มีประมาณ 3232 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
ตอนนี้รูปแบบของการมุ่งเน้นไปที่การพัฒนาเลเยอร์ 2 ใน Ethereum ได้ถูกตั้งค่าแล้ว แผนการติดตามผลข

ผู้เขียนต้นฉบับ: มาโดกะ คาเมะIOBC Capital 

มีบัญชีสองประเภทในระบบ Ethereum:

หนึ่งถูกควบคุมโดยคีย์ส่วนตัวบัญชีภายนอก(externally-owned account, EOA) เช่น บัญชีในกระเป๋าเงินที่เราใช้ บัญชีประเภทนี้จะมียอดคงเหลือในตัวเอง เจ้าของสามารถส่งข้อความจากบัญชีภายนอกได้โดยสร้างและลงนามธุรกรรม

อีกบัญชีหนึ่งคือบัญชีสัญญาที่ควบคุมโดยรหัสที่ใช้กับบล็อกเชน ซึ่งควบคุมโดยรหัสเครื่องเสมือน Ethereum ที่จัดเก็บไว้ในบัญชีสัญญาอัจฉริยะ (บางครั้งเรียกว่ากระเป๋าเงินอัจฉริยะ) เมื่อบัญชีสัญญาได้รับข้อมูล รหัสภายในของบัญชีจะเปิดใช้งาน ทำให้สามารถอ่านและเขียนที่จัดเก็บข้อมูลภายใน สร้างสัญญาใหม่ และอื่นๆ
ชื่อระดับแรก

นามธรรมบัญชีคืออะไร?

การแยกบัญชีเป็นการปรับปรุงบัญชีสองบัญชีข้างต้น โดยพยายามทำให้ขอบเขตระหว่างบัญชีทั้งสองไม่ชัดเจน และกลายเป็นบัญชีเอนกประสงค์ที่มีตรรกะที่ซับซ้อนช่วยให้บัญชีมีหน้าที่ของบัญชีสัญญาและบัญชีภายนอกในเวลาเดียวกัน

ชื่อระดับแรก

image

รูปแบบต่างๆของนามธรรมบัญชี

เป็นวิสัยทัศน์ของชุมชนนักพัฒนา Ethereum เสมอมาเพื่อให้บรรลุสิ่งที่เป็นนามธรรมของบัญชี ชุมชนยังได้เสนอข้อเสนอต่าง ๆ เช่น:EIP-86,EIP-2938รอ.

EIP-86 เป็นการเตรียมทางเทคนิคสำหรับการสรุปบัญชี ซึ่งกำหนดประเภทบัญชีใหม่ที่อนุญาตให้ผู้ใช้สร้างบัญชีตามสัญญาอัจฉริยะ

โปรโตคอล Ethereum นั้นกำหนดให้ทุกอย่างรวมอยู่ในธุรกรรมที่มาจากบัญชีภายนอกที่ปลอดภัยของ ECDSA (EOA) และทุกการกระทำของผู้ใช้จะต้องถูกรวมโดยธุรกรรมจาก EOA ซึ่งมีค่าใช้จ่าย 21,000 แก๊ส ผู้ใช้จำเป็นต้องเป็นเจ้าของ ETH ใน EOA แยกต่างหากเพื่อชำระค่าน้ำมัน

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

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

โปรโตคอลใหม่ERC-4337ชื่อระดับแรก

ERC-4337 ใช้งานอย่างไร?

ERC-4337 ไม่พยายามแก้ไขฉันทามติของโปรโตคอล แต่จำลองการทำงานของ mempool ในระบบ

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

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

image

การดำเนินการของผู้ใช้ UserOperation ดูเหมือนธุรกรรม แต่เป็นโครงสร้างที่เข้ารหัส ABI รวมถึงฟิลด์ต่อไปนี้:
1. ผู้ส่ง: กระเป๋าเงินที่ดำเนินการ
2. nonce และลายเซ็น: พารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันการตรวจสอบกระเป๋าเงินเพื่อให้กระเป๋าเงินสามารถตรวจสอบการดำเนินการได้
3. initCode: หากยังไม่มีกระเป๋าเงิน รหัสเริ่มต้นที่ใช้ในการสร้างกระเป๋าเงิน
4. callData: ข้อมูลที่ใช้ในการเรียกกระเป๋าเงินในขั้นตอนการดำเนินการจริง
และกระเป๋าเงินแต่ละใบเป็นสัญญาที่ชาญฉลาดซึ่งต้องมีฟังก์ชันการทำงานสองฟังก์ชัน:

1. ตรวจสอบ UserOp ซึ่งยอมรับ UserOperation เป็นอินพุต ฟังก์ชันนี้ควรตรวจสอบลายเซ็นและ nonce ใน UserOperation ชำระค่าธรรมเนียมและเพิ่ม nonce หากการตรวจสอบสำเร็จ และส่งข้อยกเว้นหากการตรวจสอบล้มเหลว

ชื่อระดับแรก

การเปลี่ยนแปลงที่นำมาโดย ERC-4337

หากข้อเสนอนี้ได้รับการยอมรับโดยทั่วไปการตรวจสอบลายเซ็นย้ายไปที่ Ethereum Virtual Machine (EVM)ฟังก์ชัน validateUserOp เพิ่มตรรกะการตรวจสอบลายเซ็นและตัวเลขแบบสุ่มโดยอำเภอใจ ทำให้ตรรกะการตรวจสอบมีความยืดหยุ่นมากขึ้น

ด้วยวิธีนี้ เครื่องมือการเข้ารหัสใหม่สามารถใช้เมื่อลงนามธุรกรรม และกระเป๋าเงินยังสามารถให้บริการฟังก์ชันใหม่บางอย่าง เช่น:

  1. หลายลายเซ็น;

  2. การฟื้นฟูทางสังคม

  3. อัลกอริทึมลายเซ็นที่มีประสิทธิภาพและง่ายกว่า (เช่น Schnorr, BLS);

  4. อัลกอริธึมลายเซ็นที่ปลอดภัยหลังควอนตัม (เช่น Lamport, Winternitz);

  5. กระเป๋าเงินอัพเกรดได้

วิธีนี้ยังเปิดการจัดการการอนุญาตการทำธุรกรรมอื่น ๆ เช่นการอนุญาตให้ทำธุรกรรมเพื่อชำระค่าธรรมเนียมก๊าซผ่านสัญญาอัจฉริยะ
ในปัจจุบัน ค่าธรรมเนียมน้ำมันสำหรับกระเป๋าเงินภายนอกเพื่อโต้ตอบกับ Ethereum สามารถชำระได้ด้วย ETH ในกระเป๋าเงินเท่านั้น หากคุณมีโทเค็น ERC-20 ในกระเป๋าเงินของคุณโดยไม่มี ETH คุณจะไม่มีทางโอนโทเค็นเหล่านี้ออกไปได้ เมื่อนำ ERC-4337 มาใช้ ผู้ใช้สามารถใช้โทเค็น ERC-20 ในบัญชีเพื่อชำระค่าธรรมเนียม และโหนดนักขุดจะใช้สัญญาเป็นตัวกลางในการชำระค่าเชน ETH และรับโทเค็น ERC-20 ของผู้ใช้

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

แม้ว่าจะมีข้อดีมากมาย แต่โครงร่างใหม่ก็ประสบปัญหาเช่นกัน

จุดที่โดดเด่นที่สุดคือต้นทุนก๊าซที่สูงขึ้น การดำเนินการ ERC-4337 ขั้นพื้นฐานต้องใช้ก๊าซประมาณ 42,000 ในขณะที่การทำธุรกรรมปกติต้องใช้ก๊าซ 21,000 เหตุผลดังต่อไปนี้:

1. คุณต้องจ่ายค่าใช้จ่ายในการอ่าน/เขียนพื้นที่เก็บข้อมูลจำนวนมาก ในกรณีของ EOA ค่าใช้จ่ายเหล่านี้จะรวมอยู่ในการจ่ายก๊าซ 21,000 เพียงครั้งเดียว:
(1) แก้ไขช่องเก็บข้อมูลที่มี pubkey+nonce (~5000);
(2) ต้นทุนข้อมูลการโทรของการดำเนินการของผู้ใช้ (ประมาณ 4,500 ซึ่งสามารถลดเหลือประมาณ 2,500 ผ่านการบีบอัด)
(3)ECRECOVER (~3000);
(4) การเข้าถึงกระเป๋าเงินครั้งแรก (~2600)
(5) การเข้าถึงบัญชีผู้รับเงินเป็นครั้งแรก (~2600)
(6) โอน ETH ไปยังบัญชีผู้รับผลประโยชน์ (~9000)
(7) แก้ไขพื้นที่จัดเก็บเพื่อชำระค่าธรรมเนียม (~5,000)
(8) เข้าถึงช่องเก็บข้อมูลที่มีเอเจนต์ (~2100) จากนั้นเข้าถึงเอเจนต์เอง (~2600)

2. นอกเหนือจากค่าใช้จ่ายในการอ่าน/เขียนพื้นที่เก็บข้อมูลข้างต้นแล้ว สัญญายังต้องดำเนินการ "ตรรกะทางธุรกิจ" (แกะ UserOperation, แฮชมัน, ตัวแปรสุ่ม ฯลฯ)

3. ต้องใช้น้ำมันเพื่อชำระค่าธรรมเนียมบันทึก (EOA ไม่เผยแพร่บันทึก);

4. ต้นทุนการสร้างสัญญาแบบครั้งเดียว (ประมาณ 32,000 แก๊ส บวก 200 แก๊สสำหรับแต่ละรหัสไบต์ในพร็อกซี บวก 20,000 แก๊สสำหรับการตั้งค่าที่อยู่พร็อกซี)
กล่าวโดยย่อคือ ทุกขั้นตอนของที่อยู่นามธรรมของบัญชีจะต้องมีการคำนวณ ซึ่งใช้ทรัพยากรมากขึ้นและเพิ่มค่าใช้จ่ายเพิ่มเติม

โชคดีที่สิ่งนี้ไม่สามารถแก้ไขได้

เนื่องจาก Rollup สามารถบีบอัดข้อมูลได้ดี จึงมีความเข้ากันได้อย่างเป็นธรรมชาติกับโครงร่างนามธรรมของบัญชีที่มีข้อมูลซับซ้อน

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

image

บทส่งท้าย

บทส่งท้าย

ตอนนี้รูปแบบของการมุ่งเน้นไปที่การพัฒนาเลเยอร์ 2 ใน Ethereum ได้ถูกตั้งค่าแล้ว แผนการติดตามผลของ Vitalik สำหรับการอัปเกรด Ethereum ได้เริ่มเปลี่ยนเป็นนามธรรม การนำเสนอข้อเสนอล่าสุดการยกเลิก + การสรุปบัญชีเส้นทางทางเทคนิค ผู้ให้บริการ Rollup หลายรายได้เปิดตัวเวอร์ชันใหม่ที่เข้ากันได้กับสิ่งที่เป็นนามธรรมของบัญชี

ในเดือนมิถุนายนของปีนี้ zkSync ได้เผยแพร่ข้อมูลอัปเดต V2: เพิ่มฟังก์ชัน "account abstraction" และเพิ่มความเข้ากันได้กับ Ethereum EVM ในเดือนตุลาคม ERC-4337 เวอร์ชันใหม่เปิดตัว ซึ่งเพิ่มฟังก์ชันการรวมลายเซ็น รวมถึงอัลกอริทึมลายเซ็น BLS การรวมลายเซ็นช่วยให้ผู้สร้างและผู้ส่งแบทช์สามารถรวมลายเซ็น (เช่น BLS, SNARKs) ได้ด้วย ซึ่งช่วยลดข้อมูลในห่วงโซ่ได้อย่างมากและลดต้นทุนข้อมูลสำหรับการยกเลิก

image

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

ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
ตอนนี้รูปแบบของการมุ่งเน้นไปที่การพัฒนาเลเยอร์ 2 ใน Ethereum ได้ถูกตั้งค่าแล้ว แผนการติดตามผลข
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android