Để tránh lỗi đơn điểm và nâng cao độ tin cậy của dịch vụ, một dự án Máy Oracle nổi tiếng đã áp dụng thiết kế Máy Oracle giá phân tán. Lấy ví dụ về việc cung cấp giá Bitcoin so với đô la Mỹ, dịch vụ này đã tổng hợp 31 Máy Oracle giá độc lập để cung cấp dữ liệu cho người dùng.
Thiết kế của bộ hợp nhất này cho phép xem mã nguồn hợp đồng của nó 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ể lấy thông tin về tất cả các máy Oracle ngoại tuyến mà bộ hợp nhất này chứa. Mỗi máy Oracle ngoại tuyến có thể cung cấp dữ liệu giá bằng cách gọi các phương thức cụ thể để phản hồi yêu cầu của người dùng trong bộ hợp nhất. Những máy Oracle ngoại tuyến này thường là một số tài khoản sở hữu bên ngoài (EOA), chúng không chỉ cung cấp dữ liệu cho tỷ giá Bitcoin/đô la mà còn có thể cung cấp thông tin giá cho các cặp tiền tệ khác như Ethereum/đô la.
Quy trình xử lý hợp đồng trên chuỗi chủ yếu bao gồm các bước sau:
Đọc trạng thái hợp đồng hiện tại và thực hiện một loạt kiểm tra.
Thực hiện các công việc chuẩn bị cần thiết.
Kiểm tra chữ ký cho từng dữ liệu chữ ký, đảm bảo tính xác thực và tính toàn vẹn của dữ liệu.
Kiểm tra thứ tự của các giá trị quan sát, chọn giá trị trung vị và đảm bảo nó không vượt quá ngưỡng đã định.
Ghi lại câu trả lời của Máy Oracle lần này và tiến hành xác minh thêm.
Trong quá trình xác thực, sẽ có một loạt các cuộc gọi để cuối cùng so sánh với các nguồn giá khác (chẳng hạn như cái nhìn neo của một sàn giao dịch phi tập trung), đảm bảo rằng độ lệch giá nằm trong phạm vi chấp nhận được.
bảng đăng ký nguồn giá
Để đơn giản hóa quá trình lấy giá của các mã thông báo khác nhau và giảm chi phí quản trị, dự án đã giới thiệu khái niệm sổ đăng ký nguồn giá. Đây là một bộ tổng hợp nguồn giá, đã tích hợp nhiều nguồn dữ liệu giá khác nhau. Người dùng có thể đọc dữ liệu giá trực tiếp thông qua sổ đăng ký này mà không cần phải thiết lập riêng từng nguồn giá cho mỗi mã thông báo.
Cơ chế tổng hợp giá đa tầng
Dữ liệu giá của hệ thống Máy Oracle này được thu thập thông qua nhiều lớp tổng hợp, chủ yếu bao gồm ba cấ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.
Tập hợp nguồn dữ liệu: Dữ liệu giá gốc chủ yếu đến từ các nền tảng giao dịch tập trung và phi tập trung lớn. Các nhà cung cấp dịch vụ tập hợp dữ liệu chuyên nghiệp sẽ thu thập và tích hợp dữ liệu từ những nền tảng này, xem xét khối lượng giao dịch, tính thanh khoản và các yếu tố khác để thực hiện tính toán trọng số.
Tập hợp nhà điều hành nút: Mỗi nhà điều hành nút lấy dữ liệu giá từ nhiều nhà cung cấp dịch vụ tập hợp dữ liệu độc lập, lấy giá trị trung bình và loại bỏ các giá trị bất thường.
Tích hợp mạng Máy Oracle: Tích hợp ở cấp độ mạng toàn bộ thường sử dụng phương pháp trung vị, khi số lượng nút phản hồi đạt giá trị đã thiết lập, lấy giá trị trung vị của dữ liệu giá do các nút này cung cấp làm giá cuối cùng.
Cần lưu ý rằng không phải mọi kết quả giá của mỗi vòng đều được cập nhật lên chuỗi. Chỉ khi một trong hai tham số kích hoạt là ngưỡng sai lệch hoặc ngưỡng nhịp tim được thỏa mãn, thì mới tiến hành cập nhật. Các nguồn giá khác nhau có thể có các thiết lập tham số khác nhau.
Tổng thể, thiết kế này cung cấp cách tiếp cận tiện lợi và mức độ an toàn cao. Tuy nhiên, do cơ chế cập nhật giá của nó có ngưỡng sai lệch, dẫn đến việc cập nhật giá tương đối chậm, có thể từ vài phút đến 24 giờ. Do đó, máy Oracle này chủ yếu phù hợp với các trường hợp ứng dụng không quá nhạy cảm với việc cập nhật giá, đây cũng là giới hạn của nó.
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.
13 thích
Phần thưởng
13
5
Chia sẻ
Bình luận
0/400
StopLossMaster
· 07-09 21:54
Bản cũ mài chậm, kết quả vẫn không chính xác
Xem bản gốcTrả lời0
BakedCatFanboy
· 07-09 16:33
31 cái với cùng một giá? Chậm một chút cũng không sao.
Xem bản gốcTrả lời0
RugPullSurvivor
· 07-06 22:58
Máy Oracle có đáng tin không? Nghe có vẻ chậm.
Xem bản gốcTrả lời0
TestnetScholar
· 07-06 22:55
Thật thơm, chỉ là cập nhật chậm thôi.
Xem bản gốcTrả lời0
DaisyUnicorn
· 07-06 22:43
Máy Oracle bé yêu dễ thương nhưng chạy chậm chạp như một con ốc sên nhỏ~
Máy Oracle giá phân phối: Cơ chế tổng hợp nhiều lớp nâng cao độ tin cậy và an toàn
Thiết kế và triển khai Máy Oracle giá phân phối
Để tránh lỗi đơn điểm và nâng cao độ tin cậy của dịch vụ, một dự án Máy Oracle nổi tiếng đã áp dụng thiết kế Máy Oracle giá phân tán. Lấy ví dụ về việc cung cấp giá Bitcoin so với đô la Mỹ, dịch vụ này đã tổng hợp 31 Máy Oracle giá độc lập để cung cấp dữ liệu cho người dùng.
Thiết kế của bộ hợp nhất này cho phép xem mã nguồn hợp đồng của nó 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ể lấy thông tin về tất cả các máy Oracle ngoại tuyến mà bộ hợp nhất này chứa. Mỗi máy Oracle ngoại tuyến có thể cung cấp dữ liệu giá bằng cách gọi các phương thức cụ thể để phản hồi yêu cầu của người dùng trong bộ hợp nhất. Những máy Oracle ngoại tuyến này thường là một số tài khoản sở hữu bên ngoài (EOA), chúng không chỉ cung cấp dữ liệu cho tỷ giá Bitcoin/đô la mà còn có thể cung cấp thông tin giá cho các cặp tiền tệ khác như Ethereum/đô la.
Quy trình xử lý hợp đồng trên chuỗi chủ yếu bao gồm các bước sau:
Trong quá trình xác thực, sẽ có một loạt các cuộc gọi để cuối cùng so sánh với các nguồn giá khác (chẳng hạn như cái nhìn neo của một sàn giao dịch phi tập trung), đảm bảo rằng độ lệch giá nằm trong phạm vi chấp nhận được.
bảng đăng ký nguồn giá
Để đơn giản hóa quá trình lấy giá của các mã thông báo khác nhau và giảm chi phí quản trị, dự án đã giới thiệu khái niệm sổ đăng ký nguồn giá. Đây là một bộ tổng hợp nguồn giá, đã tích hợp nhiều nguồn dữ liệu giá khác nhau. Người dùng có thể đọc dữ liệu giá trực tiếp thông qua sổ đăng ký này mà không cần phải thiết lập riêng từng nguồn giá cho mỗi mã thông báo.
Cơ chế tổng hợp giá đa tầng
Dữ liệu giá của hệ thống Máy Oracle này được thu thập thông qua nhiều lớp tổng hợp, chủ yếu bao gồm ba cấ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.
Tập hợp nguồn dữ liệu: Dữ liệu giá gốc chủ yếu đến từ các nền tảng giao dịch tập trung và phi tập trung lớn. Các nhà cung cấp dịch vụ tập hợp dữ liệu chuyên nghiệp sẽ thu thập và tích hợp dữ liệu từ những nền tảng này, xem xét khối lượng giao dịch, tính thanh khoản và các yếu tố khác để thực hiện tính toán trọng số.
Tập hợp nhà điều hành nút: Mỗi nhà điều hành nút lấy dữ liệu giá từ nhiều nhà cung cấp dịch vụ tập hợp dữ liệu độc lập, lấy giá trị trung bình và loại bỏ các giá trị bất thường.
Tích hợp mạng Máy Oracle: Tích hợp ở cấp độ mạng toàn bộ thường sử dụng phương pháp trung vị, khi số lượng nút phản hồi đạt giá trị đã thiết lập, lấy giá trị trung vị của dữ liệu giá do các nút này cung cấp làm giá cuối cùng.
Cần lưu ý rằng không phải mọi kết quả giá của mỗi vòng đều được cập nhật lên chuỗi. Chỉ khi một trong hai tham số kích hoạt là ngưỡng sai lệch hoặc ngưỡng nhịp tim được thỏa mãn, thì mới tiến hành cập nhật. Các nguồn giá khác nhau có thể có các thiết lập tham số khác nhau.
Tổng thể, thiết kế này cung cấp cách tiếp cận tiện lợi và mức độ an toàn cao. Tuy nhiên, do cơ chế cập nhật giá của nó có ngưỡng sai lệch, dẫn đến việc cập nhật giá tương đối chậm, có thể từ vài phút đến 24 giờ. Do đó, máy Oracle này chủ yếu phù hợp với các trường hợp ứng dụng không quá nhạy cảm với việc cập nhật giá, đây cũng là giới hạn của nó.