Thiết kế và triển khai hệ thống Máy Oracle giá phân phối
Để giải quyết vấn đề lỗi điểm đơn, một số dự án blockchain đã áp dụng thiết kế máy Oracle giá phân tán. Lấy dịch vụ cung cấp giá Bitcoin so với đô la Mỹ làm ví dụ, một hệ thống đã tổng hợp 31 máy Oracle giá độc lập để cung cấp dịch vụ cho người dùng.
Mã nguồn hợp đồng của bộ tổng hợp này thường có thể được xem trên trình duyệt blockchain. 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 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ể, để đáp ứng yêu cầu của người dùng trong bộ tổng hợp. 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ỉ có thể cung cấp dữ liệu cho một bộ tổng hợp giá tiền điện tử, mà còn có thể phục vụ cho nhiều bộ tổng hợp giá tiền điện tử khác.
Hợp đồng trên chuỗi khi xử lý dữ liệu do Máy Oracle cung cấp sẽ trải 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 một loạt các kiểm tra.
Sau khi kiểm tra, thực hiện các công việc chuẩn bị cần thiết.
Sử dụng thuật toán mã hóa để xác minh từng dữ liệu chữ ký, đảm bảo tính xác thực và toàn vẹn của dữ liệu. Đồng thời kiểm tra xem vai trò của người ký có hợp pháp hay không, và ngăn chặn việc sử dụng lại chữ ký.
Cuối cùng, kiểm tra thứ tự của các quan sát, chọn giá trị trung vị làm kết quả cuối cùng và đảm bảo rằng kết quả này không vượt quá ngưỡng đã thiết lập.
Một số hệ thống còn đưa ra cơ chế xác thực bổ sung, chẳng hạn như so sánh kết quả với các nguồn giá khác, đảm bảo sai lệch nằm trong phạm vi chấp nhận được.
Để đơn giản hóa hơn nữa quy trình sử dụng và giảm chi phí quản trị, một số dự án đã giới thiệu khái niệm "Feed Registry". Điều này có thể được hiểu là một trình tổng hợp nhiều máy Oracle giá, người dùng có thể trực tiếp thông qua nó để đọc dữ liệu giá của các loại tiền điện tử khác nhau mà không cần thiết lập riêng từng máy Oracle giá.
Trong thực tế, dữ liệu giá thường trải qua nhiều lớ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, sau đó được các nhà cung cấp dịch vụ tổng hợp dữ liệu chuyên nghiệp xử lý ban đầu. Các nhà điều hành nút sẽ lấy dữ liệu từ nhiều nhà cung cấp dịch vụ tổng hợp dữ liệu độc lập và thực hiện tổng hợp lần hai. Cuối cùng, toàn bộ mạng Máy Oracle sẽ thực hiện tổng hợp cuối cùng cho dữ liệu của tất cả các nút, thường sử dụng phương pháp trung vị.
Điều đáng lưu ý là không phải mọi cập nhật dữ liệu đều được phản ánh ngay lập tức trên blockchain. Chỉ khi sự thay đổi giá vượt quá ngưỡng cụ thể hoặc đạt đến khoảng thời gian đã định trước, thì mới kích hoạt cập nhật trên chuỗi. Cơ chế này mặc dù đảm bảo tính xác thực của dữ liệu, nhưng cũng dẫn đến tốc độ cập nhật giá tương đối chậm, có thể từ vài phút đến 24 giờ. Do đó, hệ thống Máy Oracle này chủ yếu phù hợp với những tình huống ứng dụng không yêu cầu cao về tốc độ cập nhật 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.
10 thích
Phần thưởng
10
5
Chia sẻ
Bình luận
0/400
NFTRegretful
· 07-16 08:55
Cập nhật chậm mà không gặp vấn đề gì?
Xem bản gốcTrả lời0
DisillusiionOracle
· 07-14 01:51
Có nhiều Máy Oracle như vậy ở đâu? Có tôi là đủ rồi.
Xem bản gốcTrả lời0
DataPickledFish
· 07-14 01:48
Xác thực không dễ dàng như vậy đâu, chỉ cần xem ai là người đầu tiên gặp rắc rối.
Máy Oracle giá phân phối: Thiết kế, thực hiện và thách thức
Thiết kế và triển khai hệ thống Máy Oracle giá phân phối
Để giải quyết vấn đề lỗi điểm đơn, một số dự án blockchain đã áp dụng thiết kế máy Oracle giá phân tán. Lấy dịch vụ cung cấp giá Bitcoin so với đô la Mỹ làm ví dụ, một hệ thống đã tổng hợp 31 máy Oracle giá độc lập để cung cấp dịch vụ cho người dùng.
Mã nguồn hợp đồng của bộ tổng hợp này thường có thể được xem trên trình duyệt blockchain. 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 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ể, để đáp ứng yêu cầu của người dùng trong bộ tổng hợp. 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ỉ có thể cung cấp dữ liệu cho một bộ tổng hợp giá tiền điện tử, mà còn có thể phục vụ cho nhiều bộ tổng hợp giá tiền điện tử khác.
Hợp đồng trên chuỗi khi xử lý dữ liệu do Máy Oracle cung cấp sẽ trải qua một loạt các bước xác minh nghiêm ngặt:
Một số hệ thống còn đưa ra cơ chế xác thực bổ sung, chẳng hạn như so sánh kết quả với các nguồn giá khác, đảm bảo sai lệch nằm trong phạm vi chấp nhận được.
Để đơn giản hóa hơn nữa quy trình sử dụng và giảm chi phí quản trị, một số dự án đã giới thiệu khái niệm "Feed Registry". Điều này có thể được hiểu là một trình tổng hợp nhiều máy Oracle giá, người dùng có thể trực tiếp thông qua nó để đọc dữ liệu giá của các loại tiền điện tử khác nhau mà không cần thiết lập riêng từng máy Oracle giá.
Trong thực tế, dữ liệu giá thường trải qua nhiều lớ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, sau đó được các nhà cung cấp dịch vụ tổng hợp dữ liệu chuyên nghiệp xử lý ban đầu. Các nhà điều hành nút sẽ lấy dữ liệu từ nhiều nhà cung cấp dịch vụ tổng hợp dữ liệu độc lập và thực hiện tổng hợp lần hai. Cuối cùng, toàn bộ mạng Máy Oracle sẽ thực hiện tổng hợp cuối cùng cho dữ liệu của tất cả các nút, thường sử dụng phương pháp trung vị.
Điều đáng lưu ý là không phải mọi cập nhật dữ liệu đều được phản ánh ngay lập tức trên blockchain. Chỉ khi sự thay đổi giá vượt quá ngưỡng cụ thể hoặc đạt đến khoảng thời gian đã định trước, thì mới kích hoạt cập nhật trên chuỗi. Cơ chế này mặc dù đảm bảo tính xác thực của dữ liệu, nhưng cũng dẫn đến tốc độ cập nhật giá tương đối chậm, có thể từ vài phút đến 24 giờ. Do đó, hệ thống Máy Oracle này chủ yếu phù hợp với những tình huống ứng dụng không yêu cầu cao về tốc độ cập nhật giá.