Tác động của EIP-3074 đối với Ví tiền và DApp

Trung cấp5/27/2024, 9:17:11 AM
EIP-3074 cho phép các tài khoản sở hữu bên ngoài (EOAs) ủy quyền điều khiển cho một hợp đồng cụ thể, từ đó có được khả năng thực thi mở rộng tương tự như các hợp đồng. Điều này đáng kể cải thiện trải nghiệm người dùng và có thể định nghĩa lại các phương pháp ủy quyền quen thuộc hiện tại, cải thiện tính bảo mật trong khi vẫn duy trì tính khả dụng. Nic từ imToken Labs phân tích tác động của EIP-3074, bao gồm cải tiến cho các phương pháp ủy quyền tài sản.

EIP-3074

Trải nghiệm người dùng tốt hơn, an toàn hơn

EIP-3074 cho phép EOAs ủy quyền quản lý cho các hợp đồng cụ thể, qua đó có được khả năng thực thi phong phú tương tự như các hợp đồng. Trước EIP-3074, một EOA chỉ có thể thực hiện một thao tác trong mỗi giao dịch, chẳng hạn như phê duyệt một token ERC20 hoặc thực hiện một trao đổi trên Uniswap. Sau EIP-3074, một EOA có thể hoàn thành nhiều thao tác trong một giao dịch duy nhất, cho phép các trường hợp sử dụng trước đây không thể tưởng tượng được. Về bản chất, EIP-3074 cải thiện đáng kể trải nghiệm người dùng và tái tạo các phương pháp ủy quyền quen thuộc trong khi tăng cường bảo mật.

Hơn nữa, với EIP-3074, các EOAs không còn cần phải gửi giao dịch trên chuỗi blockchain bản thân họ nữa, từ đó loại bỏ nhu cầu phải trước tiên mua ETH để thanh toán phí giao dịch.

Hợp đồng Invoker

Các hợp đồng có thể kiểm soát EOAs được gọi là hợp đồng Invoker. Không phải hợp đồng nào cũng có thể kiểm soát; EOA phải ký bằng khóa riêng, xác định hợp đồng Invoker nào và các hoạt động nào mà EOA ủy quyền Invoker thực hiện.

Quy trình thường liên quan đến:

Alice ký bằng khóa riêng của EOA của mình, chỉ định hợp đồng Invoker và các hoạt động được ủy quyền.

Alice gửi nội dung và chữ ký đã ký đến một Relayer.

Người chuyển tiếp gửi giao dịch trên chuỗi vào hợp đồng Kích hoạt.

Người Triệu Tập xác minh chữ ký và sau khi xác thực, thực hiện các hoạt động như Ví tiền của Alice, chẳng hạn như phê duyệt USDC, hoán đổi tài sản trên Uniswap và sử dụng một số USDC để trả cho người Chuyển tiếp như một khoản phí.

Lưu ý: Người truyền tải là tùy chọn; Alice có thể gửi nội dung và chữ ký đã ký trên chuỗi mạng của chính mình.

Tránh tấn công phát lại

Người triệu tập thực hiện các hoạt động như thể họ có kiểm soát hạn chế trên EOA của Alice. Tuy nhiên, số thứ tự của EOA không tăng sau khi thực thi, có nghĩa là chữ ký giống nhau có thể tái sử dụng miễn là số thứ tự của EOA không thay đổi. Do đó, người triệu tập phải thực hiện cơ chế số thứ tự riêng để ngăn chặn các cuộc tấn công tái phát.

Tìm hiểu thêm

Để biết thông tin chi tiết về cách hoạt động của EIP-3074, vui lòng tham khảo tại:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

Các ứng dụng của EIP-3074

Batchcall

Batchcall cho phép người dùng kết hợp nhiều giao dịch thành một, tiết kiệm quá trình ký quyền ủy nhiều lần và một số chi phí gas. Lưu ý rằng điều này yêu cầu DApps hỗ trợ chức năng Batchcall, như EIP-5792 hiện đang được quảng bá. Nếu thiếu sự hỗ trợ này, DApps sẽ yêu cầu một giao dịch riêng biệt cho mỗi thao tác, xem người dùng như một EOA thông thường.

Để biết thêm thông tin về EIP-5792, vui lòng tham khảo: EIP-5792.

Mã phiên

Người dùng có thể ủy quyền các hoạt động cho một bên thứ ba dưới điều kiện cụ thể bằng cách sử dụng một khóa phiên. Trong ví dụ dưới đây, khóa ủy quyền đại diện cho bên thứ ba được ủy quyền, trong khi chính sách truy cập xác định các ràng buộc vận hành, chẳng hạn như giới hạn hành động cho Uniswap, giới hạn chuyển khoản tối đa là 1 ETH mỗi ngày, hoặc thiết lập ngày hết hạn ủy quyền. Các điều kiện này được thiết kế và kiểm tra trong hợp đồng Invoker. Khi các kiểm tra vượt qua, bên thứ ba có thể thực hiện các hoạt động như EOA của người dùng.

