Chuyển đến nội dung
Góc nhìn toàn cầu về tài sản sốGÓC NHÌN TOÀN CẦU · BỐI CẢNH ĐỊA PHƯƠNG
ChainView BTC866CHAIN VIEW
Blockchain

Cách kiểm tra quyền nâng cấp hợp đồng thông minh

Một địa chỉ có thể chuyển lời gọi sang implementation khác. Mã đã xác minh ở lớp ngoài chưa đủ hiểu logic hiện tại. Dùng tài liệu và dữ liệu trên chuỗi để tìm proxy, implementation và admin. Ghi khối cùng địa chỉ…

Đọc bằngTiếng Việt简体中文繁體中文English한국어РусскийالعربيةEspañol (México)ไทย
Cách kiểm tra quyền nâng cấp hợp đồng thông minh

Minh họa chủ đề nguyên bản: Sơ đồ chủ đề nguyên bản của ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0

Tìm mã và proxy

Một địa chỉ có thể chuyển lời gọi sang implementation khác. Mã đã xác minh ở lớp ngoài chưa đủ hiểu logic hiện tại. Dùng tài liệu và dữ liệu trên chuỗi để tìm proxy, implementation và admin. Ghi khối cùng địa chỉ: phiên bản đang xem hôm nay có thể khác phiên bản xử lý giao dịch lịch sử, nên kiểm tra theo đúng thời điểm.

Vẽ đường quyền lực

Hỏi ai đề xuất, ai phê duyệt và ai thực thi. Multisig giảm lệ thuộc một khóa nhưng các bên ký có thể cùng một tổ chức. Timelock cho thời gian quan sát nếu không có đường khẩn cấp bỏ qua. Xem quyền tạm dừng, mint, khóa và rút tài sản, không chỉ quyền nâng cấp. Tên vai trò trong giao diện không thay cho điều kiện trong mã.

Kiểm tra thay đổi cụ thể

So mã, cấu hình và bố cục lưu trữ trước sau. Không tương thích storage có thể làm hỏng số dư dù không cố ý. Tìm thử nghiệm và kiểm toán đúng thay đổi; kiểm toán bản cũ không tự bao phủ bản mới. Một tên hàm dễ hiểu không bảo đảm nó chỉ làm điều được hứa. Cần xem cả lời gọi sang hợp đồng khác.

Thiết lập theo dõi hữu ích

Ghi sự kiện đổi admin, đổi implementation và cảnh báo đúng địa chỉ. Thử trên môi trường kiểm thử để chắc giám sát phát hiện thay đổi. Một phần bất biến không làm cả hệ thống bất biến nếu phụ thuộc oracle hay hợp đồng sửa được. Ghi phụ thuộc và cửa thoát trước khi nạp, đồng thời đặt quy trình đọc cảnh báo thay vì chỉ thu thập chúng.

Nguồn tham khảo

  1. OpenZeppelin proxy upgrades (mở trong thẻ mới)
  2. OpenZeppelin access control (mở trong thẻ mới)