Các điểm chính

  • Oracle blockchain là các dịch vụ kết nối smart contract với dữ liệu từ thế giới bên ngoài, chẳng hạn như nguồn cấp giá, số liệu thời tiết hoặc kết quả sự kiện.

  • Oracle có thể được phân loại theo nguồn dữ liệu (phần mềm vs. phần cứng), hướng (đầu vào vs. đầu ra) và mô hình niềm tin (tập trung vs. phi tập trung).

  • Vấn đề oracle đề cập đến rủi ro rằng một oracle bị xâm phạm hoặc không chính xác có thể làm sai lệch các smart contract dựa vào nó.

  • Các mạng oracle phi tập trung giải quyết rủi ro này bằng cách lấy dữ liệu từ nhiều nhà cung cấp độc lập thay vì dựa vào một điểm duy nhất.

Binance Academy courses banner

Giới thiệu

Oracle blockchain là một dịch vụ bên thứ ba đưa dữ liệu bên ngoài vào mạng blockchain. Smart contract là các chương trình thực thi tự động khi đáp ứng các điều kiện cụ thể, nhưng chúng chỉ có thể đọc dữ liệu tồn tại trên chính blockchain của chúng. Oracle giải quyết giới hạn này bằng cách đóng vai trò như “cầu nối” giữa logic trên chuỗi và thông tin ngoài chuỗi.

Oracle là yếu tố thiết yếu đối với tài chính phi tập trung (DeFi) và các ứng dụng blockchain khác. Nếu không có dữ liệu bên ngoài chính xác, smart contract không thể phản hồi các sự kiện trong thế giới thực như biến động giá tài sản, kết quả thể thao hoặc xác nhận giao hàng. Bài viết này giải thích oracle hoạt động như thế nào, các loại chính, những thách thức mà chúng gặp phải và cách lĩnh vực này đã phát triển trong những năm gần đây.

Oracle Blockchain là gì?

Oracle blockchain không phải là nguồn dữ liệu bản thân nó. Đó là lớp có nhiệm vụ truy vấn, xác minh và chuyển tiếp thông tin bên ngoài tới smart contract. Dữ liệu có thể có nhiều dạng: giá tài sản, nhiệt độ đo bởi cảm biến, kết quả trận đấu thể thao hoặc xác nhận rằng một khoản thanh toán đã được nhận.

Khi một smart contract cần thông tin bên ngoài, nó sẽ gửi yêu cầu đến một oracle. Sau đó oracle sẽ truy xuất dữ liệu từ một hoặc nhiều nguồn ngoài chuỗi, đóng gói dữ liệu theo định dạng mà smart contract có thể xử lý và gửi lên chuỗi. Smart contract sẽ tiếp theo thực thi dựa trên những gì nó nhận được.

Vì smart contract thực thi theo cách xác định (deterministic) dựa trên dữ liệu mà chúng nhận, độ tin cậy của oracle ảnh hưởng trực tiếp đến độ tin cậy của hợp đồng. Một oracle cung cấp dữ liệu không chính xác hoặc bị thao túng có thể khiến smart contract thực thi sai, từ đó có thể dẫn đến tổn thất tài chính.

Ví dụ về cách oracle hoạt động

Giả sử có hai người đặt cược vào kết quả một trận đấu thể thao và khóa tiền của họ trong một smart contract. Hợp đồng được thiết kế để giải phóng số tiền cho người chiến thắng khi biết kết quả. Vì blockchain không thể truy cập trực tiếp kết quả trận đấu, smart contract cần một oracle để cung cấp kết quả đó.

Sau khi trận đấu kết thúc, oracle truy vấn một nguồn dữ liệu đáng tin cậy, lấy kết quả và gửi tới smart contract. Sau đó, hợp đồng sẽ tự động phân phối tiền dựa trên kết quả. Nếu không có oracle, không người tham gia nào có thể kích hoạt hợp đồng nếu thiếu sự đồng ý của người còn lại—điều đó sẽ tái tạo lại vấn đề niềm tin mà hợp đồng được thiết kế để loại bỏ.

Các loại oracle trên blockchain

