Kiến thức Blockchain oracle là gì và nó hoạt động như thế nào?

Blockchain oracles là gì?

Blockchain oracles là các thực thể kết nối các chuỗi khối với các hệ thống bên ngoài, cho phép các hợp đồng thông minh thực thi tùy thuộc vào đầu vào và đầu ra trong thế giới thực. Oracle cung cấp cho hệ sinh thái Web 3.0 một phương pháp để kết nối với các hệ thống cũ, nguồn dữ liệu và tính toán nâng cao hiện có.

9d3ffa56d2d4a7bbcbf6ead99134ce81.jpeg

Các mạng oracle phi tập trung (DON - Decentralized Oracle Networks) cho phép triển khai các hợp đồng thông minh lai, trong đó cơ sở hạ tầng ngoài chuỗi và mã trên chuỗi được kết hợp để cung cấp các ứng dụng phi tập trung (DApp) phức tạp phản ứng với các sự kiện trong thế giới thực và tương tác với các hệ thống truyền thống.

Giả sử Alice và Bob muốn đặt cược vào kết quả của một cuộc đua ngựa. Tổng số tiền 80 đô la được ký quỹ bởi một hợp đồng thông minh, trong đó Alice đặt cược 50 đô la vào đội X và Bob đặt cược 30 đô la vào đội Y. Làm thế nào để hợp đồng thông minh biết nên đưa tiền cho Alice hay Bob khi trò chơi kết thúc? Giải pháp là cần có một cơ chế oracle để truy xuất các kết quả khớp chính xác ngoài chuỗi và phân phối chúng một cách an toàn và đáng tin cậy đến chuỗi khối.

Do khía cạnh sổ cái phân tán của chuỗi khối, mỗi nút trong mạng phải thu được cùng một kết quả với cùng một đầu vào. Ví dụ: nếu một nút cố gắng xác thực giao dịch của một nút khác, nó sẽ nhận được một kết quả khác. Kiến trúc này được tạo ra để được xác định.

Đồng thuận là kỹ thuật để đồng ý về một giá trị dữ liệu trong chuỗi khối và tính xác định là cần thiết để các nút đạt được sự đồng thuận. Một số trong số chúng có thể quen thuộc với bạn, chẳng hạn như bằng chứng công việc (PoW) với sự đồng thuận của Nakamoto và bằng chứng cổ phần (PoS) với sự đồng thuận của Byzantine. Một trong những yếu tố chính khiến blockchain hoạt động ngay từ đầu là sự đồng thuận.

Tuy nhiên, thế giới blockchain cần kết nối với thế giới thực. Để có DeFi, chúng ta cần đưa giá của Ether (ETH) và các loại tiền điện tử khác vào một hợp đồng. Chúng tôi yêu cầu dữ liệu kiểu "khí tượng" để cung cấp bảo hiểm phi tập trung, không cần phải tin cậy. Để sử dụng blockchain cho một trong những ứng dụng thiết yếu nhất của nó, hợp đồng thông minh, chúng ta cần dữ liệu. Vì vậy, với sự hạn chế này, làm thế nào để chúng ta kết nối các thế giới?

Hướng dẫn này nhằm mục đích giải thích những gì blockchain oracle làm, vấn đề blockchain oracle và giới thiệu các dự án blockchain oracle khác nhau.

Vấn đề của blockchain oracle

Tình thế tiến thoái lưỡng nan của blockchain làm nổi bật một hạn chế chính của hợp đồng thông minh, tức là chúng không thể kết nối với dữ liệu và hệ thống bên ngoài bối cảnh blockchain gốc của chúng theo bất kỳ cách nào. Các tài nguyên bên ngoài được gọi là "ngoài chuỗi", trong khi dữ liệu hiện được ghi trên chuỗi khối được gọi là "trên chuỗi".

402e57bf16795631abfca6d953b5ecd8.png

Chuỗi khối đạt được những phẩm chất có lợi nhất của chúng bằng cách tách biệt có mục đích khỏi các hệ thống bên ngoài, chẳng hạn như ngăn chặn các cuộc tấn công chi tiêu lặp, sự đồng thuận mạnh mẽ về tính xác thực của giao dịch người dùng và giảm thời gian ngừng hoạt động của mạng. Để tương tác an toàn với các hệ thống ngoài chuỗi từ một chuỗi khối và thu hẹp khoảng cách giữa hai môi trường, bạn sẽ cần một phần cơ sở hạ tầng bổ sung được gọi là "oracle".

