Leçon 1

Giới thiệu về các Oracles Ethereum (Ethereum Oracles)

Chào mừng bạn đến với khóa học này. Khi bạn bắt đầu cuộc hành trình khám phá thế giới của các nhà tiên tri Ethereum, bạn sẽ tìm hiểu cách các mạng blockchain giao tiếp với thế giới bên ngoài. Các nhà tiên tri giống như một cây cầu kết nối sự chắc chắn của các hợp đồng thông minh với thực tế luôn thay đổi của thế giới thực. Mục tiêu của khóa học này là giải mã những điều phức tạp đằng sau các nhà tiên tri và làm cho chúng dễ hiểu và dễ tiếp cận hơn.

Ý nghĩa của Oracles (Oracles) là gì?

Mạng lưới phi tập trung của Ethereum và hợp đồng thông minh của nó hoàn toàn cô lập khỏi thế giới thực. Sự cô lập này đảm bảo tính nhất quán, an toàn và tính toàn vẹn. Tuy nhiên, điều này cũng đặt ra một hạn chế: những hợp đồng thông minh này không thể truy cập hoặc xác minh dữ liệu bên ngoài mà không cần sự hỗ trợ. Vậy, nếu việc thực thi một hợp đồng phụ thuộc vào giá vàng hiện tại, điều kiện thời tiết ở một thành phố cụ thể, hoặc kết quả bầu cử thì sao?

Oracles điền vào khoảng trống này. Như những người thông báo, họ thu thập, xác thực và cung cấp thông tin thế giới thực cho các hợp đồng thông minh, từ đó mở rộng phạm vi các ứng dụng phi tập trung.

Hãy tưởng tượng tình huống sau:

Solidity//Một hợp đồng thông minh giả định theo hợp đồng dữ liệu bên ngoài GoldPriceBet { Oracle OracleInstance;//Một phiên bản Oracle thực của giá vàng thời gian thực địa chỉ người đặt cược; uint256 số tiền cược; Chức năng placeGoldPriceBet (uint PredictedPrice) ngoại lệ thanh toán {bettor = msg.sender; wagerAmount = msg.value; //Ở đây, thường chúng ta sẽ gọi bộ truy vấn để lấy giá vàng hiện tại }}

Nhận xét về mã:

  • OracleOracleInstance;Đây là một vị trí dành cho chúng tôi GoldPriceBethợp đồng tương tác để lấy giá vàng hiện tại (Oracle) hợp đồng.
  • Cái Hàm placeGoldPriceBet cho phép người dùng đặt cược để dự đoán giávàng. Lý tưởng, sau khi đặt cược, các thầy mồi sẽ được triệu hồi để lấy giá vàng thời gian thực và xác định kết quả.

Hệ sinh thái Oracles đa dạng

Nói chung, các nhà tiên tri chia thành hai loại chính:

Trung tâm hoặcacles

Được vận hành bởi một thực thể hoặc tổ chức duy nhất, oracles tập trung hiệu quả và có thể nhanh chóng có được dữ liệu. Tuy nhiên, điểm yếu của họ là sự tin cậy. Việc thực hiện hợp đồng thông minh phụ thuộc vào tính toàn vẹn của thực thể tập trung này. Dữ liệu bị thao tác hoặc sai lệch có thể dẫn đến kết quả bất ngờ.

Oracles phi tập trung

Để giảm thiểu nhược điểm của các hệ thống tập trung, các oracles phi tập trung đã nảy mầm. Ở đây, một mạng lưới của nhiều oracles cung cấp dữ liệu. Một hợp đồng thông minh có thể sử dụng một phương pháp tổng hợp, như trung bình hoặc trung vị, để đến được một giá trị. Bằng cách phân tán các nguồn dữ liệu, những oracles này giảm thiểu rủi ro liên quan đến sự can thiệp của con người hoặc các điểm thất bại đơn lẻ.

Solidity//Một hợp đồng thông minh mẫu minh họa tận dụng một khung Oracle linh hoạt hợp đồng CommodityPriceFeed { Oracle Phi tập trung [] OracleArray; // Một mảng của những Oracle phi tập trung hàm deriveAveragePrice () external view returns (uint256) { uint256 giá trị tích luỹ = 0; for (uint i = 0; i < oracleArray.length; i++) { giá trị tích luỹ += oracleArray[i].fetchPrice(); } return giá trị tích luỹ / oracleArray.length; }}

