Phân tích công nghệ trừu tượng hóa tài khoản đa chuỗi: So sánh ERC-4337 với AA gốc

Khám Phá Tương Lai: Phân Tích Trừu Tượng Hóa Tài Khoản Đa Chuỗi

Từ ngày 8 đến 11 tháng 7, hội nghị cộng đồng Ethereum đã diễn ra tại Brussels, đây là sự kiện hàng năm lớn nhất về Ethereum ở châu Âu, tập trung vào công nghệ và cộng đồng.

Hội nghị lần này có hơn 350 lãnh đạo tư tưởng hàng đầu trong ngành blockchain phát biểu, trong đó có một bài phát biểu mang tên "Khám phá tương lai: Phân tích trừu tượng hóa tài khoản đa chuỗi".

Điểm chính của bài phát biểu:

  • Trừu tượng hóa tài khoản ( AA ) có hai điểm chính: trừu tượng hóa chữ ký và trừu tượng hóa thanh toán. Trừu tượng hóa chữ ký cho phép người dùng chọn bất kỳ cơ chế xác thực nào, trong khi trừu tượng hóa thanh toán hỗ trợ nhiều tùy chọn thanh toán giao dịch khác nhau. Sự linh hoạt này nâng cao tính bảo mật và trải nghiệm người dùng.

  • Hàm điểm vào trong giai đoạn "xác thực" của ERC-4337 và AA gốc là cố định, trong khi đó, chỉ có điểm vào của AA gốc là cố định trong giai đoạn "thực thi". Các hạn chế trong việc xác thực giao dịch và các bước thực thi giao dịch trong các triển khai khác nhau có những đặc điểm riêng.

  • Khi triển khai ERC-4337 trên chuỗi tương thích EVM, sự khác biệt trong thiết kế giao thức của Rollup và cách tính toán địa chỉ là hai điểm khác biệt quan trọng, điều này dẫn đến một số chi tiết phát triển tinh tế khi thực hiện ERC-4337 giữa L1 và L2.

Dưới đây là toàn bộ bài phát biểu:

Xin chào mọi người, hôm nay tôi sẽ giới thiệu về khái niệm ERC-4337 và AA gốc, thảo luận về sự khác biệt giữa chúng, và phân tích những khác biệt chính của tiêu chuẩn 4337 giữa L1 và L2.

Trừu tượng hóa tài khoản giới thiệu

1. Định nghĩa trừu tượng hóa tài khoản

trừu tượng hóa tài khoản(AA) chủ yếu bao gồm hai điểm chính: trừu tượng chữ ký và trừu tượng thanh toán.

  • Trừu tượng hóa chữ ký: Người dùng có thể chọn bất kỳ cơ chế xác thực nào mà họ thích, không chỉ giới hạn ở một số thuật toán chữ ký số (như ECDSA).
  • Trừu tượng hóa thanh toán: Người dùng có thể sử dụng nhiều tùy chọn thanh toán giao dịch, chẳng hạn như sử dụng tài sản ERC-20 thay thế cho tài sản gốc để thanh toán, hoặc để bên thứ ba tài trợ giao dịch.

Sự linh hoạt này cung cấp trải nghiệm người dùng an toàn và tối ưu hơn. Mục tiêu của trừu tượng hóa tài khoản là đạt được hai điểm chính này thông qua nhiều cách khác nhau.

Tương lai của cơ sở hạ tầng mã hóa? Phân tích trừu tượng hóa tài khoản đa chuỗi

2. Giới thiệu về ERC-4337

Hiện tại, tài khoản được sở hữu bên ngoài (EOA) trong giao thức Ethereum gặp phải một số hạn chế, chẳng hạn như phương pháp ký kết cố định và thiết kế thanh toán. ERC-4337 giải quyết những vấn đề này bằng cách giới thiệu quản lý tài khoản và phương pháp xử lý giao dịch linh hoạt hơn.

  • cấu trúc userOp: Trong ERC-4337, người dùng gửi cấu trúc userOp đến Bundler. Bundler thu thập nhiều userOp và gửi chúng đến hợp đồng EntryPoint bằng cách gọi hàm handleOps.
  • Hợp đồng EntryPoint: Hợp đồng này xử lý giao dịch giống như hệ điều hành, các chức năng chính bao gồm:
    • Gọi hàm validate trong hợp đồng tài khoản, đảm bảo userOp nhận được sự ủy quyền của chủ sở hữu tài khoản.
    • Thu phí.
    • Gọi hàm execute trong hợp đồng tài khoản, thực hiện thao tác mục tiêu của userOp.

3. Giới thiệu về AA nguyên bản