Ví dụ, một Telegram Bot có thể được cấp quyền cụ thể để thực hiện các hoạt động thay mặt cho EOA của người dùng.

Cho phép ETH bản địa

Nếu các điều kiện được đáp ứng (tức là chữ ký cho phép hợp lệ), các hoạt động có thể được thực hiện như EOA cho phép, cho phép chức năng Permit ETH bản địa.

Đặt lệnh giới hạn

Người dùng có thể thiết lập điều kiện đặt lệnh giới hạn, một khi được đáp ứng, cho phép các hoạt động được thực hiện như EOA của người dùng. Điều này bao gồm việc phê duyệt tài sản kỹ thuật số liên quan cho một DApp và hoán đổi tài sản trên DApp. So với chức năng đặt lệnh giới hạn do chính các DApp cung cấp, người dùng không cần phê duyệt trước tài sản cho DApp.

Ví dụ, khi Alice hoàn thành một lệnh giới hạn, việc phê duyệt được thực hiện đồng thời, loại bỏ nhu cầu phê duyệt trước đó.

Bằng cách thiết kế các điều kiện một cách tổng quát hơn, một hợp đồng Intent có thể được tạo ra: miễn là các điều kiện cụ thể được đáp ứng, bất kỳ ai cũng có thể thực hiện ý định thay mặt cho EOA của người dùng.

Phục hồi xã hội

Nếu người dùng mất khóa riêng EOA của họ, họ có thể sử dụng quyền ủy quyền EIP-3074 đã được ký trước đó, cùng với chữ ký từ các bên được ủy quyền (ví dụ, Chồng và Đại lý Trust), để chuyển tất cả tài sản từ EOA. Điều này khôi phục các tài sản (có thể chuyển giao), không phải kiểm soát tài khoản. Khi mất khóa riêng EOA, EOA không thể được sử dụng lại.

Cải thiện Phương pháp Ủy quyền Tài sản

EIP-3074 có tiềm năng cải thiện hoặc thậm chí thay thế các phương pháp phê duyệt hiện tại. DApps hiện đang hoạt động dưới giả định rằng người dùng là EOAs: người dùng phải tiên đồng ý một lượng tài sản đủ lớn cho hợp đồng DApp để tránh việc phải luôn luôn trực tuyến và lặp đi lặp lại việc phê duyệt giao dịch. Điều này cải thiện đáng kể trải nghiệm người dùng.

Ví dụ, các ứng dụng có điều kiện như đặt lệnh giới hạn hoặc DCA yêu cầu người dùng phê duyệt trước một lượng lớn tài sản để DApp có thể thực hiện các hoạt động khi điều kiện được đáp ứng, có thể là nhiều lần.

Tuy nhiên, điều này đòi hỏi người dùng phải tin tưởng vào DApp hoặc tránh việc phê duyệt các DApp giả mạo, và họ phải có khả năng gỡ bỏ sự phê duyệt trong thời gian thực.

Các mô hình cấp phép gần đây như EIP-2612 hoặc Permit2 không phải bản địa nhằm cải thiện trải nghiệm người dùng và bảo mật của mô hình phê duyệt. Người dùng không cần phê duyệt số lượng lớn tài sản cho mỗi hợp đồng DApp; thay vào đó, họ có thể ủy quyền cho DApps rút ra một số lượng cụ thể tài sản trong một khoảng thời gian cụ thể bằng cách ký một lần. Điều này giảm rất nhiều khả năng tấn công và nâng cao trải nghiệm người dùng.

△ Người dùng chỉ cần đăng xuất ngoại tuyến, và họ có thể chỉ định số lượng tài sản và thời gian hiệu lực, cung cấp trải nghiệm người dùng tốt hơn và an toàn hơn so với việc phê duyệt.

Tuy nhiên, trong thực tế, không chỉ là việc phê duyệt, chế độ cấp phép vẫn thường bị lợi dụng như một phương pháp lừa đảo. Nạn nhân vô tình ký vào các giấy phép họ tin là để sử dụng DApp nhưng thực tế đang cấp quyền cho kẻ tấn công.

△ Khi người dùng ký một giấy phép, họ chỉ có thể thấy họ đang ủy quyền cho ai nhưng không biết những hoạt động nào sẽ được thực hiện kèm theo nó.

Chú ý:Thiết kế giấy phép hiện tại không tương thích với DApp yêu cầu các hoạt động lặp đi lặp lại, như DCA hoặc các ứng dụng thanh toán định kỳ khác. Điều này bởi vì giấy phép có cơ chế chống phát lại, vì vậy một khi giao dịch được hoàn tất, giấy phép tương tự không thể được sử dụng lại. Theo cách nói khác, người dùng cần tạo sẵn giấy phép cho mỗi hoạt động lặp đi lặp lại trong tương lai.

Tìm hiểu thêm:

