EIP-7702: Cuộc cách mạng lớn về tài khoản ngoài Ethereum mang đến cơ hội và thách thức mới cho hệ sinh thái

robot
Đang tạo bản tóm tắt

EIP-7702: Cuộc cách mạng lớn của tài khoản bên ngoài Ethereum

Ethereum sắp chào đón nâng cấp Pectra, trong đó EIP-7702 đã tiến hành cải cách mang tính cách mạng đối với tài khoản ngoài Ethereum (EOA). Đề xuất này đã làm mờ ranh giới giữa EOA và tài khoản hợp đồng CA, là một bước quan trọng tiến tới trừu tượng hóa tài khoản bản địa, mang lại mô hình tương tác hoàn toàn mới cho hệ sinh thái Ethereum.

Pectra đã hoàn tất việc triển khai trên mạng thử nghiệm, dự kiến ​​sẽ sớm ra mắt trên mạng chính. Bài viết này sẽ phân tích sâu về cơ chế thực hiện EIP-7702, khám phá những cơ hội và thách thức có thể mang lại, đồng thời cung cấp hướng dẫn thực tế cho các bên tham gia khác nhau.

Phân tích giao thức

Tổng quan

EIP-7702 đã giới thiệu một loại giao dịch mới, cho phép EOA chỉ định địa chỉ hợp đồng thông minh và thiết lập mã cho nó. Điều này cho phép EOA thực hiện mã giống như hợp đồng thông minh, đồng thời giữ lại khả năng khởi xướng giao dịch. Tính năng này mang lại khả năng lập trình và kết hợp cho EOA, người dùng có thể thực hiện các chức năng như phục hồi xã hội, kiểm soát quyền hạn, quản lý đa chữ ký, xác thực zk, thanh toán theo hình thức đăng ký, tài trợ giao dịch và xử lý giao dịch hàng loạt trong EOA. EIP-7702 hoàn toàn tương thích với ví hợp đồng thông minh được thực hiện bởi EIP-4337, đơn giản hóa việc phát triển và ứng dụng các tính năng mới.

EIP-7702 đã giới thiệu loại giao dịch SET_CODE_TX_TYPE (0x04), cấu trúc dữ liệu của nó bao gồm trường authorization_list, có thể chứa nhiều mục ủy quyền. Mỗi mục ủy quyền bao gồm chain_id, address, nonce và dữ liệu ký.

hiện thực hóa

Khi người ủy quyền ký dữ liệu ủy quyền, cần thực hiện mã hóa RLP cho chain_id, address, nonce, sau đó tiến hành phép toán băm keccak256 cùng với số MAGIC, và cuối cùng ký bằng khóa riêng. MAGIC (0x05) được sử dụng làm dấu phân cách miền, đảm bảo rằng các kết quả ký khác loại sẽ không bị xung đột.

Khi chain_id bằng 0, điều này có nghĩa là quyền được phép có thể được phát lại trên tất cả các chuỗi tương thích EVM hỗ trợ EIP-7702. Trước khi thực hiện giao dịch, Proposer sẽ thực hiện kiểm tra trước để đảm bảo giao dịch không phải là giao dịch tạo hợp đồng. Trường authorization_list trong giao dịch phải chứa ít nhất một mục quyền.

Khi nút thực hiện giao dịch, trước tiên tăng nonce của người khởi xướng, sau đó thực hiện thao tác applyAuthorization cho từng mục ủy quyền. Nếu gặp lỗi, mục ủy quyền đó sẽ bị bỏ qua, các mục khác sẽ tiếp tục được áp dụng. Sau khi ủy quyền hoàn tất, trường code của địa chỉ người ủy quyền sẽ được thiết lập là 0xef0100||address. Người ủy quyền có thể đặt địa chỉ mục tiêu ủy quyền thành địa chỉ 0 để gỡ bỏ ủy quyền.

Thực hành tốt nhất

Mặc dù EIP-7702 mang lại sức sống mới cho hệ sinh thái Ethereum, nhưng cũng đi kèm với những rủi ro mới. Dưới đây là những điểm mà các bên tham gia hệ sinh thái cần chú ý:

