2. Permit & Session Key Security
One-time Permit – Chỉ sử dụng đúng một lần
DODEN.IO sử dụng cơ chế permit với đặc điểm:
Mỗi permit chỉ có hiệu lực cho một hành động duy nhất
Sau khi được sử dụng:
permit tự động hết hiệu lực
không thể tái sử dụng
Người chơi muốn thực hiện hành động tiếp theo (ví dụ: chơi ván mới) phải ký permit mới
Cơ chế này đảm bảo:
Không tồn tại quyền chi tiêu kéo dài
Không có “quyền treo” có thể bị lạm dụng trong tương lai
Scope giới hạn của Permit
Mỗi permit được ràng buộc chặt chẽ vào các tham số cụ thể:
Amount: số lượng token chính xác được phép sử dụng
Contract: hợp đồng thông minh được phép thực thi
Nonce: đảm bảo tính duy nhất, chống replay
Expiry (nếu áp dụng): giới hạn thời gian hiệu lực
Do đó:
Permit không thể dùng cho mục đích khác
Không thể tăng số tiền, đổi contract, hay tái sử dụng cho hành động khác
Session Key – Giới hạn phạm vi và thời gian
Session Key được sử dụng để cải thiện trải nghiệm người dùng trong phạm vi cho phép.
Session Key có các đặc điểm sau:
Chỉ có hiệu lực trong một phiên chơi giới hạn
Chỉ được phép thực hiện các hành động đã được định nghĩa trước
Có thể thực hiện chuyển USDT gasless, nhưng chỉ trong hạn mức đã được người dùng cho phép thông qua permit
Không thể:
vượt quá hạn mức chi tiêu đã ký
tự ý cấp quyền mới
mở rộng phạm vi uỷ quyền
Session Key không thay thế private key của người dùng và không tạo ra quyền kiểm soát tài sản không giới hạn.
Worst-case Permit Leak Analysis
(Phân tích kịch bản xấu nhất: lộ chữ ký)
DODEN.IO chủ động xem xét kịch bản permit bị lộ để đảm bảo an toàn trong mọi trường hợp.
Nếu permit bị lộ, attacker có thể làm gì?
Sử dụng permit đó tối đa một lần
Thực hiện đúng hành động đã được ký (ví dụ: đặt cược)
Attacker không thể:
Rút token về ví của mình
Tăng số tiền đã được ký
Tái sử dụng permit cho các hành động khác
Kết quả kinh tế:
Nếu thắng: toàn bộ tiền vẫn chuyển về ví người chơi
Attacker phải tự trả phí gas
Không có lợi ích tài chính cho attacker
➡️ Tấn công trong kịch bản này không mang lại lợi nhuận, chỉ gây gián đoạn tạm thời và không bền vững.
Kết luận
Cơ chế permit và session key của DODEN.IO được thiết kế với mục tiêu:
Không cấp quyền vô hạn
Giới hạn phạm vi uỷ quyền
Giảm thiểu tác động trong kịch bản xấu nhất
Ngay cả khi chữ ký bị lộ, hệ thống vẫn đảm bảo:
Tài sản của người dùng không bị chiếm đoạt
Mọi hành vi tấn công đều không có lợi ích kinh tế
Các trang tiếp theo sẽ tiếp tục phân tích:
luồng dữ liệu frontend – relayer
khả năng quan sát mempool
và các kịch bản front-running
Last updated