Lỗi đúc token vô hạn trong crypto là gì?
Lỗi đúc token vô hạn là lỗ hổng trong hợp đồng thông minh, cho phép tạo token mới mà không có giới hạn, quyền hạn hoặc cơ chế kiểm soát nguồn cung phù hợp.Nói đơn giản, đây là lỗi có thể cho phép kẻ tấn công đúc nhiều token hơn mức giao thức dự kiến.Thuật ngữ này thường được dùng không chính thức. Các nhà nghiên cứu bảo mật có thể gọi vấn đề tương tự là lỗ hổng đúc token vô hạn, lỗi đúc không giới hạn, lỗ hổng đúc trái phép hoặc cuộc tấn công đúc token vô hạn.Bảng thuật ngữ crypto của Ledger mô tả cuộc tấn công đúc token vô hạn là tình huống lỗi hợp đồng thông minh hoặc lỗi mã cho phép kẻ tấn công tạo lượng token không giới hạn trong một giao thức.
Lỗi đúc token vô hạn có thể ảnh hưởng đến token có thể thay thế, tài sản wrapped, token quản trị, token phần thưởng, tài sản tổng hợp, token trò chơi, tài sản dạng stablecoin và bộ sưu tập NFT.Thiệt hại có thể nghiêm trọng vì nguồn cung token là một trong những nền tảng cốt lõi tạo nên giá trị crypto.Nếu token được thiết kế để có nguồn cung giới hạn hoặc được kiểm soát nhưng lỗi cho phép đúc không giới hạn, thị trường có thể nhanh chóng mất niềm tin.Trong nhiều trường hợp, kẻ tấn công đúc token, bán chúng vào pool thanh khoản hoặc thị trường, rút cạn tài sản thật và khiến người nắm giữ còn lại các token bị pha loãng hoặc mất giá.Lỗi đúc token vô hạn không phải là cơ chế lạm phát thông thường.Đây là sự cố ngoài dự kiến trong logic token, thiết kế quyền hạn, cơ chế kiểm soát nâng cấp, hạch toán bridge hoặc bảo mật hợp đồng thông minh.Vì sao lỗi đúc token vô hạn đáng quan tâm?
Lỗi đúc token vô hạn đáng quan tâm vì có thể phá hủy tính toàn vẹn kinh tế của một tài sản crypto.Quy tắc nguồn cung token cho người dùng biết có thể tồn tại bao nhiêu token, ai có quyền tạo token và điều kiện để nguồn cung mới được đưa vào thị trường.Nếu có thể vượt qua những quy tắc này, giá thị trường, thanh khoản, quyền biểu quyết, giá trị tài sản thế chấp và niềm tin của người dùng có thể sụp đổ.Rủi ro này đặc biệt nghiêm trọng trong tài chính phi tập trung vì token thường được dùng làm tài sản thế chấp, tài sản trong pool thanh khoản, tài sản thưởng, tài sản biểu quyết hoặc đại diện wrapped cho tài sản trên chain khác.Nếu có thể đúc token giả hoặc không được bảo chứng, những token này có thể được hoán đổi lấy tài sản thật trước khi lỗi được phát hiện.Tổn thất không chỉ mang tính lý thuyết, vì hợp đồng thông minh có thể tự động chuyển giá trị sau khi giao dịch được xác nhận.Khác với lỗi cơ sở dữ liệu thông thường, giao dịch blockchain có thể khó hoặc không thể đảo ngược nếu không có hành động quản trị đặc biệt, can thiệp ở cấp độ chain hoặc thỏa thuận khôi phục.Đó là lý do lỗi đúc token vô hạn được xem là lỗ hổng hợp đồng thông minh có mức độ nghiêm trọng cao.Chúng kết hợp rủi ro kỹ thuật với rủi ro tokenomics trực tiếp.Chỉ một bước kiểm tra quyền hạn bị thiếu cũng có thể gây ra khủng hoảng nguồn cung trên toàn thị trường.Lỗi đúc token vô hạn hoạt động như thế nào?
Lỗi đúc token vô hạn thường bắt nguồn từ một hàm tạo token mới.Hàm này có thể mang tên mint, issue, bridgeMint, depositMint, rewardMint, claim, redeem hoặc tên riêng khác của dự án.Hàm chỉ nên cho phép các tài khoản được phê duyệt, module đáng tin cậy hoặc điều kiện giao thức hợp lệ tạo token.Nếu hàm được công khai, bảo vệ kém, khởi tạo không chính xác hoặc có thể được gọi qua một đường dẫn bất thường, kẻ tấn công có thể kích hoạt hàm.Khi đã có thể đúc token, kẻ tấn công có thể lặp lại thao tác nhiều lần hoặc đúc một lượng cực lớn trong một giao dịch.Sau đó, token mới có thể được bán, chuyển đi, dùng làm tài sản thế chấp, dùng cho quản trị hoặc chuyển qua bridge sang nơi khác.Quy trình cụ thể phụ thuộc vào thiết kế giao thức.Một số lỗi đúc token vô hạn xuất phát từ việc thiếu kiểm soát truy cập.Một số khác do logic hạch toán sai.Một số bắt nguồn từ việc khởi tạo hợp đồng có thể nâng cấp không an toàn.Một số khác do lỗi xác minh bridge, khiến hợp đồng đúc tài sản wrapped mà không xác nhận tài sản thật đã được khóa hoặc đốt ở nơi khác.Lỗi đúc token vô hạn và tiêu chuẩn token
Nhiều token crypto tuân theo các tiêu chuẩn như ERC-20 dành cho token có thể thay thế.Tiêu chuẩn token ERC-20 xác định các hàm phổ biến như totalSupply, balanceOf, transfer, approve và transferFrom.
Tài liệu dành cho nhà phát triển ERC-20 của Ethereum giải thích rằng ERC-20 cung cấp các hàm chuyển token, kiểm tra số dư, kiểm tra tổng nguồn cung và phê duyệt bên thứ ba sử dụng token.
Bản thân tiêu chuẩn ERC-20 không yêu cầu mọi token phải có hàm mint công khai.Chức năng đúc thường là tính năng bổ sung do hợp đồng token hoặc logic dự án kiểm soát.Hợp đồng token an toàn cần xác định ai có thể đúc, có thể đúc bao nhiêu, khi nào được phép đúc và có nguồn cung tối đa hay không.Lỗi đúc token vô hạn thường xuất hiện khi các quy tắc bổ sung này bị thiếu, chưa hoàn chỉnh hoặc liên kết sai với hợp đồng khác.Vì vậy, chỉ sử dụng tiêu chuẩn token là chưa đủ.Token có thể tuân theo một giao diện phổ biến nhưng vẫn chứa logic đúc nguy hiểm.Nguyên nhân phổ biến gây lỗi đúc token vô hạn
Nguyên nhân phổ biến nhất là thiếu kiểm soát truy cập đối với hàm mint.Nếu bất kỳ ai cũng có thể gọi hàm tạo token, bất kỳ ai cũng có thể làm tăng nguồn cung.Một nguyên nhân phổ biến khác là quản lý vai trò không chính xác.Hợp đồng có thể sử dụng các vai trò như owner, admin, minter, bridge hoặc operator nhưng lại gán sai vai trò.Nguyên nhân thứ ba là khâu khởi tạo trong hợp đồng có thể nâng cấp không được bảo vệ.Nếu proxy hoặc hợp đồng triển khai không được khởi tạo đúng cách, kẻ tấn công có thể chiếm vai trò owner hoặc minter.Nguyên nhân thứ tư là xác minh bridge sai sót.Hợp đồng bridge có thể đúc token wrapped mà không xác minh đầy đủ rằng tài sản đã được khóa, đốt hoặc chứng minh trên chain nguồn.Nguyên nhân thứ năm là lỗi tính toán hoặc hạch toán.Hợp đồng có thể tính sai phần thưởng, cổ phần, khoản nạp hoặc số dư có thể nhận, khiến người dùng có thể yêu cầu nhận thưởng nhiều lần.Nguyên nhân thứ sáu là các lệnh gọi bên ngoài không an toàn.Nếu logic đúc tương tác với hợp đồng khác trước khi cập nhật trạng thái nội bộ, kẻ tấn công có thể tìm cách lặp lại hoặc thao túng quy trình.Lỗi đúc token vô hạn và kiểm soát truy cập
Kiểm soát truy cập là một trong những biện pháp bảo vệ quan trọng nhất trước lỗi đúc token vô hạn.Tài liệu kiểm soát truy cập của OpenZeppelin giải thích rằng cơ chế này quy định ai có thể thực hiện các hành động như đúc token, biểu quyết hoặc đóng băng giao dịch chuyển token.
OWASP liệt kê lỗ hổng kiểm soát truy cập trong danh sách 10 rủi ro hàng đầu của hợp đồng thông minh, vì bước kiểm tra quyền hạn yếu hoặc bị thiếu có thể cho phép người dùng trái phép truy cập các chức năng nhạy cảm.
Hàm mint nhạy cảm vì làm thay đổi nguồn cung token.Nếu chỉ treasury, bridge, tập hợp validator, hợp đồng quản trị hoặc module phần thưởng được phép đúc, mã phải thực thi quy tắc đó trong mọi trường hợp.Kiểm soát truy cập tốt không nên chỉ dựa vào niềm tin ngoài chuỗi hoặc sự trung thực của người dùng.Hợp đồng thông minh phải từ chối thao tác đúc trái phép, kể cả khi kẻ tấn công gọi trực tiếp hàm.Nhà phát triển cũng nên tránh trao quyền đúc rộng cho quá nhiều tài khoản.Càng nhiều tài khoản có thể đúc token thì bề mặt tấn công càng lớn.Lỗi đúc token vô hạn và nguồn cung tối đa
Nguồn cung tối đa có thể giảm rủi ro đúc token vô hạn, nhưng chỉ khi được thực thi đúng trong mã.Dự án có thể công bố nguồn cung tối đa trong tài liệu, trang tiếp thị hoặc white paper.Tuy nhiên, giới hạn thực sự có ý nghĩa là giới hạn được hợp đồng thông minh thực thi.Nếu hợp đồng cho phép đúc vượt quá mức đã công bố, người dùng đang dựa vào lời hứa thay vì mã.Giới hạn nguồn cung an toàn phải kiểm tra tổng nguồn cung trước mỗi thao tác đúc.Hàm mint phải thất bại nếu nguồn cung mới vượt quá giới hạn.Việc kiểm tra này phải áp dụng cho mọi đường dẫn đúc, không chỉ hàm mint chính.Ví dụ, hoạt động đúc qua bridge, đúc phần thưởng staking, đúc token khi claim và đúc bởi admin không được vượt qua giới hạn nguồn cung, trừ khi thiết kế quy định rõ điều đó.Giới hạn nguồn cung chỉ áp dụng cho một hàm mà không áp dụng cho hàm khác có thể tạo ra đường dẫn đúc vô hạn bị che giấu.Người dùng và kiểm toán viên cần kiểm tra mọi luồng có thể làm tăng nguồn cung token.Lỗi đúc token vô hạn ở tài sản wrapped
Tài sản wrapped đặc biệt dễ gặp rủi ro đúc token vô hạn vì chúng đại diện cho tài sản được cho là tồn tại ở nơi khác.Token wrapped thường được đúc khi tài sản thật được khóa, đốt hoặc chứng minh bằng cách khác trên chain nguồn hay hệ thống lưu ký.Nếu hợp đồng token wrapped đúc mà không có bằng chứng hợp lệ, token mới có thể không được bảo chứng.Điều này tạo ra vấn đề trực tiếp về khả năng thanh toán.Người dùng có thể tin rằng mỗi token wrapped được bảo chứng bằng một tài sản cơ sở, nhưng vụ khai thác lỗ hổng tạo ra nhiều quyền đòi tài sản hơn khả năng quy đổi của hệ thống.Kẻ tấn công sau đó có thể hoán đổi token wrapped không được bảo chứng lấy tài sản có thanh khoản trước khi thị trường phản ứng.Đó là lý do các hàm đúc qua bridge phải có quy tắc xác minh nghiêm ngặt.Các hàm này cần xác thực thông điệp, chữ ký, nonce, sự kiện trên chain nguồn, cơ chế chống phát lại và quyền của relayer đáng tin cậy.Lỗi đúc token vô hạn ở tài sản wrapped không chỉ là lỗi token.Đây còn là lỗi hạch toán cross-chain.Lỗi đúc token vô hạn trong hệ thống phần thưởng
Hệ thống phần thưởng cũng có thể gây ra lỗi đúc token vô hạn.Hợp đồng staking, farming, trò chơi hoặc khách hàng thân thiết có thể đúc phần thưởng dựa trên hoạt động của người dùng.Nếu công thức tính thưởng sai, người dùng có thể nhận nhiều token hơn dự kiến.Nếu hàm claim không cập nhật số dư đã nhận chính xác, cùng một phần thưởng có thể được nhận nhiều lần.Nếu hợp đồng tin tưởng dữ liệu do người dùng cung cấp, kẻ tấn công có thể gửi dữ liệu giả để tạo ra phần thưởng lớn.Nếu hệ thống phần thưởng không giới hạn lượng phát hành, một lỗi logic nhỏ có thể biến thành vấn đề nguồn cung nghiêm trọng.Hợp đồng phần thưởng cần theo dõi cẩn thận khoản nạp, số cổ phần, lịch sử nhận thưởng, khoản nợ phần thưởng và giới hạn phát hành.Hợp đồng cũng cần kiểm thử các trường hợp biên như không có khoản nạp, khoản nạp rất lớn, nhiều lần claim trong một block và các luồng rút khẩn cấp.Hoạt động đúc phần thưởng cần được xem nghiêm túc như hoạt động đúc từ treasury.Lỗi đúc token vô hạn và hợp đồng có thể nâng cấp
Hợp đồng có thể nâng cấp tạo ra những rủi ro đúc token vô hạn đặc thù.Dự án có thể dùng hợp đồng proxy để nâng cấp logic về sau.Cách này hữu ích khi cần sửa lỗi, bổ sung tính năng hoặc cải thiện hoạt động của giao thức.Tuy nhiên, khả năng nâng cấp cũng làm tăng rủi ro vì admin nâng cấp có thể thay đổi logic đúc token.Nếu proxy được khởi tạo sai, kẻ tấn công có thể chiếm quyền admin.Nếu hàm nâng cấp không được bảo vệ, kẻ tấn công có thể thay logic an toàn bằng logic đúc token độc hại.Nếu bản triển khai mới có lỗi bố cục lưu trữ, dữ liệu về nguồn cung hoặc vai trò có thể bị hỏng.Các lưu ý về bảo mật chính thức của Solidity cảnh báo rằng hợp đồng dạng proxy và thiết kế ủy quyền cần được chú trọng vì hệ thống hợp đồng có thể vô tình trao quyền mạnh cho nhầm thành phần.
Dự án sử dụng hợp đồng có thể nâng cấp nên áp dụng timelock, phê duyệt đa chữ ký, kiểm toán, giám sát và quy trình nâng cấp được công bố rõ ràng.Dấu hiệu cảnh báo lỗi đúc token vô hạn
Một dấu hiệu cảnh báo là hàm mint công khai không có bước kiểm tra quyền hạn dễ nhận thấy.Dấu hiệu khác là hàm mint chỉ kiểm tra các điều kiện yếu như tx.origin, số block hoặc dữ liệu đầu vào do người dùng cung cấp.Dấu hiệu thứ ba là hệ thống vai trò có quyền minter do tài khoản không rõ danh tính, chưa xác minh hoặc do một tài khoản bên ngoài kiểm soát nắm giữ.Dấu hiệu thứ tư là token tuyên bố có nguồn cung cố định nhưng vẫn có các hàm đúc đang hoạt động mà không có giới hạn rõ ràng.Dấu hiệu thứ năm là token bridge có bằng chứng bảo chứng không rõ ràng hoặc tài liệu xác minh thông điệp còn thiếu.Dấu hiệu thứ sáu là hợp đồng phần thưởng có thể đúc token mà không có lịch phát hành tối đa.Dấu hiệu thứ bảy là hợp đồng có thể nâng cấp nhưng không có timelock, chính sách nâng cấp công khai hoặc quyền kiểm soát admin rõ ràng.Không dấu hiệu nào trong số này chứng minh rằng đã xảy ra vụ khai thác lỗ hổng.Tuy nhiên, chúng cho thấy những điểm cần được xem xét kỹ hơn trước khi người dùng tin tưởng token.Cách nhà phát triển ngăn lỗi đúc token vô hạn
Nhà phát triển có thể ngăn lỗi đúc token vô hạn bằng cách thiết kế quy tắc đúc trước khi viết mã.Dự án cần xác định ai được đúc, lý do được đúc, lượng token có thể đúc và thời điểm dừng đúc.Mọi đường dẫn đúc đều phải thực thi kiểm soát truy cập.Mọi đường dẫn đúc đều phải tuân thủ giới hạn nguồn cung hoặc giới hạn phát hành nếu tokenomics yêu cầu.Nhà phát triển nên tránh lặp lại logic đúc trong nhiều hợp đồng vì mã trùng lặp làm tăng khả năng các bước kiểm tra không nhất quán.Nên sử dụng thư viện đã được đánh giá kỹ khi phù hợp và tránh tự tạo logic token nếu không có lý do chính đáng.Nhà phát triển nên viết kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử bất biến và kiểm thử fuzz cho hành vi nguồn cung.Đồng thời, cần kiểm thử để bảo đảm tài khoản không được cấp quyền không thể đúc trong bất kỳ điều kiện thông thường hoặc trường hợp biên nào.Thiết kế an toàn nhất giả định rằng kẻ tấn công sẽ gọi trực tiếp các hàm, sắp xếp lại giao dịch, dùng hợp đồng làm bên gọi và kiểm tra mọi nhánh mã.Kiểm toán rủi ro đúc token vô hạn
Kiểm toán hợp đồng thông minh cần lần theo mọi hàm có thể làm tăng nguồn cung token.Kiểm toán viên cần tìm các hàm mint trực tiếp, lệnh gọi mint nội bộ, yêu cầu nhận thưởng, thông điệp bridge, hợp đồng bọc khoản nạp, hàm admin, hàm nâng cấp và cơ chế khẩn cấp.Kiểm toán viên cần xác nhận từng đường dẫn làm tăng nguồn cung đều có quyền hạn phù hợp.Kiểm toán viên cũng cần xác minh tổng nguồn cung không thể vượt giới hạn hoặc mô hình phát hành dự kiến.Tiêu chuẩn xác minh bảo mật hợp đồng thông minh của OWASP cung cấp các yêu cầu bảo mật và bài kiểm thử có thể giúp đội ngũ thiết kế, rà soát và xác minh hợp đồng thông minh an toàn.
Kiểm toán viên cũng nên xem xét các event vì hoạt động đúc cần phát ra bản ghi on-chain rõ ràng.Nếu nguồn cung có thể thay đổi mà không có event minh bạch, việc giám sát sẽ khó khăn hơn.Kiểm toán không chỉ nên hỏi liệu hoạt động đúc có hiệu quả hay không.Mà còn cần hỏi liệu hoạt động đúc có thể diễn ra khi không nên hay không.Kiểm thử lỗi đúc token vô hạn
Kiểm thử lỗi đúc token vô hạn cần bao gồm cả hành vi thông thường và hành vi khi xảy ra lỗi.Hành vi thông thường là các minter được phê duyệt có thể đúc đúng lượng token trong điều kiện hợp lệ.Hành vi khi xảy ra lỗi là người dùng không được cấp quyền không thể đúc, không thể đúc quá mức và bằng chứng không hợp lệ không thể tạo nguồn cung.Kiểm thử bất biến đặc biệt hữu ích vì phương pháp này kiểm tra xem các quy tắc quan trọng có luôn được duy trì hay không.Một bất biến hữu ích có thể quy định tổng nguồn cung không bao giờ vượt nguồn cung tối đa.Một bất biến khác có thể quy định nguồn cung token wrapped không bao giờ vượt quá tài sản bảo chứng đã xác minh.Bất biến về phần thưởng có thể quy định tổng phần thưởng đã đúc không bao giờ vượt lịch phát hành.Kiểm thử fuzz có thể giúp tìm ra đầu vào bất thường mà con người không nghĩ đến.Xác minh hình thức cũng có thể hữu ích với các hệ thống giá trị cao, đặc biệt khi quy tắc nguồn cung đủ đơn giản để biểu diễn bằng toán học.Việc kiểm thử tốt cần diễn ra trước khi triển khai và tiếp tục sau mỗi lần nâng cấp.Giám sát rủi ro đúc token vô hạn sau khi ra mắt
Bảo mật không kết thúc khi hợp đồng được triển khai.Dự án cần giám sát nguồn cung token, sự kiện mint, thay đổi vai trò, thông điệp bridge, sự kiện nâng cấp và giao dịch chuyển bất thường sau khi ra mắt.Hệ thống giám sát có thể cảnh báo đội ngũ nếu nguồn cung tăng quá nhanh hoặc một địa chỉ bất ngờ đúc token.Hệ thống cũng có thể cảnh báo khi vai trò admin thay đổi, hợp đồng triển khai được nâng cấp hoặc lượng lớn token mới đúc chuyển vào pool thanh khoản.Bảng điều khiển công khai có thể giúp người dùng xác minh nguồn cung token có khớp với tokenomics dự án đã công bố hay không.Cần chuẩn bị kế hoạch ứng phó khẩn cấp trước khi sự cố xảy ra.Kế hoạch có thể bao gồm tạm dừng hợp đồng, vô hiệu hóa hoạt động đúc, liên hệ đối tác bảo mật, thông báo cho người dùng, phối hợp với các nền tảng thanh khoản và công bố báo cáo sau sự cố.Dự án phát hiện lỗi đúc token vô hạn muộn có thể chỉ còn vài phút để giảm thiệt hại.Phát hiện nhanh thường quan trọng ngang với mã tốt.Tác động đến người nắm giữ token
Lỗi đúc token vô hạn có thể gây hại cho người nắm giữ token thông qua sự pha loãng.Nếu kẻ tấn công tạo ra lượng lớn token mới, mỗi token hiện có có thể chỉ còn đại diện cho phần nhỏ hơn trong tổng nguồn cung.Thị trường cũng có thể định giá theo nỗi lo rằng token sẽ tiếp tục được tạo thêm.Điều này có thể làm giảm thanh khoản và khiến người nắm giữ khó thoát vị thế hơn.Trong một số trường hợp, quản trị cũng có thể bị ảnh hưởng.Nếu quyền biểu quyết dựa trên số dư token, kẻ tấn công có thể đúc đủ token để tác động đến các cuộc bỏ phiếu.Trong DeFi, kẻ tấn công có thể dùng token đã đúc làm tài sản thế chấp nếu giao thức cho vay chấp nhận tài sản đó.Điều này có thể gây tổn thất vượt ra ngoài hợp đồng token ban đầu.Tác động có thể lan sang pool thanh khoản, thị trường cho vay, bridge, ví và công cụ theo dõi danh mục.Đó là lý do lỗi đúc token vô hạn trở thành rủi ro hệ thống đối với token được tích hợp vào nhiều giao thức.Tác động đến pool thanh khoản
Pool thanh khoản thường là nơi đầu tiên bộc lộ thiệt hại từ lỗi đúc token vô hạn.Kẻ tấn công có thể đúc token rồi hoán đổi lấy tài sản ghép cặp trong pool.Khi kẻ tấn công bán token giả hoặc token dư thừa, pool bị lấp đầy bởi token bị khai thác và cạn kiệt tài sản ghép cặp.Nhà cung cấp thanh khoản có thể chịu tổn thất vì số dư tài sản trong pool thay đổi đột ngột.Oracle giá dựa vào giá trong pool cũng có thể bị sai lệch.Nếu giao thức khác sử dụng những mức giá đó, thiệt hại có thể lan rộng.Giao thức được thiết kế tốt không nên dựa vào một pool thanh khoản mỏng duy nhất để định giá quan trọng.Thiết kế oracle, độ sâu thanh khoản, cơ chế ngắt mạch và giám sát nguồn cung có thể giảm khả năng lỗi đúc token vô hạn dẫn đến sự cố DeFi diện rộng.Dù vậy, lỗi nguồn cung ban đầu vẫn phải được sửa ở cấp độ hợp đồng.Lỗi đúc token vô hạn và tokenomics lạm phát
Lỗi đúc token vô hạn không giống tokenomics lạm phát.Tokenomics lạm phát nghĩa là giao thức chủ động tạo nguồn cung mới theo các quy tắc đã biết.Lỗi đúc token vô hạn nghĩa là giao thức tạo hoặc cho phép nguồn cung mới vượt ngoài các quy tắc dự kiến.Lạm phát có thể là điều bình thường khi dùng để tài trợ phần thưởng staking, phần thưởng đào, ưu đãi hệ sinh thái hoặc bảo mật validator.Đúc token trái phép không giới hạn là bất thường vì vi phạm mô hình nguồn cung dự kiến.Token có thể có lạm phát nhưng vẫn an toàn nếu việc phát hành được giới hạn, minh bạch và kiểm soát.Token có thể tuyên bố nguồn cung cố định nhưng vẫn không an toàn nếu tồn tại các đường dẫn mint ẩn.Người dùng nên tập trung vào mã có thể thực thi thay vì chỉ dựa vào ngôn từ tiếp thị.Câu hỏi then chốt là nguồn cung mới có tuân theo quy tắc đã công bố hay không và các quy tắc đó có được bảo vệ bằng logic hợp đồng thông minh hay không.Lỗi đúc token vô hạn và tấn công reentrancy
Lỗi đúc token vô hạn và tấn công reentrancy là hai khái niệm khác nhau, dù đôi khi có thể giao nhau.Tấn công reentrancy xảy ra khi lệnh gọi bên ngoài cho phép hợp đồng hoặc kẻ tấn công gọi lại một hàm trước khi lần thực thi đầu tiên hoàn tất.Lỗi đúc token vô hạn tập trung vào việc tạo token trái phép hoặc quá mức.Lỗi reentrancy có thể gây đúc token lặp lại nếu logic mint cập nhật trạng thái sau lệnh gọi bên ngoài.Tuy nhiên, nhiều lỗi đúc token vô hạn không cần đến reentrancy.Nguyên nhân có thể là thiếu kiểm soát truy cập, bằng chứng bridge sai, khởi tạo không an toàn hoặc phép tính nguồn cung sai.Phân biệt hai lỗi này rất quan trọng vì sửa một loại lỗi không tự động khắc phục loại còn lại.Hợp đồng có thể có biện pháp chống reentrancy nhưng vẫn có hàm mint không được bảo vệ.Token an toàn cần cả luồng xử lý an toàn lẫn cơ chế cấp quyền đúc an toàn.Lỗi đúc token vô hạn và phê duyệt không giới hạn
Không nên nhầm lỗi đúc token vô hạn với việc phê duyệt token không giới hạn.Phê duyệt không giới hạn nghĩa là người dùng cho phép một hợp đồng khác chi tiêu lượng token hiện có của họ lên đến mức rất lớn.Đúc token vô hạn nghĩa là có thể tạo token mới vượt quá quy tắc nguồn cung dự kiến.Cả hai đều có thể nguy hiểm nhưng ảnh hưởng đến những phần khác nhau của hệ thống token.Phê duyệt không giới hạn đe dọa số dư của người dùng nếu bên được phê duyệt có hành vi độc hại hoặc bị xâm phạm.Đúc token vô hạn đe dọa toàn bộ nguồn cung token nếu logic đúc có lỗ hổng.Người dùng có thể giảm rủi ro phê duyệt không giới hạn bằng cách quản lý hạn mức token.Người dùng không thể tự sửa lỗi đúc token vô hạn trong hợp đồng token đã triển khai.Để giảm rủi ro đúc token vô hạn, người dùng phải dựa vào thiết kế hợp đồng, kiểm toán, giám sát, quản trị và cách dự án ứng phó.Cách người dùng kiểm tra rủi ro đúc token vô hạn
Người dùng có thể bắt đầu bằng cách kiểm tra hợp đồng token đã được xác minh trên trình khám phá blockchain hay chưa.Hợp đồng đã xác minh cho phép người dùng và kiểm toán viên đọc mã nguồn tương ứng với bytecode đã triển khai.Người dùng có thể tìm các hàm chứa từ như mint, issue, create, reward, bridge, claim hoặc upgrade.Họ có thể kiểm tra xem các hàm này có được bảo vệ bằng vai trò, quyền sở hữu, quản trị hoặc kiểm tra module đáng tin cậy hay không.Họ có thể xem token có nguồn cung tối đa hay không và giới hạn đó có được thực thi on-chain hay không.Họ cũng có thể kiểm tra quyền admin do ví đa chữ ký, timelock hay một tài khoản đơn lẻ không rõ danh tính kiểm soát.Người dùng nên đọc báo cáo kiểm toán nếu có, nhưng cần nhớ rằng kiểm toán không phải là sự bảo đảm.Họ cũng nên kiểm tra xem dự án có hoạt động giám sát công khai, chương trình thưởng tìm lỗi và quy trình ứng phó sự cố rõ ràng hay không.Nếu quy tắc nguồn cung của token không rõ ràng, giả định thận trọng nhất là rủi ro cao hơn.Thực hành tốt nhất dành cho dự án
Dự án nên giữ logic đúc đơn giản và dễ kiểm toán.Nên sử dụng kiểm soát truy cập dựa trên vai trò cho mọi hàm mint.Nên thực thi giới hạn nguồn cung tối đa hoặc giới hạn phát hành khi tokenomics yêu cầu.Nên tránh trao quyền đúc cho các tài khoản bên ngoài thông thường khi có thể sử dụng cơ chế quản trị hoặc đa chữ ký an toàn hơn.Nên dùng timelock cho những thay đổi lớn liên quan đến nguồn cung, trừ khi hệ thống đang ở chế độ khẩn cấp.Nên công bố tokenomics khớp với cách hợp đồng thông minh thực sự hoạt động.Nên giám sát sự kiện mint và thay đổi vai trò theo thời gian thực.Nên tiến hành kiểm toán trước khi ra mắt và sau các lần nâng cấp lớn.Nên lập kế hoạch ứng phó khẩn cấp trước khi người dùng và thanh khoản gặp rủi ro.Nên xem mọi hàm làm tăng nguồn cung là một bề mặt bảo mật trọng yếu.Thực hành tốt nhất dành cho người dùng
Người dùng không nên chỉ dựa vào nguồn cung tối đa được công bố của token.Họ nên kiểm tra hợp đồng có thực sự thực thi giới hạn đó hay không.Họ nên tránh token có quyền mint không rõ ràng, quyền kiểm soát admin ẩn hoặc hợp đồng không thể xác minh.Họ nên thận trọng khi tài sản wrapped có tài liệu bằng chứng yếu hoặc cơ chế bảo chứng không rõ ràng.Họ nên cẩn trọng với token phần thưởng mới ra mắt vì lỗi đúc phần thưởng có thể khó phát hiện sớm.Họ nên theo dõi mức tăng nguồn cung đột ngột, sự kiện mint lớn và giao dịch chuyển token bất thường.Họ nên đa dạng hóa rủi ro thay vì dồn quá nhiều giá trị vào một token chưa được kiểm toán.Họ nên hiểu rằng lợi suất cao có thể che giấu rủi ro hợp đồng thông minh cao.Họ nên nhớ rằng sau khi xảy ra vụ khai thác lỗi đúc token vô hạn, khả năng giá phục hồi không chắc chắn.Những hiểu lầm phổ biến về lỗi đúc token vô hạn
Một hiểu lầm phổ biến là lỗi đúc token vô hạn chỉ ảnh hưởng đến meme token hoặc dự án kém chất lượng.Trên thực tế, mọi token có logic đúc, bridge, phần thưởng hoặc nâng cấp phức tạp đều có thể gặp rủi ro này.Một hiểu lầm khác là tuyên bố nguồn cung cố định đồng nghĩa với an toàn.Nguồn cung cố định chỉ có ý nghĩa nếu hợp đồng thông minh thực thi giới hạn đó trên mọi đường dẫn đúc.Hiểu lầm thứ ba là chỉ cần kiểm soát truy cập là đủ.Kiểm soát truy cập là thiết yếu, nhưng giới hạn nguồn cung, bằng chứng bridge, bước kiểm tra hạch toán, kiểm thử, giám sát và kiểm soát nâng cấp cũng rất quan trọng.Hiểu lầm thứ tư là kiểm toán loại bỏ mọi rủi ro.Kiểm toán giúp giảm rủi ro nhưng không thể bảo đảm không có lỗi hoặc các lần nâng cấp trong tương lai vẫn an toàn.Hiểu lầm thứ năm là đúc token vô hạn luôn cần đến kỹ thuật tấn công tinh vi.Một số sự cố bắt nguồn từ lỗi đơn giản như hàm không được bảo vệ, vai trò sai hoặc quên khởi tạo.Câu hỏi thường gặp
Lỗi đúc token vô hạn nghĩa là gì?
Lỗi đúc token vô hạn là lỗi hợp đồng thông minh cho phép tạo token mới mà không tuân theo giới hạn hoặc quyền hạn dự kiến.Lỗi đúc token vô hạn có giống cuộc tấn công đúc token vô hạn không?
Hai khái niệm có liên quan chặt chẽ, nhưng lỗi là lỗ hổng còn cuộc tấn công là hành vi khai thác lỗ hổng đó.Lỗi đúc token vô hạn có thể phá hủy giá trị của token không?
Có. Lỗi này có thể phá hủy giá trị bằng cách tạo nguồn cung quá mức, rút cạn thanh khoản, làm suy giảm niềm tin và gây pha loãng nghiêm trọng.Nguyên nhân nào gây ra lỗi đúc token vô hạn?
Nguyên nhân phổ biến gồm thiếu kiểm soát truy cập, thiết lập vai trò sai, khởi tạo không an toàn, bằng chứng bridge sai, lỗi hạch toán phần thưởng và giới hạn nguồn cung yếu.Token ERC-20 có thể gặp lỗi đúc token vô hạn không?
Có. Token ERC-20 có thể gặp lỗi này nếu logic đúc bổ sung không an toàn hoặc được kiểm soát kém.Nguồn cung tối đa có ngăn được việc đúc token vô hạn không?
Nguồn cung tối đa chỉ hữu ích nếu hợp đồng thực thi giới hạn chính xác trên mọi đường dẫn đúc có thể có.Tài sản wrapped có thể gặp lỗi đúc token vô hạn không?
Có. Tài sản wrapped có thể gặp lỗi này nếu bridge hoặc hợp đồng mint tạo token không được bảo chứng mà không có bằng chứng hợp lệ.Kiểm toán có thể ngăn lỗi đúc token vô hạn không?
Kiểm toán có thể giảm rủi ro nhưng không thể bảo đảm an toàn, đặc biệt nếu hợp đồng được nâng cấp sau đó hoặc tích hợp với hệ thống mới.Người dùng có thể phát hiện rủi ro đúc token vô hạn bằng cách nào?
Người dùng có thể kiểm tra hợp đồng đã xác minh, hàm mint, vai trò kiểm soát truy cập, giới hạn nguồn cung, báo cáo kiểm toán, quyền admin và sự kiện mint on-chain.Dự án nên làm gì sau khi phát hiện lỗi đúc token vô hạn?
Nếu có thể, dự án nên tạm dừng các chức năng bị ảnh hưởng, ngừng đúc token, bảo vệ thanh khoản còn lại, thông báo cho người dùng, điều tra nguyên nhân gốc rễ và công bố báo cáo sự cố rõ ràng.Lỗi đúc token vô hạn có giống lạm phát không?
Không. Lạm phát là việc phát hành token có kế hoạch, còn lỗi đúc token vô hạn là việc tạo nguồn cung ngoài dự kiến hoặc trái phép.Vì sao kiểm soát truy cập quan trọng đối với việc đúc token?
Kiểm soát truy cập quan trọng vì việc đúc làm thay đổi nguồn cung token và chỉ nên do hợp đồng hoặc tài khoản được cấp quyền thực hiện theo quy tắc nghiêm ngặt.Kết luận
Lỗi đúc token vô hạn là một trong những lỗ hổng hợp đồng thông minh nguy hiểm nhất trong crypto vì có thể phá vỡ quy tắc nguồn cung của token.Lỗi xảy ra khi hợp đồng cho phép đúc token mà không có quyền hạn, giới hạn, bằng chứng hoặc biện pháp kiểm soát hạch toán phù hợp.Hậu quả có thể là pha loãng nghiêm trọng, thanh khoản bị rút cạn, hệ thống tài sản thế chấp bị phá vỡ, quản trị bị ảnh hưởng và niềm tin của người dùng suy giảm.Rủi ro này đặc biệt quan trọng với token có hàm mint, hệ thống phần thưởng, tài sản wrapped, bridge, hợp đồng có thể nâng cấp và cơ chế quản lý vai trò phức tạp.Nhà phát triển có thể giảm rủi ro bằng cách áp dụng kiểm soát truy cập chặt chẽ, thực thi giới hạn nguồn cung, kiểm thử bất biến, kiểm toán mọi đường dẫn mint, bảo vệ quy trình nâng cấp và giám sát thay đổi nguồn cung sau khi ra mắt.Người dùng có thể giảm mức độ rủi ro bằng cách kiểm tra hợp đồng đã xác minh, rà soát quyền mint, nghiên cứu báo cáo kiểm toán, theo dõi thay đổi nguồn cung và tránh token có quyền kiểm soát việc phát hành mới không rõ ràng.Lỗi đúc token vô hạn không phải lạm phát thông thường và cũng không phải lỗi lập trình vô hại.Đây là sự cố ở cấp độ nguồn cung có thể ảnh hưởng đến mọi người nắm giữ và mọi giao thức kết nối với token.Trong crypto, mã kiểm soát tiền và mã đúc kiểm soát nguồn cung.Vì vậy, mọi hàm làm tăng nguồn cung cần được thiết kế, kiểm thử, kiểm toán và giám sát như một phần trọng yếu trong bảo mật token.Có thể bạn cũng thích
WhatsMiner M30S++
Tên miền Web3
Dự án Web3
HOT
Tiền mã hoá thịnh hành hiện nay đang thu hút sự chú ý đáng kể của thị trường
TOP KL
Tiền mã hoá có khối lượng giao dịch cao nhất
Mới được thêm vào
Tiền mã hoá được niêm yết gần đây có thể giao dịch

