Umbrella Network (UMB) - первая децентрализованная служба Oracle

Umbrella Network (UMB) - это первая децентрализованная служба Oracle, которая предоставляет сообществу масштаб и безопасность, которые требуются современным приложениям DeFi. От выбора узлов до управления Umbrella работает без вмешательства централизованных организаций.

  • Масштабируемый. Децентрализованные узлы Umbrella построены с использованием деревьев Меркла уровня 2, решения для объединения тысяч пар данных в один узел. Эта технология снижает затраты при увеличении масштабируемости системы.
  • Безопасность. Umbrella собирает потоки данных из нескольких источников для расчета наиболее точной цены на рынке. Он также использует модель консенсуса Delegated Proof of Stake (DPoS) для обеспечения безопасности процесса передачи данных.
  • В собственности сообщества. Инфраструктура данных, поддерживающая децентрализованные финансы, слишком важна, чтобы ею могла управлять централизованная сторона. Umbrella - это проект, принадлежащий сообществу, в котором участники, разработчики, валидаторы и фонд вместе управляют работой сети.

Оракулы DeFi слишком централизованы 

В мире децентрализованных финансов не может быть слабого звена.

Приложения DeFi построены на идее о том, что центральный орган не только не нужен, но и фактически наносит ущерб эффективности, безопасности и доступности основных финансовых услуг. Централизованные учреждения, такие как банки, работают для получения прибыли, часто за счет общества. Напротив, приложения DeFi не управляются учреждениями, а вместо этого работают в децентрализованной сети без единой точки отказа.

Если DeFi хочет добиться успеха там, где централизованные учреждения потерпели неудачу, целостность его децентрализованной сети должна быть безупречной. К сожалению, на сегодняшний день defi не может сделать этого.

Остается одно слабое звено: оракул.

Проблема Oracle

О «проблеме оракула» в децентрализованных финансах написано много. Подводя итог, проблема оракула относится к дилемме, при которой для получения реальных данных, таких как цены на активы в цепочке, приложения defi должны использовать централизованный сервис, называемый оракулом.

Централизованные оракулы ставят под угрозу целостность децентрализованной сети defi. Они могут влиять на точность данных и уязвимы для атак и технологических сбоев. Используя централизованные Оракулы, приложения DeFi никогда не смогут достичь масштаба для поддержки новой финансовой системы, не рискуя такими же критическими сбоями, как и их централизованные аналоги.

Более того, многие поставщики услуг оракулов, заявляющие о своей децентрализации и использующие сеть узлов для проверки данных, контролируются централизованными властями. Это дает им возможность вручную выбирать, кто управляет их узлами, и влиять на работу сети в их собственных интересах.

Проблема оракула - это не просто проблема децентрализации. Это также проблема собственности.

Чтобы поддерживать целостность децентрализованной сети defi, оракулы также должны принадлежать сообществу.

Децентрализованный Oracle, принадлежащий сообществу

Что значит «принадлежать сообществу»? Это означает, что сообщество, в том числе держатели токенов, операторы узлов и проекты defi, использующие оракул, имеют право голоса в управлении сетью.

Если сетевые узлы выбираются центральным органом власти, то сеть по-настоящему не децентрализована. Целостность децентрализованных сетей зависит от того, чтобы их узлы были независимо заинтересованы в точной проверке данных. В конечном итоге это не удастся, если узел подчиняется более высокой власти (централизованной власти), которая может захотеть так или иначе повлиять на результаты.

Вместо этого узлы должны принадлежать и управляться сообществом.

Использование модели консенсуса с делегированным подтверждением доли (DPoS) - идеальный способ гарантировать независимую и целостную работу узлов.

Модель консенсуса с делегированным подтверждением доли позволяет всем держателям токенов в сообществе избирать представителей для управления сетью. Эти представители обязаны сообществу, а не инвесторам или другим частным заинтересованным сторонам, и имеют экономические стимулы для точной проверки данных с помощью выплат токенов. Если они не проверяют данные точно, они рискуют быть замененными.

Это справедливая система, которая поощряет хорошее поведение (размещение токенов, точная проверка данных) и наказывает за нечестность и неточность. Но в конечном итоге это система, которая передает власть в руки сообщества. Эта возможность позволяет сообществу решать, какие узлы участвуют в сети, в зависимости от их производительности. Это право дает сообществу полное управление сетью, позволяя им принимать решения по важным элементам, таким как вознаграждения, штрафы, выполнение смарт-контрактов, делегирование и распределение узлов.

