Các oracle của blockchain: Hướng dẫn đầy đủ

Tóm tắt về oracle blockchain
- Các nhà phát triển thường lập trình hợp đồng thông minh để kích hoạt khi các sự kiện trong thế giới thực nhất định xảy ra
- Oracle tự động cung cấp thông tin thế giới thực đó cho blockchain mà không cần sự can thiệp của con người
- Việc tích hợp dữ liệu ngoài chuỗi cho phép các ứng dụng phi tập trung (dApps) mang lại nhiều trải nghiệm người dùng đa dạng hơn, chẳng hạn như giao dịch, thị trường dự đoán, cờ bạc và nhiều hơn nữa
Oracle blockchain là gì?
Oracle cung cấp cho blockchain và hợp đồng thông minh dữ liệu thế giới thực mà nếu không có chúng thì sẽ không tồn tại trên blockchain.
Vì blockchain được xây dựng có mục đích để theo dõi thông tin được lưu trữ trên mạng của chúng, nên chúng có thể gặp khó khăn trong việc truy cập thông tin từ “thế giới thực” không bắt nguồn từ chính blockchain.
Bằng cách cho phép blockchain truy cập dữ liệu thế giới thực, oracle cho phép các nhà phát triển tạo ra nhiều loại ứng dụng phi tập trung (dApps) hơn.
Mỗi dApp bao gồm các hợp đồng thông minh — các đoạn mã máy tính thực hiện các chức năng nhất định khi các điều kiện được xác định trước được đáp ứng. Chúng hoạt động tương tự như các dịch vụ mà ứng dụng trên điện thoại thông minh của bạn cung cấp, nhưng không dựa vào bất kỳ trung gian con người nào.
Blockchain có thể là các mạng bị cô lập không có quyền truy cập trực tiếp vào các sự kiện hoặc điều kiện trong thế giới thực. Thông thường, blockchain chỉ có thể truy cập dữ liệu đã tồn tại trên mạng của chúng và do đó không thể truy cập dữ liệu không được tạo và lưu trữ trực tiếp trên chuỗi.
Bằng cách đưa dữ liệu thế giới thực, chẳng hạn như giá cổ phiếu hoặc kết quả các trận đấu thể thao, vào hợp đồng thông minh, các nhà phát triển có thể mở rộng đáng kể chức năng của các ứng dụng mà họ tạo ra.
Ví dụ, sử dụng dịch vụ oracle, một nhà phát triển có thể tạo một ứng dụng thị trường dự đoán phi tập trung.
Sử dụng hợp đồng thông minh, ứng dụng sẽ cho phép người dùng suy đoán về kết quả của bất kỳ sự kiện nào trong tương lai với những người khác trên toàn thế giới. Điều này có thể bao gồm các cược về quốc gia nào sẽ vô địch FIFA World Cup tiếp theo, ai sẽ thắng cuộc bầu cử Tổng thống Mỹ tiếp theo hoặc bất kỳ kết quả nào khác do nhà phát triển lựa chọn.
Sử dụng dữ liệu thế giới thực từ oracle, thị trường dự đoán có thể tự động thanh toán các khoản cược mà không cần một trung gian con người để phê duyệt người thắng cuộc.
Tại sao oracle lại quan trọng?
Nếu không có oracle để cung cấp quyền truy cập vào dữ liệu ngoài chuỗi, các mạng blockchain sẽ không có quyền truy cập vào các thông tin như giá thị trường chứng khoán, dữ liệu nhận dạng người dùng, tỷ số thể thao, thời tiết, giao dịch trên các blockchain khác và nhiều hơn nữa.
Thay vào đó, blockchain có thể sẽ cần sự can thiệp của con người để cung cấp thông tin. Điều này dẫn đến rủi ro tập trung hóa, làm suy yếu một trong những điểm khác biệt chính của mạng blockchain: phi tập trung hóa.
Nhiều giao thức tài chính phi tập trung (DeFi) không thể tồn tại nếu không có oracle và khả năng đưa dữ liệu vào thông tin nguồn trong khi vẫn duy trì tính phi tập trung.
Các giao thức cho vay như Aave (AAVE) cho phép người dùng cho vay và vay token yêu cầu giám sát chặt chẽ giá token để hoạt động. Nếu những mức giá này có thể bị thao túng bởi một cá nhân duy nhất, nó sẽ phá hủy bản chất phi tập trung của giao thức.
Các giao thức giao dịch như dYdX (DYDX) dựa vào oracle để trả về nguồn cấp dữ liệu giá cho các tài sản có thể giao dịch. Nếu các nguồn cấp dữ liệu giá này chỉ được cung cấp bởi một cá nhân hoặc công ty duy nhất, dịch vụ giao dịch sẽ hoàn toàn dựa vào nguồn cấp dữ liệu tập trung này để vận hành nền tảng giao dịch phi tập trung của mình.
Các giao thức cờ bạc như Augur v2 (REPV2) cần oracle để truy xuất tỷ số thể thao. Nếu giao thức không dựa vào sự đồng thuận của mạng về kết quả của một trận đấu cụ thể, mà thay vào đó dựa vào một cá nhân duy nhất để cung cấp kết quả, giao thức sẽ dựa vào một nguồn sự thật duy nhất có thể bị thao túng.
Cuối cùng, oracle đóng một vai trò quan trọng trong việc kết nối thế giới phi tập trung của công nghệ blockchain với các sự kiện trong thế giới vật lý. Mặc dù trong quá khứ chúng ta đã dựa vào các trung gian tập trung, “đáng tin cậy” để thực hiện nhiệm vụ này, oracle mang đến một cách minh bạch hơn và chống giả mạo để xác minh kết quả.
Oracle blockchain hoạt động như thế nào?
Một oracle có hai thành phần:
- Một hợp đồng thông minh trên chuỗi
- Một mạng oracle
Nếu một dApp cần dữ liệu thế giới thực từ một oracle, các nhà phát triển của dApp sẽ kết nối hợp đồng thông minh của nó với hợp đồng thông minh của oracle. Hợp đồng thông minh của oracle giám sát hợp đồng thông minh dApp được liên kết để tìm các yêu cầu dữ liệu ngoài chuỗi.
Khi hợp đồng thông minh của một dApp yêu cầu dữ liệu ngoài chuỗi, chẳng hạn như kết quả của một sự kiện nhất định, hợp đồng thông minh của oracle sẽ chuyển yêu cầu dữ liệu đó đến mạng oracle.
Mạng oracle là một tập hợp các máy tính hợp tác để tìm và xác minh dữ liệu. Sau khi chúng tìm thấy dữ liệu đó, đạt được sự đồng thuận về tính hợp lệ của nó và định dạng lại dữ liệu để có thể đọc được trên blockchain, mạng sẽ chuyển dữ liệu đó đến hợp đồng thông minh của oracle.
Cuối cùng, hợp đồng thông minh của oracle chuyển dữ liệu trở lại hợp đồng thông minh ban đầu để thực hiện và xác thực giao dịch ban đầu với ngữ cảnh bổ sung được cung cấp bởi dữ liệu ngoài chuỗi từ oracle.
Những đánh đổi của oracle blockchain
Mặc dù oracle DeFi có thể hữu ích, nhưng chúng yêu cầu các dApp sử dụng chúng phải chấp nhận một số đánh đổi nhất định.
Một số giao thức được ca ngợi vì là "không cần oracle" và không dựa vào oracle để lấy thông tin. Người dùng blockchain hiểu rõ những đánh đổi của mạng oracle có thể hiểu rõ hơn về DeFi và đánh giá tốt hơn các token DeFi.
Các vector tấn công
Blockchain thường duy trì sự cô lập vì một lý do — để giữ an toàn cho dữ liệu của chúng.
Việc cho phép oracle đưa dữ liệu bên ngoài lên chuỗi tiềm ẩn những rủi ro nhất định.
Nhiều oracle sử dụng cơ sở hạ tầng và mạng độc quyền (ví dụ: ba lớp phi tập trung trong Chainlink Price Feeds) để bảo mật và truyền dữ liệu.
Tin tặc có thể tấn công cơ sở hạ tầng này theo những cách mà chúng không thể tấn công blockchain. Vì vậy, mặc dù oracle có thể bổ sung thông tin hữu ích cho hệ sinh thái blockchain, chúng cũng có khả năng làm cho nó kém an toàn hơn nếu mạng đang đối mặt với một cuộc tấn công phối hợp.
Thao túng dữ liệu
Có nhiều cách mà các cuộc tấn công oracle có thể gây hại cho người dùng thông qua thao túng dữ liệu.
Ví dụ, một tin tặc có thể thao túng một oracle để báo cáo sai giá Bitcoin cho một thị trường phi tập trung. Trong trường hợp đó, các nhà giao dịch có thể mua hoặc bán với giá lỗ so với giá thị trường chính xác.
Tương tự, thông tin giá không chính xác có thể kích hoạt các khoản vay mặc định và thanh lý trên các nền tảng cho vay phi tập trung và yield farming.
Thông tin không chính xác về các sự kiện thể thao có thể kích hoạt các khoản thanh toán sai trên các dApp cờ bạc. Thiệt hại của người dùng từ loại dữ liệu bị thao túng này có thể xảy ra đột ngột và gây tốn kém cho người dùng.
Vào năm 2022, một nền tảng DeFi nổi tiếng trên blockchain Solana có tên Mango Markets (MNGO) đã bị khai thác do thao túng oracle.
Tin tặc đã đẩy giá token gốc, MNGO, tăng gần 30 lần một cách giả tạo. Sau đó, tin tặc đã rút cạn tiền của giao thức bằng cách vay một khoản lớn bằng cách sử dụng token MNGO bị thổi phồng giá trị làm tài sản thế chấp.
Oracle đã nhận được một đầu vào xấu thông qua giá token bị thổi phồng, điều này có tác dụng phụ là giả định sai rằng tài sản thế chấp của tin tặc có giá trị cao hơn đáng kể so với thực tế.
Cách hạn chế rủi ro oracle
Một số oracle rủi ro hơn những oracle khác. Ví dụ, các mạng oracle nhỏ hơn hoặc mới hơn có thể dễ bị tấn công hơn so với các mạng lớn hơn và tương đối cũ hơn đã đáng tin cậy theo thời gian.
Các mạng oracle mới hơn có thể có cơ sở hạ tầng chưa được kiểm chứng, điều này có thể khiến một số người đặt câu hỏi liệu có những điểm yếu chưa được khám phá hay không.
Một cách để hạn chế rủi ro oracle là tham gia vào các giao thức không sử dụng oracle hoặc sử dụng các mạng oracle đã có lịch sử đáng tin cậy được chứng minh.
Uniswap (UNI) là một ví dụ hàng đầu về giao thức DeFi không sử dụng oracle và do đó có lợi ích bảo mật là "không cần oracle".
Do bản chất của liquidity pool và cách chúng định giá tài sản, Uniswap không dựa vào dữ liệu định giá bên ngoài. Thay vào đó, Uniswap có thể tạo ra tất cả dữ liệu cần thiết để hoạt động trực tiếp từ các hợp đồng thông minh của riêng mình.
Các oracle blockchain phổ biến
Mặc dù không có oracle nào được đảm bảo an toàn trước các cuộc tấn công mạng, nhưng có một số dịch vụ hàng đầu mà nhiều nhà giao dịch và giao thức DeFi sử dụng:
Chainlink (LINK) là mạng oracle hàng đầu của DeFi, đã cho phép thực hiện các giao dịch trị giá hàng chục nghìn tỷ đô la cho đến nay. Chainlink cung cấp nhiều loại sản phẩm, bao gồm Giao thức tương tác chuỗi chéo (Cross-Chain Interoperability Protocol), một mạng lưới mạnh mẽ để truyền dữ liệu giữa các blockchain khác nhau. Hãy xem bài viết của chúng tôi tại Trung tâm học tập Kraken Chainlink là gì? để tìm hiểu thêm về cách giao thức này hoạt động.
Pyth (PYTH) giúp bảo mật và cung cấp dữ liệu cho hàng trăm dApp, chủ yếu là các dApp DeFi trên mạng Solana (SOL).
API3 (API3) cung cấp dữ liệu cho khoảng hàng trăm dApp khác nhau. Mạng này tổng hợp dữ liệu trực tiếp từ các oracle bên thứ nhất để cung cấp nhiều dịch vụ trên hàng chục blockchain.
Band Protocol (BAND) dựa trên bộ công cụ phát triển phần mềm Cosmos (ATOM) và có sự hiện diện mạnh mẽ nhất trong hệ sinh thái Cosmos. Mạng oracle đóng một vai trò quan trọng trong việc bảo mật hàng chục dApp và blockchain khác nhau. Hãy xem bài viết của chúng tôi tại Trung tâm học tập Kraken Band Protocol là gì? để tìm hiểu thêm về cách giao thức này hoạt động.
Bắt đầu với mạng oracle trên Kraken
Hầu hết các mạng oracle hàng đầu đều có token đóng góp vào cơ sở hạ tầng của mạng và có giá trị từ sự thành công của nó.
Kraken cung cấp tài sản kỹ thuật số cho hầu hết các mạng oracle hàng đầu của DeFi và các tài sản sử dụng dịch vụ của chúng ngay tại thời điểm này.