Audit là gì?
Smart contract security audit là quá trình kiểm tra và đưa ra nhận xét chính xác về smart contract của một dự án cụ thể. Các smart contract thông thường được viết bằng ngôn ngữ lập trình Solidity và được cung cấp thông qua Github. Việc audit đặc biệt có giá trị đối với các dự án DeFi tầm cỡ khi có số lượng giao dịch hàng triệu $ trên chuỗi hoặc dự án có đông đảo người dùng. Đối với người dùng và các nhà đầu tư crypto, việc audit smart contract là điều cần thiết khi đầu tư vào các dự án DeFi mới. Việc audit trở thành một tiêu chuẩn chung cho các dự án được thực hiện nghiêm túc.
Quy trình audit
1. Xác định phạm vi audit. Smart contract và các thông số kỹ thuật, cơ cấu tổng thể của dự án cần audit sẽ được xác định và cung cấp bởi dự án đó cho đơn vị audit.
2. Đơn vị audit sẽ đưa ra báo giá cụ thể dựa theo khối lượng công việc cần thực hiện cho dự án.
3. Chạy bản thử nghiệm cho dự án. Việc thử nghiệm có thể sẽ thay đổi tùy thuộc vào đơn vị audit, công cụ phân tích và phương pháp của đơn vị đó.
4. Đơn vị audit sẽ đưa ra bản nháp báo cáo đầu tiên cho dự án kèm theo các lỗi được tìm thấy và cung cấp cho đội ngũ của dự án để phản hồi cũng như là để sửa chữa các lỗi.
5. Đơn vị audit sẽ đưa ra bản báo cáo cuối cùng về dự án.
Chi phí và thời gian để audit
Chi phí
Phụ thuộc vào người đánh giá, độ dài code và mức dễ đọc của code mà các bên audit sẽ báo giá. Theo một người dùng trên Reddit, dự án 560 dòng code của người này được báo giá 8 nghìn USD bởi Pessimistic, 40 nghìn USD bởi Certik, ngoài ra với Peckshield chúng ta có thể thương lượng được xuống còn 15 - 25 nghìn USD.
Theo thông tin thu thập được, chi phí audit có thể bao gồm một hoặc nhiều dịch vụ khác nhau. Việc tính toán chi phí audit từ các bên thứ 3 còn dựa vào dịch vụ mà dự án lựa chọn và đối tác audit là đơn vị nào để có thể nhận được báo giá thích hợp.
Thời gian
Thời gian để có thể hoàn thành quá trình audit có thể kéo dài từ 2-3 tuần tại thời điểm báo giá. Điều này có thể thay đổi tùy thuộc vào nhu cầu dịch vụ audit và khối lượng công việc cần thực hiện (thông tin thu thập được).
Nếu là giao thức chạy trên mạng BSC, cả quá trình audit có thể chỉ mất 48 tiếng.
Vậy tại sao audit lại là vấn đề quan trọng đối với dự án và người dùng?
Không giống như các hệ thống thông tin tập trung được bảo mật bởi các công ty cung cấp hệ thống đó, các smart contract được đặt niềm tin vào các code hơn là các công ty dự án đó. Đơn giản vì các code của smart contract có thể xử lý và nắm giữ hàng tỷ USD.
Vì việc các smart contract là bất biến và không thể thay đổi sau khi chúng chính thức được triển khai, nên việc bảo mật mã nguồn phải được hoàn thiện trước khi smart contract được phát hành. Một lỗi duy nhất hoặc một lỗ hổng bảo mật có thể khiến hệ thống của dự án vận hàng sai hoặc tạo cơ hội cho tin tặc khai thác smart contract đánh cắp một khoản tiền lớn của chính dự án và người dùng.