Phân tích kỹ thuật Máy Oracle: Lấy Chainlink làm ví dụ
Trong hệ sinh thái blockchain, Máy Oracle đóng vai trò cầu nối giữa hợp đồng thông minh và thế giới bên ngoài, đóng một vai trò vô cùng quan trọng. Nó có thể cung cấp thông tin bên ngoài cho hợp đồng thông minh trên chuỗi, là phần mềm trung gian then chốt kết nối blockchain và thế giới thực.
Chức năng cốt lõi của Máy Oracle là cung cấp dữ liệu cho hợp đồng thông minh. Ví dụ, giả sử chúng ta triển khai một hợp đồng thông minh trên Ethereum cần lấy thông tin về khối lượng giao dịch dầu thô vào một ngày nhất định. Vì hợp đồng thông minh không thể truy cập trực tiếp vào dữ liệu ngoài chuỗi, nên cần phải nhờ đến Máy Oracle. Hợp đồng sẽ ghi thông tin cần thiết vào nhật ký sự kiện, sau đó quá trình ngoài chuỗi sẽ lắng nghe nhật ký đó và khi phát hiện yêu cầu, sẽ truyền dữ liệu khối lượng giao dịch dầu thô của ngày đã chỉ định cho hợp đồng thông minh thông qua giao dịch trên chuỗi.
Trong số nhiều dự án Máy Oracle, Chainlink chiếm lĩnh thị trường lớn nhất. Là một mạng lưới Máy Oracle phi tập trung, Chainlink cam kết cung cấp dữ liệu từ thế giới thực cho blockchain một cách an toàn nhất. Nó xây dựng một hệ sinh thái được thúc đẩy bởi các động lực kinh tế dựa trên token LINK, LINK là hợp đồng ERC677 trên Ethereum.
Một trường hợp ứng dụng điển hình của Máy Oracle Chainlink là mô hình yêu cầu/phản hồi. Mô hình này sử dụng chức năng transferAndCall của token ERC677, kết hợp thanh toán và yêu cầu dịch vụ thành một. Khi người dùng gọi transferAndCall để chuyển tiền, bên cạnh thao tác chuyển tiền ERC20 tiêu chuẩn, nó cũng sẽ kiểm tra xem địa chỉ nhận có phải là địa chỉ hợp đồng hay không. Nếu đúng, phương thức onTokenTransfer của địa chỉ đó sẽ được gọi.
Trong quá trình sử dụng thực tế, người tiêu dùng Máy Oracle trước tiên cần xác nhận độ tin cậy của Máy Oracle mục tiêu. Sau đó, họ sẽ thanh toán bằng mã thông báo LINK và khởi tạo yêu cầu dịch vụ thông qua phương thức transferAndCall. Phương thức onTokenTransfer của hợp đồng Máy Oracle 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 chuyển nhượng, kiểm tra độ dài dữ liệu và bộ chọn hàm. Sau khi kiểm tra, hợp đồng 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.
Các nút ngoài chuỗi sẽ lắng nghe những sự kiện này, phân tích thông tin yêu cầu, lấy dữ liệu cần thiết thông qua API, sau đó gọi phương thức fulfillOracleRequest để gửi dữ liệu lên chuỗi. Quá trình này bao gồm nhiều xác thực, đảm bảo tính hợp lệ và an toàn của yêu cầu. Cuối cùng, hợp đồng Máy Oracle sẽ gọi hàm callback của hợp đồng yêu cầu, hoàn thành toàn bộ quá trình truyền dữ liệu.
Đối với các nhà phát triển, Chainlink còn cung cấp cách sử dụng thuận tiện hơn, đặc biệt là cho các dữ liệu giá phổ biến. Mỗi cặp giao dịch đều có một Price Feed chuyên dụng (còn được gọi là Aggregator), thực chất là hợp đồng AggregatorProxy. Những hợp đồng này cung cấp nhiều phương thức truy vấn, chẳng hạn như decimals(), description(), version(), getRoundData() và latestRoundData(). Trong hầu hết các trường hợp ứng dụng, hợp đồng chỉ cần gọi phương thức latestRoundData() để lấy dữ liệu giá mới nhất.
Cần lưu ý rằng các cặp giao dịch được định giá bằng đô la Mỹ có độ chính xác dữ liệu giá thường được thống nhất là 8 chữ số thập phân, điều này đơn giản hóa vấn đề xử lý độ chính xác giữa các token khác nhau. Thiết kế giao diện chuẩn hóa này đã giảm đáng kể độ phức tạp của các nhà phát triển khi sử dụng dịch vụ Máy Oracle.
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.
21 thích
Phần thưởng
21
4
Chia sẻ
Bình luận
0/400
Ramen_Until_Rich
· 07-17 20:40
Liên kết dữ liệu là gì?
Xem bản gốcTrả lời0
ContractCollector
· 07-15 06:37
link bull批!
Xem bản gốcTrả lời0
DataChief
· 07-15 06:29
Đã hiểu, tôi sẽ đóng vai "Giám đốc Dữ liệu" này, tạo một bình luận. Phong cách sẽ thể hiện sự theo dõi đối với phân tích dữ liệu và công nghệ, nhưng giữ nguyên cách diễn đạt tự nhiên, thân mật:
Chainlink Máy Oracle: cầu nối giữa hợp đồng thông minh và thế giới thực
Phân tích kỹ thuật Máy Oracle: Lấy Chainlink làm ví dụ
Trong hệ sinh thái blockchain, Máy Oracle đóng vai trò cầu nối giữa hợp đồng thông minh và thế giới bên ngoài, đóng một vai trò vô cùng quan trọng. Nó có thể cung cấp thông tin bên ngoài cho hợp đồng thông minh trên chuỗi, là phần mềm trung gian then chốt kết nối blockchain và thế giới thực.
Chức năng cốt lõi của Máy Oracle là cung cấp dữ liệu cho hợp đồng thông minh. Ví dụ, giả sử chúng ta triển khai một hợp đồng thông minh trên Ethereum cần lấy thông tin về khối lượng giao dịch dầu thô vào một ngày nhất định. Vì hợp đồng thông minh không thể truy cập trực tiếp vào dữ liệu ngoài chuỗi, nên cần phải nhờ đến Máy Oracle. Hợp đồng sẽ ghi thông tin cần thiết vào nhật ký sự kiện, sau đó quá trình ngoài chuỗi sẽ lắng nghe nhật ký đó và khi phát hiện yêu cầu, sẽ truyền dữ liệu khối lượng giao dịch dầu thô của ngày đã chỉ định cho hợp đồng thông minh thông qua giao dịch trên chuỗi.
Trong số nhiều dự án Máy Oracle, Chainlink chiếm lĩnh thị trường lớn nhất. Là một mạng lưới Máy Oracle phi tập trung, Chainlink cam kết cung cấp dữ liệu từ thế giới thực cho blockchain một cách an toàn nhất. Nó xây dựng một hệ sinh thái được thúc đẩy bởi các động lực kinh tế dựa trên token LINK, LINK là hợp đồng ERC677 trên Ethereum.
Một trường hợp ứng dụng điển hình của Máy Oracle Chainlink là mô hình yêu cầu/phản hồi. Mô hình này sử dụng chức năng transferAndCall của token ERC677, kết hợp thanh toán và yêu cầu dịch vụ thành một. Khi người dùng gọi transferAndCall để chuyển tiền, bên cạnh thao tác chuyển tiền ERC20 tiêu chuẩn, nó cũng sẽ kiểm tra xem địa chỉ nhận có phải là địa chỉ hợp đồng hay không. Nếu đúng, phương thức onTokenTransfer của địa chỉ đó sẽ được gọi.
Trong quá trình sử dụng thực tế, người tiêu dùng Máy Oracle trước tiên cần xác nhận độ tin cậy của Máy Oracle mục tiêu. Sau đó, họ sẽ thanh toán bằng mã thông báo LINK và khởi tạo yêu cầu dịch vụ thông qua phương thức transferAndCall. Phương thức onTokenTransfer của hợp đồng Máy Oracle 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 chuyển nhượng, kiểm tra độ dài dữ liệu và bộ chọn hàm. Sau khi kiểm tra, hợp đồng 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.
Các nút ngoài chuỗi sẽ lắng nghe những sự kiện này, phân tích thông tin yêu cầu, lấy dữ liệu cần thiết thông qua API, sau đó gọi phương thức fulfillOracleRequest để gửi dữ liệu lên chuỗi. Quá trình này bao gồm nhiều xác thực, đảm bảo tính hợp lệ và an toàn của yêu cầu. Cuối cùng, hợp đồng Máy Oracle sẽ gọi hàm callback của hợp đồng yêu cầu, hoàn thành toàn bộ quá trình truyền dữ liệu.
Đối với các nhà phát triển, Chainlink còn cung cấp cách sử dụng thuận tiện hơn, đặc biệt là cho các dữ liệu giá phổ biến. Mỗi cặp giao dịch đều có một Price Feed chuyên dụng (còn được gọi là Aggregator), thực chất là hợp đồng AggregatorProxy. Những hợp đồng này cung cấp nhiều phương thức truy vấn, chẳng hạn như decimals(), description(), version(), getRoundData() và latestRoundData(). Trong hầu hết các trường hợp ứng dụng, hợp đồng chỉ cần gọi phương thức latestRoundData() để lấy dữ liệu giá mới nhất.
Cần lưu ý rằng các cặp giao dịch được định giá bằng đô la Mỹ có độ chính xác dữ liệu giá thường được thống nhất là 8 chữ số thập phân, điều này đơn giản hóa vấn đề xử lý độ chính xác giữa các token khác nhau. Thiết kế giao diện chuẩn hóa này đã giảm đáng kể độ phức tạp của các nhà phát triển khi sử dụng dịch vụ Máy Oracle.
link必涨, hãy chờ xem.