Để hiểu thêm về những sự cố nơi chế độ phép đã bị lạm dụng như một phương pháp lừa đảo, vui lòng sao chép các liên kết sau vào trình duyệt của bạn để biết thêm thông tin:

Tuy nhiên, EIP-3074 mang lại cơ hội thay đổi: khi các nhà phát triển DApp nhận ra rằng EOA có thể thực hiện các hoạt động phức tạp thông qua Invoker, thiết kế tương tác của DApp sẽ không còn cần phải hy sinh bảo mật cho trải nghiệm người dùng tốt hơn, như "người dùng phê duyệt một lượng lớn tài sản trước" hoặc "người dùng ký một tin nhắn cho phép để ủy quyền rút tiền".

Thay vào đó, người dùng sẽ liên kết hoạt động của DApp với hành động phê duyệt, thực hiện chúng theo cách nguyên tử thông qua Invoker: hoặc cả hai hành động phê duyệt và hoạt động DApp thành công cùng nhau hoặc thất bại cùng nhau. Không có khả năng hành động phê duyệt thành công một mình, vì vậy người dùng có thể chắc chắn rằng hành động phê duyệt này đặc biệt dành cho hoạt động hiện tại.

Hơn nữa, người dùng ủy quyền bằng cách sử dụng chữ ký ngoại chuỗi, vì vậy trải nghiệm người dùng tương tự như với quyền! Điều này có nghĩa là DApps sẽ không còn cần chế độ cấp phép nữa! Trong tương lai, ví tiền có thể trực tiếp chặn hoặc kiểm tra nghiêm ngặt hơn các yêu cầu chữ ký cấp phép mà không cần lo lắng về việc ngăn ngừa người dùng truy cập vào một số DApps cụ thể (mà thay vào đó bị lợi dụng bởi các vụ lừa đảo).

△ Người dùng sẽ không chỉ ủy quyền cho một địa chỉ cụ thể mà còn chỉ định những hành động có thể thực hiện, và họ thậm chí có thể xem kết quả thực thi mô phỏng.

Ghi chú:Điều này không có nghĩa là lừa đảo có thể được ngăn hoàn toàn! Người dùng vẫn có thể bị lừa vào các trang web lừa đảo, và các trang web lừa đảo vẫn có thể tạo ra hoặc chuyển các thao tác để người dùng ký duyệt. Tuy nhiên, ở điểm này, người dùng ít nhất có thể thấy thao tác mà chữ ký đang ủy quyền. Ví tiền thậm chí có thể mô phỏng và hiển thị kết quả thực thi, cho thấy rõ người dùng nào sẽ mất tiền và người dùng nào sẽ kiếm tiền. So với các giấy phép mà người dùng không thể biết các thao tác hoặc kết quả thực thi, người dùng hiện có nhiều thông tin hơn để quyết định xem có ủy quyền hay không. Mặc dù không phải là một giải pháp hoàn hảo, nhưng đó vẫn là một cải tiến đáng kể so với tình hình hiện tại.

Cách Ví Tiền Xử Lý EOA Nonce

Hiện tại, thiết kế của EIP-3074 bao gồm giá trị nonce của EOA trong nội dung chữ ký. Do đó, ngay khi EOA gửi giao dịch trên chuỗi khối thay đổi giá trị nonce, tất cả các quyền ủy quyền EIP-3074 hiện có trở nên không hợp lệ.

Nếu người dùng ủy quyền cho người khác vận hành EOA của họ thay mặt, ví dụ như thông qua Key Phiên hoặc các phương pháp Khôi phục Xã hội được đề cập ở trên, số lần giao dịch của EOA phải được giữ nguyên. Nếu không, tất cả các ủy quyền phải được ký lại và được giao cho người được ủy quyền, điều này ảnh hưởng đáng kể đến cả trải nghiệm người dùng và tính mạnh mẽ của cơ chế.

Nếu người dùng đang ủy quyền cho bản thân mình để vận hành, thì không cần phải tránh thay đổi EOA nonce. Các chữ ký EIP-3074, giống như giao dịch, được dự kiến sẽ được thực thi trong một khoảng thời gian nhất định. Tuy nhiên, ví tiền phải quản lý các giao dịch EIP-3074 cho EOA: nếu có một chữ ký EIP-3074 đang chờ được trên chuỗi, bất kỳ giao dịch EOA nào cũng phải đợi.

Lưu ý:Hợp đồng Invoker chính nó nên duy trì một cơ chế nonce riêng, vì vậy mỗi chữ ký phải được gia hạn mặc dù có thay đổi nào đối với nonce của EOA.

Session Key và Social Recovery có khả năng được áp dụng rộng rãi chỉ sau khi EIP-3074 sửa đổi các quy tắc để loại bỏ EOA nonce khỏi nội dung chữ ký. Do đó, ví tiền nên tập trung vào tình huống mà "người dùng ủy quyền cho họ tự vận hành" và xem xét chữ ký EIP-3074 như là giao dịch, tránh lo ngại về các giao dịch EOA thay đổi nonce.

