Phân tích trừu tượng hóa tài khoản đa chuỗi: Khám phá tương lai của cơ sở 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 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ị cộng đồng Ethereum lần này (EthCC 7) có hơn 350 nhà lãnh đạo ý kiến hoạt động tích cực trong ngành công nghiệp blockchain phát biểu, trong đó một nhà phát triển blockchain được mời tham gia và 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ổng quan 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 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 giao dịch khác nhau. Sự linh hoạt này cung cấp trải nghiệm người dùng an toàn và tốt hơn.
Trong ERC-4337 và AA gốc, hàm điểm vào ở giai đoạn "xác minh" 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ế của giao dịch xác minh và các bước thực hiện giao dịch có những đặc điểm và hạn chế riêng trong các triển khai 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 các chi tiết phát triển khó nhận thấy 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 về 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 trọng tâm 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. Tài khoản trừu tượng hóa 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 hóa chữ ký và trừu tượng hóa 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 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 vì 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 quan trọng này thông qua nhiều cách.
2. ERC-4337 là gì
Hiện tại, trong giao thức Ethereum, tài khoản bên ngoài sở hữu )EOA( tồn tại 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, 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. Nguyên bản AA là gì
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.
Trừu tượng hóa tài khoản nguyên sinh tuân theo ERC-4337: Thời đại StarkNet & zkSync
Thiết kế riêng tư của trừu tượng hóa tài khoản gốc: 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.
![Mạng lưới cơ sở 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])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 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 hàm đ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 hoàn thành phối hợp 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 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 các tham số khối và các tham số Gas khác), và nhận giao dịch từ Operator để 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 trong các triển khai khác nhau là tương tự 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 minh giao dịch, thanh toán giao dịch, thực hiện giao dịch
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.
3. Giới hạn của các bước xác minh
Do bởi vì việc xác thực giao dịch không có giới hạn chi phí ( về bản chất, việc 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ể bộ nhớ, từ đó phá hủy bộ gộp ( EIP-4337) hoặc toán tử/sắp xếp ( AA gốc ).
EIP-4337 định nghĩa việc cấm các mã thao tác nào và cách hạn chế 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 kho lưu trữ của chính nó. Nếu địa chỉ hợp đồng tài khoản là địa chỉ A, nó có thể truy cập:
Khe lưu trữ thuộc địa chỉ A
Khu vực lưu trữ thuộc về bất kỳ địa chỉ A nào khác
Kho lưu trữ keccak256(A || X) thuộc về bất kỳ địa chỉ nào khác: đ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 đồ )address => value((, tương đương với việc truy cập vào 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. 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ờ 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ờ 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ó hạn chế đặc biệt.
5. Số ngẫu nhiên
Trong ERC-4337, thiết kế số ngẫu nhiên của đ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 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 đượ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 đến các toán tử/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 trực tiếp 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 như EOA Ethereum và cũng được kiểm soát 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 hàm của DefaultAccount vì nó không triển khai bất kỳ mã nào trong không gian lõi.
( 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 trong việc 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 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 ERC-4337, các chi 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 các chi 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 về địa chỉ
Cách mã hóa địa chỉ trong hàm create của zkSync ERA khác với Ethereum và OP Rollup. 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 với 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 việc địa chỉ hợp đồng tài khoản giữa các triển khai ERC-4337 trên Ethereum và L2 là khác nhau.
Vấn đề chính là việc thêm mã lệnh mới trong hard fork. Ví dụ, nếu chuỗi L2 không hỗ trợ hard fork 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.
) 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, bạn có thể tìm thấy 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]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
12 thích
Phần thưởng
12
7
Chia sẻ
Bình luận
0/400
BearMarketBard
· 07-10 04:37
Cảm giác trừu tượng hóa tài khoản vẫn chưa hiểu rõ.
Xem bản gốcTrả lời0
GateUser-a606bf0c
· 07-10 04:30
Tiếp tục sống AA
Xem bản gốcTrả lời0
MetaReckt
· 07-07 05:09
Phát triển nhanh như vậy, AA gốc đã đến rồi.
Xem bản gốcTrả lời0
GateUser-0717ab66
· 07-07 05:07
Trừu tượng cái này sớm nên làm rồi.
Xem bản gốcTrả lời0
LiquidatedNotStirred
· 07-07 05:04
AA ngày càng phổ biến rồi ha, mong chờ sự thay đổi.
Xem bản gốcTrả lời0
AirdropLicker
· 07-07 05:00
AA đang hot khi nào phát hành coin
Xem bản gốcTrả lời0
HallucinationGrower
· 07-07 04:41
Người trung bình ký tên chuyên gia trừu tượng đừng cuốn vào
So sánh 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 cũng như sự khác biệt trong việc triển khai L1/L2
Phân tích trừu tượng hóa tài khoản đa chuỗi: Khám phá tương lai của cơ sở 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 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ị cộng đồng Ethereum lần này (EthCC 7) có hơn 350 nhà lãnh đạo ý kiến hoạt động tích cực trong ngành công nghiệp blockchain phát biểu, trong đó một nhà phát triển blockchain được mời tham gia và 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ổng quan bài phát biểu:
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 về 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 trọng tâm 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. Tài khoản trừu tượng hóa 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 hóa chữ ký và trừu tượng hóa thanh toán.
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 quan trọng này thông qua nhiều cách.
2. ERC-4337 là gì
Hiện tại, trong giao thức Ethereum, tài khoản bên ngoài sở hữu )EOA( tồn tại 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.
3. Nguyên bản AA là gì
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:
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.
![Mạng lưới cơ sở 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])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 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:
Trong ERC-4337, các vai trò này hoàn thành phối hợp 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 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 các tham số khối và các tham số Gas khác), và nhận giao dịch từ Operator để 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 trong các triển khai khác nhau là tương tự nhau, các hàm điểm vào này chỉ có thể được gọi bởi AA OS:
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.
3. Giới hạn của các bước xác minh
Do bởi vì việc xác thực giao dịch không có giới hạn chi phí ( về bản chất, việc 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ể bộ nhớ, từ đó phá hủy bộ gộp ( EIP-4337) hoặc toán tử/sắp xếp ( AA gốc ).
EIP-4337 định nghĩa việc cấm các mã thao tác nào và cách hạn chế truy cập vào bộ nhớ. zkSync Era đã nới lỏng việc sử dụng một số OpCode:
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ờ 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ờ 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ó hạn chế đặc biệt.
5. Số ngẫu nhiên
6. Sử dụng giao dịch đầu tiên để triển khai
7. Thiết kế đặc biệt trong zkSync
Nếu bạn chuyển trực tiếp 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 như EOA Ethereum và cũng được kiểm soát 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 hàm của DefaultAccount vì nó không triển khai bất kỳ mã nào trong không gian lõi.
( 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 trong việc 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 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 ERC-4337, các chi 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 các chi 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 về địa chỉ
Cách mã hóa địa chỉ trong hàm create của zkSync ERA khác với Ethereum và OP Rollup. 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 với 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 việc địa chỉ hợp đồng tài khoản giữa các triển khai ERC-4337 trên Ethereum và L2 là khác nhau.
Vấn đề chính là việc thêm mã lệnh mới trong hard fork. Ví dụ, nếu chuỗi L2 không hỗ trợ hard fork 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.
) 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, bạn có thể tìm thấy 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]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###