Oracle có thể được phân loại theo nhiều cách tùy thuộc vào dữ liệu đến từ đâu, dòng chảy theo hướng nào và việc niềm tin được quản lý ra sao.

Oracle phần mềm

Oracle phần mềm truy xuất dữ liệu từ các nguồn trực tuyến như website, API và cơ sở dữ liệu. Đây là loại phổ biến nhất và được dùng để cung cấp thông tin thời gian thực như giá tài sản, tỷ giá hối đoái hoặc trạng thái chuyến bay. Vì chúng kết nối với Internet, có thể truyền dữ liệu nhanh chóng và liên tục.

Oracle phần cứng

Oracle phần cứng kết nối các thiết bị trong thế giới thực với blockchain. Ví dụ, một cảm biến trên thùng container vận chuyển có thể phát hiện khi hàng hóa đến nơi và chuyển tiếp thông tin đó tới một smart contract, sau đó smart contract tự động giải phóng thanh toán. Máy quét mã vạch, bộ theo dõi GPS và cảm biến nhiệt độ là những ví dụ phổ biến về nguồn dữ liệu oracle phần cứng.

Oracle đầu vào và oracle đầu ra

Oracle đầu vào (inbound) đưa dữ liệu từ các nguồn bên ngoài vào một smart contract. Oracle đầu ra (outbound) đi theo hướng ngược lại, truyền thông tin từ một smart contract đến một hệ thống bên ngoài. Oracle đầu ra có thể, chẳng hạn, kích hoạt một khóa thông minh vật lý để mở khi một khoản thanh toán trên chuỗi được xác nhận.

Oracle tập trung

Oracle tập trung được điều khiển bởi một thực thể duy nhất. Mặc dù dễ triển khai, oracle tập trung tạo ra một điểm lỗi đơn lẻ. Nếu nhà cung cấp bị xâm phạm, ngừng hoạt động hoặc gửi dữ liệu không chính xác, thì mọi smart contract phụ thuộc vào nó đều bị ảnh hưởng. Vì lý do này, oracle tập trung nhìn chung không phù hợp cho các trường hợp sử dụng giá trị cao hoặc có yếu tố đối kháng.

Oracle phi tập trung

Oracle phi tập trung tổng hợp dữ liệu từ nhiều nguồn độc lập để giảm tác động của bất kỳ sự cố hoặc thao túng đơn lẻ nào. Thay vì dựa vào một nhà cung cấp, smart contract nhận dữ liệu từ một mạng lưới các node, và giá trị cuối cùng được xác định bởi đồng thuận hoặc tổng hợp có trọng số.

Oracle phi tập trung không loại bỏ hoàn toàn niềm tin, nhưng phân tán niềm tin đó ra nhiều người tham gia. Điều này khiến việc thông đồng hoặc thao túng trở nên khó khăn và tốn kém hơn đáng kể.

Oracle dành riêng cho hợp đồng

Oracle dành riêng cho hợp đồng được xây dựng để phục vụ một smart contract duy nhất. Mặc dù điều này cho phép nhà phát triển tùy chỉnh oracle chính xác cho trường hợp sử dụng của họ, việc xây dựng và bảo trì lại tốn thời gian và chi phí. Hầu hết các ứng dụng hiện đại sử dụng các mạng oracle dùng chung, đa mục đích thay vì tự xây oracle riêng.

Oracle con người

Trong một số trường hợp, những cá nhân có kiến thức chuyên môn sẽ đóng vai trò oracle. Một chuyên gia pháp lý có thể xác minh các điều khoản của hợp đồng, hoặc một nhà báo có thể xác nhận kết quả của một sự kiện. Oracle con người có thể xác thực danh tính của họ bằng các phương pháp mật mã, nhưng vẫn đưa vào nhận định của con người và các rủi ro liên quan.

Vấn đề Oracle

“Vấn đề Oracle” đề cập đến thách thức cốt lõi của việc tin cậy dữ liệu bên ngoài trong một hệ thống phi tín nhiệm. Blockchain được thiết kế để chống sửa đổi, nhưng oracle lại tạo ra sự phụ thuộc vào thông tin ngoài chuỗi khối, nằm ngoài cơ chế đồng thuận của blockchain. Điều này tạo ra một lỗ hổng.