Bởi vì phần lớn các trường hợp sử dụng hợp đồng thông minh, chẳng hạn như DeFi, yêu cầu kiến thức về dữ liệu trong thế giới thực và các sự kiện xảy ra ngoài chuỗi, nên việc giải quyết vấn đề oracle là rất quan trọng. Do đó, các oracle mở rộng các loại hợp đồng kỹ thuật số mà các chuỗi khối có thể kích hoạt bằng cách cung cấp một cổng chung cho các tài nguyên ngoài chuỗi trong khi vẫn duy trì các phẩm chất bảo mật chính của chuỗi khối.

Giá tài sản cho tài chính, xác minh danh tính cho chính phủ, tính ngẫu nhiên cho trò chơi, thông tin thời tiết cho bảo hiểm chỉ là một vài trong số các ngành kiếm được lợi nhuận từ việc tích hợp oracle với hợp đồng thông minh.

Các blockchain oracles làm gì?

Bất kỳ thiết bị hoặc thực thể nào kết nối chuỗi khối xác định với dữ liệu ngoài chuỗi đều được gọi là blockchain oracle. Mọi dữ liệu đầu vào được định tuyến thông qua một giao dịch bên ngoài trong các oracle này.

Tuy nhiên, chúng ta có thể chắc chắn rằng chuỗi khối chứa tất cả thông tin cần thiết để tự xác thực theo cách này. Oracle được coi là phần mềm trung gian blockchain vì chúng đóng vai trò là liên kết giữa hai lĩnh vực.

Chainlink là tiêu chuẩn công nghiệp cho các oracle phi tập trung vì nó vượt qua cả quyền truy cập vào dữ liệu bên ngoài và tập trung hóa các vấn đề về hợp đồng thông minh. Vậy, Chainlink oracle là gì?

Chainlink là một mạng oracle phi tập trung cung cấp dữ liệu trong thế giới thực cho các hợp đồng thông minh chuỗi khối. Token LINK là token tài sản kỹ thuật số được sử dụng để thanh toán cho các dịch vụ mạng.

Mặt khác, một oracle tập trung duy nhất gây ra một vấn đề cụ thể mà một hợp đồng thông minh phi tập trung, được bảo mật bằng chuỗi khối có nhiệm vụ phải giải quyết: một điểm thất bại duy nhất. Vậy làm cách nào bạn biết liệu dữ liệu của mình có chính xác hay không nếu oracle bị lỗi hoặc bị xâm phạm? Một hợp đồng thông minh an toàn, đáng tin cậy trên blockchain có ích lợi gì nếu dữ liệu mà nó dựa vào là đáng ngờ?

Vấn đề này được giải quyết bằng Chainlink (một mạng lưới các nút phi tập trung), sử dụng các oracle để cung cấp dữ liệu và thông tin từ các nguồn bên ngoài chuỗi khối cho các hợp đồng thông minh trên chuỗi khối. Kỹ thuật này, cùng với công nghệ bảo mật khác, loại bỏ những khó khăn về độ tin cậy có thể phát sinh nếu chỉ sử dụng một nguồn tập trung duy nhất.

Chainlink là blockchain bất khả tri vì nó kết nối tất cả các môi trường blockchain công khai và riêng tư chính bằng cách sử dụng một khung duy nhất, cung cấp mức độ trừu tượng điển hình cho giao tiếp giữa các mạng.

Do đó, bạn có thể tham khảo dữ liệu phi tập trung trên chuỗi đã được trích xuất từ thế giới thực và được thu thập bằng các dịch vụ như Chainlink, tương tự như thư viện công cộng, ngoại trừ dữ liệu phi tập trung. Bạn thậm chí có thể tạo các mạng oracle mô-đun của mình để có được bất kỳ thông tin cụ thể nào bạn yêu cầu. Ngoài ra, bạn có thể thực hiện tính toán ngoài chuỗi và chuyển dữ liệu sang thế giới thực.

