Oracle là gì? Những giao thức Oracle phổ biến
Tài chính phi tập trung (DeFi) là một xu hướng mới với hy vọng thay thế hầu hết các chức năng của hệ thống tài chính truyền thống bằng các hợp đồng thông minh. Tuy nhiên các hợp đồng thông minh tốt nhất vẫn yêu cầu sử dụng bên thứ ba đáng tin cậy dưới hình thức một Oracle.
Khái niệm Oracle
Oracle trong lĩnh vực Blockchain được hiểu là nguồn cấp dữ liệu, cho phép các dịch vụ của bên thứ ba cung cấp cho các hợp đồng thông minh những thông tin bên ngoài thế giới thực vào trong thế giới blockchain.
Ví dụ: Nếu hai bên đang đặt cược vào trò chơi bóng rổ thông qua hợp đồng thông minh trên blockchain, thì bên thứ ba là Oracle sẽ cho phép hợp đồng thông minh biết kết quả trận đấu bằng cách xuất bản dữ liệu liên quan lên blockchain. Quá trình này thường được tự động hóa bằng phần mềm. Một bot có thể quét NBA.com để biết điểm số của các trận đấu và tự động xuất bản chúng lên blockchain. Nhưng cho dù đó là một người hay phần mềm, nó vẫn tồn tại bên ngoài blockchain.
Ý nghĩa của Oracle
Các blockchain và hợp đồng thông minh không thể truy cập dữ liệu bên ngoài blockchain. Tuy nhiên, một số thỏa thuận hợp đồng yêu cầu phải có thông tin liên quan từ thế giới bên ngoài để thực thi các thỏa thuận đó.
Đây là lúc cần đến các oracle, vì chúng cung cấp một liên kết giữa dữ liệu bên ngoài và bên trong blockchain. Các oracle có vai trò thiết yếu trong hệ sinh thái blockchain vì chúng mở rộng phạm vi hoạt động của các hợp đồng thông minh. Nếu không có các oracle của blockchain, các hợp đồng thông minh sẽ có sử dụng hạn chế vì chúng chỉ có quyền truy cập vào dữ liệu từ trong mạng của chúng.
Điều quan trọng cần lưu ý là bản thân các oracle trên blockchain không phải là nguồn dữ liệu, mà là một lớp để truy vấn, xác minh và xác thực các nguồn dữ liệu bên ngoài, sau đó chuyển tiếp thông tin đi. Dữ liệu mà các oracle truyền đi dưới nhiều dạng – thông tin giá cả, việc thanh toán được hoàn thành hoặc nhiệt độ được đo bằng cảm biến.
Để gọi dữ liệu từ các nguồn bên ngoài, hợp đồng thông minh phải được dẫn ra và các tài nguyên mạng phải được sử dụng. Một số oracle ngoài khả năng chuyển thông tin đến các hợp đồng thông minh còn có thể gửi lại cho các nguồn bên ngoài.
Phân loại Oracle
Có thể phân loại các oracle tùy thuộc vào các tính chất của chúng:
- Nguồn – dữ liệu có nguồn gốc từ phần mềm hay phần cứng?
- Hướng của thông tin – thông tin đến hay thông tin đi?
- Độ tin cậy – dữ liệu là tập trung hay phi tập trung?
Một oracle có thể thuộc vào nhiều phân loại. Ví dụ, một oracle lấy thông tin từ trang web của công ty là oracle phần mềm phi tập trung lấy thông tin từ bên trong.
1. Nguồn dữ liệu
Các Oracle phần cứng (Hardware Oracle) thì thu thập dữ liệu trực tiếp từ những nguồn vật lý. Sau đó, những dữ liệu này được chuyển thành các giá trị kỹ thuật số có thể được chuyển tiếp vào các hợp đồng thông minh. Các nguồn vật lý này, bao gồm máy quét mã vạch và cảm biến điện tử, sẽ thu thập dữ liệu một cách chủ động hoặc thụ động và cung cấp nó cho các hợp đồng thông minh.
Trong khi đó, các Oracle phần mềm (Software Oracle) lại thu thập thông tin từ các cơ sở dữ liệu trực tuyến, các máy chủ, trang web. Vì vậy những thông tin mà các hợp đồng thông minh nhận được thường rất cập nhật. Thông thường, đối với các Blockchain, những thông tin này thường đến từ các sàn giao dịch tiền điện tử.
2. Hướng thông tin
Các Oracle đi vào (Inbound oracle) sẽ đảm nhiệm việc gửi các thông tin từ các nguồn bên ngoài đến các hợp đồng thông minh. Trong khi đó, các Oracle đi ra (Outbound oracle) sẽ gửi thông tin từ các hợp đồng thông minh ra thế giới bên ngoài.
Một ví dụ phổ biến là chuyển tiền. Khi người dùng gửi tiền vào địa chỉ ví tiền điện tử, nhà cung cấp ví sẽ nhận được thông báo xác nhận khoản tiền gửi đến từ các hợp đồng thông minh. Sau đó, nhà cung cấp ví sẽ cập nhật số dư tiền điện tử cho người dùng.
3. Mức độ tin cậy
Các Oracle tập trung (Centralized Oracle) hoạt động như một nhà cung cấp dữ liệu duy nhất từ nguồn bên ngoài cho một hợp đồng thông minh hoạt động với tất cả các tính năng bảo mật. Tuy nhiên, điều này làm dấy lên lo ngại về việc có một điểm lỗi duy nhất. Đây cũng là vấn đề mà hệ thống tài chính truyền thống gặp phải. Việc chỉ sử dụng một nguồn thông tin có thể khiến Oracle trở nên rủi ro hơn. Thậm chí nó còn dễ bị hỏng cũng như dễ bị tấn công bởi những dữ liệu độc hại. Và hợp đồng thông minh sẽ phải chịu tác động trực tiếp từ những vấn đề này.
Mặt khác, các Oracle phi tập trung (Decentralized Oracle) dựa trên nhiều nguồn bên ngoài. Điều này sẽ làm tăng độ tin cậy của những nguồn dữ liệu được cung cấp. Hợp đồng thông minh truy vấn nhiều Oracle để xác định tính hợp lệ và chính xác của dữ liệu. Đây chính là lý do tại sao các Oracle phi tập trung cũng có thể được gọi là các Oracle đồng thuận.
Nhược điểm của Oracle
Các mạng như Ethereum không thể nào lấy thông tin từ thế giới bên ngoài. Ví dụ, không có cách nào để mạng Ethereum biết tỷ giá ETH/USD hiện tại là bao nhiêu, hay người đã giành chiến thắng trong cuộc bầu cử Tổng thống Mỹ nếu không được cung cấp dữ liệu từ bên ngoài blockchain.
Thực tế này được gọi là vấn đề Oracle. Thật vậy, vấn đề này vẫn tồn tại (ở các mức độ khác nhau) trong tất cả các ứng dụng DeFi đã ra mắt cho đến thời điểm này.
Thông thường, dữ liệu do Oracle cung cấp thường được đưa trực tiếp vào các hợp đồng thông minh. Và hợp đồng thông minh hoạt động chủ yếu dựa trên dữ liệu này. Vì vậy, rõ ràng là Oracle có “quyền hạn to lớn” trong quá trình hoạt động của các hợp đồng thông minh. Nếu Oracle gây hại hoặc không đủ năng lực, có nghĩa là việc giải quyết tranh chấp hợp đồng thông minh có thể đi sai hướng.
Ví dụ, nếu Oracle bị hack, hacker sẽ kiểm soát kết quả, thay vì thực thể đằng sau Oracle. Hoặc nếu hai bên đặt cược vào một sự kiện thể thao, người thua cuộc có thể chỉ cần mua chuộc Oracle để báo cáo sai người chiến thắng, điều này sẽ dẫn đến hợp đồng thông minh gửi tiền cho người đặt cược thua cuộc. Vì bản thân blockchain không có cách nào xác minh tính xác thực của dữ liệu on-chain được cung cấp cho nó bởi Oracle, loại lừa đảo này là có thể xảy ra. Và người chiến thắng chắc chắn sẽ phản đối, trong khi các giao dịch blockchain là không thể đảo ngược.
Những giao thức Oracle phổ biến nhất
Chainlink
Chainlink là một mạng phi tập trung (decentralized) bao gồm nhiều nút oracle khác nhau. Quả thật, Chainlink có rất nhiều mục tiêu trong tương lai liên quan đến không gian phi tập trung. Thế nhưng nó tập trung chủ yếu vào những dữ liệu chất lượng cao với quyền truy cập vào các API trả phí.
Để đảm bảo dữ liệu cung cấp từ API không bị giả mạo hay thao túng, cần có một cơ chế Oracle để chọn ra giá trị thích hợp để chuyển dữ liệu đến cho người dùng từ các oracle node khác nhau (vốn lấy dữ liệu từ nhiều nguồn khác nhau). Synthetic, Aave, bZx và Set là một số trong số ít các dự án DeFi có khối lượng giao dịch lớn và hiện đang sử dụng Chainlink.
MarkerDao
MakerDAO là một trong số các giao thức DeFi cho vay mở phổ biến nhất. Mã token DAI của nó thì được “neo” với đồng đô la Mỹ. Ngoài ra, nó cũng được hỗ trợ bởi các tài sản tiền điện tử. MakerDAO sử dụng mô-đun Oracle để xác định giá tài sản theo thời gian thực.
Mô-đun này bao gồm các địa chỉ trong danh sách của Oracle và một hợp đồng tổng hợp. Các Oracle gửi các bản cập nhật giá định kỳ đến một công ty tổng hợp để xác định giá trung bình. Và chúng sẽ được sử dụng làm giá tham chiếu trên nền tảng.
Compound
Compound là một giao thức thị trường tiền tệ cho phép người dùng kiếm lãi và / hoặc vay tài sản dựa trên tài sản thế chấp. Tương tự như MakerDAO, Compound cũng sử dụng Oracle để thu thập thông tin giá. Và sau đó chúng sẽ được chuyển tiếp đến nguồn cấp dữ liệu giá của nó, được quản lý và kiểm soát bởi “quản trị viên”. Đây là người nắm giữ mã token gốc của Compound, COMP.
Giá của những đồng ổn định SAI, DAI, USDT và USDC được tính bằng cách sử dụng Oracle của Maker cho ETH / USD. Nguồn giá cho BAT, REP, ZRX, WBTC là từ các sàn Coinbase Pro, Bittrex, Poloniex và Binance. Giá được cập nhật cho Oracle của Compound khi có sự giao động lớn hơn hoặc bằng 1%. Để giải bài toán rủi ro khi chỉ có một nguồn cung cấp giá, Compound tự phát triển Open Oracle System.