Nếu một oracle cung cấp dữ liệu sai—dù do lỗi kỹ thuật, bị thao túng dữ liệu hay một cuộc tấn công man-in-the-middle—các smart contract dựa vào đó sẽ thực thi không đúng. Việc thao túng oracle đã từng được khai thác trong một số sự cố DeFi, khi kẻ tấn công tạm thời làm méo các nguồn cấp dữ liệu giá để kích hoạt các điều kiện hợp đồng có lợi và rút tiền.

Mạng oracle phi tập trung là phản hồi kiến trúc chính cho vấn đề này. Bằng cách yêu cầu nhiều nhà cung cấp dữ liệu độc lập đồng ý về một giá trị trước khi gửi lên chuỗi, các mạng này khiến việc thao túng trở nên khó khăn hơn đáng kể. Các động lực kinh tế mật mã như staking và slashing thường được dùng để gắn hành vi của node oracle với độ chính xác.

Những phát triển gần đây trong Oracle của Blockchain

Hạ tầng oracle đã mở rộng đáng kể vượt khỏi các nguồn cấp giá đơn giản. Các giao thức nhắn tin xuyên chuỗi hiện sử dụng mạng oracle để xác minh và chuyển tiếp trạng thái giữa các blockchain khác nhau, cho phép tài sản và hướng dẫn di chuyển qua nhiều mạng. Điều này quan trọng đối với các ứng dụng phi tập trung (DApps) hoạt động đồng thời trên nhiều chuỗi.

Mô hình oracle “pull thời gian thực” cũng đã xuất hiện như một lựa chọn thay thế cho mô hình “push” truyền thống. Trong mô hình pull, dữ liệu được công bố ngoài chuỗi và chỉ được “kéo” lên chuỗi khi một smart contract cần đến, giúp giảm chi phí gas và độ trễ. Cách tiếp cận này ngày càng phổ biến cho các ứng dụng DeFi tần suất cao như nền tảng giao dịch perpetual.

Sự tăng trưởng của token hóa tài sản thế giới thực đã tạo ra nhu cầu đối với một nhóm dữ liệu oracle mới: hồ sơ sở hữu hợp pháp, xếp hạng tín dụng, giao hàng hàng hóa và xác minh danh tính. Các trường hợp sử dụng này yêu cầu oracle chuyển tiếp không chỉ dữ liệu số mà còn thông tin có cấu trúc ở cấp độ tài liệu, đặt ra những thách thức mới cho thiết kế oracle.

Các framework tác nhân AI (AI agent) cũng bắt đầu tích hợp mạng oracle như một nguồn dữ liệu đầu vào cho việc ra quyết định tự động trên chuỗi. Trong các thiết lập này, một tác nhân AI sử dụng dữ liệu thị trường hoặc môi trường do oracle cung cấp để kích hoạt hành động của smart contract mà không cần can thiệp của con người. Điều này làm tăng tầm quan trọng của độ chính xác dữ liệu, vì sai sót có thể tự động lan truyền.

Câu hỏi thường gặp (FAQ)

Oracle blockchain là gì, nói đơn giản?

Oracle blockchain là một dịch vụ cung cấp cho smart contract các thông tin từ bên ngoài blockchain. Smart contract chỉ có thể truy cập dữ liệu được lưu trên chính mạng của mình, vì vậy oracle đóng vai trò như “người đưa tin” để truy xuất và chuyển giao dữ liệu bên ngoài, chẳng hạn như giá, số liệu thời tiết hoặc kết quả sự kiện.

Vì sao oracle quan trọng đối với DeFi?

Hầu hết các ứng dụng DeFi phụ thuộc vào giá tài sản hiện tại để hoạt động đúng. Nền tảng cho vay cần giá chính xác để xác định giá trị tài sản thế chấp. Nền tảng phái sinh cần chúng để tính lãi/lỗ. Nếu không có oracle đáng tin cậy, các ứng dụng này không thể vận hành an toàn. Vì vậy, độ chính xác của các giao thức DeFi phụ thuộc trực tiếp vào chất lượng của các mạng oracle mà chúng sử dụng.

