Время Читать: 5 минут
Ethereum — это первая в истории цепочка блоков, унаследовавшая качества создания децентрализованных приложений, торговли криптоактивами в цепочке блоков и так далее.
У него есть свой язык программирования для написания смарт-контрактов и реализации их на виртуальной машине Ethereum, чтобы обеспечить децентрализацию при выполнении действий.
Смарт-контракты выполняют заранее определенные строки кода и выполняют намеченную задачу. Но что, если мы хотим, чтобы смарт-контракты функционировали на основе результатов, происходящих в реальном времени?
Чтобы достичь этого, нам нужно понять концепцию оракулов блокчейна, с помощью которых смарт-контракты могут получать входные данные из реального мира.
Что такое оракул в криптовалюте и как создать оракул в смарт-контракте Ethereum? Мы обсудим это подробно в следующем разделе.
Ключевые темы блога
- Что такое крипто-оракул и как работают оракулы
- Различные типы оракулов
- Поток данных от оракулов к смарт-контрактам Ethereum
- Как закодировать оракулы Ethereum
- Проблемы с крипто оракулом
Что такое оракул и зачем он нужен?
Оракулы сущности, которые действуют как мост, соединяющий блокчейн с внешними системами. Другими словами, оракулы предоставляют смарт-контракту данные о событиях вне сети для выполнения действия на основе ввода.
Например, при размещении ставок пользователи могут делать ставки на игроков, которые, по их мнению, выиграют матч. В зависимости от того, что происходит в реальном времени, вознаграждения распределяются между пользователями, которые сделали ставку на победителя.
Оракулы блокчейна помогают дополнять смарт-контракты данными о победителе. Поток данных в Oracle является двунаправленным и может использоваться для преобразования любых данных в режиме реального времени из отчетов о погоде в состояние фондового рынка в смарт-контракты.
Каждый узел в блокчейне Ethereum обладает информацией о транзакциях, которая должна быть единообразной. Поэтому получение данных из API может привести к расхождениям. Напротив, оракул загружает данные в цепочку блоков, которые неизменно отображаются одинаково на всех узлах.
Как получить доступ к данным из Oracle?
Смарт-контракты используют цикл запроса и ответа для получения информации от узла оракула. Оракул, реализованный с помощью HTTP GET, получит запрос от смарт-контракта, а функция обратного вызова может получить запрошенные данные от оракула.
Таким образом, данные собираются смарт-контрактом от оракула. Каждый оракул настроен на предоставление конкретной информации, и вы можете обращаться к сторонним службам для получения нужных вам данных.
Вот некоторые из сервисов оракула
- Звено цепи
- доказуемый
- Витнет
- Паралинк и так далее.
Классификация оракулов
Оракулы подразделяются на различные типы в зависимости от извлечения, проверки и передачи данных.
Входные оракулы: Наиболее широко известный тип, в котором данные извлекаются вне цепочки событий, происходящих в реальном времени. Например Ценовые потоки по акциям получаются вне сети, чтобы инициировать действие смарт-контрактов в зависимости от условий финансового рынка.
Выходные оракулы: Напротив входных оракулов, где смарт-контракты провоцируют оракула на выполнение действия. Например Отправьте сигналы поставщику хранилища для хранения данных или инициируйте банковские сети для совершения платежей.
Кроссчейн оракулы: Кроссчейн-оракулы облегчают как чтение, так и запись данных в разных блокчейнах. Это также позволяет инициировать события в одной цепочке блоков и активировать их в другой.
Оракулы с поддержкой вычислений: Оракулы с поддержкой вычислений используют вычисления вне цепочки для предоставления услуг. Этот тип оракула используется, особенно когда ончейн ненадежен из-за технических или финансовых ограничений.
Извлечение данных из оракулов
Шаг 1: Смарт-контракт отправляет запрос оракулу.
Шаг 2: запрос направляется носителю данных, который ищет данные из источника данных.
Шаг 3: Данные извлекаются из источника и передаются оракулу.
Шаг 4: Oracle отправляет ответ на смарт-контракт в соответствии с запросом.
Создание Oracle в смарт-контракте Ethereum — структура кода
Мы узнаем, как работает оракул при определении текущей цены биткойна в долларах США, используя службу оракула под названием 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" ); } }
Проблемы с оракулом
Проблемы Oracle в основном связаны с конфликтом между ненадежными смарт-контрактами и доверенными сторонними оракулами, учитывая безопасность и подлинность данных от третьих лиц.
Смарт-контракты полагаются на оракулов для принятия решений относительно их выполнения, что дает им огромную власть над их функционированием. На самом деле децентрализованный характер смарт-контрактов ставится под сомнение.
Однако службы оракулов, такие как ChainLink и Oraclize, работают как децентрализованные решения, которые получают данные на основе новых и проверенных методов. Таким образом, данные получены с помощью децентрализованных средств.
Заключение
Связь блокчейна с реальным миром имеет приемлемое значение для перехода к децентрализованному миру. Оракулы предлагают решение для надежного интерфейса смарт-контрактов с данными в реальном времени.
Однако для обеспечения устойчивости службы оракулов продвигаются вперед, чтобы обеспечить безопасность и правильность данных, полученных вне сети.
Хотите оставаться более актуальным для Безопасность Web3?
Подписаться QuillAudits для многих таких современных статей о Web3.
сообщение Как создать свой собственный оракул с помощью смарт-контрактов Ethereum? Появившийся сначала на Блог.quillhash.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://blog.quillhash.com/2022/07/01/how-to-build-your-own-oracle-using-ethereum-smart-contracts/
- "
- a
- О нас
- доступ
- Достигать
- приобретать
- Действие (Act):
- Действие
- активно
- достижения
- Все
- Другой
- ответ
- API
- API
- появившийся
- Активы
- назначенный
- подлинности
- подлинность
- Банка
- Ставки
- между
- Bitcoin
- Биткойн Цена
- Заблокировать
- блокчейн
- блокчейны
- МОСТ
- приносить
- строить
- призывают
- Звено цепи
- код
- вычисление
- сама концепция
- Условия
- конфликт
- Соединительный
- связь
- контракт
- контрактов
- может
- Создайте
- создали
- Создающий
- Кросс-цепи
- крипто-
- крипто-активы
- CryptoCompare
- Текущий
- DApps
- данным
- децентрализация
- решения
- в зависимости
- описание
- подробность
- определения
- различный
- обсуждать
- Дисплей
- распределенный
- каждый
- лиц
- особенно
- Эфириума
- Ethereum blockchain
- События
- События
- пример
- выполнение
- ФРС
- финансовый
- Финансовый рынок
- First
- поток
- после
- вперед
- от
- функция
- функционирование
- принципиально
- GitHub
- Отдаете
- помощь
- Как
- How To
- HTTPS
- осуществлять
- в XNUMX году
- В других
- информация
- вход
- Интерфейс
- IT
- язык
- последний
- линий
- посмотреть
- машина
- сделанный
- сделать
- ДЕЛАЕТ
- Создание
- рынок
- Совпадение
- Вопрос
- означает
- Память
- методы
- БОЛЕЕ
- самых
- природа
- сетей
- узлы
- полученный
- предлагающий
- В сети
- оракул
- Другое
- собственный
- платежи
- выполнения
- игроки
- возможное
- мощностью
- цена
- проблемам
- Программирование
- обеспечивать
- Недвижимости
- что такое варган?
- вопрос
- Reading
- реальный мир
- реального времени
- данные в реальном времени
- Получать
- получила
- признанное
- понимается
- по
- соответствующие
- складская
- Отчеты
- запросить
- ответ
- Итоги
- Награды
- то же
- Сохранить
- безопасность
- обслуживание
- Услуги
- значительный
- умный
- умный контракт
- Смарт-контракты
- So
- SOL
- основательность
- Решение
- Решения
- некоторые
- конкретный
- Статус:
- оставаться
- акции
- фондовый рынок
- Акции
- диск
- магазин
- Хранить данные
- Стабильность
- системы
- Технический
- Ассоциация
- Источник
- следовательно
- третье лицо
- сторонние
- Через
- время
- Темы
- Торговля
- торговый крипто
- Сделки
- Передающий
- переводы
- надежных
- Типы
- понимать
- USD
- использование
- пользователей
- различный
- версия
- Виртуальный
- виртуальная машина
- Web3
- Что
- КТО
- выиграть
- слова
- Работа
- работает
- Мир
- письмо
- ВАШЕ