Oracle
Tóm lại Oracle là dịch vụ đưa dữ liệu bên ngoài, thường là giá tài sản, vào blockchain để smart contract sử dụng. Oracle kém có thể gây thiệt hại thật.
Blockchain chỉ nhìn thấy những gì đã được ghi trên chính nó. Smart contract không có cách nào tự tra giá ETH theo đô la, kết quả một trận đấu hay thời tiết. Oracle là cầu nối: một dịch vụ hoặc mạng lưới đọc dữ liệu từ thế giới bên ngoài rồi ghi lên chain, nơi các contract có thể sử dụng.
Trong DeFi, việc phổ biến nhất là cung cấp dữ liệu giá. Các giao thức lending dùng giá từ oracle để quyết định khi nào một khoản vay thiếu tài sản thế chấp và có thể bị thanh lý. Các sàn perpetual futures dùng nó để đánh dấu giá vị thế (mark price) và kích hoạt thanh lý. Một số oracle là mạng phi tập trung, nơi nhiều node độc lập báo cáo một giá trị và mạng lưới công bố giá trị tổng hợp, thường là trung vị (median). Một số khác lấy giá trực tiếp từ pool trên DEX, đôi khi lấy trung bình trong một khoảng thời gian, gọi là giá trung bình theo thời gian (time-weighted average price, TWAP). Việc lấy trung bình khiến cú tăng giá đột ngột ngắn hạn khó bị khai thác hơn, nhưng không loại bỏ được rủi ro, vì kẻ tấn công có đủ vốn vẫn có thể giữ giá bị bóp méo qua nhiều block, và một pool mỏng vẫn có thể bị kéo lệch xa khỏi giá thị trường thật.
Oracle quan trọng với bạn vì contract sẽ hành động theo bất kỳ con số nào nó nhận được. Các giao thức tốt có thêm biện pháp bảo vệ, chẳng hạn từ chối mức giá nhảy quá xa, không nhận dữ liệu cũ (stale), chuyển sang nguồn giá thứ hai, hoặc tạm dừng cho vay, nhưng chúng chỉ bao phủ những tình huống mà người thiết kế đã lường trước. Nhiều vụ khai thác trong quá khứ hoạt động bằng cách dùng flash loan để đẩy giá trong một pool mỏng, khiến giao thức đọc phải mức giá bị bóp méo và kẻ tấn công vay được nhiều hơn rất nhiều so với giá trị thật của tài sản thế chấp. Các token nhỏ có thanh khoản mỏng là loại dễ bị thao túng nhất, nên hãy thận trọng với những giao thức cho phép bạn vay bằng cách thế chấp chúng.
Hãy kiểm tra giá của dự án đến từ đâu. Một mạng oracle uy tín thường khó bị can thiệp hơn so với giá spot lấy từ một pool nhỏ, nhưng chỉ nhìn số lượng node thì chưa đủ. Hãy xem các nguồn dữ liệu bên dưới có độc lập hay không, thanh khoản thực đứng sau mức giá lớn đến đâu và các giá trị được tổng hợp ra sao, vì nhiều node cùng sao chép một thị trường mỏng thì vẫn báo ra một mức giá sai. Cũng cần kiểm tra ai kiểm soát các thiết lập của oracle, vì nếu một ví admin duy nhất có thể đổi nguồn giá thì về thực chất ví đó có thể tự định giá.




