Máy Oracle là cơ sở hạ tầng quan trọng trong hệ sinh thái blockchain, nó có khả năng cung cấp dữ liệu ngoài chuỗi cho hợp đồng thông minh. Là cầu nối giữa hợp đồng thông minh và thế giới bên ngoài, máy Oracle đóng vai trò không thể thiếu trong các ứng dụng blockchain.
Các hợp đồng thông minh trên Ethereum không thể trực tiếp lấy thông tin ngoài chuỗi, chẳng hạn như khối lượng giao dịch dầu thô trong một ngày. Lúc này, cần có sự can thiệp của máy Oracle để truyền dữ liệu cần thiết cho hợp đồng thông minh. Quy trình cụ thể là: hợp đồng ghi nhu cầu dữ liệu vào nhật ký sự kiện, chương trình ngoài chuỗi lắng nghe sự kiện đó và lấy dữ liệu tương ứng, sau đó thông qua việc gọi phương thức hợp đồng để tải dữ liệu lên chuỗi.
Trong số nhiều dự án Máy Oracle, Chainlink có thị phần lớn nhất. Nó xây dựng một hệ sinh thái với cơ chế khuyến khích hoàn chỉnh thông qua token LINK. Việc kích hoạt Máy Oracle của Chainlink cần phải thực hiện thông qua việc chuyển token LINK, điều này thuộc về mô hình yêu cầu - phản hồi.
Token LINK áp dụng tiêu chuẩn ERC677, bổ sung phương thức transferAndCall trên nền tảng ERC20. Phương thức này kết hợp việc thanh toán và yêu cầu dịch vụ, rất phù hợp với các tình huống kinh doanh của Máy Oracle. Khi người dùng gọi transferAndCall, ngoài việc chuyển tiền, còn kích hoạt phương thức onTokenTransfer của hợp đồng nhận.
Trong hợp đồng Máy Oracle, phương thức onTokenTransfer sẽ thực hiện một loạt các kiểm tra an toàn, bao gồm xác minh mã thông báo, độ dài dữ liệu, v.v. Sau khi kiểm tra, nó sẽ gọi phương thức oracleRequest để xử lý yêu cầu. Phương thức này sẽ tạo ra một requestId duy nhất, thiết lập thời gian hết hạn và phát ra sự kiện OracleRequest chứa chi tiết yêu cầu.
Sau khi nút ngoài chuỗi nghe thấy sự kiện này, nó sẽ phân tích thông tin yêu cầu và lấy dữ liệu cần thiết thông qua API. Sau đó, nút gọi phương thức fulfillOracleRequest để nộp dữ liệu lên chuỗi. Phương thức này sẽ gọi hàm callback của hợp đồng yêu cầu sau khi xác minh tính hợp lệ của yêu cầu, để gửi dữ liệu trở lại.
Đối với các nhà phát triển, Chainlink còn cung cấp dịch vụ máy Oracle giá cả thuận tiện hơn. Mỗi cặp giao dịch đều có hợp đồng Price Feed riêng, có thể trực tiếp truy vấn giá mới nhất. Hầu hết các trường hợp ứng dụng chỉ cần gọi phương thức latestRoundData là có thể lấy được dữ liệu giá mới nhất.
Tổng thể, công nghệ Máy Oracle đã mở ra kênh dữ liệu giữa blockchain và thế giới bên ngoài, cung cấp nhiều khả năng hơn cho các trường hợp ứng dụng hợp đồng thông minh. Là cơ sở hạ tầng blockchain, tầm quan trọng của Máy Oracle là không phải bàn cãi, sự phát triển của nó sẽ ảnh hưởng sâu sắc đến toàn bộ hệ sinh thái blockchain.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Máy Oracle kỹ thuật chi tiết: Kết nối Blockchain với cầu dữ liệu từ thế giới bên ngoài
Phân tích độ sâu công nghệ máy Oracle
Máy Oracle là cơ sở hạ tầng quan trọng trong hệ sinh thái blockchain, nó có khả năng cung cấp dữ liệu ngoài chuỗi cho hợp đồng thông minh. Là cầu nối giữa hợp đồng thông minh và thế giới bên ngoài, máy Oracle đóng vai trò không thể thiếu trong các ứng dụng blockchain.
Các hợp đồng thông minh trên Ethereum không thể trực tiếp lấy thông tin ngoài chuỗi, chẳng hạn như khối lượng giao dịch dầu thô trong một ngày. Lúc này, cần có sự can thiệp của máy Oracle để truyền dữ liệu cần thiết cho hợp đồng thông minh. Quy trình cụ thể là: hợp đồng ghi nhu cầu dữ liệu vào nhật ký sự kiện, chương trình ngoài chuỗi lắng nghe sự kiện đó và lấy dữ liệu tương ứng, sau đó thông qua việc gọi phương thức hợp đồng để tải dữ liệu lên chuỗi.
Trong số nhiều dự án Máy Oracle, Chainlink có thị phần lớn nhất. Nó xây dựng một hệ sinh thái với cơ chế khuyến khích hoàn chỉnh thông qua token LINK. Việc kích hoạt Máy Oracle của Chainlink cần phải thực hiện thông qua việc chuyển token LINK, điều này thuộc về mô hình yêu cầu - phản hồi.
Token LINK áp dụng tiêu chuẩn ERC677, bổ sung phương thức transferAndCall trên nền tảng ERC20. Phương thức này kết hợp việc thanh toán và yêu cầu dịch vụ, rất phù hợp với các tình huống kinh doanh của Máy Oracle. Khi người dùng gọi transferAndCall, ngoài việc chuyển tiền, còn kích hoạt phương thức onTokenTransfer của hợp đồng nhận.
Trong hợp đồng Máy Oracle, phương thức onTokenTransfer sẽ thực hiện một loạt các kiểm tra an toàn, bao gồm xác minh mã thông báo, độ dài dữ liệu, v.v. Sau khi kiểm tra, nó sẽ gọi phương thức oracleRequest để xử lý yêu cầu. Phương thức này sẽ tạo ra một requestId duy nhất, thiết lập thời gian hết hạn và phát ra sự kiện OracleRequest chứa chi tiết yêu cầu.
Sau khi nút ngoài chuỗi nghe thấy sự kiện này, nó sẽ phân tích thông tin yêu cầu và lấy dữ liệu cần thiết thông qua API. Sau đó, nút gọi phương thức fulfillOracleRequest để nộp dữ liệu lên chuỗi. Phương thức này sẽ gọi hàm callback của hợp đồng yêu cầu sau khi xác minh tính hợp lệ của yêu cầu, để gửi dữ liệu trở lại.
Đối với các nhà phát triển, Chainlink còn cung cấp dịch vụ máy Oracle giá cả thuận tiện hơn. Mỗi cặp giao dịch đều có hợp đồng Price Feed riêng, có thể trực tiếp truy vấn giá mới nhất. Hầu hết các trường hợp ứng dụng chỉ cần gọi phương thức latestRoundData là có thể lấy được dữ liệu giá mới nhất.
Tổng thể, công nghệ Máy Oracle đã mở ra kênh dữ liệu giữa blockchain và thế giới bên ngoài, cung cấp nhiều khả năng hơn cho các trường hợp ứng dụng hợp đồng thông minh. Là cơ sở hạ tầng blockchain, tầm quan trọng của Máy Oracle là không phải bàn cãi, sự phát triển của nó sẽ ảnh hưởng sâu sắc đến toàn bộ hệ sinh thái blockchain.