Trừu tượng hóa tài khoản đa chuỗi: Hướng đi mới cho cơ sở hạ tầng mã hóa
Từ ngày 8 đến 11 tháng 7 năm 2024, sự kiện thường niên lớn nhất châu Âu về Ethereum - Hội nghị cộng đồng Ethereum (EthCC) sẽ được tổ chức tại Brussels, Bỉ. Hội nghị năm nay (EthCC 7) đã quy tụ hơn 350 nhân vật đầu ngành trong lĩnh vực blockchain. Một nhà phát triển blockchain đã có bài phát biểu với tiêu đề "Khám phá tương lai: Giải mã trừu tượng hóa tài khoản đa chuỗi".
Các điểm chính trong bài phát biểu bao gồm:
Trừu tượng hóa tài khoản ( AA ) gồm hai phần cốt lõi: trừu tượng hóa chữ ký và trừu tượng hóa thanh toán. Phần trước cho phép người dùng lựa chọn cơ chế xác thực tùy ý, trong khi phần sau cho phép nhiều tùy chọn thanh toán giao dịch khác nhau, từ đó cung cấp trải nghiệm người dùng an toàn và tiện lợi hơn.
Thiết kế hàm điểm nhập cho giai đoạn xác minh và thực hiện của ERC-4337 và AA gốc là khác nhau. Mỗi phương án triển khai cũng có những đặc điểm riêng trong việc xác minh hạn chế giao dịch và các bước thực hiện.
Khi triển khai ERC-4337 trên chuỗi tương thích EVM, cần lưu ý đến sự khác biệt trong thiết kế Rollup dẫn đến sự khác biệt về giao thức, cũng như sự khác biệt trong cách tính toán địa chỉ, những chi tiết này có thể ảnh hưởng đến việc triển khai giữa L1 và L2.
Trừu tượng hóa tài khoản tổng quan
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ý: Người dùng có thể chọn bất kỳ cơ chế xác thực nào, không giới hạn ở thuật toán chữ ký số cụ thể.
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ư thanh toán bằng token ERC-20, hoặc do bên thứ ba tài trợ giao dịch.
Sự linh hoạt này có thể cung cấp trải nghiệm người dùng an toàn và tối ưu hơn. AA được thiết kế để đạt được hai mục tiêu cốt lõi này qua nhiều cách khác nhau.
Giới thiệu về ERC-4337
Hiện tại, trong giao thức Ethereum, tài khoản sở hữu bên ngoài (EOA) có một số hạn chế, 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ác đặc điểm chính:
cấu trúc userOp: Người dùng gửi cấu trúc userOp cho Bundler, sau đó Bundler thu thập nhiều userOp và gọi hàm handleOps của hợp đồng EntryPoint.
Hợp đồng EntryPoint: tương tự như hệ điều hành xử lý giao dịch, chức năng chính bao gồm:
Gọi hàm validate của hợp đồng tài khoản, đảm bảo userOp được ủy quyền
Thu phí
Gọi hàm execute của hợp đồng tài khoản, thực hiện thao tác mục tiêu của userOp
Giới thiệu về AA nguyên sinh
Trong AA gốc, mỗi tài khoản là một hợp đồng, cơ chế xử lý giao dịch được nhúng trực tiếp vào giao thức blockchain.
Tuân theo trừu tượng hóa tài khoản gốc ERC-4337: StarkNet và zkSync Era
Tài khoản trừu tượng hóa gốc với thiết kế riêng tư: Aztec
Sự khác biệt giữa ERC-4337 và AA gốc
Vai trò hệ điều hành
Hệ thống AA cần giải quyết: Định giá Gas, Sắp xếp giao dịch, Kích hoạt hàm điểm vào, Quy trình xử lý giao dịch và các vấn đề khác.
ERC-4337 hoàn thành những nhiệm vụ này thông qua Bundler và EntryPoint Contract. Trong AA gốc, người dùng sẽ gửi userOps đến nhà điều hành/xếp hạng của máy chủ chính thức.
Giao diện hợp đồng
Các giao diện hợp đồng tài khoản của các triển khai khác nhau tương tự nhau, đều bao gồm ba bước: xác thực, thanh toán và thực thi. 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 chỉ có điểm vào của AA gốc là cố định trong giai đoạn "thực thi".
Giới hạn bước xác thực
Để ngăn chặn các cuộc tấn công DoS, các triển khai đã thiết lập các hạn chế khác nhau đối với việc xác thực giao dịch. Ví dụ, EIP-4337 định nghĩa việc vô hiệu hóa mã vận hành và hạn chế truy cập bộ nhớ, trong khi zkSync Era đã nới lỏng việc sử dụng một số OpCode.
Giới hạn bước thực hiện
zkSync yêu cầu xác nhận hệ thống đánh dấu để thực hiện gọi hệ thống. Giai đoạn thực hiện của ERC-4337 và StarkNet không có hạn chế đặc biệt.
Số ngẫu nhiên
ERC-4337 phân biệt giá trị khóa 192 bit và giá trị số ngẫu nhiên 64 bit. zkSync và StarkNet sử dụng nonce tăng dần nghiêm ngặt.
Triển khai giao dịch đầu tiên
ERC-4337 bao gồm trường initcode trong cấu trúc userOp, được sử dụng để triển khai hợp đồng tài khoản userOp lần đầu tiên. StarkNet và zkSync yêu cầu giao dịch đầu tiên của người dùng được gửi đến nhà điều hành/ bộ sắp xếp để triển khai hợp đồng tài khoản.
Sự khác biệt giữa ERC-4337 của L1 và L2
Có hai điểm khác biệt quan trọng khi triển khai ERC-4337 trên chuỗi tương thích EVM:
Sự khác biệt trong giao thức
Trong thiết kế Rollup, L2 cần phải tải dữ liệu lên L1 để đảm bảo an toàn và thanh toán. Các khoản phí liên quan ( như phí an toàn L1, phí blob ) nên được bao gồm trong Gas xác thực trước, nhưng việc xác định khoản phí tải lên phù hợp là một thách thức lớn.
Sự khác biệt địa chỉ
Cách tính toán địa chỉ của các chuỗi khác nhau có sự khác biệt. Ví dụ, phương thức mã hóa địa chỉ trong hàm create của zkSync ERA khác với Ethereum và OP tổng hợp, trong khi StarkNet sử dụng hàm băm độc đáo để tính toán địa chỉ.
Cần lưu ý rằng các mã lệnh mới được thêm vào trong hard fork có thể gây ra sự thay đổi bytecode, từ đó ảnh hưởng đến tính nhất quán của địa chỉ hợp đồng tài khoản. 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 khi biên dịch, việc đưa vào push0 sẽ thay đổi bytecode, ngay cả khi mã Solidity là giống nhau.
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.
16 thích
Phần thưởng
16
7
Chia sẻ
Bình luận
0/400
MEVHunterX
· 16giờ trước
Một người khai thác trong hệ sinh thái V3! Nghiên cứu toàn thời gian về Kinh doanh chênh lệch giá MEV và cấu trúc tài khoản AA. Tình cờ phát hiện ra có nhiều hình thức trong này lắm nha.
Xin hãy giúp tôi tạo một bình luận về nội dung này theo phong cách tiếng Trung.
Xem bản gốcTrả lời0
SandwichHunter
· 16giờ trước
Cần giảm độ phức tạp
Xem bản gốcTrả lời0
ApeDegen
· 16giờ trước
Công nghệ cốt lõi AA đáng để mua một nền tảng.
Xem bản gốcTrả lời0
GamefiEscapeArtist
· 16giờ trước
Lại một đống thứ quản lý chìa khoá bảo mật... chán quá
Trừu tượng hóa tài khoản đa chuỗi: Phân tích so sánh giữa ERC-4337 và công nghệ AA gốc
Trừu tượng hóa tài khoản đa chuỗi: Hướng đi mới cho cơ sở hạ tầng mã hóa
Từ ngày 8 đến 11 tháng 7 năm 2024, sự kiện thường niên lớn nhất châu Âu về Ethereum - Hội nghị cộng đồng Ethereum (EthCC) sẽ được tổ chức tại Brussels, Bỉ. Hội nghị năm nay (EthCC 7) đã quy tụ hơn 350 nhân vật đầu ngành trong lĩnh vực blockchain. Một nhà phát triển blockchain đã có bài phát biểu với tiêu đề "Khám phá tương lai: Giải mã trừu tượng hóa tài khoản đa chuỗi".
Các điểm chính trong bài phát biểu bao gồm:
Trừu tượng hóa tài khoản ( AA ) gồm hai phần cốt lõi: trừu tượng hóa chữ ký và trừu tượng hóa thanh toán. Phần trước cho phép người dùng lựa chọn cơ chế xác thực tùy ý, trong khi phần sau cho phép nhiều tùy chọn thanh toán giao dịch khác nhau, từ đó cung cấp trải nghiệm người dùng an toàn và tiện lợi hơn.
Thiết kế hàm điểm nhập cho giai đoạn xác minh và thực hiện của ERC-4337 và AA gốc là khác nhau. Mỗi phương án triển khai cũng có những đặc điểm riêng trong việc xác minh hạn chế giao dịch và các bước thực hiện.
Khi triển khai ERC-4337 trên chuỗi tương thích EVM, cần lưu ý đến sự khác biệt trong thiết kế Rollup dẫn đến sự khác biệt về giao thức, cũng như sự khác biệt trong cách tính toán địa chỉ, những chi tiết này có thể ảnh hưởng đến việc triển khai giữa L1 và L2.
Trừu tượng hóa tài khoản tổng quan
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ý: Người dùng có thể chọn bất kỳ cơ chế xác thực nào, không giới hạn ở thuật toán chữ ký số cụ thể.
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ư thanh toán bằng token ERC-20, hoặc do bên thứ ba tài trợ giao dịch.
Sự linh hoạt này có thể cung cấp trải nghiệm người dùng an toàn và tối ưu hơn. AA được thiết kế để đạt được hai mục tiêu cốt lõi này qua nhiều cách khác nhau.
Giới thiệu về ERC-4337
Hiện tại, trong giao thức Ethereum, tài khoản sở hữu bên ngoài (EOA) có một số hạn chế, 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ác đặc điểm chính:
cấu trúc userOp: Người dùng gửi cấu trúc userOp cho Bundler, sau đó Bundler thu thập nhiều userOp và gọi hàm handleOps của hợp đồng EntryPoint.
Hợp đồng EntryPoint: tương tự như hệ điều hành xử lý giao dịch, chức năng chính bao gồm:
Giới thiệu về AA nguyên sinh
Trong AA gốc, mỗi tài khoản là một hợp đồng, cơ chế xử lý giao dịch được nhúng trực tiếp vào giao thức blockchain.
Thiết kế AA của các mạng blockchain khác nhau:
Sự khác biệt giữa ERC-4337 và AA gốc
Hệ thống AA cần giải quyết: Định giá Gas, Sắp xếp giao dịch, Kích hoạt hàm điểm vào, Quy trình xử lý giao dịch và các vấn đề khác.
ERC-4337 hoàn thành những nhiệm vụ này thông qua Bundler và EntryPoint Contract. Trong AA gốc, người dùng sẽ gửi userOps đến nhà điều hành/xếp hạng của máy chủ chính thức.
Các giao diện hợp đồng tài khoản của các triển khai khác nhau tương tự nhau, đều bao gồm ba bước: xác thực, thanh toán và thực thi. 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 chỉ có điểm vào của AA gốc là cố định trong giai đoạn "thực thi".
Để ngăn chặn các cuộc tấn công DoS, các triển khai đã thiết lập các hạn chế khác nhau đối với việc xác thực giao dịch. Ví dụ, EIP-4337 định nghĩa việc vô hiệu hóa mã vận hành và hạn chế truy cập bộ nhớ, trong khi zkSync Era đã nới lỏng việc sử dụng một số OpCode.
zkSync yêu cầu xác nhận hệ thống đánh dấu để thực hiện gọi hệ thống. Giai đoạn thực hiện của ERC-4337 và StarkNet không có hạn chế đặc biệt.
ERC-4337 phân biệt giá trị khóa 192 bit và giá trị số ngẫu nhiên 64 bit. zkSync và StarkNet sử dụng nonce tăng dần nghiêm ngặt.
ERC-4337 bao gồm trường initcode trong cấu trúc userOp, được sử dụng để triển khai hợp đồng tài khoản userOp lần đầu tiên. StarkNet và zkSync yêu cầu giao dịch đầu tiên của người dùng được gửi đến nhà điều hành/ bộ sắp xếp để triển khai hợp đồng tài khoản.
Sự khác biệt giữa ERC-4337 của L1 và L2
Có hai điểm khác biệt quan trọng khi triển khai ERC-4337 trên chuỗi tương thích EVM:
Trong thiết kế Rollup, L2 cần phải tải dữ liệu lên L1 để đảm bảo an toàn và thanh toán. Các khoản phí liên quan ( như phí an toàn L1, phí blob ) nên được bao gồm trong Gas xác thực trước, nhưng việc xác định khoản phí tải lên phù hợp là một thách thức lớn.
Cách tính toán địa chỉ của các chuỗi khác nhau có sự khác biệt. Ví dụ, phương thức mã hóa địa chỉ trong hàm create của zkSync ERA khác với Ethereum và OP tổng hợp, trong khi StarkNet sử dụng hàm băm độc đáo để tính toán địa chỉ.
Cần lưu ý rằng các mã lệnh mới được thêm vào trong hard fork có thể gây ra sự thay đổi bytecode, từ đó ảnh hưởng đến tính nhất quán của địa chỉ hợp đồng tài khoản. 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 khi biên dịch, việc đưa vào push0 sẽ thay đổi bytecode, ngay cả khi mã Solidity là giống nhau.
Xin hãy giúp tôi tạo một bình luận về nội dung này theo phong cách tiếng Trung.