Trong Ethereum, tài khoản được chia thành EOA và tài khoản hợp đồng. Tuy nhiên, trong AA gốc, mỗi tài khoản đều là một hợp đồng, và cơ chế xử lý giao dịch được nhúng trực tiếp vào giao thức blockchain.

Thiết kế AA trong các mạng blockchain khác nhau:

  • Trừu tượng hóa tài khoản ERC-4337: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • Trừu tượng hóa tài khoản gốc tuân theo ERC-4337: Thời đại StarkNet & zkSync
  • Tài khoản trừu tượng hóa gốc có thiết kế riêng tư: Aztec

Tương lai của cơ sở hạ tầng mã hóa? Phân tích trừu tượng hóa tài khoản đa chuỗi

Sự khác biệt giữa ERC-4337 và AA gốc

1. Vai trò của hệ điều hành

AA OS cần giải quyết các vấn đề sau:

  • Người quyết định giá Gas
  • Người quyết định thứ tự giao dịch và vị trí của bộ nhớ
  • Người kích hoạt hàm điểm vào
  • Các yếu tố quyết định trong quy trình xử lý giao dịch

Trong ERC-4337, các vai trò này hợp tác thông qua Bundler và EntryPoint Contract.

Trong AA gốc, người dùng gửi userOps của họ đến nhà điều hành/xếp hạng của máy chủ chính thức, thay vì Bundler và EntryPoint Contract.

Trong StarkNet, Sequencer chịu trách nhiệm xử lý tất cả những nhiệm vụ này.

Trong zkSync, sự khác biệt chính giữa Era và các AA khác là Operator cần phải làm việc cùng với bootloader (hợp đồng hệ thống). Bootloader mở các khối mới, định nghĩa các tham số của nó (bao gồm tham số khối và các tham số Gas khác), và nhận các giao dịch từ Operator để thực hiện xác thực.

2. Giao diện hợp đồng

Do sự tồn tại của ba bước, giao diện hợp đồng tài khoản có sự tương đồng trong các triển khai khác nhau, các hàm điểm vào này chỉ có thể được gọi bởi AA OS:

  • ERC-4337: Xác thực thao tác của người dùng
  • zkSync:xác thực giao dịch, thanh toán giao dịch, thực hiện giao dịch
  • StarkNet:thực thi、xác thực、xác thực khai báo、xác thực triển khai

Trong ERC-4337 và AA gốc, hàm điểm vào ở giai đoạn "xác thực" là cố định, trong khi ở giai đoạn "thực thi", chỉ có điểm vào trong AA gốc là cố định.

3. Giới hạn bước xác thực

Do vì việc xác thực giao dịch không bị giới hạn chi phí (về bản chất, xác thực giao dịch là gọi hàm xem), kẻ tấn công có thể thực hiện cuộc tấn công DoS vào pool bộ nhớ, từ đó phá hủy bộ gộp (EIP-4337) hoặc nhà điều hành/sắp xếp (AA gốc).

EIP-4337 định nghĩa các mã thao tác bị cấm và cách hạn chế truy cập lưu trữ. zkSync Era đã nới lỏng việc sử dụng một số OpCode:

  • Logic hợp đồng chỉ có thể truy cập vào kho lưu trữ của chính nó. Nếu địa chỉ của hợp đồng tài khoản là địa chỉ A, nó có thể truy cập:

    • Khe lưu trữ thuộc về địa chỉ A
    • Khe lưu trữ thuộc về bất kỳ địa chỉ A nào khác
    • Slot lưu trữ keccak256 thuộc về bất kỳ địa chỉ nào khác (A || X): điều này có nghĩa là sử dụng trực tiếp địa chỉ làm khóa trong ánh xạ (ví dụ, mapping (address => value)), tương đương với việc truy cập slot keccak256 (A || X). Ví dụ, số dư tài sản trong hợp đồng ERC-20.
  • Logic hợp đồng không thể truy cập biến toàn cục, chẳng hạn như số khối. StarkNet cũng không cho phép hợp đồng bên ngoài gọi.

4. Hạn chế các bước thực hiện

Trong zkSync, việc thực hiện các cuộc gọi hệ thống cần xác nhận sự tồn tại của các cờ hệ thống. Ví dụ, cách duy nhất để tăng nonce là tương tác với NonceHolder, trong khi việc triển khai hợp đồng cần tương tác với ContractDeployer. Các cờ hệ thống đảm bảo rằng các nhà phát triển tài khoản có ý thức tương tác với các hợp đồng hệ thống.

Trong ERC-4337 và StarkNet, giai đoạn thực thi không có giới hạn đặc biệt.

