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