Sau khi giới thiệu EIP-3074, chữ ký sai có khả năng làm mất số dư tài khoản Ethereum của bạn. Quả thực mối lo ngại này là có thật. Trước khi mọi thứ trở nên vượt quá tầm kiểm soát, chúng ta hãy tạm thời giải quyết nỗi lo lắng này.
Thứ nhất, tôi không biết có ví nào hiện hỗ trợ ký dữ liệu không có hậu tố, điều đó có nghĩa là hiện tại không có ví nào hỗ trợ EIP-3074. Cho dù bạn duyệt qua bao nhiêu trang tổng quan hoặc kích hoạt bao nhiêu tính năng nâng cao thì việc ký tin nhắn cho EIP-3074 hiện không thể thực hiện được.
Tin nhắn bạn đăng nhập để đăng nhập vào dapp dựa trên EIP-191, một tiêu chuẩn hoàn toàn khác với EIP-3074. Tiêu chuẩn này thêm dữ liệu sau vào tin nhắn đã ký của bạn:
0x19 <0x45 (E)>
Đây là lý do tại sao không thể lừa ai đó ký một giao dịch Ethereum hợp lệ khi đăng nhập vào dapp. Giao dịch sử dụng các giá trị byte sau làm tiền tố:
0x01 – 2930 tx 0x02 – 1559 tx 0x03 – 4844 tx
Để biết thêm thông tin, xem:Thông số thực thi Ethereum
EIP-3074 có kế hoạch sử dụng tiền tố 0x04. Điều này sẽ loại bỏ sự mơ hồ của nó với tất cả các loại dữ liệu có thể ký được khác trong Ethereum. Ví phải chọn cho phép người dùng chủ động ký các tin nhắn này.
Tùy thuộc vào cách ví tích hợp EIP-3074, nó có thể khiến người dùng dễ bị lợi dụng hơn. Để hiểu điều này, chúng tôi cần đảm bảo hiểu hoạt động của chữ ký EIP-3074.
Thông báo xác thực để xây dựng chữ ký bao gồm địa chỉ người gọi. Điều quan trọng, đây là địa chỉ duy nhất mà AUTH coi là chữ ký hợp lệ.
Đối với các tài khoản sắp hết số dư, phải đáp ứng đồng thời hai điều kiện sau:
- Ví phải cho phép người dùng đăng nhập vào bất kỳ địa chỉ nào của người triệu hồi.
- Người dùng không được xác minh xem người gọi có đáng tin cậy hay không. Điều này ngụ ý rằng sẽ không có vấn đề gì nếu người dùng thực hiện một trong những hành động này
Điều này có nghĩa là việc thực hiện một trong hai hành động này sẽ không gây ra sự cố.
Chúng tôi hy vọng phần mềm ví hiểu rằng người gọi EIP-3074 giống như phần mở rộng của mã phần mềm ví hơn là hợp đồng. Ví không cho phép người dùng tự do thực thi mã tùy ý và truy cập vào khóa riêng (pk) của họ; tương tự, họ không nên cho phép người dùng ủy quyền tài khoản Ethereum của mình một cách tùy tiện.
Do đó, nếu phần mềm ví tích hợp EIP-3074 một cách không an toàn và người dùng không xác minh người gọi mà họ tương tác, họ có thể ủy quyền cho một người gọi độc hại. Tuy nhiên, vẫn có thể hoàn tác việc này bằng cách gửi một giao dịch từ EOA, giao dịch này sẽ thu hồi mọi chữ ký AUTH đang diễn ra.
Ở mức tối thiểu, phần mềm ví phải đảm bảo việc ký tin nhắn EIP-3074 cũng quan trọng như việc xuất khóa riêng của bạn. Giả sử ví tích hợp 3074 một cách an toàn, tài khoản vẫn có thể bị xâm phạm. Đây là một thuộc tính cơ bản của giao dịch hàng loạt. Nó cho phép bạn dễ dàng gửi nhiều thao tác, cũng như cho phép kẻ tấn công lừa bạn gửi một loạt tài sản đến địa chỉ do chúng kiểm soát.
Phần mềm ví phải hiển thị rõ ràng từng thao tác bạn đang ký. Bằng cách này, rất dễ nhận thấy, "Tôi định thực hiện một giao dịch, nhưng yêu cầu ký này đã dẫn đến một số giao dịch." Nếu quá trình xử lý được thực hiện thông qua việc ký tên mù thì điều này không thể bị phát hiện.
Có, EIP-3074 đặt niềm tin đáng kể vào ví. Tuy nhiên, chúng tôi đã tin cậy chúng một cách an toàn bằng các khóa riêng tư của mình—không có mức độ tin cậy nào cao hơn.
EIP-3074 có thể được tích hợp và sử dụng một cách an toàn. Nếu bất kỳ ví nào có thắc mắc về cách triển khai tính năng này, vui lòng liên hệ với chúng tôi. Với tư cách là tác giả của EIP-3074, chúng tôi hiện đang xem xét cách tốt nhất để hỗ trợ trong các giai đoạn phát triển tiếp theo của tiêu chuẩn.
Trong vài năm qua, chúng tôi đã dành đáng kể thời gian để phát triển các kịch bản về cách sử dụng và lạm dụng nó. Chúng tôi rất vui mừng khi những ý tưởng này đang bắt đầu được triển khai trong sản xuất. Nhưng chúng tôi cũng nhận thấy đây là phần thử thách nhất.
Tóm lại, sau EIP-3074, một chữ ký sai duy nhất có thể làm mất số dư tài khoản Ethereum của bạn:
- Ví hiện tại không hỗ trợ loại chữ ký theo yêu cầu của EIP-3074, tuân theo định dạng mới.
- Trường người gọi trong chữ ký EIP-3074 là rất quan trọng. Một người gọi xấu có thể lấy cắp tiền của bạn.
- Ví cần đảm bảo địa chỉ người gọi là đáng tin cậy. Điều này tương tự như cách các ví hiện ngăn chặn việc thực thi mã tùy ý.
- Các giao dịch hàng loạt trong EIP-3074 vẫn mở ra một thế giới nơi các tác nhân độc hại có thể lừa bạn ký các giao dịch để chuyển tài sản. Ví cần hiển thị rõ ràng những gì xảy ra khi ký tin nhắn EIP-3074.
- Có, chúng tôi có độ tin cậy cao đối với ví, nhưng người dùng đã ủy thác cho họ khóa riêng của họ, mức độ tin cậy cao nhất.
EIP-3074 và EIP-4337: EIP-3074 rất có lợi cho các nhà cung cấp dịch vụ trích xuất tài khoản vì nó rất có lợi cho khách hàng của chúng tôi.
ERC-4337 là cách tốt nhất để thu hút người dùng mới vào không gian tiền điện tử. EIP-3074 là cách tốt nhất để giới thiệu cho người dùng hiện tại các tài khoản thông minh.