Các vụ khai thác The Venus và Mango lộ ra cùng một vấn đề kỹ thuật dưới những điều kiện thị trường rất khác nhau

Một vụ dựa vào sàn oracle đã cũ trong lúc sụp đổ, còn vụ kia dựa vào giá bị thổi phồng bởi thanh khoản mỏng

Không giao thức nào thất bại vì hợp đồng thông minh tính toán sai

Lớp thực thi vẫn nhất quán nội bộ

Thứ thất bại là giả định rằng một mức giá hợp lệ cũng đồng nghĩa với tín hiệu thị trường đáng tin cậy

Sự khác biệt đó trở nên tốn kém khi điều kiện thị trường thay đổi nhanh hơn so với mã code không thể sửa đổi

Hầu hết các giao thức xử lý bằng cách nhúng thêm biện pháp bảo vệ vào phần thực thi thông qua circuit breakers, oracle dự phòng và các logic xác thực bổ sung

Mỗi lớp bảo vệ giảm một nhóm rủi ro trong khi làm hệ thống phức tạp hơn để kiểm toán, nâng cấp và phối hợp khi các dạng lỗi mới xuất hiện

Sự đánh đổi đó khiến tôi chú ý hơn đến các kiến trúc tách biệt policy khỏi phần thực thi thay vì yêu cầu các hợp đồng phải hiểu mọi trường hợp edge case của thị trường

Newton Protocol là một ví dụ theo hướng đó, thông qua các chính sách Rego có thể lập trình được đánh giá trước khi thực thi thay vì mở rộng logic hợp đồng ngay trong bản thân hợp đồng

Oracle lệch nhau, các điều kiện mất neo (depeg), hoặc chất lượng thanh khoản trở thành các quyết định policy thay vì là những giả định vĩnh viễn được nhúng trong code bất biến

Nếu các điều kiện đó thất bại, không có chứng thực (attestation) mật mã nào được tạo ra và việc thực thi đơn giản là dừng lại

Liệu cách tiếp cận này có trở nên phổ biến hay không vẫn còn chưa chắc chắn

Nó bổ sung thêm một lớp phối hợp, và nhiều nhóm có thể vẫn chấp nhận việc thực thi thiếu ngữ cảnh vì các kiến trúc đơn giản hơn sẽ dễ triển khai và duy trì hơn

Nhưng nếu các tác nhân tự động cuối cùng phân bổ vốn mà không có sự giám sát liên tục của con người, thì bài toán hạ tầng khó hơn có thể không nằm ở việc thực thi giao dịch đúng cách

Mà nằm ở việc quyết định những giả định thị trường nào xứng đáng trở thành policy và những giả định nào không bao giờ nên trở thành code
@NewtonProtocol $NEWT #newt $LAB $EVAA