Thơi gian đọc: 5 phút
Ethereum là blockchain đầu tiên kế thừa các phẩm chất của việc tạo dapp, giao dịch tài sản tiền điện tử trên blockchain, v.v.
Nó có ngôn ngữ lập trình để viết các hợp đồng thông minh và triển khai chúng trên máy ảo Ethereum để truyền phân quyền trong việc thực hiện các hoạt động.
Hợp đồng thông minh thực thi các dòng mã được xác định trước và hoàn thành nhiệm vụ dự kiến. Nhưng nếu chúng ta muốn làm cho các hợp đồng thông minh hoạt động dựa trên kết quả của thời gian thực xảy ra thì sao?
Để đạt được điều này, chúng ta cần hiểu khái niệm về các phép tắc blockchain mà thông qua đó các hợp đồng thông minh có thể nhận được đầu vào từ thế giới thực.
Một điều kỳ diệu trong tiền điện tử là gì và làm thế nào để tạo ra một điều tiên tri trong hợp đồng thông minh Ethereum? Chúng ta sẽ thảo luận chi tiết về vấn đề này trong phần sau.
Các chủ đề chính của blog
- Nhà tiên tri tiền điện tử là gì và cách thức hoạt động của các nhà tiên tri tiền điện tử
- Các loại oracles khác nhau
- Luồng dữ liệu từ oracles đến hợp đồng thông minh Ethereum
- Cách viết mã Ethereum oracles
- Vấn đề với tiên tri tiền điện tử
Oracle là gì, và tại sao nó lại cần thiết?
Linh vật là các thực thể hoạt động như một cầu nối kết nối blockchain với các hệ thống bên ngoài. Nói cách khác, oracles cung cấp dữ liệu sự kiện ngoài chuỗi cho hợp đồng thông minh để thực hiện một hành động dựa trên đầu vào.
Ví dụ, trong các sự kiện cá cược, người dùng được phép đặt cược vào những người chơi mà họ nghĩ sẽ thắng trận đấu. Dựa trên thời gian thực diễn ra, phần thưởng được phân phối cho những người dùng đặt cược vào người chiến thắng.
Thần chú chuỗi khối giúp bổ sung dữ liệu về người chiến thắng vào các hợp đồng thông minh. Luồng dữ liệu trên oracle là hai chiều và có thể được sử dụng để dịch bất kỳ dữ liệu thời gian thực nào từ báo cáo thời tiết đến trạng thái thị trường chứng khoán sang hợp đồng thông minh.
Mỗi nút trong chuỗi khối Ethereum đều sở hữu thông tin về các giao dịch, thông tin này phải đồng nhất. Do đó, việc tìm nạp dữ liệu từ các API có thể dẫn đến sự khác biệt. Ngược lại, oracle tải dữ liệu trên blockchain, dữ liệu này luôn xuất hiện giống nhau trên tất cả các nút.
Làm thế nào để truy cập dữ liệu từ Oracle?
Hợp đồng thông minh sử dụng chu trình yêu cầu và phản hồi để lấy thông tin từ nút tiên tri. Oracle được triển khai với HTTP GET sẽ nhận được yêu cầu từ hợp đồng thông minh và hàm gọi lại có thể lấy dữ liệu được yêu cầu từ oracle.
Bằng cách này, dữ liệu được thu thập bởi hợp đồng thông minh từ oracle. Mỗi oracle được định cấu hình để cung cấp thông tin cụ thể và bạn có thể tìm kiếm các dịch vụ của bên thứ ba để có được dữ liệu mà bạn tìm kiếm.
Đây là một số dịch vụ của oracle
- Chuỗi liên kết
- Có thể
- winet
- Paralink, v.v.
Phân loại của Oracles
Oracles được phân loại thành nhiều loại khác nhau tùy thuộc vào việc tìm nạp, xác thực và chuyển dữ liệu.
Đầu vào oracles: Loại được công nhận rộng rãi nhất trong đó dữ liệu được tìm nạp ngoài chuỗi từ các diễn biến trong thời gian thực. Đối với người yêu cũ. Nguồn cấp dữ liệu giá trên cổ phiếu được lấy từ ngoài chuỗi để kích hoạt hành động trên các hợp đồng thông minh dựa trên các điều kiện thị trường tài chính.
Oracles đầu ra: Câu thứ hai của lời chúc đầu vào trong đó các hợp đồng thông minh kích động nhà tiên tri thực hiện hành động. Đối với người yêu cũ. Gửi tín hiệu đến nhà cung cấp dịch vụ lưu trữ để lưu trữ dữ liệu hoặc bắt đầu các mạng ngân hàng thực hiện thanh toán.
Kinh thánh chuỗi chéo: Các phép tắc chuỗi chéo tạo điều kiện thuận lợi cho cả việc đọc và ghi dữ liệu trên các blockchain khác nhau. Nó cũng làm cho nó có thể kích hoạt các sự kiện trong một chuỗi khối và làm cho chúng hoạt động trên một chuỗi khối khác.
Phép tính hỗ trợ máy tính: Các nhà khoa học hỗ trợ máy tính sử dụng tính toán ngoài chuỗi để cung cấp dịch vụ. Đặc biệt là khi chuỗi trực tuyến không đáng tin cậy do hạn chế về kỹ thuật hoặc tài chính, loại tiên tri này được sử dụng.
Tìm nạp dữ liệu từ Oracles
Bước 1: Hợp đồng thông minh gửi một truy vấn đến nhà tiên tri.
Bước 2: Truy vấn được chuyển hướng đến phương tiện vận chuyển dữ liệu, tìm kiếm dữ liệu từ nguồn dữ liệu
Bước 3: Dữ liệu được lấy từ nguồn và được cung cấp cho nhà tiên tri.
Bước 4: Oracle gửi phản hồi tới hợp đồng thông minh theo yêu cầu.
Tạo Oracle trong Hợp đồng thông minh Ethereum - Cấu trúc mã
Chúng ta sẽ tìm hiểu cách hoạt động của oracle trong việc xác định giá hiện tại của Bitcoin bằng USD bằng cách sử dụng dịch vụ oracle có tên là Provable.
pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } }
Các vấn đề của Oracle
Các vấn đề của Oracle về cơ bản là xung đột giữa các hợp đồng thông minh không đáng tin cậy và các hợp đồng đáng tin cậy của bên thứ ba, xét đến tính bảo mật và tính xác thực của dữ liệu từ các bên thứ ba.
Các hợp đồng thông minh dựa vào các vị thần để đưa ra các quyết định liên quan đến việc thực hiện của chúng, mang lại cho chúng quyền lực to lớn đối với hoạt động của chúng. Trên thực tế, bản chất phi tập trung của các hợp đồng thông minh đang được đặt ra một dấu hỏi.
Tuy nhiên, các dịch vụ oracle như ChainLink và Oraclize hoạt động như các giải pháp phi tập trung lấy dữ liệu dựa trên các phương pháp mới và được xác thực. Do đó, dữ liệu thu được thông qua các phương tiện phi tập trung.
Kết luận
Khả năng kết nối của blockchain với thế giới thực là có ý nghĩa đáng kể đối với một bước tiến nhảy vọt đối với thế giới phi tập trung. Oracles đang cung cấp giải pháp cho giao diện hợp đồng thông minh đáng tin cậy với dữ liệu thời gian thực.
Tuy nhiên, để mang lại tính bền vững, những tiến bộ được thực hiện bởi các dịch vụ oracle để tăng cường tính bảo mật và tính đúng đắn của dữ liệu thu được ngoài chuỗi.
Muốn giữ liên quan nhiều hơn đến Bảo mật Web3?
Theo QuillAudit cho nhiều bài viết cập nhật như vậy về Web3.
Các bài viết Làm thế nào để xây dựng Oracle của riêng bạn bằng cách sử dụng hợp đồng thông minh Ethereum? xuất hiện đầu tiên trên Blog.quillhash.
- Coinsmart. Sàn giao dịch Bitcoin và tiền điện tử tốt nhất Châu Âu.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. TRUY CẬP MIỄN PHÍ.
- CryptoHawk. Radar Altcoin. Dùng thử miễn phí.
- Nguồn: https://blog.quillhash.com/2022/07/01/how-to-build-your-own-oracle-using-ethereum-smart-contracts/
- "
- a
- Giới thiệu
- truy cập
- Đạt được
- có được
- Hành động
- Hoạt động
- hoạt động
- tiến bộ
- Tất cả
- Một
- trả lời
- api
- API
- Xuất hiện
- Tài sản
- giao
- chứng thực
- tính xác thực
- Ngân hàng
- Cá cược
- giữa
- Bitcoin
- Giá Bitcoin
- Chặn
- blockchain
- blockchains
- CẦU
- mang lại
- xây dựng
- cuộc gọi
- Chuỗi liên kết
- mã
- tính toán
- khái niệm
- điều kiện
- xung đột
- Kết nối
- Kết nối
- hợp đồng
- hợp đồng
- có thể
- tạo
- tạo ra
- Tạo
- Cross-Chain
- Crypto
- tài sản mật mã
- CryptoCompare
- Current
- DApps
- dữ liệu
- phân quyền
- quyết định
- Tùy
- Mô tả
- chi tiết
- xác định
- khác nhau
- thảo luận
- Giao diện
- phân phối
- mỗi
- thực thể
- đặc biệt
- ethereum
- Chuỗi khối Ethereum
- Sự kiện
- sự kiện
- ví dụ
- thực hiện
- Fed
- tài chính
- Thị trường tài chính
- Tên
- dòng chảy
- tiếp theo
- Forward
- từ
- chức năng
- hoạt động
- về cơ bản
- GitHub
- Cho
- giúp đỡ
- Độ đáng tin của
- Hướng dẫn
- HTTPS
- thực hiện
- thực hiện
- Mặt khác
- thông tin
- đầu vào
- Giao thức
- IT
- Ngôn ngữ
- mới nhất
- dòng
- Xem
- máy
- thực hiện
- làm cho
- LÀM CHO
- Làm
- thị trường
- Trận đấu
- chất
- có nghĩa
- Bộ nhớ
- phương pháp
- chi tiết
- hầu hết
- Thiên nhiên
- mạng
- các nút
- thu được
- cung cấp
- trên chuỗi
- oracle
- Nền tảng khác
- riêng
- thanh toán
- biểu diễn
- người chơi
- có thể
- quyền lực
- giá
- vấn đề
- Lập trình
- cho
- nhà cung cấp dịch vụ
- công khai
- câu hỏi
- Reading
- thế giới thực
- thời gian thực
- dữ liệu theo thời gian thực
- nhận
- nhận
- được công nhận
- đề cập
- về
- có liên quan
- đáng tin cậy
- Báo cáo
- yêu cầu
- phản ứng
- Kết quả
- Thưởng
- tương tự
- Lưu
- an ninh
- dịch vụ
- DỊCH VỤ
- có ý nghĩa
- thông minh
- hợp đồng thông minh
- Hợp đồng thông minh
- So
- SOL
- sự vững chắc
- giải pháp
- Giải pháp
- một số
- riêng
- Trạng thái
- ở lại
- cổ phần
- thị trường chứng khoán
- CỔ PHIẾU
- là gắn
- hàng
- Lưu trữ dữ liệu
- Tính bền vững
- hệ thống
- Kỹ thuật
- Sản phẩm
- Nguồn
- vì thế
- các bên thứ ba
- của bên thứ ba
- Thông qua
- thời gian
- Chủ đề
- Giao dịch
- giao dịch tiền điện tử
- Giao dịch
- Chuyển nhượng
- chuyển
- đáng tin cậy
- loại
- hiểu
- Đô la Mỹ
- sử dụng
- Người sử dụng
- khác nhau
- phiên bản
- ảo
- máy ảo
- Web3
- Điều gì
- CHÚNG TÔI LÀ
- giành chiến thắng
- từ
- Công việc
- công trinh
- thế giới
- viết
- trên màn hình