Oracle là gì? Các vấn đề khi blockchains sử dụng dữ liệu bên thứ ba - BlockSolFi

Oracle là gì? Các vấn đề khi blockchains sử dụng dữ liệu bên thứ ba

18/04/2022

Oracle là gì? Các vấn đề khi blockchains sử dụng dữ liệu bên thứ ba

Share

Một oracle sẽ gửi dữ liệu từ thế giới bên ngoài, chẳng hạn như nhiệt độ hàng ngày hay số phiếu bầu mà một ứng cử viên chính trị nhận được, tới một blockchain như Ethereum. Sau đó, một hợp đồng thông minh trên blockchain sử dụng dữ liệu được cung cấp để đưa ra quyết định phân phối tiền và phân phối cho ai.

Đây là một ví dụ cụ thể hơn, những người nông dân có thể sẽ mua bảo hiểm mùa vụ đề phòng trường hợp hạn hán làm mất mùa. Nếu thời tiết không thuận lợi cho mùa vụ, công ty bảo hiểm sẽ trả cho người nông dân đó một khoản tiền để bù lỗ.

Một oracle giúp một hợp đồng thông minh (smart contract) thực hiện chuỗi nhiệm vụ này một cách tự động. Hợp đồng thông minh là công cụ được thực hiện bởi các blockchain như Ethereum, công cụ này sẽ chỉ thực thi các điều khoản trong hợp đồng nếu các điều kiện được đáp ứng chính xác. Ethereum cũng là một loại tiền điện tử lớn thứ hai thế giới theo vốn hóa thị trường, với đồng ETH.

Ví dụ: Vào cuối mùa, một oracle về thời tiết thông báo cho hợp đồng thông minh rằng mùa này chỉ mưa 10 ngày hoặc ít hơn. Nó gửi thông tin này trực tiếp đến hợp đồng thông minh, sau đó biết rằng nó phải trả tiền cho người nông dân. Và ngược lại, nếu mùa vụ gặp nhiều mưa hơn, oracle sẽ thông báo cho hợp đồng thông minh và người nông dân sẽ không được trả tiền.

hi
Oracle thời tiết được ứng dụng rộng rãi trên nhiều phương diện

Vấn đề của oracle là gì?

Cách xác định chất lượng của một blockchain như Ethereum là nó có thể chạy được các hợp đồng thông minh. Sau khi được lập trình, hợp đồng thông minh được kiểm soát hoàn toàn bởi blockchain; không có thực thể nào được tin cậy để thực hiện các quy tắc và không người trung gian nào có thể ngăn giao dịch diễn ra nếu các điều kiện cho hợp đồng được đáp ứng. Hợp đồng thông minh chỉ đơn giản thực hiện những gì nó đã được lập trình.

Tuy nhiên, oracle là một nguồn cấp dữ liệu được điều hành bởi một thực thể; trong ví dụ trên, đó là một oracle thời tiết. Trong khi blockchain như Ethereum lại được tạo ra để tránh xa các bên thứ ba, được vận hành với mục đích phân quyền.

hi
Oracle là một nguồn cấp dữ liệu được điều hành bởi một thực thể

Tin cậy một nguồn dữ liệu có thể dẫn đến các vấn đề. Ví dụ: chủ sở hữu nguồn cấp dữ liệu của oracle có thể đăng dữ liệu không chính xác để làm lung lay các hợp đồng thông minh có lợi cho chủ sở hữu nguồn cấp dữ liệu. Ngoài ra, ai đó có thể hack nguồn cấp dữ liệu để thay đổi dữ liệu có lợi cho họ.

Các hợp đồng thông minh không phụ thuộc vào oracles sẽ không có vấn đề này.

Các nhà phát triển vẫn đang nghiên cứu nhiều cách khác nhau để giảm thiểu vấn đề này và tạo ra các oracles mang tính phi tập trung hơn hoặc được bảo vệ chống lại các tác nhân xấu. Một trong những nghiên cứu đó là cho các máy tính oracles sử dụng Trusted Execution Environments (TEEs), các phần cứng đặc biệt được cài thêm bảo mật, khiến chúng khó bị giả mạo hơn.

Những ứng dụng nào sử dụng oracles?

Nhiều ứng dụng Ethereum sử dụng oracles. Ví dụ, thị trường dự đoán Augur cho phép người tham gia đặt cược vào những gì sẽ xảy ra trong tương lai. Những người tham gia có thể đặt cược “có” hoặc “không” cho câu hỏi: “Liệu Joe Biden có thắng trong cuộc bầu cử năm 2024 không?” Augur sẽ sử dụng dữ liệu từ các oracles để tìm ra liệu Biden có thắng hay không, từ đó phân bua cuộc cá cược.

Các nền tảng khác, chẳng hạn như Chainlink, biến oracles trở thành một phần trung tâm của nền tảng và họ đã cải tiến nhiều cách khác nhau để làm cho các oracles chính xác hơn và chống lại những thông tin sai lệch.

Học thêm các kiến thức nền tảng tại mục Cryptopedia và tham gia bàn luận cùng BlockSolFi tại Telegram và Facebook.

Đọc thêm:

BÀI TƯƠNG TỰ