Мы должны децентрализовать оракул. Но самое главное, управление этой децентрализацией должно принадлежать сообществу.

Оракулы должны работать так же, как и обслуживаемые ими блокчейны.

Umbrella Network (UMB) преимущество для проектов DeFi

В DeFi мы должны иметь возможность торговать всем и чем угодно. В этом прелесть Uniswap и почти всех последующих проектов. Тем не менее, наши поставщики данных, похоже, не согласны. Они хотят контролировать, какие данные доступны и как часто они обновляются. Они хотят контролировать то, что мы делаем, и с кем мы можем это делать.

Umbrella считает, что проблема Oracle ограничивает инновации и, следовательно, рост рынка DeFi. Да, мы достигли ТВЛ в 15 миллиардов долларов. Но, безусловно, это только начало, учитывая, что S & P500 сам по себе составляет 30 триллионов долларов. Ограничения на то, какие данные доступны разработчикам приложений и как часто эти данные обновляются, ограничивают возможности разработчиков приложений DeFi. Более того, тот факт, что данные, используемые для расчета контрактов, перебалансировки обеспечения, закрытия существующих позиций и прочего, контролируются ОЧЕНЬ централизованной стороной, должен заставить всех нас задуматься.

Проекты DeFi придумали несколько интересных обходных путей для преодоления ограничений доступных им данных. Такие проекты, как Harvest Finance и Compound, полагались на менее безопасные, но более современные источники данных, такие как Curve и Coinbase Pro. Это закончилось несколько фатально, поскольку деньги были истощены как из-за комбинации быстрой ссуды, так и из-за манипуляции с источником данных.

Можно было бы возразить, что им следовало использовать Chainlink. Однако вполне вероятно, что устаревшие данные Chainlink могли иметь аналогичное влияние.

Андре Кронье реализовал интересный обходной путь. Он взял среднее значение менее жидких пар за 24 часа для своего оракула Keep3r, оракула, который сопровождался необычным отказом от ответственности: «UniswapV2Oracle - это оракул последней инстанции, и его следует использовать для пар, обычно не поддерживаемых другими оракулами». Это, вероятно, не дает проектам DeFi теплого и нечеткого чувства, которое должно быть у их поставщиков данных.

Но чаще всего проекты избегают использования менее ликвидных активов, которые подвержены волатильным колебаниям цены и для которых труднее установить надежную цену. Они избегали идей и проектов, которые требовали больших наборов данных, которых нет у современных ведущих оракулов. И точно так же они не заходили в области, требующие частого обновления.

Некоторые из самых горячих идей в DeFi в настоящее время: опционы, индексы, VIX и другие производные, такие как Fixed for Floating. Все это требует данных, которые сегодня оракулы не часто предоставляют. Например, Hegic выбирает статическую модель ценообразования опционов в соответствии с их официальным документом. Я подозреваю, что они используют этот наивный метод в качестве меры предосторожности. К сожалению, это делает их цены дорогими и неконкурентоспособными по сравнению с их централизованным аналогом Deribit Exchange.

Umbrella использует дерево Меркла, которое свернуто и привязано к Ethereum. В следующем сообщении блога мы расскажем, как это делается и как достигается консенсус. Между тем, просто знайте, что мы используем дерево Меркла, привязанное к блокам Ehtereum, как показано ниже.

Merkle Trees позволяет масштабировать децентрализованные приложения без ущерба для безопасности при сохранении целостности данных. В нашем приложении каждый лист дерева Меркла представляет точку данных. Точкой данных могут быть пары криптовалют, такие как ETH / USDT или цена акций Apple. Листья «скручиваются» от самого нижнего листа до корневого хеша. А корневой хеш - это уникальное представление всего Дерева Меркла.

Доказательство достоверности данных - уникальное свойство Дерева Меркла. Итак, в этом случае, если мне будут предоставлены внутренние данные (пара значений ключа, высота блока) вместе с хешем-братом, я могу подтвердить достоверность данных. Более подробную техническую спецификацию мы опубликуем в нашем блоге Medium в ближайшем будущем.