5. Số ngẫu nhiên

  • Trong ERC-4337, thiết kế của số ngẫu nhiên điểm vào phân biệt giữa giá trị khóa 192 bit và giá trị ngẫu nhiên 64 bit.
  • Trong zkSync, hợp đồng hệ thống NonceHolder quản lý nonce, đảm bảo tăng dần nghiêm ngặt, tức là tăng số ngẫu nhiên lên 1.
  • Trong StarkNet, nonce cũng tăng dần một cách nghiêm ngặt, nhưng không có nonce trừu tượng nào do hợp đồng cụ thể quản lý.

6. Sử dụng giao dịch đầu tiên để triển khai

  • ERC-4337 trong cấu trúc userOp bao gồm trường initcode để triển khai người gửi (hợp đồng tài khoản) trong userOp đầu tiên của nó.
  • Trong StarkNet và zkSync, người dùng phải gửi giao dịch đầu tiên cho nhà khai thác/ bộ sắp xếp để triển khai hợp đồng tài khoản.

7. Thiết kế đặc biệt trong zkSync

Nếu bạn chuyển ETH từ EOA Ethereum sang zkSync mà không cần triển khai hợp đồng tài khoản tùy chỉnh, bạn sẽ nhận được một tài khoản mặc định với địa chỉ giống hệt. Tài khoản này có thể hoạt động giống như EOA Ethereum và cũng được điều khiển bởi khóa riêng của EOA Ethereum tương ứng.

Loại tài khoản này là phiên bản None chứ không phải version1. Bạn không thể gọi chức năng của DefaultAccount, vì nó không triển khai bất kỳ mã nào trong không gian hạt nhân.

Tương lai của cơ sở hạ tầng mã hóa? Phân tích trừu tượng hóa tài khoản đa chuỗi

Sự khác biệt giữa 4337 của L1 và 4337 của L2

Việc triển khai ERC-4337 trên chuỗi tương thích EVM có hai điểm khác biệt chính: sự khác biệt về giao thức và sự khác biệt về địa chỉ.

1. Sự khác biệt trong thỏa thuận

Trong thiết kế Rollup, L2 cần tải dữ liệu lên L1 để đảm bảo an toàn và thanh toán. Trong bối cảnh của ERC-4337, các khoản phí liên quan đến quá trình tải lên này, chẳng hạn như phí an toàn L1 và phí blob, nên được bao gồm trong Gas xác thực trước. Việc xác định khoản phí tải lên thích hợp trong Gas xác thực trước là một thách thức lớn.

2. Sự khác biệt địa chỉ

Cách mã hóa địa chỉ trong hàm create của zkSync ERA khác với Ethereum và OP tổng hợp. Ngoài ra, StarkNet sử dụng hàm băm độc đáo để tính toán địa chỉ. Trong bối cảnh ERC-4337 trên chuỗi tương thích EVM, chúng ta thường giả định rằng việc tính toán địa chỉ là nhất quán trên các chuỗi. Tuy nhiên, có một chi tiết khó nhận thấy có thể dẫn đến sự khác biệt trong địa chỉ hợp đồng tài khoản giữa các triển khai ERC-4337 trên Ethereum và L2.

Vấn đề chính là thêm mã vận hành mới trong phân nhánh cứng. Ví dụ, nếu chuỗi L2 không hỗ trợ phân nhánh cứng Thượng Hải và phiên bản EVM không được chỉ định trong quá trình biên dịch, thì việc giới thiệu push0 sẽ dẫn đến sự thay đổi trong mã byte, ngay cả khi mã Solidity là giống nhau.

Kết luận

Trên đây là một số thông tin về trừu tượng hóa tài khoản. Nếu bạn có bất kỳ câu hỏi nào, hãy liên hệ với tôi trên Twitter.

Tương lai của cơ sở hạ tầng mã hóa? Phân tích trừu tượng hóa tài khoản đa chuỗi

Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
EthMaximalistvip
· 07-24 00:42
Đại hội không giải thích rõ ràng gì cả.
Xem bản gốcTrả lời0
RugDocScientistvip
· 07-23 14:29
Một đợt khóa học marketing nữa.
Xem bản gốcTrả lời0
AirdropSweaterFanvip
· 07-22 12:12
Chơi đa chuỗi AA thật tuyệt vời
Xem bản gốcTrả lời0
RiddleMastervip
· 07-22 12:11
Chữ ký trừu tượng thật tuyệt vời!
Xem bản gốcTrả lời0
liquidation_surfervip
· 07-22 12:00
又Phiếu giảm giá去了?
Xem bản gốcTrả lời0
RugPullProphetvip
· 07-22 11:51
Dự án năm sau còn hay không thì không thể nói trước.
Xem bản gốcTrả lời0
SnapshotDayLaborervip
· 07-22 11:46
Khi nào mới có thể chuyển khoản bằng một nút bấm?
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)