Tuy nhiên, nếu người dùng muốn tự gửi chữ ký EIP-3074 của họ lên chuỗi, có hai điểm hạn chế:

  1. Người dùng cần ký hai lần: một lần cho chữ ký EIP-3074 và một lần cho chữ ký giao dịch trên chuỗi.

  2. Vì giao dịch trên chuỗi sẽ tăng số nonce EOA trước khi thực hiện, số nonce EOA của chữ ký EIP-3074 phải được tăng trước để phù hợp với sự thay đổi số nonce do giao dịch trên chuỗi gây ra.

△ Bởi vì giao dịch trên chuỗi tăng số thứ tự EOA, xác minh chữ ký EIP-3074 sẽ thất bại nếu số thứ tự không khớp.

△ Người dùng cần tăng số thứ tự EOA trước để chữ ký EIP-3074 được xác minh thành công.

Bằng cách hiểu rõ những sắc thái này, nhà cung cấp Ví tiền có thể quản lý tốt hơn việc xử lý nonce EOA, đảm bảo trải nghiệm người dùng mượt mà và an toàn hơn với sự cho phép EIP-3074.

Tóm tắt và điểm nổi bật

  • EIP-3074 cấp quyền cho EOAs (Externally Owned Accounts) những khả năng thực thi phong phú như các hợp đồng, mở khóa nhiều kịch bản ứng dụng mới.
  • Điều này không chỉ cải thiện đáng kể trải nghiệm người dùng mà còn biến đổi các phương pháp xác thực hiện tại, khiến chúng an toàn hơn mà không ảnh hưởng đến tính khả dụng.
  • Ngoài ra, EIP-3074 liên quan đến chữ ký đơn giản, vì vậy người dùng không nhất thiết phải thực hiện những chữ ký này trên chuỗi mạng chính mình, loại bỏ nhu cầu thu thập ETH để thanh toán phí giao dịch.
  • Các công dụng của EIP-3074 bao gồm Batch Call, Session Key, Native ETH Permit, Limit Order và Social Recovery. Nhiều trong số đó ban đầu không thể đạt được với EOA, và một số, chẳng hạn như Limit Order, đòi hỏi sự xác nhận trước và các phương pháp an toàn ít hơn khác để sử dụng.
  • Những điều này trước đây là không thể với EOAs. Ví dụ, việc sử dụng Đơn đặt hàng giới hạn yêu cầu phương pháp ít an toàn như tiền ủy quyền trước.
  • EIP-3074 cũng sẽ thay đổi các phương pháp ủy quyền hiện tại. Phương pháp phê duyệt trực tiếp ủy quyền cho một địa chỉ cụ thể rút ra tài sản kỹ thuật số không giới hạn vĩnh viễn, yêu cầu EOA của người dùng gửi giao dịch để thực hiện việc phê duyệt, dẫn đến trải nghiệm và bảo mật kém. Phương pháp cho phép chỉ yêu cầu chữ ký của người dùng, và mỗi chữ ký chỉ định số lượng tài sản và thời gian hiệu lực, cải thiện đáng kể trải nghiệm và bảo mật của người dùng so với phê duyệt.
  • Tuy nhiên, phương thức cấp phép vẫn thường xuyên bị khai thác trong các vụ lừa đảo. Khi ký, người dùng chỉ có thể xem địa chỉ, số tiền tài sản và thời hạn hiệu lực mà họ đang ủy quyền, chứ không thể xem mục đích ủy quyền. Mục đích sẽ được xác định trong một chữ ký (hoặc giao dịch) khác. Một DApp hợp pháp sẽ yêu cầu người dùng ký cả giấy phép và mục đích, nhưng đây là hai chữ ký riêng biệt. Do đó, khi được yêu cầu ký giấy phép, người dùng và ví không thể xác định mục đích sử dụng của giấy phép.
  • Với EIP-3074, người dùng (1) không cần phê duyệt trước một lượng lớn tài sản cho DApp mà chỉ phê duyệt khi có hoạt động và hiệu quả tương đương với giấy phép; (2) chỉ cần ký và không cần lo lắng về việc thu ETH để thanh toán thủ tục Phí tương đương với giấy phép; (3) Mỗi phê duyệt được ràng buộc với hoạt động được chỉ định và được ký kết với nhau. Người dùng có thể biết rõ "phê duyệt được sử dụng để làm gì" lần này. Điều này sẽ an toàn hơn cho phép!
  • Hy vọng rằng EIP-3074 sẽ thành công trong việc thay thế phương pháp phê duyệt và cho phép hiện tại, cung cấp cho người dùng một phương pháp ủy quyền an toàn hơn.

免責聲明:

  1. Bài viết này được in lại từ [imToken Labs]. Tất cả bản quyền thuộc về tác giả gốc [Nic]. Nếu có ý kiến ​​phản đối về việc tái bản này, vui lòng liên hệ với Gate Họcđội ngũ, và họ sẽ xử lý nhanh chóng.
  2. Tuyên bố Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn bản dịch là cấm.