Các blockchain oracle hàng đầu khác là Witnet, Paralink, Provable và Dos.Network. Các dịch vụ này cung cấp các oracle được tạo thành từ hợp đồng thông minh và một số thành phần ngoài chuỗi có thể truy vấn giao diện người dùng ứng dụng (API) và sau đó gửi giao dịch để cập nhật dữ liệu trong hợp đồng thông minh thường xuyên.

Các loại blockchain oracle

Oracle cung cấp một chuỗi khối hoặc hợp đồng thông minh để giao tiếp với dữ liệu bên ngoài. Thay vào đó, chúng phục vụ như một giao diện với thế giới bên ngoài chuỗi khối. Dữ liệu bên ngoài phải được chuyển đến hệ thống chuỗi khối khép kín trong nhiều trường hợp, đặc biệt là khi các hợp đồng thông minh được liên kết với các sự kiện trong thế giới thực. Dữ liệu bên ngoài được truy vấn, xác minh và xác thực bởi các oracle tiền điện tử, sau đó chuyển tiếp dữ liệu đó đến hệ thống đóng. Sau đó, dữ liệu đã được xác thực sẽ được sử dụng để xác thực hợp đồng thông minh.

Oracle phần cứng và phần mềm

Mặc dù điều này không phải lúc nào cũng đúng, nhưng hầu hết các oracle về tiền điện tử đều phân tích dữ liệu kỹ thuật số. Oracle phần cứng cung cấp dữ liệu từ thế giới thực, trong khi Oracle phần mềm cung cấp dữ liệu từ các nguồn kỹ thuật số như trang web, máy chủ hoặc cơ sở dữ liệu. Ngoài ra, thông tin từ cảm biến chuyển động của camera và cảm biến nhận dạng tần số vô tuyến (RFID) có thể được phân phối và chuyển tiếp bởi các oracle phần cứng. Dữ liệu thời gian thực, chẳng hạn như tỷ giá hối đoái, biến động giá cả và thông tin du lịch, có thể được phân phối thông qua phần mềm oracle.

Oracle trong và ngoài

Các oracle thiết lập một kênh giao tiếp hai chiều với các chuỗi khối, gửi dữ liệu vào và ra. Mặc dù các oracle bên ngoài có thể cung cấp dữ liệu chuỗi khối ra thế giới bên ngoài, nhưng các oracle bên trong có nhiều khả năng cung cấp dữ liệu ngoài chuỗi — hoặc thế giới thực — cho chuỗi khối. Ngoài ra, dữ liệu đã nhập có thể đại diện cho hầu hết mọi thứ, từ dao động giá tài sản đến điều kiện khí tượng để xác minh các khoản thanh toán đã hoàn tất.

Đối với các oracle trong, một kịch bản có thể lập trình phổ biến có thể là: Nếu một tài sản đạt đến một mức giá cụ thể, hãy đặt lệnh mua. Mặt khác, các oracle bên ngoài cảnh báo thế giới bên ngoài về một sự kiện xảy ra trên chuỗi.

Oracle tập trung và phi tập trung

Một oracle tập trung được quản lý bởi một thực thể duy nhất và đóng vai trò là nguồn dữ liệu duy nhất của hợp đồng thông minh. Chỉ sử dụng một nguồn thông tin có thể nguy hiểm vì hiệu quả của hợp đồng chỉ phụ thuộc vào thực thể chịu trách nhiệm về oracle.

Sự can thiệp thù địch của một nhân tố xấu cũng sẽ ảnh hưởng trực tiếp đến hợp đồng thông minh. Vấn đề cơ bản với các oracle tập trung là chúng có một điểm thất bại duy nhất, khiến các hợp đồng dễ bị tấn công và điểm yếu hơn.

Một số mục tiêu của các oracle phi tập trung tương tự như các mục tiêu của các chuỗi khối công khai, chẳng hạn như giảm thiểu rủi ro đối tác. Ví dụ: họ làm cho thông tin được cung cấp cho các hợp đồng thông minh trở nên đáng tin cậy hơn bằng cách không phụ thuộc vào một nguồn sự thật duy nhất.

