So sánh trừu tượng hóa tài khoản đa chuỗi: Sự khác biệt chính giữa ERC-4337 và AA gốc

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

Từ ngày 8 đến 11 tháng 7 năm 2024, Hội nghị cộng đồng Ethereum (EthCC) sẽ được tổ chức tại Brussels, Bỉ, đây là sự kiện thường niên lớn nhất về Ethereum ở châu Âu, tập trung vào công nghệ và cộng đồng.

Hội nghị cộng đồng Ethereum lần này (EthCC 7) có hơn 350 lãnh đạo tư tưởng hàng đầu trong ngành blockchain phát biểu, trong đó một nhà phát triển được mời tham gia và đã có bài phát biểu với chủ đề "Khám phá tương lai: Phân tích trừu tượng hóa tài khoản đa chuỗi".

Tóm tắt bài phát biểu:

  • 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 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 mà họ thích, trong khi trừu tượng hóa thanh toán cho phép sử dụng nhiều tùy chọn thanh toán khác nhau. Tính linh hoạt này mang lại trải nghiệm người dùng an toàn và tối ưu hơn.

  • Trong ERC-4337 và AA gốc, hàm điểm vào của 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. 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 có những đặc điểm và hạn chế riêng trong các thực hiện khác nhau.

  • 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 trong giao thức trong thiết kế Rollup và sự khác biệt trong cách tính toán địa chỉ, dẫn đến những chi tiết phát triển khó chú ý khi triển khai ERC-4337 giữa L1 và L2.

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

Xin chào mọi người, hôm nay tôi sẽ giới thiệu cho mọi người khái niệm ERC-4337 và Native AA, thảo luận về sự khác biệt giữa chúng, và phân tích nổi bật sự 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. Khái niệm trừu tượng hóa tài khoản là gì?

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 mang lại 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.

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

( 2. ERC-4337 là gì

Hiện tại, trong giao thức Ethereum, tài khoản sở hữu bên ngoài )EOA### gặp một số hạn chế, chẳng hạn như phương pháp ký 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, với 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 từ 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. Thế nào là AA gốc

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:

  • ERC-4337 trừu tượng hóa tài khoản: 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 với thiết kế bảo mật: Aztec

Nếu bạn quan tâm đến Aztec Native AA hoặc EIP-3074, EIP-7702, hôm nay chúng ta sẽ tập trung vào AA gốc sau ERC-4337.

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 trả lời các câu hỏi sau:

  • Ai quyết định giá Gas?
  • Ai quyết định thứ tự giao dịch? Bộ nhớ ở đâu?
  • Ai đã kích hoạt chức năng điểm vào?
  • Điều gì quyết định quy trình xử lý giao dịch?

Trong ERC-4337, các vai trò này được hoàn thành thông qua Bundler và EntryPoint Contract.

Trong AA gốc, người dùng sẽ 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 hợp làm việc với hợp đồng hệ thống bootloader###. Bootloader mở một 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 giao dịch từ Operator để thực hiện xác minh.

![Tương lai của hạ tầng mã hóa? Phân tích trừu tượng hóa tài khoản đa chuỗi])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(

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

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

  • ERC-4337: xác thực thao tác 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:execute、validate、validate_declare、validate_deploy

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 của các bước xác thực

Do vì việc xác thực giao dịch không có 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 tấn công DoS vào bộ nhớ, từ đó phá hoại bộ đóng gói ### EIP-4337( hoặc toán tử/sắp xếp ) AA gốc (.

EIP-4337 định nghĩa các bytecode nào bị cấm và cách hạn chế quyền truy cập vào bộ nhớ. 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 khe 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
    • Kho 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 bản đồ ) ví dụ, bản đồ ( địa chỉ => giá trị ) (, tương đương với việc truy cập kho 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. Giới hạn bước thực hiện

Trong zkSync, việc thực hiện gọi hệ thống cần xác nhận sự tồn tại của cờ hệ thống. Ví dụ, phương pháp 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ờ 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 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ế số ngẫu nhiên điểm vào phân biệt giá trị khóa 192 bit và giá trị ngẫu nhiên 64 bit.
  • Trong zkSync, hợp đồng thông minh NonceHolder quản lý nonce, đảm bảo tăng trưởng nghiêm ngặt, tức là tăng số ngẫu nhiên thêm 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 để được quản lý bởi hợp đồng cụ thể.

) 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 hợp đồng tài khoản của người gửi ### 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 người điều hành/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 có cùng địa chỉ. Tài khoản này có thể hoạt động giống như EOA Ethereum và cũng được kiểm soát bởi khóa riêng tương ứng của EOA Ethereum.

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 hàm của DefaultAccount vì nó không triển khai bất kỳ mã nào trong không gian kernel.

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

Có hai điểm khác biệt chính khi triển khai ERC-4337 trên chuỗi tương thích EVM: 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 giao thức

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 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. Xác định 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 các 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 địa chỉ hợp đồng tài khoản khác nhau giữa các triển khai ERC-4337 trên Ethereum và L2.

Vấn đề quan trọng là thêm mã thao tác 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à không chỉ định phiên bản EVM trong quá trình biên dịch, 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.

![Mã hóa cơ sở hạ tầng trong tương lai? Phân tích trừu tượng hóa tài khoản đa chuỗi]###https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp###

Kết luận

Trên đây là một số khái niệm cốt lõi và sự khác biệt trong việc thực hiện trừu tượng hóa tài khoản. Chúng ta có thể thấy, mặc dù các thực hiện trừu tượng hóa tài khoản trên các chuỗi khác nhau có mục tiêu chung, nhưng vẫn tồn tại nhiều khác biệt trong chi tiết cụ thể. Những khác biệt này phản ánh các cân nhắc độc đáo trong thiết kế và tối ưu hóa của từng chuỗi, cũng như mang đến nhiều không gian lựa chọn hơn cho các nhà phát triển và người dùng. Trong tương lai, với sự phát triển không ngừng của công nghệ, chúng ta mong chờ sẽ thấy nhiều thực hiện trừu tượng hóa tài khoản sáng tạo hơn, mang lại trải nghiệm người dùng tốt hơn và các chức năng mạnh mẽ hơn cho hệ sinh thái blockchain.

![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]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(

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
  • 5
  • Chia sẻ
Bình luận
0/400
MaticHoleFillervip
· 07-22 02:32
Cá vịt vẫn chưa lên chuỗi đâu.
Xem bản gốcTrả lời0
TokenUnlockervip
· 07-22 02:32
Nguyên sinh AA vô địch thiên hạ
Xem bản gốcTrả lời0
Anon4461vip
· 07-22 02:29
Cơ sở hạ tầng mới là xu hướng lớn thực sự
Xem bản gốcTrả lời0
RooftopReservervip
· 07-22 02:25
AA công nghệ công cụ chơi đùa với mọi người mới?
Xem bản gốcTrả lời0
WagmiWarriorvip
· 07-22 02:13
Đừng làm những thứ hoa mỹ, chỉ cần làm tốt cơ sở hạ tầng là được.
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)