Tác động của EIP-3074 đối với Ví tiền và DApp

Trung cấp5/27/2024, 9:17:11 AM
EIP-3074 cho phép các tài khoản sở hữu bên ngoài (EOAs) ủy quyền điều khiển cho một hợp đồng cụ thể, từ đó có được khả năng thực thi mở rộng tương tự như các hợp đồng. Điều này đáng kể cải thiện trải nghiệm người dùng và có thể định nghĩa lại các phương pháp ủy quyền quen thuộc hiện tại, cải thiện tính bảo mật trong khi vẫn duy trì tính khả dụng. Nic từ imToken Labs phân tích tác động của EIP-3074, bao gồm cải tiến cho các phương pháp ủy quyền tài sản.

EIP-3074

Trải nghiệm người dùng tốt hơn, an toàn hơn

EIP-3074 cho phép EOAs ủy quyền quản lý cho các hợp đồng cụ thể, qua đó có được khả năng thực thi phong phú tương tự như các hợp đồng. Trước EIP-3074, một EOA chỉ có thể thực hiện một thao tác trong mỗi giao dịch, chẳng hạn như phê duyệt một token ERC20 hoặc thực hiện một trao đổi trên Uniswap. Sau EIP-3074, một EOA có thể hoàn thành nhiều thao tác trong một giao dịch duy nhất, cho phép các trường hợp sử dụng trước đây không thể tưởng tượng được. Về bản chất, EIP-3074 cải thiện đáng kể trải nghiệm người dùng và tái tạo các phương pháp ủy quyền quen thuộc trong khi tăng cường bảo mật.

Hơn nữa, với EIP-3074, các EOAs không còn cần phải gửi giao dịch trên chuỗi blockchain bản thân họ nữa, từ đó loại bỏ nhu cầu phải trước tiên mua ETH để thanh toán phí giao dịch.

Hợp đồng Invoker

Các hợp đồng có thể kiểm soát EOAs được gọi là hợp đồng Invoker. Không phải hợp đồng nào cũng có thể kiểm soát; EOA phải ký bằng khóa riêng, xác định hợp đồng Invoker nào và các hoạt động nào mà EOA ủy quyền Invoker thực hiện.

Quy trình thường liên quan đến:

Alice ký bằng khóa riêng của EOA của mình, chỉ định hợp đồng Invoker và các hoạt động được ủy quyền.

Alice gửi nội dung và chữ ký đã ký đến một Relayer.

Người chuyển tiếp gửi giao dịch trên chuỗi vào hợp đồng Kích hoạt.

Người Triệu Tập xác minh chữ ký và sau khi xác thực, thực hiện các hoạt động như Ví tiền của Alice, chẳng hạn như phê duyệt USDC, hoán đổi tài sản trên Uniswap và sử dụng một số USDC để trả cho người Chuyển tiếp như một khoản phí.

Lưu ý: Người truyền tải là tùy chọn; Alice có thể gửi nội dung và chữ ký đã ký trên chuỗi mạng của chính mình.

Tránh tấn công phát lại

Người triệu tập thực hiện các hoạt động như thể họ có kiểm soát hạn chế trên EOA của Alice. Tuy nhiên, số thứ tự của EOA không tăng sau khi thực thi, có nghĩa là chữ ký giống nhau có thể tái sử dụng miễn là số thứ tự của EOA không thay đổi. Do đó, người triệu tập phải thực hiện cơ chế số thứ tự riêng để ngăn chặn các cuộc tấn công tái phát.

Tìm hiểu thêm

Để biết thông tin chi tiết về cách hoạt động của EIP-3074, vui lòng tham khảo tại:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

Các ứng dụng của EIP-3074

Batchcall

Batchcall cho phép người dùng kết hợp nhiều giao dịch thành một, tiết kiệm quá trình ký quyền ủy nhiều lần và một số chi phí gas. Lưu ý rằng điều này yêu cầu DApps hỗ trợ chức năng Batchcall, như EIP-5792 hiện đang được quảng bá. Nếu thiếu sự hỗ trợ này, DApps sẽ yêu cầu một giao dịch riêng biệt cho mỗi thao tác, xem người dùng như một EOA thông thường.

Để biết thêm thông tin về EIP-5792, vui lòng tham khảo: EIP-5792.

Mã phiên

Người dùng có thể ủy quyền các hoạt động cho một bên thứ ba dưới điều kiện cụ thể bằng cách sử dụng một khóa phiên. Trong ví dụ dưới đây, khóa ủy quyền đại diện cho bên thứ ba được ủy quyền, trong khi chính sách truy cập xác định các ràng buộc vận hành, chẳng hạn như giới hạn hành động cho Uniswap, giới hạn chuyển khoản tối đa là 1 ETH mỗi ngày, hoặc thiết lập ngày hết hạn ủy quyền. Các điều kiện này được thiết kế và kiểm tra trong hợp đồng Invoker. Khi các kiểm tra vượt qua, bên thứ ba có thể thực hiện các hoạt động như EOA của người dùng.

