Máy Oracle hệ thống: Blockchain và cầu nối quan trọng với thế giới thực

robot
Đang tạo bản tóm tắt

Vai trò then chốt của hệ thống Máy Oracle trong công nghệ Blockchain

Máy Oracle là một cơ sở hạ tầng quan trọng trong lĩnh vực Blockchain, 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à một phần mềm trung gian kết nối hợp đồng thông minh và thế giới bên ngoài chuỗi, Máy Oracle đóng vai trò không thể thiếu trong hệ sinh thái Blockchain, chức năng cốt lõi của nó là cung cấp dữ liệu bên ngoài cần thiết cho hợp đồng thông minh.

Máy Oracle

Lấy một 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 dữ liệu khối lượng giao dịch dầu thô của một ngày nhất định. Do hợp đồng thông minh không thể truy cập trực tiếp vào dữ liệu thế giới thực ngoài chuỗi, lúc này cần sử dụng Máy Oracle để thực hiện chức năng này. Quy trình cụ thể là: hợp đồng thông minh sẽ ghi khối lượng giao dịch dầu thô của ngày cần thiết vào nhật ký sự kiện, sau đó một quá trình ngoài chuỗi sẽ được khởi động để theo dõi nhật ký sự kiện này. Khi phát hiện yêu cầu liên quan, quá trình này sẽ gọi phương thức tương ứng của hợp đồng thông qua việc gửi giao dịch trên chuỗi, truyền thông tin khối lượng giao dịch dầu thô của ngày chỉ định vào hợp đồng thông minh.

Máy Oracle详解系列之 Chainlink(上)

Trong số nhiều dự án máy Oracle, Chainlink chiếm thị phần lớn nhất. Chainlink là một mạng lưới máy Oracle phi tập trung, nhằm cung cấp dữ liệu từ thế giới thực cho blockchain một cách an toàn và đáng tin cậy nhất. Ngoài việc thực hiện các chức năng máy Oracle cơ bản, Chainlink còn xây dựng một hệ sinh thái xung quanh token LINK, tạo ra một vòng lặp tích cực thông qua các động lực kinh tế. Trong mạng lưới Chainlink, dịch vụ máy Oracle cần được kích hoạt thông qua việc chuyển token LINK, trong khi LINK là một token ERC677 trên Ethereum. Chức năng máy Oracle được thực hiện dựa trên token LINK thuộc mô hình yêu cầu/phản hồi.

Máy Oracle详解系列之 Chainlink(上)

Tiêu chuẩn ERC677 bổ sung phương thức transferAndCall dựa trên ERC20, kết hợp thanh toán và yêu cầu dịch vụ thành một, đáp ứng tốt hơn nhu cầu của các tình huống kinh doanh Máy Oracle. Khi người dùng gọi transferAndCall để chuyển tiền, ngoài việc chuyển tiền ERC20 thông thường, nếu bên nhận là địa chỉ hợp đồng, phương thức onTokenTransfer của địa chỉ đó cũng sẽ được gọi.

Máy Oracle详解系列之 Chainlink(上)

Trong quá trình yêu cầu oracle trên chuỗi, khi người tiêu dùng Máy Oracle sử dụng phương thức transferAndCall để thanh toán phí và yêu cầu dịch vụ, phương thức onTokenTransfer của hợp đồng Máy Oracle sẽ thực hiện một loạt kiểm tra an toàn trước tiên, bao gồm xác minh xem việc chuyển nhượng có phải là token LINK hay không, kiểm tra độ dài dữ liệu yêu cầu có hợp lệ hay không, xác minh selector của hàm, v.v. Chỉ sau khi qua những kiểm tra này, mới gọi phương thức oracleRequest của hợp đồng oracle thông qua deleGatecall.

Máy Oracle详解系列之 Chainlink(上)

Phương thức oracleRequest sẽ tạo ra một requestId duy nhất, thiết lập thời gian hết hạn cho yêu cầu và ghi lại thông tin liên quan vào bản đồ commitments. Quan trọng nhất là, nó sẽ phát ra một sự kiện OracleRequest chứa dữ liệu yêu cầu. Dữ liệu trong sự kiện này thường được biểu diễn bằng định dạng CBOR(, được mã hóa ), thuận tiện cho việc các nút bên ngoài chuỗi phân tích và xử lý.

Máy Oracle

Nút ngoài chuỗi khi phản hồi yêu cầu, sẽ gọi phương thức fulfillOracleRequest. Phương thức này đầu tiên sẽ thực hiện một loạt xác minh, bao gồm kiểm tra quyền của người gọi, xác minh tính hợp lệ của yêu cầu, v.v. Sau khi xác minh thành công, sẽ cập nhật số lượng token có thể rút, xóa ghi chú commitment tương ứng, và cuối cùng gọi hàm callback của hợp đồng của người yêu cầu.

Máy Oracle

Đối với các nhà phát triển, nếu chỉ cần sử dụng dữ liệu giá của các cặp tiền tệ hiện có, có thể gọi trực tiếp giao diện Price Feed do Chainlink cung cấp. Mỗi cặp giao dịch đều có một Price Feed độc lập ( còn được gọi là Aggregator ), thực tế là một hợp đồng AggregatorProxy. Những giao diện này cung cấp các chức năng như lấy độ chính xác giá, mô tả, số phiên bản và dữ liệu giá mới nhất. Trong hầu hết các trường hợp ứng dụng, hợp đồng chỉ cần đọc giá mới nhất, thông qua việc gọi phương thức latestRoundData () để có được. Đáng chú ý là các cặp giao dịch được định giá bằng đô la Mỹ thường sử dụng độ chính xác đồng nhất 8 chữ số, điều này giúp đơn giản hóa vấn đề xử lý độ chính xác giữa các token khác nhau.

Máy Oracle

LINK-2.91%
Xem bản gốc
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.
  • Phần thưởng
  • 5
  • Chia sẻ
Bình luận
0/400
0xSherlockvip
· 07-18 14:15
link vẫn cần tiếp tục phát triển nhé
Xem bản gốcTrả lời0
LightningPacketLossvip
· 07-16 16:18
Giá link có thể tốt hơn không?
Xem bản gốcTrả lời0
PumpingCroissantvip
· 07-16 03:42
link có hơi tốn gas
Xem bản gốcTrả lời0
GweiWatchervip
· 07-16 03:30
link và đợt tăng giá này có mối quan hệ gì?
Xem bản gốcTrả lời0
WhaleSurfervip
· 07-16 03:24
LINK bull à, giá trắng tay còn có thể nằm kiếm lời
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)