lưu trữ khóa riêng

Dù vấn đề mất tiền có thể được giải quyết thông qua việc khôi phục xã hội sau khi ủy quyền EOA, vẫn không thể tránh khỏi rủi ro rò rỉ khóa riêng. Người dùng nên đặt việc bảo vệ khóa riêng lên hàng đầu.

đa chuỗi phát lại

Người dùng có thể chọn chainId là 0 để ủy thác, làm cho nó có hiệu lực trên nhiều chuỗi. Tuy nhiên, địa chỉ hợp đồng giống nhau trên các chuỗi khác nhau có thể có cách thực hiện khác nhau. Nhà cung cấp dịch vụ ví nên kiểm tra xem chuỗi ủy thác có hiệu lực có phù hợp với mạng hiện tại hay không, và nhắc nhở người dùng về các rủi ro liên quan.

không thể khởi tạo

EIP-7702 không thể gọi hàm khởi tạo khi triển khai như hợp đồng đại lý ERC-1967. Các nhà phát triển nên thực hiện kiểm tra quyền trong quá trình khởi tạo ví, tránh rủi ro bị chạy trước.

quản lý lưu trữ

Việc ủy thác lại cho địa chỉ hợp đồng khác có thể dẫn đến sự khác biệt trong cấu trúc lưu trữ, gây ra khóa tài khoản hoặc mất tiền. Các nhà phát triển nên tuân theo Công thức Tên miền ERC-7201, phân bổ các biến vào vị trí lưu trữ độc lập.

nạp tiền giả

Sàn giao dịch tập trung có thể phải đối mặt với tình trạng phổ biến hóa việc nạp tiền bằng hợp đồng thông minh, nên kiểm tra trạng thái giao dịch nạp tiền qua trace, phòng ngừa rủi ro nạp tiền giả.

tài khoản chuyển đổi

tài khoản có thể chuyển đổi tự do giữa EOA và SC, phá vỡ một số giả định an toàn chỉ cho phép EOA tham gia vào dự án. Các nhà phát triển nên giả định rằng những người tham gia trong tương lai có thể đều là hợp đồng thông minh.

Tính tương thích hợp đồng

Nhà phát triển nên đảm bảo rằng hợp đồng mục tiêu được người dùng ủy quyền thực hiện các hàm callback tương ứng, để tương thích với các token phổ biến.

kiểm tra lừa đảo

Các nhà cung cấp dịch vụ ví nên nhanh chóng hỗ trợ loại giao dịch EIP-7702, làm nổi bật hợp đồng mục tiêu khi người dùng ủy quyền chữ ký và tiến hành phân tích tự động sâu rộng để giảm thiểu rủi ro tấn công lừa đảo.

Tóm tắt

EIP-7702 thông qua loại giao dịch mới, giúp EOA có tính lập trình và khả năng kết hợp, làm mờ ranh giới giữa EOA và tài khoản hợp đồng. Các bên tham gia khác nhau trong hệ sinh thái phải đối mặt với nhiều thách thức và cơ hội, các thực tiễn tốt nhất được cung cấp trong bài viết này đáng để tham khảo và áp dụng trong thực tế.

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
  • 4
  • Chia sẻ
Bình luận
0/400
liquidation_surfervip
· 07-14 22:20
Blockchain搬砖哥, người có chứng ám ảnh kiểm soát rủi ro~

Xin vui lòng tạo một bình luận bằng tiếng Trung:

Cơ hội kiếm tiền sắp đến rồi
Xem bản gốcTrả lời0
Blockblindvip
· 07-14 03:24
Rug Pull dễ dàng hơn rồi.
Xem bản gốcTrả lời0
consensus_failurevip
· 07-14 03:22
Chơi không tốt ngay cả blockchain thì kết hợp cái gì?
Xem bản gốcTrả lời0
NeverVoteOnDAOvip
· 07-14 03:12
Lại thấy những đề xuất hoa mắt chóng mặt, không xem.
Xem bản gốcTrả lời0
  • Ghim
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)