Triển khai và ứng dụng của Máy Oracle giá phân tán
Để tránh sự cố điểm đơn, một số dịch vụ máy Oracle giá cả đã áp dụng thiết kế phân tán. Lấy dịch vụ cung cấp giá Bitcoin so với USD làm ví dụ, nó tổng hợp 31 máy Oracle giá cả độc lập để cung cấp dữ liệu cho người dùng.
Hợp đồng của bộ tổng hợp này có thể được xem trên trình duyệt blockchain 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 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 đã chỉ định, để đá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à 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 bộ tổng hợp Bitcoin/USD mà còn có thể cung cấp thông tin giá cho các bộ tổng hợp khác như Ethereum/USD.
Hợp đồng trên chuỗi sẽ trải qua một loạt các bước khi xử lý dữ liệu này: đầu tiên đọc trạng thái hợp đồng hiện tại và tiến hành kiểm tra, sau đó thực hiện công việc chuẩn bị, tiếp theo xác minh từng dữ liệu chữ ký, cuối cùng chọn số trung vị từ các giá trị quan sát đã được sắp xếp và tiến hành ghi chép và kiểm tra. Quá trình kiểm tra này có thể liên quan đến việc tương tác với các hợp đồng khác ( như các nền tảng cho vay nhất định sử dụng Máy Oracle ), chủ yếu là so sánh độ lệch giá giữa các Máy Oracle khác nhau có nằm trong phạm vi chấp nhận hay không.
Để đơn giản hóa quá trình thu thập giá của nhiều loại token, một số hệ thống đã giới thiệu khái niệm Máy Oracle đăng ký (Feed Registry). Điều này có thể được coi là một bộ tổng hợp nhiều Máy Oracle giá cả, người sử dụng có thể trực tiếp đọc dữ liệu giá của các loại token khác nhau thông qua nó, mà không cần thiết lập riêng từng Máy Oracle giá cho mỗi loại token.
Về cơ chế cung cấp giá, dữ liệu giá thường được tổng hợp qua nhiều lớp: đầu tiên là tổng hợp từ nguồn dữ liệu, thu thập dữ liệu giá gốc từ các sàn giao dịch lớn; sau đó là tổng hợp từ các nhà khai thác nút, các nút độc lập lấy và xử lý dữ liệu từ nhiều nhà cung cấp dịch vụ tổng hợp dữ liệu; cuối cùng là 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 số lượng nút phản hồi đã định trước. Cần lưu ý rằng, không phải lúc nào cũng cập nhật giá trên chuỗi, chỉ khi đáp ứng các điều kiện cụ thể ( như ngưỡng sai lệch hoặc ngưỡng nhịp tim ) thì mới kích hoạt việc cập nhật.
Thiết kế này mặc dù nâng cao tính bảo mật và độ tin cậy, nhưng cũng 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 đó, loại máy Oracle giá 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 mà nó đang phải đối mặt.
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.
18 thích
Phần thưởng
18
4
Đăng lại
Chia sẻ
Bình luận
0/400
LadderToolGuy
· 08-10 02:12
Satoshi Nakamoto thật sự! Thuật toán làm chủ!
Xem bản gốcTrả lời0
0xSleepDeprived
· 08-07 07:26
Hãy bóp chết bên A đi, ma phân tán, tổng tắc nghẽn.
Xem bản gốcTrả lời0
LiquidationWatcher
· 08-07 07:22
Đã hiểu, bán short và ngủ ngon, Máy Oracle hàng ngày làm rung động lòng người
Máy Oracle giá phân phối: Nguyên lý thiết kế và hạn chế ứng dụng
Triển khai và ứng dụng của Máy Oracle giá phân tán
Để tránh sự cố điểm đơn, một số dịch vụ máy Oracle giá cả đã áp dụng thiết kế phân tán. Lấy dịch vụ cung cấp giá Bitcoin so với USD làm ví dụ, nó tổng hợp 31 máy Oracle giá cả độc lập để cung cấp dữ liệu cho người dùng.
Hợp đồng của bộ tổng hợp này có thể được xem trên trình duyệt blockchain 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 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 đã chỉ định, để đá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à 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 bộ tổng hợp Bitcoin/USD mà còn có thể cung cấp thông tin giá cho các bộ tổng hợp khác như Ethereum/USD.
Hợp đồng trên chuỗi sẽ trải qua một loạt các bước khi xử lý dữ liệu này: đầu tiên đọc trạng thái hợp đồng hiện tại và tiến hành kiểm tra, sau đó thực hiện công việc chuẩn bị, tiếp theo xác minh từng dữ liệu chữ ký, cuối cùng chọn số trung vị từ các giá trị quan sát đã được sắp xếp và tiến hành ghi chép và kiểm tra. Quá trình kiểm tra này có thể liên quan đến việc tương tác với các hợp đồng khác ( như các nền tảng cho vay nhất định sử dụng Máy Oracle ), chủ yếu là so sánh độ lệch giá giữa các Máy Oracle khác nhau có nằm trong phạm vi chấp nhận hay không.
Để đơn giản hóa quá trình thu thập giá của nhiều loại token, một số hệ thống đã giới thiệu khái niệm Máy Oracle đăng ký (Feed Registry). Điều này có thể được coi là một bộ tổng hợp nhiều Máy Oracle giá cả, người sử dụng có thể trực tiếp đọc dữ liệu giá của các loại token khác nhau thông qua nó, mà không cần thiết lập riêng từng Máy Oracle giá cho mỗi loại token.
Về cơ chế cung cấp giá, dữ liệu giá thường được tổng hợp qua nhiều lớp: đầu tiên là tổng hợp từ nguồn dữ liệu, thu thập dữ liệu giá gốc từ các sàn giao dịch lớn; sau đó là tổng hợp từ các nhà khai thác nút, các nút độc lập lấy và xử lý dữ liệu từ nhiều nhà cung cấp dịch vụ tổng hợp dữ liệu; cuối cùng là 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 số lượng nút phản hồi đã định trước. Cần lưu ý rằng, không phải lúc nào cũng cập nhật giá trên chuỗi, chỉ khi đáp ứng các điều kiện cụ thể ( như ngưỡng sai lệch hoặc ngưỡng nhịp tim ) thì mới kích hoạt việc cập nhật.
Thiết kế này mặc dù nâng cao tính bảo mật và độ tin cậy, nhưng cũng 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 đó, loại máy Oracle giá 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 mà nó đang phải đối mặt.