Tôi có một thói quen đơn giản mỗi khi khám phá một ứng dụng blockchain mới. Trước khi tương tác với nó, tôi dành vài phút để đọc về cách nó thực sự hoạt động phía sau hậu trường. Hầu hết mọi người tập trung vào giao diện, nhưng tôi luôn tò mò về điều gì xảy ra trước khi một giao dịch được phê duyệt. Sự tò mò đó chính là điều đã dẫn tôi đến @NewtonProtocol .

Trong quá trình tìm hiểu về kiến trúc của nó, tôi bắt gặp khái niệm Data Oracles. Ban đầu, tôi nghĩ oracle chỉ đơn giản là một dịch vụ khác gửi các nguồn cấp dữ liệu giá lên một blockchain. Càng đọc, tôi càng nhận ra Newton tiếp cận ý tưởng này theo cách khác. Thay vì dựa vào thông tin cố định, nó cho phép các thành phần WebAssembly truy xuất hoặc tính toán dữ liệu bên ngoài đúng vào thời điểm đánh giá một chính sách.

Điều đó ngay lập tức nhắc tôi đến một việc mà tôi làm gần như mỗi ngày. Trước khi rời khỏi nhà, tôi không bao giờ dựa vào giả định. Nếu thời tiết có vẻ không chắc chắn, tôi xem dự báo. Nếu tôi đang đi đến một nơi mà mình chưa quen, tôi xác nhận tuyến đường thay vì tin vào điều kiện giao thông của hôm qua. Tôi đưa ra quyết định dựa trên thông tin cập nhật thay vì những phỏng đoán đã lỗi thời.

Data Oracles của Newton đã cho tôi cảm giác tương tự.

Thay vì yêu cầu các chính sách phải hoạt động với thông tin tĩnh, họ có thể yêu cầu chính xác dữ liệu họ cần trong quá trình đánh giá. Oracle nhận đầu vào có cấu trúc thông qua wasm_args, thực hiện các phép tính hoặc truy xuất thông tin bên ngoài thông qua HTTP nếu cần, rồi trả về JSON ngay lập tức trở thành dữ liệu đầu vào cho chính sách Rego dưới dạng data.wasm. Tôi thấy thiết kế này thật sự rất tinh tế vì nó tách biệt logic của chính sách khỏi quá trình thu thập dữ liệu.

Một chi tiết khác tôi đánh giá cao là sự linh hoạt dành cho các nhà phát triển. Một số nhà phát triển thích JavaScript, trong khi những người khác lại làm việc hiệu quả hơn với Rust hoặc Python. Thay vì buộc mọi người phải dùng chỉ một ngôn ngữ lập trình, Newton cho phép tất cả cùng biên dịch thành các thành phần WASM giống hệt nhau bằng cách sử dụng cùng một giao diện WIT. Điều đó có nghĩa là các nhóm có thể làm việc với các công cụ quen thuộc, đồng thời tạo ra các oracle dữ liệu có thể thay thế cho nhau.

Là người dành thời gian để thử nghiệm với tài liệu dành cho nhà phát triển, tôi hiểu rõ giá trị của sự nhất quán đó. Các ngôn ngữ khác nhau không còn tạo ra những hệ sinh thái bị phân mảnh, vì mọi thứ cuối cùng đều tuân theo cùng một thỏa thuận.

Tôi cũng thích cách xử lý việc kiểm tra tính hợp lệ của đầu vào. Việc định nghĩa wasm_args_schema.json giúp mọi người hiểu chính xác oracle sẽ mong đợi thông tin gì trước khi bắt đầu thực thi. Điều này giảm thiểu hiểu lầm và làm cho việc tích hợp trở nên gọn gàng hơn rất nhiều.

Việc đọc qua tài liệu này đã thay đổi cách tôi nhìn nhận các bộ máy chính sách. Trước đây, tôi nghĩ các chính sách chỉ là tập hợp các quy tắc được định sẵn. Giờ tôi hiểu rằng chúng có thể trở thành những hệ thống động, đánh giá thông tin hiện tại đúng vào thời điểm quyết định đó thật sự quan trọng.

Càng tìm hiểu về Newton Protocol, tôi càng cảm thấy triết lý của nó giống với cách tôi đưa ra quyết định trong đời sống hằng ngày. Tôi hiếm khi tin vào các giả định khi có thông tin tốt hơn. Tôi kiểm tra trước, rồi mới hành động. Việc tinh thần đó được phản ánh qua Data Oracles và quá trình đánh giá chính sách cũng là một trong những lý do khiến tôi tiếp tục theo dõi sự tiến triển của Newton.

#Newt #newton $NEWT

NEWT
NEWT
--
--