Vấn đề oracle là gì?

Vấn đề oracle là thách thức đưa dữ liệu bên ngoài đáng tin cậy vào một hệ thống được thiết kế theo hướng phi tín nhiệm. Blockchain xác minh các giao dịch nội bộ của chính mình thông qua đồng thuận, nhưng không có cơ chế sẵn có để kiểm chứng liệu dữ liệu từ thế giới bên ngoài có chính xác hay không. Dữ liệu oracle bị xâm phạm hoặc không chính xác có thể khiến smart contract thực thi theo những cách không mong muốn.

Sự khác nhau giữa oracle tập trung và oracle phi tập trung là gì?

Oracle tập trung dựa vào một nhà cung cấp duy nhất, tạo ra một điểm lỗi đơn lẻ. Oracle phi tập trung sử dụng mạng lưới các nhà cung cấp dữ liệu độc lập và kết hợp đầu vào của họ thông qua đồng thuận hoặc tổng hợp. Oracle phi tập trung nhìn chung được xem là an toàn hơn cho các trường hợp sử dụng giá trị cao vì chúng khó bị thao túng hơn.

Oracle có thể gửi dữ liệu ra khỏi blockchain không?

Có. Oracle đầu ra (outbound) truyền dữ liệu hoặc chỉ dẫn từ smart contract đến các hệ thống bên ngoài. Ví dụ, smart contract có thể dùng oracle đầu ra để kích hoạt một thiết bị vật lý, thực hiện một khoản thanh toán trên hệ thống ngân hàng truyền thống, hoặc thông báo cho một API bên ngoài khi một điều kiện được đáp ứng trên chuỗi.

Những suy nghĩ kết

Oracle blockchain là một lớp nền tảng cho tính hữu dụng của smart contract. Nếu không có dữ liệu bên ngoài đáng tin cậy, smart contract chỉ bị giới hạn trong những thông tin đã có sẵn trên chuỗi, từ đó hạn chế đáng kể khả năng của chúng. Các mạng oracle phi tập trung giải quyết “vấn đề oracle” bằng cách phân tán việc lấy dữ liệu và xác minh qua nhiều người tham gia độc lập.

Tìm hiểu thêm

  • Smart contract là gì và hoạt động như thế nào?

  • Tài chính phi tập trung (DeFi) là gì?

  • Oracle của Binance là gì?

  • Tài sản thế giới thực (RWA) trong DeFi và Crypto là gì?

  • Ứng dụng phi tập trung (DApps) là gì?

Tuyên bố miễn trừ trách nhiệm: Nội dung này chỉ được cung cấp cho bạn theo nguyên tắc “hiện có” để cung cấp thông tin chung và mục đích giáo dục, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào. Nội dung này không nên được hiểu là lời khuyên tài chính, pháp lý hoặc bất kỳ tư vấn chuyên môn nào khác, và cũng không nhằm mục đích khuyến nghị việc mua bất kỳ sản phẩm hoặc dịch vụ cụ thể nào. Bạn nên tự tìm kiếm ý kiến của các nhà tư vấn chuyên môn phù hợp. Nếu nội dung được đóng góp bởi bên thứ ba, vui lòng lưu ý rằng các quan điểm được nêu thuộc về bên đóng góp thứ ba đó và không nhất thiết phản ánh quan điểm của Binance Academy. Giá tài sản kỹ thuật số có thể biến động. Giá trị khoản đầu tư của bạn có thể tăng hoặc giảm và bạn có thể không nhận lại số tiền đã đầu tư. Bạn hoàn toàn chịu trách nhiệm cho các quyết định đầu tư của mình và Binance Academy không chịu trách nhiệm đối với bất kỳ khoản lỗ nào bạn có thể gặp phải. Để biết thêm thông tin, vui lòng xem Điều khoản sử dụng, Cảnh báo rủi ro và Điều khoản của Binance Academy.