Tác giả: Three Sigma, công ty kiểm toán blockchain Nguồn: X, @thirdsigmaxyz Bản dịch: Shan Ouba, Golden Finance
Việc tích hợp ZK Rollup và trừu tượng hóa tài khoản mang đến một chiều hướng mới về khả năng mở rộng và tính linh hoạt cho các giải pháp Lớp 2. Hôm nay chúng ta sẽ tìm hiểu sâu về zkSync và cách họ triển khai tính năng trừu tượng hóa tài khoản trong giao thức.
ZkSync là gì
@zkSync được phát triển bởi @the_matter_labs cho Ethereum Có khả năng mở rộng, không cần tin cậy giao thức dành cho các giao dịch chi phí thấp tận dụng công nghệ zk-rollup để giảm bớt tắc nghẽn bằng cách phân nhóm các giao dịch được thực hiện ngoài chuỗi.
Kiến trúc của zkSync tích hợp zk-rollup và Validium, được định nghĩa tương ứng là zkEVM cho hợp đồng thông minh và zkPorter cho tính khả dụng của dữ liệu ngoài chuỗi.
Tìm hiểu thêm về kiến trúc giao thức tại đây:
Trừu tượng hóa tài khoản là gì
Trừu hóa tài khoản là công nghệ loại bỏ nhu cầu về EOA (tài khoản thuộc sở hữu bên ngoài) bằng cách sử dụng hợp đồng thông minh làm ví, từ đó mang lại trải nghiệm người dùng an toàn hơn và tốt hơn, tạo ra trải nghiệm blockchain tuyệt vời.
Trong quy trình làm việc AA ERC-4337 nổi tiếng, người dùng gửi các thao tác tới một nhóm bộ nhớ chuyên dụng.
Trình đóng gói sẽ biên dịch các hoạt động này thành một giao dịch duy nhất và gửi nó đến hợp đồng EntryPoint. Hợp đồng này sẽ thực hiện các hoạt động này sau khi xác thực từng tài khoản bằng cách sử dụng "validateUserOp".
p> p>
Cách zkSync sử dụng tính năng trừu tượng hóa tài khoản (AA)
zkSync Era là triển khai gốc đầu tiên của chuỗi tương thích với EVM trừu tượng hóa tài khoản, cách mạng hóa hoạt động tài khoản bằng cách giới thiệu hai thành phần chính: tài khoản thông minh và người thanh toán.
Tài khoản thông minh
Tài khoản thông minh được thể hiện bằng giao diện IAccount, có 5 phương thức:
validateTransaction(): Kiểm tra xem giao dịch có tuân thủ các quy tắc tài khoản hay không. Nếu không, nó sẽ được cuộn lại.
executeTransaction(): Chạy giao dịch sau khi trừ phí.
payForTransaction(): Nếu người trả tiền không được sử dụng, phí sẽ được thanh toán trực tiếp.
prepareForPaymaster(): Đặt người trả phí phải trả phí.
executeTransactionFromOutside(): Cho phép bắt đầu giao dịch từ bên ngoài.
Bạn có thể xem mã IACCOUNT bên dưới
< img src="https://img.jinse.cn/7204205_watermarknone.png" title="7204205" alt="jeUYpzUdy7dPpBkwP7qgAVWcxuWrItDzDmWrcYSM.png">
Người trả tiền h2>
Giống như EIP4337, tính năng trừu tượng hóa tài khoản của zkSync cũng hỗ trợ người thanh toán, là những tài khoản có thể bù đắp cho các tài khoản khác trong việc thực hiện giao dịch.
Mỗi người thanh toán phải triển khai giao diện IPaymaster, bao gồm hai phương thức sau:
validateAndPayForPaymasterTransaction(): Xác nhận xem người thanh toán có đồng ý thanh toán phí giao dịch và gửi tiền cho nhà điều hành hay không.
postTransaction(): Xử lý các hành động sau giao dịch, tùy thuộc vào kết quả của giao dịch và việc hoàn phí.
Xem mã bên dưới:
Tính trừu tượng hóa tài khoản của zkSync (AA ) rất giống với EIP4337, nhưng giao thức của zkSync có một số khác biệt để cải thiện hiệu quả và trải nghiệm người dùng.
Sự khác biệt chính giữa tính trừu tượng hóa tài khoản gốc của zkSync và EIP 4337 của Ethereum:
Triển khai: zkSync tích hợp AA vào giao thức, trong khi EIP4337 tránh những thay đổi ở cấp độ giao thức.
Loại tài khoản: zkSync đối xử bình đẳng với hợp đồng thông minh và người trả tiền; EIP4337 phân biệt chúng.
Xử lý giao dịch: zkSync sử dụng nhóm bộ nhớ thống nhất cho tất cả các tài khoản, khác với quy trình tách của EIP4337.
Người thanh toán: zkSync hỗ trợ người thanh toán cho tất cả các tài khoản, trong khi EIP4337 giới hạn ở hợp đồng thông minh.
Cách tạo tài khoản thông minh trên zkSync
Để tạo tài khoản thông minh trên zkSync, vui lòng sử dụng IAccount để triển khai các phương pháp cơ bản và sử dụng IPaymaster để triển khai thanh toán phí phụ thuộc vào người trả tiền.
Việc đảm bảo rằng tài khoản của bạn hỗ trợ EIP-1271 để xác minh chữ ký cũng rất hữu ích.
Sau khi hoàn thành các bước này, chỉ cần triển khai tài khoản của bạn bằng phương pháp createAccount của zkSync!
zkSync hiện tích hợp 2 ví hợp đồng thông minh:
✦ HoldstationW
✦ pier_wallet