Hợp đồng thông minh tham khảo một số oracle để đánh giá tính hợp lệ và chính xác của dữ liệu; đây là lý do tại sao các oracle phi tập trung còn được gọi là oracle đồng thuận. Các chuỗi khối khác có thể sử dụng các dịch vụ oracle phi tập trung được cung cấp bởi một số dự án blockchain oracle.

Oracle con người

Những cá nhân có kiến thức chuyên môn trong một lĩnh vực cụ thể đôi khi có thể đóng vai trò là oracle. Họ có thể thu thập thông tin từ nhiều nguồn khác nhau, kiểm tra tính hợp pháp của nó và chuyển đổi nó thành hợp đồng thông minh. Bởi vì các oracle con người có thể sử dụng mật mã để xác minh danh tính của họ, nên khả năng kẻ lừa đảo mạo danh họ và cung cấp dữ liệu bị giả mạo là rất nhỏ.

Oracle cụ thể theo hợp đồng

Những oracle này được tạo ra để hoạt động với các hợp đồng thông minh duy nhất. Nếu nhà phát triển có ý định triển khai nhiều hợp đồng thông minh, thì cần phải xây dựng các oracle dành riêng cho hợp đồng khác nhau.

Các oracle dành riêng cho hợp đồng không đáng để bỏ thời gian và công sức để cập nhật chúng. Thay vào đó, chúng bất tiện và chỉ nên được sử dụng trong những tình huống cụ thể.

Oracle tính toán

Cho đến nay, chúng ta vừa nói về các oracle về mặt tìm kiếm và cung cấp dữ liệu (còn được gọi là oracle mang dữ liệu hoặc oracle tự động). Tuy nhiên, các oracle có thể được sử dụng để tiến hành bất kỳ giải pháp tính toán "ngoài chuỗi" tùy ý nào, điều này đặc biệt có lợi do hạn chế khí khối vốn có của Ethereum và chi phí tính toán rất cao.

Các oracle tính toán, thay vì chỉ chuyển tiếp kết quả của một truy vấn, có thể được sử dụng để thực hiện tính toán trên một tập hợp các đầu vào và trả về kết quả đã tính toán mà nếu không thì không thể tính toán trên chuỗi. Ví dụ: để ước tính lợi tức của hợp đồng trái phiếu, một oracle tính toán có thể được sử dụng để thực hiện phép tính hồi quy phức tạp về mặt tính toán.

Các mẫu thiết kế của Oracle

Theo định nghĩa, tất cả các oracle được thảo luận đều thực hiện một số vai trò chính. Những khả năng này bao gồm khả năng:
  • Thu thập dữ liệu từ một nguồn không phải blockchain.
  • Sử dụng tin nhắn đã ký, gửi dữ liệu trên chuỗi.
  • Làm cho dữ liệu có thể truy cập được bằng cách lưu trữ nó trong bộ lưu trữ của hợp đồng thông minh.
Sau khi dữ liệu được lưu trữ trong bộ lưu trữ của hợp đồng thông minh, các thỏa thuận tự động khác có thể truy cập dữ liệu đó thông qua các cuộc gọi tin nhắn gọi chức năng "truy vấn" của hợp đồng thông minh oracle. Nó cũng có thể được “gọi” trực tiếp bởi các nút Ethereum hoặc các máy khách hỗ trợ mạng bằng cách "xem xét" kho lưu trữ của oracle.

Ba cách chính để thiết lập oracle có thể được phân loại như sau:

aca5e742e97c9f4a7bfe055f5e7575d1.png

Đọc ngay lập tức

Các oracle đọc ngay lập tức cung cấp thông tin chỉ cần thiết cho một quyết định nhanh chóng, chẳng hạn như "sinh viên này có trên 25 tuổi không?" Những người muốn truy vấn loại dữ liệu này thường làm như vậy trên cơ sở "đúng lúc", có nghĩa là việc tra cứu chỉ được thực hiện khi cần thông tin.

Ví dụ là mã quay số, chứng chỉ học thuật, tư cách thành viên tổ chức, nhận dạng sân bay và các oracle khác.

Theo dõi công khai

