Hiểu Rego: Tại sao các chính sách khai báo lại quan trọng cho ủy quyền trên onchain
...
Một quan niệm sai lầm phổ biến là các quy tắc ủy quyền lúc nào cũng nên nằm trong mã ứng dụng hoặc mã hợp đồng thông minh. Cách tiếp cận này hoạt động tốt ban đầu, nhưng sẽ trở nên khó duy trì khi các yêu cầu tuân thủ, quy tắc truy cập hoặc logic nghiệp vụ thay đổi.
Rego đi theo hướng khác. Là ngôn ngữ chính sách của Open Policy Agent (OPA), Rego cho phép nhà phát triển định nghĩa các quy tắc ủy quyền tách biệt với logic ứng dụng. Thay vì mã hóa cứng mọi quyền hạn, một công cụ chính sách sẽ đánh giá các đầu vào có cấu trúc và đưa ra quyết định dựa trên các quy tắc đã khai báo.
Ý tưởng kiến trúc tương tự cũng xuất hiện trong mô hình ủy quyền của Newton. Thay vì nhúng mọi kiểm tra tuân thủ hoặc ủy quyền vào một hợp đồng, các chính sách được đánh giá trước khi thực thi giao dịch. Newton mô tả điều này như một lớp ủy quyền cho các giao dịch onchain, trong đó các chính sách lập trình có thể áp dụng các điều kiện như danh tính, thẩm quyền pháp lý hoặc giới hạn chi tiêu trước khi thực thi.
Với các nhà phát triển backend, mô hình này khá quen thuộc. Hãy nghĩ về một ứng dụng Express, nơi middleware ủy quyền đánh giá một yêu cầu trước khi controller thực thi. Logic nghiệp vụ tập trung vào hành vi của ứng dụng, trong khi logic chính sách được giữ tập trung và dễ cập nhật hơn.
Sự tách biệt này giúp cải thiện khả năng bảo trì, hỗ trợ kiểm toán và giảm nhu cầu phải sửa đổi logic thực thi cốt lõi mỗi khi yêu cầu ủy quyền thay đổi. Nó cũng tạo ra ranh giới rõ ràng hơn giữa việc thực thi và đánh giá chính sách.
@NewtonProtocol demonstrates how programmable authorization can be introduced as a dedicated infrastructure layer within the $NEWT ecosystem. #Newt
...
Trao đổi kỹ thuật: Khi các ứng dụng blockchain ngày càng phức tạp, liệu việc đánh giá chính sách có nên được xem như một hạ tầng độc lập thay vì nhúng trực tiếp vào logic hợp đồng hay không?
...
Một quan niệm sai lầm phổ biến là các quy tắc ủy quyền lúc nào cũng nên nằm trong mã ứng dụng hoặc mã hợp đồng thông minh. Cách tiếp cận này hoạt động tốt ban đầu, nhưng sẽ trở nên khó duy trì khi các yêu cầu tuân thủ, quy tắc truy cập hoặc logic nghiệp vụ thay đổi.
Rego đi theo hướng khác. Là ngôn ngữ chính sách của Open Policy Agent (OPA), Rego cho phép nhà phát triển định nghĩa các quy tắc ủy quyền tách biệt với logic ứng dụng. Thay vì mã hóa cứng mọi quyền hạn, một công cụ chính sách sẽ đánh giá các đầu vào có cấu trúc và đưa ra quyết định dựa trên các quy tắc đã khai báo.
Ý tưởng kiến trúc tương tự cũng xuất hiện trong mô hình ủy quyền của Newton. Thay vì nhúng mọi kiểm tra tuân thủ hoặc ủy quyền vào một hợp đồng, các chính sách được đánh giá trước khi thực thi giao dịch. Newton mô tả điều này như một lớp ủy quyền cho các giao dịch onchain, trong đó các chính sách lập trình có thể áp dụng các điều kiện như danh tính, thẩm quyền pháp lý hoặc giới hạn chi tiêu trước khi thực thi.
Với các nhà phát triển backend, mô hình này khá quen thuộc. Hãy nghĩ về một ứng dụng Express, nơi middleware ủy quyền đánh giá một yêu cầu trước khi controller thực thi. Logic nghiệp vụ tập trung vào hành vi của ứng dụng, trong khi logic chính sách được giữ tập trung và dễ cập nhật hơn.
Sự tách biệt này giúp cải thiện khả năng bảo trì, hỗ trợ kiểm toán và giảm nhu cầu phải sửa đổi logic thực thi cốt lõi mỗi khi yêu cầu ủy quyền thay đổi. Nó cũng tạo ra ranh giới rõ ràng hơn giữa việc thực thi và đánh giá chính sách.
@NewtonProtocol demonstrates how programmable authorization can be introduced as a dedicated infrastructure layer within the $NEWT ecosystem. #Newt
...
Trao đổi kỹ thuật: Khi các ứng dụng blockchain ngày càng phức tạp, liệu việc đánh giá chính sách có nên được xem như một hạ tầng độc lập thay vì nhúng trực tiếp vào logic hợp đồng hay không?