На изображении выше представлено дерево Меркла с 8 листьями (Kn, Vn). Листьями могут быть любые данные, в нашем случае пара ключ и значение. Все данные о выходе (комбинированный ключ + значение) хешируются, и в результате мы получаем уникальный хэш идентификатора (например, H11). Уникальность гарантируется алгоритмом хеширования; Это означает, что если мы внесем какие-либо изменения в данные, мы получим совершенно другой хеш. Путем хеширования всех данных мы только что создали следующий уровень дерева, представленный на изображении в виде листовых хэшей (H11–18). Теперь мы объединяем их в пары и снова объединяем их вместе - в результате мы поднимаемся на следующий уровень в Дереве Меркла. Повторяя тот же процесс, мы попадаем в корень дерева Меркла: «Корневой хеш», как показано на изображении выше. Из-за уникальности хэшей разные данные дают разные корни. Мы используем это свойство для подтверждения данных.

Мы храним корневой хеш (или, для простоты, «корень») в цепочке. Когда мы хотим доказать, что K4V4 действительны, мы делаем следующее:

  1. Мы знаем K4 и V4, поэтому можем их хэшировать и получить H14
  2. Чтобы получить хэш H22, нам нужно знать пару для H13, этот элемент пары называется sibling и должен быть предоставлен Umbrella
  3. Имея брата H13 и H14, мы можем вычислить H22
  4. Мы повторяем хеширование с братьями и сестрами, пока не получим рут
  5. Если полученный нами корень совпадает с сохраненным в цепочке, это доказывает, что данные TX4 действительны

Umbrella использует уникальные качества Merkle Trees, чтобы сделать данные доступными для приложений dApps и Layer 2. Umbrella предоставляет пару ключевых значений, высоту блока и подтверждение соответствия, которое позволяет приложениям подтверждать достоверность данных.

Инструкция

Это демонстрационное приложение не предназначено для использования в производственной среде. Он предназначен исключительно для иллюстрации того, как работает Umbrella, и для визуального представления. Таким образом, это приложение не будет отображать все пары криптовалют, подразумеваемую волатильность, реализованную волатильность и другие данные, которые поддерживает оракул Umbrella. Umbrella предназначена для использования непосредственно из смарт-контракта или API.

Сначала пользователь выбирает «Доказательства» в левой строке меню. В раскрывающемся меню «Ключи» пользователь может выбрать точки данных, которые он хотел бы получить. Для целей этой демонстрации мы делаем доступными только несколько пар ключей. В реальном продукте будут доступны тысячи точек данных. Кроме того, это демонстрационное приложение предоставляет только спотовые каналы данных. Еще раз, живой продукт позволяет извлекать все исторические данные в дополнение к точечным данным.

Затем пользователь может выбрать пару, которую он хотел бы получить. В этом примере мы выбрали две пары.

Данные автоматически заполняются следующим:

  • Key: название валютной пары;
  • Значение: цена;
  • Block Height: блок эфириума, к которому привязано дерево Меркла;
  • Доказательство: хеш листка-брата;
  • Key [Bytes]: байтовое представление ключа;
  • Value [Bytes]: байтовое представление значения.

Чтобы убедиться, что значения, возвращаемые обозревателем блоков Umbrella, пользователь может просмотреть контракт на Etherscan. Это легко сделать, нажав на зеленый значок в правом верхнем углу.

На странице контракта Пользователь копирует и вставляет значения из обозревателя блоков Umbrella в соответствующий раздел в «verifyProofBlock». Выберите «Запрос». Результатом будет «Bool: true», если пара «ключ-значение» согласуется с тем, что указано в дереве Меркла, и «Bool: false», если это не так.

Если данные введены правильно, результатом будет True, как показано ниже:

Если данные неверны, результатом будет Ложь. В этом примере мы изменили значение (байты) на 1 цифру с 0x0190 на 0x0191. И, как и ожидалось, возвращенное значение - «ложь».

Мы надеемся, что этот обзор системы оракулов Umbrella предоставил вам практический опыт того, как работает система и почему она уникальна. В одном блоке Ethereum Umbrella может записывать сотни, если не тысячи точек данных, тем самым увеличивая объем данных, доступных в цепочке, при одновременном снижении затрат на получение данных в цепочке.