EIP-7702, tên đầy đủ "Set Code for EOAs", là đề xuất cải tiến Ethereum cho phép một ví thông thường gắn mã của hợp đồng thông minh vào chính địa chỉ của mình. Đề xuất do Vitalik Buterin, Sam Wilson, Ansgar Dietrichs và lightclient soạn từ tháng 5/2024, và chính thức chạy trên mạng chính Ethereum từ ngày 7/5/2025 trong đợt nâng cấp Pectra.
Cây cầu giữa ví thường và ví thông minh
Để hiểu vì sao EIP-7702 ra đời, cần nhìn vào cấu trúc tài khoản của Ethereum. Trước đây có hai loại tách biệt. Ví thường (EOA) được điều khiển bằng private key, có thể ký giao dịch nhưng không chạy được mã. Tài khoản hợp đồng chạy được mã nhưng không tự khởi tạo giao dịch. Các ví hợp đồng thông minh theo chuẩn ERC-4337 mang lại nhiều tiện ích nhưng buộc người dùng chuyển sang địa chỉ mới - một rào cản lớn với hàng triệu ví đang tồn tại.
EIP-7702 là lời giải trung gian: giữ nguyên địa chỉ ví thường nhưng cho nó "mượn" logic của ví thông minh, đồng thời tương thích với hạ tầng ERC-4337 sẵn có. Nó thay thế đề xuất cũ EIP-3074, vốn dựa trên việc thêm opcode mới vào máy ảo Ethereum.
EIP-7702 là lời giải trung gian: giữ nguyên địa chỉ ví thường nhưng cho nó "mượn" logic của ví thông minh, đồng thời tương thích với hạ tầng ERC-4337 sẵn có. Nó thay thế đề xuất cũ EIP-3074, vốn dựa trên việc thêm opcode mới vào máy ảo Ethereum.
Cơ chế: một chữ ký, một con trỏ
Về kỹ thuật, EIP-7702 bổ sung một loại giao dịch mới, type 4 hay "set code transaction". Chủ ví ký một ủy quyền gồm ba thông tin: mã chuỗi (chain_id), địa chỉ hợp đồng được ủy quyền và nonce hiện tại của ví. Ủy quyền này được đặt trong danh sách authorization_list của giao dịch type 4.
Điểm quan trọng là người gửi giao dịch và trả phí gas không nhất thiết phải là chủ ví. Bất kỳ ai cầm chữ ký ủy quyền đều có thể đưa nó lên chuỗi. Khi xử lý, mạng lưới khôi phục địa chỉ người ký từ chữ ký và kiểm tra nonce trong ủy quyền có khớp đúng nonce hiện tại của ví hay không. Ủy quyền sai chỉ bị bỏ qua, không làm hỏng cả giao dịch. Nếu hợp lệ, mã của ví được ghi thành một "con trỏ" (0xef0100 nối với địa chỉ hợp đồng). Từ đó, mọi lệnh gọi vào ví sẽ tải mã ở hợp đồng kia và chạy nó với số dư, bộ nhớ và danh tính của chính ví.
Ủy quyền này tồn tại lâu dài. Bản nháp đầu từng thiết kế để mã tự biến mất sau một giao dịch, nhưng nhóm tác giả cuối cùng chọn ủy quyền "bền" để thống nhất hướng phát triển với ví thông minh. Muốn gỡ, chủ ví phải ký một ủy quyền mới trỏ về địa chỉ 0. Ngay cả khi giao dịch type 4 thất bại, các ủy quyền đã xử lý cũng không bị hoàn tác.
Điểm quan trọng là người gửi giao dịch và trả phí gas không nhất thiết phải là chủ ví. Bất kỳ ai cầm chữ ký ủy quyền đều có thể đưa nó lên chuỗi. Khi xử lý, mạng lưới khôi phục địa chỉ người ký từ chữ ký và kiểm tra nonce trong ủy quyền có khớp đúng nonce hiện tại của ví hay không. Ủy quyền sai chỉ bị bỏ qua, không làm hỏng cả giao dịch. Nếu hợp lệ, mã của ví được ghi thành một "con trỏ" (0xef0100 nối với địa chỉ hợp đồng). Từ đó, mọi lệnh gọi vào ví sẽ tải mã ở hợp đồng kia và chạy nó với số dư, bộ nhớ và danh tính của chính ví.
Ủy quyền này tồn tại lâu dài. Bản nháp đầu từng thiết kế để mã tự biến mất sau một giao dịch, nhưng nhóm tác giả cuối cùng chọn ủy quyền "bền" để thống nhất hướng phát triển với ví thông minh. Muốn gỡ, chủ ví phải ký một ủy quyền mới trỏ về địa chỉ 0. Ngay cả khi giao dịch type 4 thất bại, các ủy quyền đã xử lý cũng không bị hoàn tác.
Chính đặc tả thừa nhận EIP-7702 phá vỡ một số giả định lâu nay của Ethereum, chẳng hạn số dư của ví giờ có thể giảm bởi giao dịch không do ví khởi tạo. Đặc tả cũng cảnh báo thẳng thắn rằng mã được ủy quyền có quyền không giới hạn với tài khoản, ứng dụng không được tự đề nghị người dùng ký ủy quyền, và "không có cách an toàn" để cung cấp giao diện như vậy.
Đổi lại, EIP-7702 mở ra ba tính năng mà nhóm tác giả nhắm tới: gộp nhiều thao tác vào một giao dịch (chẳng hạn duyệt và hoán đổi token chỉ bằng một lần ký), cho phép bên thứ ba trả phí gas thay người dùng, và cấp khóa phụ với quyền hạn chế như chỉ được tiêu một tỷ lệ nhỏ số dư mỗi ngày. Ví thường cũng có thể dùng logic khôi phục xã hội, vốn trước đây chỉ có ở ví hợp đồng chuyên dụng.
Mặt tối xuất hiện ngay từ tháng đầu
Sự linh hoạt của EIP-7702 bị kẻ xấu khai thác gần như ngay lập tức. Chỉ ba tuần sau Pectra, hãng tạo lập thị trường Wintermute phát hiện hơn 97% số ủy quyền EIP-7702 trên Ethereum trỏ tới các hợp đồng có cùng một đoạn mã sao chép, chuyên tự động quét sạch tài sản khỏi những ví đã lộ private key. Wintermute đặt tên cho họ hợp đồng này là "CrimeEnjoyor". Tỷ lệ cụ thể dao động giữa các thời điểm đo, từ hơn 80% đến 97%, nhưng đều cho thấy phần lớn ủy quyền là độc hại.
Các vụ lạm dụng đi theo hai hướng chính. Hướng thứ nhất là lừa đảo chữ ký: nạn nhân vào trang giả mạo và ký một giao dịch trông vô hại nhưng thực chất là ủy quyền ví cho hợp đồng của hacker. Tháng 5/2025, một người dùng MetaMask mất khoảng 146.000 USD theo cách này; đến tháng 8/2025, một "cá voi" mất 1,54 triệu USD. Các bộ công cụ lừa đảo như Inferno Drainer nhanh chóng đóng gói sẵn mẫu giao dịch type 4 kèm kỹ thuật né cơ chế mô phỏng của ví. Hướng thứ hai là "sweeper" sau khi lộ khóa. Trước đây, khi ví bị lộ khóa, chủ ví vẫn có thể chạy đua chuyển tài sản ra. Với EIP-7702, hacker gắn sẵn mã quét vào ví, và mọi đồng tiền mới nạp vào đều bị lấy đi ngay trong cùng giao dịch.
Trước vụ Binance, thiệt hại vẫn ở quy mô cá nhân. Trong nửa đầu năm 2026, Blockaid xác nhận bốn sự cố EIP-7702 với tổng thiệt hại khoảng 1,08 triệu USD, và dự báo vụ đầu tiên vượt mốc một triệu USD sẽ xảy ra trước cuối năm. Dự báo ấy đã thành sự thật, nhưng với quy mô lớn hơn khoảng ba bậc độ lớn.
Các vụ lạm dụng đi theo hai hướng chính. Hướng thứ nhất là lừa đảo chữ ký: nạn nhân vào trang giả mạo và ký một giao dịch trông vô hại nhưng thực chất là ủy quyền ví cho hợp đồng của hacker. Tháng 5/2025, một người dùng MetaMask mất khoảng 146.000 USD theo cách này; đến tháng 8/2025, một "cá voi" mất 1,54 triệu USD. Các bộ công cụ lừa đảo như Inferno Drainer nhanh chóng đóng gói sẵn mẫu giao dịch type 4 kèm kỹ thuật né cơ chế mô phỏng của ví. Hướng thứ hai là "sweeper" sau khi lộ khóa. Trước đây, khi ví bị lộ khóa, chủ ví vẫn có thể chạy đua chuyển tài sản ra. Với EIP-7702, hacker gắn sẵn mã quét vào ví, và mọi đồng tiền mới nạp vào đều bị lấy đi ngay trong cùng giao dịch.
Trước vụ Binance, thiệt hại vẫn ở quy mô cá nhân. Trong nửa đầu năm 2026, Blockaid xác nhận bốn sự cố EIP-7702 với tổng thiệt hại khoảng 1,08 triệu USD, và dự báo vụ đầu tiên vượt mốc một triệu USD sẽ xảy ra trước cuối năm. Dự báo ấy đã thành sự thật, nhưng với quy mô lớn hơn khoảng ba bậc độ lớn.
EIP-7702 trong vụ Binance: công cụ khuếch đại
EIP-7702 không phải nguyên nhân khiến Binance bị hack. Theo Binance, kẻ tấn công vào được hệ thống thông qua laptop bị xâm nhập của một kỹ sư DevOps, và sàn chưa thấy bằng chứng private key bị lộ. Vai trò của EIP-7702 là biến khả năng ký mà hacker chiếm được thành quyền điều khiển lâu dài, tự động và bằng mã đối với ví nóng lớn nhất của sàn, Binance 14.
Cơ chế ủy quyền chỉ đòi hỏi chữ ký, không đòi hỏi giao dịch xuất phát từ ví. Hacker vì thế chỉ cần hệ thống ký của Binance tạo ra các ủy quyền, còn việc gửi lên chuỗi và trả phí do ví riêng của chúng đảm nhận. Trở ngại duy nhất là điều kiện nonce: Binance 14 xử lý hàng nghìn lệnh rút mỗi giờ nên không thể biết trước nonce lúc giao dịch vào block. Hacker giải quyết bằng cách cho ký 50 ủy quyền ứng với 50 nonce liên tiếp và gói chung vào một giao dịch. Vì ủy quyền sai nonce chỉ bị bỏ qua, chiến thuật "rải nonce" này gần như chắc chắn trúng. Nó đã được diễn tập trước trên ví thử với ba nonce.
Kết quả cho thấy rõ sức khuếch đại của EIP-7702. Thay vì phải ký hàng chục lệnh chuyển riêng lẻ, dễ bị phát hiện, hacker dùng một lệnh duy nhất để chuyển 167.464 ETH cùng 63 loại token, trị giá khoảng 2,5 tỷ USD. Vì mã độc chạy với danh tính của Binance 14, chúng còn mượn quyền "operator" của ví này để rút 823 triệu USDC từ một ví hợp đồng khác mà chúng không có khóa. Quan trọng hơn, ủy quyền không mất đi khi Binance đổi khóa nội bộ, vì nó gắn với địa chỉ chứ không gắn với khóa. Trong hơn một giờ sau đó, hệ thống tự động của sàn tiếp tục dồn tiền nạp của khách vào Binance 14, và hacker quét thêm ít nhất hai lần, trong đó có 200 triệu USDT, mà không cần thêm bất kỳ chữ ký nào.
So sánh với các ví khác trong cùng vụ càng làm rõ điều này. Khoảng chín đến mười ví của Binance trên nhiều chuỗi bị rút bằng giao dịch "tự ký" thông thường: mỗi khoản đều phải ký riêng và sẽ dừng lại ngay khi hệ thống ký bị chặn. Theo drk, hacker chỉ dùng EIP-7702 đúng một lần, ở nơi có lợi nhất — ví nắm kho token lớn và có quyền với ví USDC.
Với giới bảo mật, đây là một bước ngoặt. Trước Pectra, lộ khả năng ký ví nóng là một cuộc đua: hacker phải ký chuyển từng phần, đội vận hành còn cơ hội chuyển phần còn lại, và khi đã đổi sang ví mới thì khóa cũ vô giá trị. EIP-7702 đảo ngược thế trận: chỉ một chữ ký đúng thời điểm là đủ để biến ví thành "máy rút tiền" riêng của kẻ tấn công. Việc sử dụng EIP-7702 cũng là một chi tiết khiến một số chuyên gia còn dè dặt khi quy trách nhiệm cho nhóm Lazarus, vì công cụ này trước nay chủ yếu gắn với các băng lừa đảo nhỏ.
Cơ chế ủy quyền chỉ đòi hỏi chữ ký, không đòi hỏi giao dịch xuất phát từ ví. Hacker vì thế chỉ cần hệ thống ký của Binance tạo ra các ủy quyền, còn việc gửi lên chuỗi và trả phí do ví riêng của chúng đảm nhận. Trở ngại duy nhất là điều kiện nonce: Binance 14 xử lý hàng nghìn lệnh rút mỗi giờ nên không thể biết trước nonce lúc giao dịch vào block. Hacker giải quyết bằng cách cho ký 50 ủy quyền ứng với 50 nonce liên tiếp và gói chung vào một giao dịch. Vì ủy quyền sai nonce chỉ bị bỏ qua, chiến thuật "rải nonce" này gần như chắc chắn trúng. Nó đã được diễn tập trước trên ví thử với ba nonce.
Kết quả cho thấy rõ sức khuếch đại của EIP-7702. Thay vì phải ký hàng chục lệnh chuyển riêng lẻ, dễ bị phát hiện, hacker dùng một lệnh duy nhất để chuyển 167.464 ETH cùng 63 loại token, trị giá khoảng 2,5 tỷ USD. Vì mã độc chạy với danh tính của Binance 14, chúng còn mượn quyền "operator" của ví này để rút 823 triệu USDC từ một ví hợp đồng khác mà chúng không có khóa. Quan trọng hơn, ủy quyền không mất đi khi Binance đổi khóa nội bộ, vì nó gắn với địa chỉ chứ không gắn với khóa. Trong hơn một giờ sau đó, hệ thống tự động của sàn tiếp tục dồn tiền nạp của khách vào Binance 14, và hacker quét thêm ít nhất hai lần, trong đó có 200 triệu USDT, mà không cần thêm bất kỳ chữ ký nào.
So sánh với các ví khác trong cùng vụ càng làm rõ điều này. Khoảng chín đến mười ví của Binance trên nhiều chuỗi bị rút bằng giao dịch "tự ký" thông thường: mỗi khoản đều phải ký riêng và sẽ dừng lại ngay khi hệ thống ký bị chặn. Theo drk, hacker chỉ dùng EIP-7702 đúng một lần, ở nơi có lợi nhất — ví nắm kho token lớn và có quyền với ví USDC.
Với giới bảo mật, đây là một bước ngoặt. Trước Pectra, lộ khả năng ký ví nóng là một cuộc đua: hacker phải ký chuyển từng phần, đội vận hành còn cơ hội chuyển phần còn lại, và khi đã đổi sang ví mới thì khóa cũ vô giá trị. EIP-7702 đảo ngược thế trận: chỉ một chữ ký đúng thời điểm là đủ để biến ví thành "máy rút tiền" riêng của kẻ tấn công. Việc sử dụng EIP-7702 cũng là một chi tiết khiến một số chuyên gia còn dè dặt khi quy trách nhiệm cho nhóm Lazarus, vì công cụ này trước nay chủ yếu gắn với các băng lừa đảo nhỏ.
Hàm ý cho ngành và người dùng
Bài học lớn nhất từ vụ Binance là một tính năng tạo thuận tiện cho người dùng có thể trở thành vũ khí trong tay kẻ đã chiếm được khả năng ký. Với các sàn giao dịch và đơn vị lưu ký, Blockaid khuyến nghị coi chữ ký ủy quyền EIP-7702 như thao tác đặc quyền, kiểm soát chặt ngang với lệnh rút từ ví lạnh, hoặc chặn hẳn nếu ví nóng không cần tính năng này. Mọi giao dịch, kể cả danh sách ủy quyền bên trong, nên được mô phỏng và đối chiếu chính sách trước khi ký. Song song, cần giám sát liên tục trạng thái mã của các ví nóng, vì một ví vốn trống mã bỗng mang con trỏ ủy quyền là tín hiệu báo động rõ ràng nhất. Khi xử lý sự cố, phải xóa ủy quyền trên chuỗi trước rồi mới đổi khóa và nạp lại tiền.
Với người dùng cá nhân, nguyên tắc đơn giản hơn. Không ký các yêu cầu "nâng cấp tài khoản" hay giao dịch lạ từ trang web không rõ nguồn gốc, bởi chính đặc tả EIP-7702 nói rõ ứng dụng không được tự đề nghị người dùng ký ủy quyền. Nên dùng ví hiển thị rõ hợp đồng đích khi ký ủy quyền, như hãng bảo mật SlowMist khuyến nghị. Ví đã lộ khóa thì coi như mất và không nên nạp thêm tiền.
EIP-7702 vẫn là một bước tiến hợp lý của Ethereum về trải nghiệm người dùng. Nhưng vụ Binance cho thấy hệ thống an ninh của các tổ chức lớn chưa theo kịp những gì tính năng này cho phép, và khoảng trống đó đã phải trả giá bằng hàng tỷ USD.
Với người dùng cá nhân, nguyên tắc đơn giản hơn. Không ký các yêu cầu "nâng cấp tài khoản" hay giao dịch lạ từ trang web không rõ nguồn gốc, bởi chính đặc tả EIP-7702 nói rõ ứng dụng không được tự đề nghị người dùng ký ủy quyền. Nên dùng ví hiển thị rõ hợp đồng đích khi ký ủy quyền, như hãng bảo mật SlowMist khuyến nghị. Ví đã lộ khóa thì coi như mất và không nên nạp thêm tiền.
EIP-7702 vẫn là một bước tiến hợp lý của Ethereum về trải nghiệm người dùng. Nhưng vụ Binance cho thấy hệ thống an ninh của các tổ chức lớn chưa theo kịp những gì tính năng này cho phép, và khoảng trống đó đã phải trả giá bằng hàng tỷ USD.
Được phối hợp thực hiện bởi các chuyên gia của Bkav,
cộng đồng An ninh mạng Việt Nam WhiteHat
và cộng đồng Khoa học công nghệ VnReview