Nhận xét về mã:

  • DecentralizedOracle [] OracleArray; đây là một mảng lưu trữ nhiều trường hợp của các oracles phi tập trung.
  • The deriveAveragePriceHàm tính giá trung bình được nhận từ tất cả các oracles trong OracleArray. Nó đi qua từng oracle, lấy giá và sau đó chia cho số lượng oracles để có giá trị trung bình.

Các ứng dụng truyền thống của các nhà tiên tri

Các ứng dụng tiềm năng của các trại hiệu là rất đa dạng và phong phú:

  • Các công cụ phái sinh tài chính: Các công cụ tài chính như quyền chọn yêu cầu quyền truy cập vào giá tài sản trong thế giới thực để thực hiện hợp đồng.
  • Bảo hiểm thông minh: Hãy tưởng tượng một hợp đồng bảo hiểm du lịch thông minh tự động bồi thường cho người dùng khi chuyến bay bị trễ. Dữ liệu này đến từ một rơ moóc hàng không.
  • Xác minh chuỗi cung ứng: Bằng cách nhập dữ liệu bên ngoài vào blockchain, có thể theo dõi sản phẩm theo thời gian thực từ quá trình sản xuất đến giao hàng cho khách hàng.
  • Trò chơi phi tập trung: Các trò chơi trực tuyến dựa trên blockchain có thể sử dụng các nguồn trí tuệ nhân tạo để ảnh hưởng đến kết quả trò chơi dựa trên sự kiện thế giới thực, như kết quả trận đấu thể thao.
    Đọc thêm về oracles: Oracle trong Blockchain là gì?

Công cụ tài chính phái sinh và các nền tảng giao dịch

Các nền tảng tài chính đòi hỏi thông tin thời gian thực về giá tài sản, lãi suất hoặc các chỉ số kinh tế khác. Các nền tảng tương lai phi tập trung sử dụng các nguồn tin để đảm bảo rằng các hợp đồng, như hợp đồng tương lai và quyền chọn, được giải quyết dựa trên dữ liệu thị trường chính xác, không thể thao túng.

//Một hợp đồng thông minh mẫu cho một tùy chọn thuận tiệnhợp đồng DecentralizedOption { Oracle PriceOracle; uint256 strikePrice = 1000;//Giá trị mẫu chức năng exerciseOption () ngoại vi { uint256 currentPrice = priceOracle.fetchCurrentPrice ();        if (currentPrice strikePrice>) {            // Logic to exercise the option        }    }}

Chú thích mã:

  • The DecentralizedOptionhợp đồng tương tác với các oracles để nhận giá hiện tại.
  • Khi người dùng thực hiện một quyền chọn, hợp đồng sẽ kiểm tra giá hiện tại so với giá thực hiện được xác định trước để xác định kết quả.

Bảo hiểm thông minh

Oracles đã thúc đẩy sự phát triển của các nền tảng bảo hiểm phi tập trung, cung cấp dữ liệu như mẫu thời tiết cần thiết cho bảo hiểm mùa vụ, điều kiện bay cần thiết cho bảo hiểm du lịch, hoặc hoạt động địa chấn cần thiết cho bảo hiểm địa chấn.