Một oracle cung cấp hiệu quả dịch vụ quảng bá cho dữ liệu có khả năng thay đổi (có thể là cả thường xuyên và thường xuyên) sẽ được thăm dò bởi một hợp đồng thông minh trên chuỗi hoặc được theo dõi để cập nhật bởi một daemon ngoài chuỗi. Dữ liệu thời tiết, nguồn cấp giá, thống kê kinh tế hoặc xã hội và dữ liệu lưu lượng truy cập chỉ là một vài ví dụ về thiết lập xuất bản-đăng ký.

Yêu cầu-đáp ứng

Danh mục thách thức nhất là phản hồi yêu cầu: Đây là nơi không gian dữ liệu quá lớn để lưu trữ trong hợp đồng thông minh và người dùng chỉ được phép sử dụng một phần nhỏ của toàn bộ thông tin tại một thời điểm. Đây cũng là một chiến lược kinh doanh khả thi cho các nhà cung cấp dữ liệu.

Trên thực tế, một oracle như thế này có thể được triển khai như một hệ thống hợp đồng thông minh trên chuỗi và cơ sở hạ tầng ngoài chuỗi để theo dõi các yêu cầu cũng như truy xuất và trả lại dữ liệu. Yêu cầu dữ liệu từ một ứng dụng phi tập trung thường là một quy trình không đồng bộ với nhiều bước như sau:

892cac9a1311be99cca35aac25a30046.png

Các ứng dụng của oracle trong DApps

Oracle là một cơ chế thu hẹp khoảng cách giữa thế giới ngoài chuỗi và các hợp đồng thông minh được sử dụng bởi nhiều DApp trên thị trường. Sau đây là một số trường hợp dữ liệu mà các oracle có thể cung cấp:
  • Dữ liệu thời gian và khoảng thời gian được sử dụng cho trình kích hoạt sự kiện dựa trên các phép đo thời gian chính xác.
  • Dữ liệu từ thị trường vốn, chẳng hạn như định giá các gói tài sản và chứng khoán được token hóa.
  • Dữ liệu tham chiếu điểm chuẩn, chẳng hạn như lãi suất, được bao gồm trong các công cụ phái sinh tài chính thông minh.
  • Ví dụ, dữ liệu thời tiết được sử dụng để tính phí bảo hiểm dựa trên dự báo thời tiết.
  • Dữ liệu định vị địa lý, chẳng hạn như dữ liệu được sử dụng trong theo dõi chuỗi cung ứng.
  • Đối với hợp đồng bảo hiểm, việc xác minh thiệt hại là bắt buộc.
  • Các sự kiện thể thao được sử dụng để giải quyết thị trường dự đoán và hợp đồng thể thao giả tưởng.
  • Thống kê chuyến bay, chẳng hạn như thống kê được sử dụng bởi các nhóm và câu lạc bộ để tổng hợp vé máy bay.

Cẩn thận với những lo ngại về bảo mật

Oracles đóng một vai trò quan trọng trong việc thực hiện hợp đồng thông minh bằng cách đưa dữ liệu bên ngoài vào phương trình. Mặt khác, các oracle gây ra mối nguy hiểm rất lớn vì nếu chúng là nguồn đáng tin cậy và có thể bị hack, chúng có thể gây nguy hiểm cho việc thực hiện các hợp đồng thông minh mà chúng cung cấp.

Nói chung, trong khi xem xét việc sử dụng một oracle, mô hình ủy thác phải được xem xét cẩn thận. Bạn có thể đang hy sinh tính bảo mật của hợp đồng thông minh bằng cách để nó tiếp xúc với các đầu vào có khả năng không chính xác nếu chúng tôi cho rằng oracle có thể tin cậy được. Tuy nhiên, nếu các giả định về bảo mật được xem xét cẩn thận, thì oracle có thể có giá trị.

Một số mối lo ngại này có thể được giải quyết thông qua các oracle phi tập trung, cung cấp các hợp đồng thông minh Ethereum với dữ liệu bên ngoài không đáng tin cậy. Bạn phải chọn nó cẩn thận trước khi có thể bắt đầu khám phá cầu nối oracle giữa Ethereum và thế giới thực.


Nguồn: CoinTelegraph
 
Back
Top