Xây dựng và vận hành hệ thống Máy Oracle giá phân tán
Trong dịch vụ Máy Oracle, lỗi điểm đơn là một vấn đề phổ biến. Để giải quyết vấn đề này, một hệ thống Máy Oracle giá phân tán đã ra đời. Lấy ví dụ về dịch vụ giá BTC USD, hệ thống này tích hợp 31 Máy Oracle giá độc lập, cùng nhau cung cấp dịch vụ dữ liệu đáng tin cậy hơn cho người dùng.
Thiết kế hợp đồng của hệ thống tổng hợp này khéo léo giải quyết rủi ro có thể phát sinh từ nguồn dữ liệu duy nhất. 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 tham gia. Mỗi Máy Oracle ngoại tuyến đều có thể cung cấp dữ liệu giá thông qua các phương thức được chỉ định, nhằm đáp ứng yêu cầu của người dùng trong bộ tổng hợp. Những Máy Oracle này thường là Tài khoản sở hữu bên ngoài (EOA), không chỉ cung cấp dữ liệu cho BTC/USD mà còn có thể phục vụ cho các cặp giá khác như ETH/USD.
Hợp đồng trên chuỗi tuân theo quy trình nghiêm ngặt khi xử lý dữ liệu: đầu tiên đọc trạng thái hiện tại và thực hiện một loạt các kiểm tra, sau đó thực hiện các công việc chuẩn bị cần thiết. Tiếp theo, hợp đồng sẽ xác minh từng dữ liệu chữ ký, đảm bảo rằng người ký có quyền thích hợp và ngăn chặn việc ký lặp lại. Cuối cùng, hợp đồng sẽ sắp xếp các giá trị quan sát, chọn giá trị trung vị và đảm bảo rằng giá trị đó nằm trong phạm vi ngưỡng đã thiết lập.
Để nâng cao độ tin cậy của dữ liệu, hệ thống còn đưa ra cơ chế xác thực bổ sung. Ví dụ, trong một số trường hợp ứng dụng, giá thu được sẽ được so sánh với dữ liệu từ các nguồn độc lập khác, đảm bảo rằng độ lệch nằm trong phạm vi chấp nhận được.
Ngoài ra, để đơn giản hóa quá trình lấy giá của các loại token khác nhau, các nhà phát triển đã thiết kế hệ thống Feed Registry. Hệ thống này có thể hiểu là một bộ tổng hợp nhiều nguồn dữ liệu giá, người dùng có thể trực tiếp sử dụng nó để đọc dữ liệu giá của các loại token khác nhau mà không cần thiết lập riêng từng nguồn dữ liệu giá.
Trong thực tế, việc tạo ra dữ liệu giá trải qua nhiều lớp tổng hợp. Đầu tiên là tổng hợp ở cấ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 lớn. Sau đó là tổng hợp ở cấp độ nhà điều hành nút, mỗi nhà điều hành 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à xử lý. Cuối cùng là tổng hợp ở cấp độ toàn bộ mạng Máy Oracle, thường sử dụng phương pháp trung vị, tính toán giá cuối cùng sau khi nhận đủ phản hồi từ các nút.
Cần lưu ý rằng không phải lúc nào kết quả tính toán cũng được cập nhật lên chuỗi. Hệ thống đã thiết lập hai tham số kích hoạt là ngưỡng sai lệch và ngưỡng nhịp tim, chỉ khi thỏa mãn một trong hai điều kiện thì mới tiến hành cập nhật. Cơ chế này mặc dù đảm bảo tính ổn định của dữ liệu, nhưng cũng dẫn đến tốc độ cập nhật giá chậm, có thể từ vài phút đến 24 giờ. Do đó, hệ thống Máy Oracle này phù hợp hơn với các trường hợp ứng dụng không yêu cầu cao về tính thời điểm 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.
8 thích
Phần thưởng
8
3
Chia sẻ
Bình luận
0/400
TokenGuru
· 14giờ trước
Các dự án cũ đều không hoạt động được nữa mà còn chơi bẫy này.
Máy Oracle giá phân tán: Giải pháp mới nâng cao độ tin cậy dữ liệu Tài sản tiền điện tử
Xây dựng và vận hành hệ thống Máy Oracle giá phân tán
Trong dịch vụ Máy Oracle, lỗi điểm đơn là một vấn đề phổ biến. Để giải quyết vấn đề này, một hệ thống Máy Oracle giá phân tán đã ra đời. Lấy ví dụ về dịch vụ giá BTC USD, hệ thống này tích hợp 31 Máy Oracle giá độc lập, cùng nhau cung cấp dịch vụ dữ liệu đáng tin cậy hơn cho người dùng.
Thiết kế hợp đồng của hệ thống tổng hợp này khéo léo giải quyết rủi ro có thể phát sinh từ nguồn dữ liệu duy nhất. 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 tham gia. Mỗi Máy Oracle ngoại tuyến đều có thể cung cấp dữ liệu giá thông qua các phương thức được chỉ định, nhằm đáp ứng yêu cầu của người dùng trong bộ tổng hợp. Những Máy Oracle này thường là Tài khoản sở hữu bên ngoài (EOA), không chỉ cung cấp dữ liệu cho BTC/USD mà còn có thể phục vụ cho các cặp giá khác như ETH/USD.
Hợp đồng trên chuỗi tuân theo quy trình nghiêm ngặt khi xử lý dữ liệu: đầu tiên đọc trạng thái hiện tại và thực hiện một loạt các kiểm tra, sau đó thực hiện các công việc chuẩn bị cần thiết. Tiếp theo, hợp đồng sẽ xác minh từng dữ liệu chữ ký, đảm bảo rằng người ký có quyền thích hợp và ngăn chặn việc ký lặp lại. Cuối cùng, hợp đồng sẽ sắp xếp các giá trị quan sát, chọn giá trị trung vị và đảm bảo rằng giá trị đó nằm trong phạm vi ngưỡng đã thiết lập.
Để nâng cao độ tin cậy của dữ liệu, hệ thống còn đưa ra cơ chế xác thực bổ sung. Ví dụ, trong một số trường hợp ứng dụng, giá thu được sẽ được so sánh với dữ liệu từ các nguồn độc lập khác, đảm bảo rằng độ lệch nằm trong phạm vi chấp nhận được.
Ngoài ra, để đơn giản hóa quá trình lấy giá của các loại token khác nhau, các nhà phát triển đã thiết kế hệ thống Feed Registry. Hệ thống này có thể hiểu là một bộ tổng hợp nhiều nguồn dữ liệu giá, người dùng có thể trực tiếp sử dụng nó để đọc dữ liệu giá của các loại token khác nhau mà không cần thiết lập riêng từng nguồn dữ liệu giá.
Trong thực tế, việc tạo ra dữ liệu giá trải qua nhiều lớp tổng hợp. Đầu tiên là tổng hợp ở cấ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 lớn. Sau đó là tổng hợp ở cấp độ nhà điều hành nút, mỗi nhà điều hành 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à xử lý. Cuối cùng là tổng hợp ở cấp độ toàn bộ mạng Máy Oracle, thường sử dụng phương pháp trung vị, tính toán giá cuối cùng sau khi nhận đủ phản hồi từ các nút.
Cần lưu ý rằng không phải lúc nào kết quả tính toán cũng được cập nhật lên chuỗi. Hệ thống đã thiết lập hai tham số kích hoạt là ngưỡng sai lệch và ngưỡng nhịp tim, chỉ khi thỏa mãn một trong hai điều kiện thì mới tiến hành cập nhật. Cơ chế này mặc dù đảm bảo tính ổn định của dữ liệu, nhưng cũng dẫn đến tốc độ cập nhật giá chậm, có thể từ vài phút đến 24 giờ. Do đó, hệ thống Máy Oracle này phù hợp hơn với các trường hợp ứng dụng không yêu cầu cao về tính thời điểm của giá.