Ví dụ, một Telegram Bot có thể được cấp quyền cụ thể để thực hiện các hoạt động thay mặt cho EOA của người dùng.

Cho phép ETH bản địa

Nếu các điều kiện được đáp ứng (tức là chữ ký cho phép hợp lệ), các hoạt động có thể được thực hiện như EOA cho phép, cho phép chức năng Permit ETH bản địa.

Đặt lệnh giới hạn

Người dùng có thể thiết lập điều kiện đặt lệnh giới hạn, một khi được đáp ứng, cho phép các hoạt động được thực hiện như EOA của người dùng. Điều này bao gồm việc phê duyệt tài sản kỹ thuật số liên quan cho một DApp và hoán đổi tài sản trên DApp. So với chức năng đặt lệnh giới hạn do chính các DApp cung cấp, người dùng không cần phê duyệt trước tài sản cho DApp.

Ví dụ, khi Alice hoàn thành một lệnh giới hạn, việc phê duyệt được thực hiện đồng thời, loại bỏ nhu cầu phê duyệt trước đó.

Bằng cách thiết kế các điều kiện một cách tổng quát hơn, một hợp đồng Intent có thể được tạo ra: miễn là các điều kiện cụ thể được đáp ứng, bất kỳ ai cũng có thể thực hiện ý định thay mặt cho EOA của người dùng.

Phục hồi xã hội

Nếu người dùng mất khóa riêng EOA của họ, họ có thể sử dụng quyền ủy quyền EIP-3074 đã được ký trước đó, cùng với chữ ký từ các bên được ủy quyền (ví dụ, Chồng và Đại lý Trust), để chuyển tất cả tài sản từ EOA. Điều này khôi phục các tài sản (có thể chuyển giao), không phải kiểm soát tài khoản. Khi mất khóa riêng EOA, EOA không thể được sử dụng lại.

Cải thiện Phương pháp Ủy quyền Tài sản

EIP-3074 có tiềm năng cải thiện hoặc thậm chí thay thế các phương pháp phê duyệt hiện tại. DApps hiện đang hoạt động dưới giả định rằng người dùng là EOAs: người dùng phải tiên đồng ý một lượng tài sản đủ lớn cho hợp đồng DApp để tránh việc phải luôn luôn trực tuyến và lặp đi lặp lại việc phê duyệt giao dịch. Điều này cải thiện đáng kể trải nghiệm người dùng.

Ví dụ, các ứng dụng có điều kiện như đặt lệnh giới hạn hoặc DCA yêu cầu người dùng phê duyệt trước một lượng lớn tài sản để DApp có thể thực hiện các hoạt động khi điều kiện được đáp ứng, có thể là nhiều lần.

Tuy nhiên, điều này đòi hỏi người dùng phải tin tưởng vào DApp hoặc tránh việc phê duyệt các DApp giả mạo, và họ phải có khả năng gỡ bỏ sự phê duyệt trong thời gian thực.

Các mô hình cấp phép gần đây như EIP-2612 hoặc Permit2 không phải bản địa nhằm cải thiện trải nghiệm người dùng và bảo mật của mô hình phê duyệt. Người dùng không cần phê duyệt số lượng lớn tài sản cho mỗi hợp đồng DApp; thay vào đó, họ có thể ủy quyền cho DApps rút ra một số lượng cụ thể tài sản trong một khoảng thời gian cụ thể bằng cách ký một lần. Điều này giảm rất nhiều khả năng tấn công và nâng cao trải nghiệm người dùng.

△ Người dùng chỉ cần đăng xuất ngoại tuyến, và họ có thể chỉ định số lượng tài sản và thời gian hiệu lực, cung cấp trải nghiệm người dùng tốt hơn và an toàn hơn so với việc phê duyệt.

Tuy nhiên, trong thực tế, không chỉ là việc phê duyệt, chế độ cấp phép vẫn thường bị lợi dụng như một phương pháp lừa đảo. Nạn nhân vô tình ký vào các giấy phép họ tin là để sử dụng DApp nhưng thực tế đang cấp quyền cho kẻ tấn công.

△ Khi người dùng ký một giấy phép, họ chỉ có thể thấy họ đang ủy quyền cho ai nhưng không biết những hoạt động nào sẽ được thực hiện kèm theo nó.

Chú ý:Thiết kế giấy phép hiện tại không tương thích với DApp yêu cầu các hoạt động lặp đi lặp lại, như DCA hoặc các ứng dụng thanh toán định kỳ khác. Điều này bởi vì giấy phép có cơ chế chống phát lại, vì vậy một khi giao dịch được hoàn tất, giấy phép tương tự không thể được sử dụng lại. Theo cách nói khác, người dùng cần tạo sẵn giấy phép cho mỗi hoạt động lặp đi lặp lại trong tương lai.

Tìm hiểu thêm:

