Để giải quyết vấn đề lỗi đơn điểm, thiết kế phân tán đã được áp dụng để cung cấp dịch vụ Máy Oracle. Lấy dịch vụ giá BTC đô la làm ví dụ, thông qua việc tích hợp 31 Máy Oracle độc lập để cung cấp dữ liệu cho người dùng.
Thiết kế hợp đồng của bộ tổng hợp này có thể được tra cứu trên trình duyệt khối Ethereum. Bằng cách gọi các phương thức cụ thể trong hợp đồng, có thể xem tất cả các máy Oracle ngoại tuyến mà bộ tổng hợp này chứa.
Mỗi máy Oracle chuỗi ngoài có thể gọi các phương thức chuyên biệt để cung cấp dữ liệu giá, nhằm đáp ứng các yêu cầu của người dùng trong bộ tổng hợp. Những máy Oracle chuỗi ngoài này thường là tài khoản bên ngoài, không chỉ cung cấp dữ liệu cho bộ tổng hợp BTC/USD mà còn có thể cung cấp dịch vụ cho các bộ tổng hợp khác như ETH/USD.
Quá trình xử lý hợp đồng trên chuỗi bao gồm:
Đọc trạng thái hợp đồng hiện tại và thực hiện một loạt kiểm tra
Hoàn thành các công việc chuẩn bị cần thiết
Xác thực dữ liệu chữ ký cho từng người, kiểm tra vai trò của người ký và tính duy nhất của chữ ký.
Sắp xếp các giá trị quan sát, chọn giá trị trung vị và xác minh xem nó có nằm trong phạm vi hợp lý hay không.
Ghi lại kết quả của Máy Oracle lần này và thực hiện kiểm tra cuối cùng
Trong đó, kiểm tra cuối cùng sẽ gọi phương pháp xác minh của hợp đồng cụ thể, chủ yếu so sánh sự chênh lệch giá cả do các Máy Oracle khác nhau đưa ra có nằm trong phạm vi chấp nhận được hay không.
Trung tâm đăng ký nguồn giá
Để tăng cường tính linh hoạt và giảm chi phí quản trị, có thể sử dụng trung tâm đăng ký nguồn giá để kết nối dịch vụ Máy Oracle. Nó tương đương với một bộ tổng hợp nhiều nguồn giá, người sử dụng có thể trực tiếp đọc dữ liệu giá thông qua trung tâm đăng ký mà không cần tự thiết lập từng nguồn giá.
Cơ chế tổng hợp giá đa tầng
Việc thu thập dữ liệu giá trải qua ba cấp độ tổng hợp: tổng hợp nguồn dữ liệu, tổng hợp nhà điều hành nút và tổng hợp mạng Máy Oracle.
Dữ liệu gốc chủ yếu đến từ các nền tảng giao dịch lớn. Một số nhà cung cấp dịch vụ dữ liệu chuyên nghiệp sẽ thu thập và tích hợp những dữ liệu gốc này, thực hiện tính toán theo trọng số dựa trên khối lượng giao dịch và các yếu tố khác, tạo thành lớp tổng hợp đầu tiên.
Lớp thứ hai được hoàn thành bởi các nhà điều hành nút Máy Oracle. Họ lấy giá từ nhiều nhà cung cấp dịch vụ dữ liệu độc lập, lấy giá trị trung bình và loại bỏ các giá trị ngoại lệ, từ đó nâng cao độ tin cậy của dữ liệu.
Lớp cuối cùng là sự tổng hợp của toàn bộ mạng Máy Oracle. Cách phổ biến là lấy giá trị trung bình khi đạt được số lượng nút đã định trước làm giá cuối cùng. Việc cập nhật giá chịu sự kiểm soát của hai tham số là ngưỡng sai lệch và ngưỡng nhịp tim.
Cơ chế tích hợp nhiều lớp này đảm bảo tính chính xác và khả năng chống thao túng của dữ liệu giá. Tuy nhiên, do đặc điểm của cơ chế cập nhật, việc làm mới giá có thể chậm, do đó chủ yếu phù hợp với các tình huống ứng dụng không yêu cầu cao về tính thời gian của giá.
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.
Kiến trúc Máy Oracle đa tầng: Giải quyết vấn đề độ tin cậy và hiệu quả của dữ liệu giá.
Kiến trúc Máy Oracle giá đa dạng
Để giải quyết vấn đề lỗi đơn điểm, thiết kế phân tán đã được áp dụng để cung cấp dịch vụ Máy Oracle. Lấy dịch vụ giá BTC đô la làm ví dụ, thông qua việc tích hợp 31 Máy Oracle độc lập để cung cấp dữ liệu cho người dùng.
Thiết kế hợp đồng của bộ tổng hợp này có thể được tra cứu trên trình duyệt khối Ethereum. Bằng cách gọi các phương thức cụ thể trong hợp đồng, có thể xem tất cả các máy Oracle ngoại tuyến mà bộ tổng hợp này chứa.
Mỗi máy Oracle chuỗi ngoài có thể gọi các phương thức chuyên biệt để cung cấp dữ liệu giá, nhằm đáp ứng các yêu cầu của người dùng trong bộ tổng hợp. Những máy Oracle chuỗi ngoài này thường là tài khoản bên ngoài, không chỉ cung cấp dữ liệu cho bộ tổng hợp BTC/USD mà còn có thể cung cấp dịch vụ cho các bộ tổng hợp khác như ETH/USD.
Quá trình xử lý hợp đồng trên chuỗi bao gồm:
Trong đó, kiểm tra cuối cùng sẽ gọi phương pháp xác minh của hợp đồng cụ thể, chủ yếu so sánh sự chênh lệch giá cả do các Máy Oracle khác nhau đưa ra có nằm trong phạm vi chấp nhận được hay không.
Trung tâm đăng ký nguồn giá
Để tăng cường tính linh hoạt và giảm chi phí quản trị, có thể sử dụng trung tâm đăng ký nguồn giá để kết nối dịch vụ Máy Oracle. Nó tương đương với một bộ tổng hợp nhiều nguồn giá, người sử dụng có thể trực tiếp đọc dữ liệu giá thông qua trung tâm đăng ký mà không cần tự thiết lập từng nguồn giá.
Cơ chế tổng hợp giá đa tầng
Việc thu thập dữ liệu giá trải qua ba cấp độ tổng hợp: tổng hợp nguồn dữ liệu, tổng hợp nhà điều hành nút và tổng hợp mạng Máy Oracle.
Dữ liệu gốc chủ yếu đến từ các nền tảng giao dịch lớn. Một số nhà cung cấp dịch vụ dữ liệu chuyên nghiệp sẽ thu thập và tích hợp những dữ liệu gốc này, thực hiện tính toán theo trọng số dựa trên khối lượng giao dịch và các yếu tố khác, tạo thành lớp tổng hợp đầu tiên.
Lớp thứ hai được hoàn thành bởi các nhà điều hành nút Máy Oracle. Họ lấy giá từ nhiều nhà cung cấp dịch vụ dữ liệu độc lập, lấy giá trị trung bình và loại bỏ các giá trị ngoại lệ, từ đó nâng cao độ tin cậy của dữ liệu.
Lớp cuối cùng là sự tổng hợp của toàn bộ mạng Máy Oracle. Cách phổ biến là lấy giá trị trung bình khi đạt được số lượng nút đã định trước làm giá cuối cùng. Việc cập nhật giá chịu sự kiểm soát của hai tham số là ngưỡng sai lệch và ngưỡng nhịp tim.
Cơ chế tích hợp nhiều lớp này đảm bảo tính chính xác và khả năng chống thao túng của dữ liệu giá. Tuy nhiên, do đặc điểm của cơ chế cập nhật, việc làm mới giá có thể chậm, do đó chủ yếu phù hợp với các tình huống ứng dụng không yêu cầu cao về tính thời gian của giá.