Hợp đồng Soliditycontract FlightDelayInsurance { Oracle FlightStatusOracle; chức năng claimInsurance (chuỗi số chuyến bay) ngoại tuyến { chuỗi trạng thái = flightstatusOracle.getFlightStatus (flightNumber);        nếu (strcmp (status, " Delayed") == 0) {            // Logic để bồi thường người được bảo hiểm        }    }}

Chú thích mã:

  • Bảo hiểm trễ chuyến baycác hợp đồng sử dụng oracles để lấy trạng thái chuyến bay.
  • Tùy thuộc vào tình trạng của chuyến bay, nó sẽ bồi thường cho người được bảo hiểm nếu chuyến bay bị trì hoãn.

Xác minh chuỗi cung ứng

Đối với các giải pháp chuỗi cung ứng phi tập trung, oracles có thể cung cấp dữ liệu có thể xác minh ở mọi giai đoạn, từ việc tạm nhập nguyên liệu đến việc giao hàng sản phẩm, để đảm bảo tính xác thực của sản phẩm và tạm nhập nguyên liệu đạo đức.

Soliditycontract supplyChainTracker { Oracle LocationOracle; địa chỉ ProductOwner; hàm verifyProductLocation (địa chỉ ProductID) trả về dạng xem bên ngoài (bộ nhớ chuỗi) {return locationOracle.fetchProductLocation(productID);    }}

Code comments:

  • Hợp đồng này sử dụng các oracle để có được vị trí của sản phẩm ở bất kỳ giai đoạn nào của chuỗi cung ứng.
  • Nó có thể được sử dụng để theo dõi sản phẩm và xác minh nguồn gốc và tuyến đường của chúng.

Trò chơi phi tập trung

Các trò chơi tích hợp sự kiện thực tế, như kết quả của các sự kiện thể thao hoặc diễn biến thị trường chứng khoán, có thể được xây dựng theo cách phi tập trung bằng cách sử dụng các oracles để thu thập dữ liệu cần thiết.

SolidityContract SportsBet { Oracle SportsResultOracle; Chức năng placeBet (chuỗi teamName) bên ngoài phải trả { // Logic để đặt cược } hàm resolveBet () bên ngoài { chuỗi winningTeam = sportsResultOracle.getMatchResult();        Logic để thưởng cho người chiến thắng dựa trên kết quả }}

Ghi chú về mã:

  • SportsBet cho phép người dùng đặt cược vào kết quả của các sự kiện thể thao.
  • Sau đó, nó tương tác với các nhà tiên tri để có được kết quả trận đấu và giải quyết cược tương ứng.
    Bây giờ chúng ta đã có một sự khám phá sơ bộ về thế giới của các nhà tiên tri Ethereum. Trong các khóa học tiếp theo, chúng ta sẽ đào sâu vào sự phức tạp của việc tích hợp các nhà tiên tri với các hợp đồng thông minh. Nếu nội dung khiến bạn cảm thấy rất hào hứng, hãy duy trì sự nhiệt tình của mình trong việc học tập. Bởi vì thế giới dữ liệu phi tập trung đang mời gọi chúng ta!
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 1

Giới thiệu về các Oracles Ethereum (Ethereum Oracles)

Chào mừng bạn đến với khóa học này. Khi bạn bắt đầu cuộc hành trình khám phá thế giới của các nhà tiên tri Ethereum, bạn sẽ tìm hiểu cách các mạng blockchain giao tiếp với thế giới bên ngoài. Các nhà tiên tri giống như một cây cầu kết nối sự chắc chắn của các hợp đồng thông minh với thực tế luôn thay đổi của thế giới thực. Mục tiêu của khóa học này là giải mã những điều phức tạp đằng sau các nhà tiên tri và làm cho chúng dễ hiểu và dễ tiếp cận hơn.

Ý nghĩa của Oracles (Oracles) là gì?

Mạng lưới phi tập trung của Ethereum và hợp đồng thông minh của nó hoàn toàn cô lập khỏi thế giới thực. Sự cô lập này đảm bảo tính nhất quán, an toàn và tính toàn vẹn. Tuy nhiên, điều này cũng đặt ra một hạn chế: những hợp đồng thông minh này không thể truy cập hoặc xác minh dữ liệu bên ngoài mà không cần sự hỗ trợ. Vậy, nếu việc thực thi một hợp đồng phụ thuộc vào giá vàng hiện tại, điều kiện thời tiết ở một thành phố cụ thể, hoặc kết quả bầu cử thì sao?

Oracles điền vào khoảng trống này. Như những người thông báo, họ thu thập, xác thực và cung cấp thông tin thế giới thực cho các hợp đồng thông minh, từ đó mở rộng phạm vi các ứng dụng phi tập trung.

Hãy tưởng tượng tình huống sau:

Solidity//Một hợp đồng thông minh giả định theo hợp đồng dữ liệu bên ngoài GoldPriceBet { Oracle OracleInstance;//Một phiên bản Oracle thực của giá vàng thời gian thực địa chỉ người đặt cược; uint256 số tiền cược; Chức năng placeGoldPriceBet (uint PredictedPrice) ngoại lệ thanh toán {bettor = msg.sender; wagerAmount = msg.value; //Ở đây, thường chúng ta sẽ gọi bộ truy vấn để lấy giá vàng hiện tại }}

Nhận xét về mã:

  • OracleOracleInstance;Đây là một vị trí dành cho chúng tôi GoldPriceBethợp đồng tương tác để lấy giá vàng hiện tại (Oracle) hợp đồng.
  • Cái Hàm placeGoldPriceBet cho phép người dùng đặt cược để dự đoán giávàng. Lý tưởng, sau khi đặt cược, các thầy mồi sẽ được triệu hồi để lấy giá vàng thời gian thực và xác định kết quả.

Hệ sinh thái Oracles đa dạng

Nói chung, các nhà tiên tri chia thành hai loại chính:

Trung tâm hoặcacles

Được vận hành bởi một thực thể hoặc tổ chức duy nhất, oracles tập trung hiệu quả và có thể nhanh chóng có được dữ liệu. Tuy nhiên, điểm yếu của họ là sự tin cậy. Việc thực hiện hợp đồng thông minh phụ thuộc vào tính toàn vẹn của thực thể tập trung này. Dữ liệu bị thao tác hoặc sai lệch có thể dẫn đến kết quả bất ngờ.

Oracles phi tập trung

Để giảm thiểu nhược điểm của các hệ thống tập trung, các oracles phi tập trung đã nảy mầm. Ở đây, một mạng lưới của nhiều oracles cung cấp dữ liệu. Một hợp đồng thông minh có thể sử dụng một phương pháp tổng hợp, như trung bình hoặc trung vị, để đến được một giá trị. Bằng cách phân tán các nguồn dữ liệu, những oracles này giảm thiểu rủi ro liên quan đến sự can thiệp của con người hoặc các điểm thất bại đơn lẻ.

Solidity//Một hợp đồng thông minh mẫu minh họa tận dụng một khung Oracle linh hoạt hợp đồng CommodityPriceFeed { Oracle Phi tập trung [] OracleArray; // Một mảng của những Oracle phi tập trung hàm deriveAveragePrice () external view returns (uint256) { uint256 giá trị tích luỹ = 0; for (uint i = 0; i < oracleArray.length; i++) { giá trị tích luỹ += oracleArray[i].fetchPrice(); } return giá trị tích luỹ / oracleArray.length; }}

Nhận xét về mã:

  • DecentralizedOracle [] OracleArray; đây là một mảng lưu trữ nhiều trường hợp của các oracles phi tập trung.
  • The deriveAveragePriceHàm tính giá trung bình được nhận từ tất cả các oracles trong OracleArray. Nó đi qua từng oracle, lấy giá và sau đó chia cho số lượng oracles để có giá trị trung bình.

Các ứng dụng truyền thống của các nhà tiên tri

Các ứng dụng tiềm năng của các trại hiệu là rất đa dạng và phong phú:

  • Các công cụ phái sinh tài chính: Các công cụ tài chính như quyền chọn yêu cầu quyền truy cập vào giá tài sản trong thế giới thực để thực hiện hợp đồng.
  • Bảo hiểm thông minh: Hãy tưởng tượng một hợp đồng bảo hiểm du lịch thông minh tự động bồi thường cho người dùng khi chuyến bay bị trễ. Dữ liệu này đến từ một rơ moóc hàng không.
  • Xác minh chuỗi cung ứng: Bằng cách nhập dữ liệu bên ngoài vào blockchain, có thể theo dõi sản phẩm theo thời gian thực từ quá trình sản xuất đến giao hàng cho khách hàng.
  • Trò chơi phi tập trung: Các trò chơi trực tuyến dựa trên blockchain có thể sử dụng các nguồn trí tuệ nhân tạo để ảnh hưởng đến kết quả trò chơi dựa trên sự kiện thế giới thực, như kết quả trận đấu thể thao.
    Đọc thêm về oracles: Oracle trong Blockchain là gì?

Công cụ tài chính phái sinh và các nền tảng giao dịch

Các nền tảng tài chính đòi hỏi thông tin thời gian thực về giá tài sản, lãi suất hoặc các chỉ số kinh tế khác. Các nền tảng tương lai phi tập trung sử dụng các nguồn tin để đảm bảo rằng các hợp đồng, như hợp đồng tương lai và quyền chọn, được giải quyết dựa trên dữ liệu thị trường chính xác, không thể thao túng.

//Một hợp đồng thông minh mẫu cho một tùy chọn thuận tiệnhợp đồng DecentralizedOption { Oracle PriceOracle; uint256 strikePrice = 1000;//Giá trị mẫu chức năng exerciseOption () ngoại vi { uint256 currentPrice = priceOracle.fetchCurrentPrice ();        if (currentPrice strikePrice>) {            // Logic to exercise the option        }    }}

Chú thích mã:

  • The DecentralizedOptionhợp đồng tương tác với các oracles để nhận giá hiện tại.
  • Khi người dùng thực hiện một quyền chọn, hợp đồng sẽ kiểm tra giá hiện tại so với giá thực hiện được xác định trước để xác định kết quả.

Bảo hiểm thông minh

Oracles đã thúc đẩy sự phát triển của các nền tảng bảo hiểm phi tập trung, cung cấp dữ liệu như mẫu thời tiết cần thiết cho bảo hiểm mùa vụ, điều kiện bay cần thiết cho bảo hiểm du lịch, hoặc hoạt động địa chấn cần thiết cho bảo hiểm địa chấn.

Hợp đồng Soliditycontract FlightDelayInsurance { Oracle FlightStatusOracle; chức năng claimInsurance (chuỗi số chuyến bay) ngoại tuyến { chuỗi trạng thái = flightstatusOracle.getFlightStatus (flightNumber);        nếu (strcmp (status, " Delayed") == 0) {            // Logic để bồi thường người được bảo hiểm        }    }}

Chú thích mã:

  • Bảo hiểm trễ chuyến baycác hợp đồng sử dụng oracles để lấy trạng thái chuyến bay.
  • Tùy thuộc vào tình trạng của chuyến bay, nó sẽ bồi thường cho người được bảo hiểm nếu chuyến bay bị trì hoãn.

Xác minh chuỗi cung ứng

Đối với các giải pháp chuỗi cung ứng phi tập trung, oracles có thể cung cấp dữ liệu có thể xác minh ở mọi giai đoạn, từ việc tạm nhập nguyên liệu đến việc giao hàng sản phẩm, để đảm bảo tính xác thực của sản phẩm và tạm nhập nguyên liệu đạo đức.

Soliditycontract supplyChainTracker { Oracle LocationOracle; địa chỉ ProductOwner; hàm verifyProductLocation (địa chỉ ProductID) trả về dạng xem bên ngoài (bộ nhớ chuỗi) {return locationOracle.fetchProductLocation(productID);    }}

Code comments:

  • Hợp đồng này sử dụng các oracle để có được vị trí của sản phẩm ở bất kỳ giai đoạn nào của chuỗi cung ứng.
  • Nó có thể được sử dụng để theo dõi sản phẩm và xác minh nguồn gốc và tuyến đường của chúng.

Trò chơi phi tập trung

Các trò chơi tích hợp sự kiện thực tế, như kết quả của các sự kiện thể thao hoặc diễn biến thị trường chứng khoán, có thể được xây dựng theo cách phi tập trung bằng cách sử dụng các oracles để thu thập dữ liệu cần thiết.

SolidityContract SportsBet { Oracle SportsResultOracle; Chức năng placeBet (chuỗi teamName) bên ngoài phải trả { // Logic để đặt cược } hàm resolveBet () bên ngoài { chuỗi winningTeam = sportsResultOracle.getMatchResult();        Logic để thưởng cho người chiến thắng dựa trên kết quả }}

Ghi chú về mã:

  • SportsBet cho phép người dùng đặt cược vào kết quả của các sự kiện thể thao.
  • Sau đó, nó tương tác với các nhà tiên tri để có được kết quả trận đấu và giải quyết cược tương ứng.
    Bây giờ chúng ta đã có một sự khám phá sơ bộ về thế giới của các nhà tiên tri Ethereum. Trong các khóa học tiếp theo, chúng ta sẽ đào sâu vào sự phức tạp của việc tích hợp các nhà tiên tri với các hợp đồng thông minh. Nếu nội dung khiến bạn cảm thấy rất hào hứng, hãy duy trì sự nhiệt tình của mình trong việc học tập. Bởi vì thế giới dữ liệu phi tập trung đang mời gọi chúng ta!
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.