Để hiểu thêm về những sự cố nơi chế độ phép đã bị lạm dụng như một phương pháp lừa đảo, vui lòng sao chép các liên kết sau vào trình duyệt của bạn để biết thêm thông tin:

Tuy nhiên, EIP-3074 mang lại cơ hội thay đổi: khi các nhà phát triển DApp nhận ra rằng EOA có thể thực hiện các hoạt động phức tạp thông qua Invoker, thiết kế tương tác của DApp sẽ không còn cần phải hy sinh bảo mật cho trải nghiệm người dùng tốt hơn, như "người dùng phê duyệt một lượng lớn tài sản trước" hoặc "người dùng ký một tin nhắn cho phép để ủy quyền rút tiền".

Thay vào đó, người dùng sẽ liên kết hoạt động của DApp với hành động phê duyệt, thực hiện chúng theo cách nguyên tử thông qua Invoker: hoặc cả hai hành động phê duyệt và hoạt động DApp thành công cùng nhau hoặc thất bại cùng nhau. Không có khả năng hành động phê duyệt thành công một mình, vì vậy người dùng có thể chắc chắn rằng hành động phê duyệt này đặc biệt dành cho hoạt động hiện tại.

Hơn nữa, người dùng ủy quyền bằng cách sử dụng chữ ký ngoại chuỗi, vì vậy trải nghiệm người dùng tương tự như với quyền! Điều này có nghĩa là DApps sẽ không còn cần chế độ cấp phép nữa! Trong tương lai, ví tiền có thể trực tiếp chặn hoặc kiểm tra nghiêm ngặt hơn các yêu cầu chữ ký cấp phép mà không cần lo lắng về việc ngăn ngừa người dùng truy cập vào một số DApps cụ thể (mà thay vào đó bị lợi dụng bởi các vụ lừa đảo).

△ Người dùng sẽ không chỉ ủy quyền cho một địa chỉ cụ thể mà còn chỉ định những hành động có thể thực hiện, và họ thậm chí có thể xem kết quả thực thi mô phỏng.

Ghi chú:Điều này không có nghĩa là lừa đảo có thể được ngăn hoàn toàn! Người dùng vẫn có thể bị lừa vào các trang web lừa đảo, và các trang web lừa đảo vẫn có thể tạo ra hoặc chuyển các thao tác để người dùng ký duyệt. Tuy nhiên, ở điểm này, người dùng ít nhất có thể thấy thao tác mà chữ ký đang ủy quyền. Ví tiền thậm chí có thể mô phỏng và hiển thị kết quả thực thi, cho thấy rõ người dùng nào sẽ mất tiền và người dùng nào sẽ kiếm tiền. So với các giấy phép mà người dùng không thể biết các thao tác hoặc kết quả thực thi, người dùng hiện có nhiều thông tin hơn để quyết định xem có ủy quyền hay không. Mặc dù không phải là một giải pháp hoàn hảo, nhưng đó vẫn là một cải tiến đáng kể so với tình hình hiện tại.

Cách Ví Tiền Xử Lý EOA Nonce

Hiện tại, thiết kế của EIP-3074 bao gồm giá trị nonce của EOA trong nội dung chữ ký. Do đó, ngay khi EOA gửi giao dịch trên chuỗi khối thay đổi giá trị nonce, tất cả các quyền ủy quyền EIP-3074 hiện có trở nên không hợp lệ.

Nếu người dùng ủy quyền cho người khác vận hành EOA của họ thay mặt, ví dụ như thông qua Key Phiên hoặc các phương pháp Khôi phục Xã hội được đề cập ở trên, số lần giao dịch của EOA phải được giữ nguyên. Nếu không, tất cả các ủy quyền phải được ký lại và được giao cho người được ủy quyền, điều này ảnh hưởng đáng kể đến cả trải nghiệm người dùng và tính mạnh mẽ của cơ chế.

Nếu người dùng đang ủy quyền cho bản thân mình để vận hành, thì không cần phải tránh thay đổi EOA nonce. Các chữ ký EIP-3074, giống như giao dịch, được dự kiến sẽ được thực thi trong một khoảng thời gian nhất định. Tuy nhiên, ví tiền phải quản lý các giao dịch EIP-3074 cho EOA: nếu có một chữ ký EIP-3074 đang chờ được trên chuỗi, bất kỳ giao dịch EOA nào cũng phải đợi.

Lưu ý:Hợp đồng Invoker chính nó nên duy trì một cơ chế nonce riêng, vì vậy mỗi chữ ký phải được gia hạn mặc dù có thay đổi nào đối với nonce của EOA.

Session Key và Social Recovery có khả năng được áp dụng rộng rãi chỉ sau khi EIP-3074 sửa đổi các quy tắc để loại bỏ EOA nonce khỏi nội dung chữ ký. Do đó, ví tiền nên tập trung vào tình huống mà "người dùng ủy quyền cho họ tự vận hành" và xem xét chữ ký EIP-3074 như là giao dịch, tránh lo ngại về các giao dịch EOA thay đổi nonce.

