Thiết kế và triển khai hệ thống oracle giá phân tán
Để giải quyết điểm lỗi duy nhất, một số dịch vụ oracle áp dụng thiết kế phân tán. Ví dụ: trong một dịch vụ cung cấp giá Bitcoin bằng USD, một hệ thống tổng hợp 31 oracle giá độc lập để cung cấp cho người dùng dữ liệu đáng tin cậy.
Thiết kế hợp đồng của bộ tổng hợp này cho phép nhiều máy Oracle ngoại tuyến cung cấp dữ liệu giá thông qua việc gọi phương thức transmit để đáp ứng yêu cầu của người dùng. Những máy Oracle ngoại tuyến này thường là các tài khoản bên ngoài (EOA), chúng không chỉ có thể cung cấp dữ liệu cho cặp Bitcoin/USD mà còn có thể cung cấp dịch vụ cho các cặp tiền tệ khác như Ethereum/USD.
Hợp đồng on-chain xử lý dữ liệu do oracle cung cấp thông qua một loạt các bước xác minh nghiêm ngặt:
Đầu tiên đọc trạng thái hợp đồng hiện tại và thực hiện kiểm tra sơ bộ.
Thực hiện các công việc chuẩn bị cần thiết.
Sử dụng hàm ecrecover() để xác minh dữ liệu chữ ký, đảm bảo rằng giá trị hash là kết quả của phép băm trên _report. Đồng thời kiểm tra vai trò của người ký có phải là Signer hay không và ngăn chặn chữ ký trùng lặp.
Kiểm tra xem các quan sát có đúng thứ tự không và chọn giá trị trung vị từ chúng. Đảm bảo rằng dải phân vị không vượt quá phạm vi ngưỡng đặt trước.
Ghi lại câu trả lời của Máy Oracle trong s_transmissions và thực hiện xác minh thêm.
Một số hệ thống sẽ mở rộng quy trình xác thực này hơn nữa, chẳng hạn như bằng cách so sánh sự chênh lệch giá do các Máy Oracle khác nhau cung cấp có nằm trong khoảng chấp nhận được hay không để nâng cao độ tin cậy của dữ liệu.
Để đơn giản hóa quá trình lấy giá của nhiều token, một số nền tảng đã giới thiệu khái niệm Feed Registry. Đây có thể được coi là một công cụ tổng hợp cho PriceFeeds, đã tích hợp nhiều nguồn cấp dữ liệu giá. Với Feed Registry, các nhà phát triển có thể đọc dữ liệu giá trực tiếp mà không cần phải thiết lập nguồn cấp dữ liệu giá riêng cho từng token, giảm đáng kể chi phí quản trị và tăng tính linh hoạt.
! Chainlink (Phần 2) của loạt giải thích Oracle](https://img-cdn.gateio.im/webp-social/moments-28d519adb5b491a0596a00eed45731eb.webp)
Trong cơ chế cung cấp giá, một số hệ thống máy Oracle giá tiên tiến đã áp dụng chiến lược tổng hợp dữ liệu đa tầng:
Tập hợp nguồn dữ liệu: Thu thập dữ liệu giá gốc từ các nền tảng giao dịch tập trung và phi tập trung.
Tập hợp nhà điều hành nút: Các nhà điều hành nút độc lập lấy dữ liệu từ nhiều nhà cung cấp dịch vụ tập hợp dữ liệu và xử lý.
Máy Oracle mạng lưới tổng hợp: Tổng hợp dữ liệu trên toàn mạng, thường sử dụng các phương pháp như tính toán trung vị.
Cơ chế tổng hợp đa lớp này giúp cải thiện độ chính xác và độ tin cậy của dữ liệu. Tuy nhiên, do có các cơ chế kích hoạt cập nhật như ngưỡng sai lệch và ngưỡng nhịp tim, việc cập nhật giá của một số hệ thống có thể tương đối chậm, từ vài phút đến vài giờ. Thiết kế này mặc dù tăng cường tính bảo mật, nhưng cũng hạn chế việc sử dụng của nó trong các tình huống ứng dụng nhạy cảm với giá thời gian thực.
Nói chung, hệ thống máy Oracle giá phân tán có những lợi thế đáng kể trong việc cung cấp dữ liệu đáng tin cậy, nhưng khi chọn và sử dụng vẫn cần cân nhắc các đặc điểm của nó dựa trên nhu cầu ứng dụng cụ thể.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Máy Oracle giá phân tán: Tăng cường độ tin cậy dữ liệu thông qua nhiều lớp tổng hợp
Thiết kế và triển khai hệ thống oracle giá phân tán
Để giải quyết điểm lỗi duy nhất, một số dịch vụ oracle áp dụng thiết kế phân tán. Ví dụ: trong một dịch vụ cung cấp giá Bitcoin bằng USD, một hệ thống tổng hợp 31 oracle giá độc lập để cung cấp cho người dùng dữ liệu đáng tin cậy.
Thiết kế hợp đồng của bộ tổng hợp này cho phép nhiều máy Oracle ngoại tuyến cung cấp dữ liệu giá thông qua việc gọi phương thức transmit để đáp ứng yêu cầu của người dùng. Những máy Oracle ngoại tuyến này thường là các tài khoản bên ngoài (EOA), chúng không chỉ có thể cung cấp dữ liệu cho cặp Bitcoin/USD mà còn có thể cung cấp dịch vụ cho các cặp tiền tệ khác như Ethereum/USD.
Hợp đồng on-chain xử lý dữ liệu do oracle cung cấp thông qua một loạt các bước xác minh nghiêm ngặt:
Một số hệ thống sẽ mở rộng quy trình xác thực này hơn nữa, chẳng hạn như bằng cách so sánh sự chênh lệch giá do các Máy Oracle khác nhau cung cấp có nằm trong khoảng chấp nhận được hay không để nâng cao độ tin cậy của dữ liệu.
Để đơn giản hóa quá trình lấy giá của nhiều token, một số nền tảng đã giới thiệu khái niệm Feed Registry. Đây có thể được coi là một công cụ tổng hợp cho PriceFeeds, đã tích hợp nhiều nguồn cấp dữ liệu giá. Với Feed Registry, các nhà phát triển có thể đọc dữ liệu giá trực tiếp mà không cần phải thiết lập nguồn cấp dữ liệu giá riêng cho từng token, giảm đáng kể chi phí quản trị và tăng tính linh hoạt.
! Chainlink (Phần 2) của loạt giải thích Oracle](https://img-cdn.gateio.im/webp-social/moments-28d519adb5b491a0596a00eed45731eb.webp)
Trong cơ chế cung cấp giá, một số hệ thống máy Oracle giá tiên tiến đã áp dụng chiến lược tổng hợp dữ liệu đa tầng:
Cơ chế tổng hợp đa lớp này giúp cải thiện độ chính xác và độ tin cậy của dữ liệu. Tuy nhiên, do có các cơ chế kích hoạt cập nhật như ngưỡng sai lệch và ngưỡng nhịp tim, việc cập nhật giá của một số hệ thống có thể tương đối chậm, từ vài phút đến vài giờ. Thiết kế này mặc dù tăng cường tính bảo mật, nhưng cũng hạn chế việc sử dụng của nó trong các tình huống ứng dụng nhạy cảm với giá thời gian thực.
Nói chung, hệ thống máy Oracle giá phân tán có những lợi thế đáng kể trong việc cung cấp dữ liệu đáng tin cậy, nhưng khi chọn và sử dụng vẫn cần cân nhắc các đặc điểm của nó dựa trên nhu cầu ứng dụng cụ thể.