Chuyển đến nội dung chính
Tori cần kết nối giữa các hợp đồng trên chuỗi và các sàn giao dịch có bù trừ tập trung, và sự kết nối đó cần đến các khóa đặc quyền. Trang này trình bày các vai trò đặc quyền trên hợp đồng mainnet của Tori: mỗi vai trò có thể làm gì, ai nắm giữ, và những gì nằm sau timelock. Mọi vai trò dưới đây đều nằm trên một hợp đồng đã xác minh và mọi bên nắm giữ đều có thể được xác định trên chuỗi, nên mỗi dòng ở đây đều là điều bạn có thể tự kiểm tra. Hai quy tắc thiết kế xuyên suốt toàn bộ ma trận. Đặc quyền tối thiểu: không vai trò nào có thể làm gì ngoài đúng một nhiệm vụ mà tên của nó chỉ ra, và những vai trò chỉ có thể thu hẹp quyền hạn của giao thức là những vai trò được giữ trên các khóa nhanh nhất. Trì hoãn khi mở rộng: mọi thay đổi mở rộng phạm vi tác động của giao thức, như một tài sản thế chấp mới, một điểm đến lưu ký mới, một bản triển khai mới, đều phải chờ công khai 24 giờ trước khi có thể thực thi.

Các khóa được nắm giữ như thế nào

Mô hình lưu ký của một vai trò là một quyết định rủi ro có chủ đích, vì vậy ma trận nêu rõ mô hình này cho từng vai trò. Điều giới hạn các vai trò EOA là hợp đồng chứ không phải cơ chế lưu ký. Mỗi vai trò đều hẹp ngay từ thiết kế: nó thực thi các chỉ thị mà người dùng đã ký, hoặc ghi vào một danh sách, và được kiểm tra theo các hạn mức của chính giao thức trong mọi lần gọi. Ma trận dưới đây trình bày chính xác phạm vi tác động của từng vai trò.

Ma trận vai trò

Minter có thể gửi một lệnh do người dùng ký, và không thể làm gì khác. Người kiểm soát truy cập có thể tước vai trò này chỉ trong một giao dịch mà không cần đủ số chữ ký multisig.

Timelock 24 giờ kiểm soát những gì

Timelock là 0xA952453E39F77108Ee37C1b92de593F1C59A6ef4 với thời gian trì hoãn tối thiểu là 86.400 giây. Timelock giữ vai trò Timelock Admin trên các hợp đồng cốt lõi, nghĩa là bốn thao tác sau không thể diễn ra một cách âm thầm:
  • Nâng cấp hợp đồng. Một bản triển khai mới cho trUSD, strUSD hoặc Minting phải được xếp hàng công khai trước.
  • Một tài sản thế chấp mới. Việc thêm tài sản phải qua timelock; việc gỡ bỏ hoặc vô hiệu hóa có hiệu lực ngay lập tức, vì chiều thay đổi nhanh nên là chiều thay đổi an toàn.
  • Một điểm đến lưu ký mới. addCustodianAddress phải qua timelock. Đây là thao tác quyết định tài sản thế chấp đã nạp có thể được chuyển đến đâu, nên đây là thao tác đáng theo dõi nhất.
  • Nâng hạn mức delta của stablecoin.
Bất kỳ ai cũng có thể theo dõi hàng đợi trên Etherscan. Một thao tác được xếp hàng mà không ai lường trước sẽ hiển thị trong trọn một ngày trước khi có thể thực thi, và vai trò hủy (canceller) nằm trên một khóa có thể chặn thao tác đó chỉ trong một giao dịch.

Giới hạn tốc độ

Mint và đổi lại bị giới hạn theo từng khối, theo từng tài sản và trên toàn hệ thống, ngay ở cấp hợp đồng. Giới hạn này được kiểm tra trong mọi lần gọi và áp dụng cho các vai trò Minter và Redeemer bất kể chúng nhận được lệnh nào. Thay đổi một hạn mức là chức năng của Chủ sở hữu, nên cần đến Safe 3/5; đây không phải điều mà một khóa vận hành có thể tự nới rộng cho chính mình.

Tự kiểm tra

Mọi phân công vai trò trong bảng này đều có thể đọc được từ chuỗi, và không điều nào trong đó cần bạn phải tin suông:
  • Ai nắm giữ một vai trò: hasRole(role, address) trên hợp đồng
  • Ngưỡng chữ ký của Safe: getThreshold() và getOwners() trên Safe
  • Thời gian trì hoãn của timelock: getMinDelay() trên timelock
  • Những gì đang được xếp hàng lúc này: các sự kiện (event) của timelock trên Etherscan
Ngưỡng MPC được lưu trong công cụ chính sách của nhà cung cấp dịch vụ lưu ký chứ không phải trên chuỗi. Chúng tôi đang đề nghị nhà cung cấp xác nhận các ngưỡng này và đưa chúng đi chứng thực độc lập, và dự định công bố kết quả cùng với dữ liệu bằng chứng dự trữ của mình.
Lưu ý về bản dịch máy: Trang này là bản dịch máy từ bản gốc tiếng Anh, chỉ được cung cấp để thuận tiện cho người đọc. Bản dịch có thể có lỗi hoặc thiếu sót và không có giá trị pháp lý. Nếu trang này khác với bản tiếng Anh, bản tiếng Anh được ưu tiên áp dụng. Hãy đọc bản gốc tiếng Anh trước khi dựa vào bất kỳ nội dung nào trên trang này.