Tuy nhiên, nếu người dùng muốn tự gửi chữ ký EIP-3074 của họ lên chuỗi, có hai điểm hạn chế:

  1. Người dùng cần ký hai lần: một lần cho chữ ký EIP-3074 và một lần cho chữ ký giao dịch trên chuỗi.

  2. Vì giao dịch trên chuỗi sẽ tăng số nonce EOA trước khi thực hiện, số nonce EOA của chữ ký EIP-3074 phải được tăng trước để phù hợp với sự thay đổi số nonce do giao dịch trên chuỗi gây ra.

△ Bởi vì giao dịch trên chuỗi tăng số thứ tự EOA, xác minh chữ ký EIP-3074 sẽ thất bại nếu số thứ tự không khớp.

△ Người dùng cần tăng số thứ tự EOA trước để chữ ký EIP-3074 được xác minh thành công.

Bằng cách hiểu rõ những sắc thái này, nhà cung cấp Ví tiền có thể quản lý tốt hơn việc xử lý nonce EOA, đảm bảo trải nghiệm người dùng mượt mà và an toàn hơn với sự cho phép EIP-3074.

Tóm tắt và điểm nổi bật

  • EIP-3074 cấp quyền cho EOAs (Externally Owned Accounts) những khả năng thực thi phong phú như các hợp đồng, mở khóa nhiều kịch bản ứng dụng mới.
  • Điều này không chỉ cải thiện đáng kể trải nghiệm người dùng mà còn biến đổi các phương pháp xác thực hiện tại, khiến chúng an toàn hơn mà không ảnh hưởng đến tính khả dụng.
  • Ngoài ra, EIP-3074 liên quan đến chữ ký đơn giản, vì vậy người dùng không nhất thiết phải thực hiện những chữ ký này trên chuỗi mạng chính mình, loại bỏ nhu cầu thu thập ETH để thanh toán phí giao dịch.
  • Các công dụng của EIP-3074 bao gồm Batch Call, Session Key, Native ETH Permit, Limit Order và Social Recovery. Nhiều trong số đó ban đầu không thể đạt được với EOA, và một số, chẳng hạn như Limit Order, đòi hỏi sự xác nhận trước và các phương pháp an toàn ít hơn khác để sử dụng.
  • Những điều này trước đây là không thể với EOAs. Ví dụ, việc sử dụng Đơn đặt hàng giới hạn yêu cầu phương pháp ít an toàn như tiền ủy quyền trước.
  • EIP-3074 cũng sẽ thay đổi các phương pháp ủy quyền hiện tại. Phương pháp phê duyệt trực tiếp ủy quyền cho một địa chỉ cụ thể rút ra tài sản kỹ thuật số không giới hạn vĩnh viễn, yêu cầu EOA của người dùng gửi giao dịch để thực hiện việc phê duyệt, dẫn đến trải nghiệm và bảo mật kém. Phương pháp cho phép chỉ yêu cầu chữ ký của người dùng, và mỗi chữ ký chỉ định số lượng tài sản và thời gian hiệu lực, cải thiện đáng kể trải nghiệm và bảo mật của người dùng so với phê duyệt.
  • Tuy nhiên, phương thức cấp phép vẫn thường xuyên bị khai thác trong các vụ lừa đảo. Khi ký, người dùng chỉ có thể xem địa chỉ, số tiền tài sản và thời hạn hiệu lực mà họ đang ủy quyền, chứ không thể xem mục đích ủy quyền. Mục đích sẽ được xác định trong một chữ ký (hoặc giao dịch) khác. Một DApp hợp pháp sẽ yêu cầu người dùng ký cả giấy phép và mục đích, nhưng đây là hai chữ ký riêng biệt. Do đó, khi được yêu cầu ký giấy phép, người dùng và ví không thể xác định mục đích sử dụng của giấy phép.
  • Với EIP-3074, người dùng (1) không cần phê duyệt trước một lượng lớn tài sản cho DApp mà chỉ phê duyệt khi có hoạt động và hiệu quả tương đương với giấy phép; (2) chỉ cần ký và không cần lo lắng về việc thu ETH để thanh toán thủ tục Phí tương đương với giấy phép; (3) Mỗi phê duyệt được ràng buộc với hoạt động được chỉ định và được ký kết với nhau. Người dùng có thể biết rõ "phê duyệt được sử dụng để làm gì" lần này. Điều này sẽ an toàn hơn cho phép!
  • Hy vọng rằng EIP-3074 sẽ thành công trong việc thay thế phương pháp phê duyệt và cho phép hiện tại, cung cấp cho người dùng một phương pháp ủy quyền an toàn hơn.

免責聲明:

  1. Bài viết này được in lại từ [imToken Labs]. Tất cả bản quyền thuộc về tác giả gốc [Nic]. Nếu có ý kiến ​​phản đối về việc tái bản này, vui lòng liên hệ với Gate Họcđội ngũ, và họ sẽ xử lý nhanh chóng.
  2. Tuyên bố Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn bản dịch là cấm.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!