21 сентября No Bullshit Bitcoin опубликовал короткую
заметку, в которой заявил, что цену биткоина можно определять с опорой исключительно на те данные, которые есть в блоках. И для этого не нужны ни биржи, ни иные инстанции, «устанавливающие» текущую цену. Нужен лишь
оракул на Python, берущий данные с любой полной ноды. Я тогда посмотрел на этот оракул, но ничего не понял. Подумал, что надо будет потом здесь в разделе «Кодеры» спросить, как он работает.
А тут выяснилось, что Bitcoin Magazine опубликовал
подробное разъяснение. С ним всё становится понятнее. Я прочитал и хочу выложить здесь перевод основных положений этой статьи.
Не существует единой цены на биткоин. Каждую секунду тысячи бирж, брокеров, платежных компаний и других участников рынка по всему миру определяют текущую цену биткоина, и у всех она своя.
Централизованные биржи могут создавать объем и статистику цен, которые, на самом деле, не имеют экономического веса и которые не отражены в наборах UTXO, которые размещаются на блокчейне Биткоина. Например, когда Mt.Gox была несостоятельной в 2013-2014 годах, но до официального коллапса, отчетливо наблюдалась разница в цене биткоина на этой платформе по сравнению с другими биржами из-за того, что у Mt.Gox не было столько биткоинов, сколько она утверждала. В результате ей пришлось привлекать новых пользователей для депонирования средств на бирже, чтобы выполнить выводы средств существующих клиентов. Внутри системы Mt.Gox цена могла манипулироваться, но когда пользователи пытались провести арбитраж и вернуть цену к рыночной, Mt.Gox обвалилась.
В отличие от этого, блокчейн Биткоина является самым надежным учетным реестром в мире. Он представляет собой всю историю экономической деятельности и является окончательным арбитром истины относительно статуса всех биткоинов. Сделки, которые имеют значение, записываются на блокчейне Bitcoin, а не в закрытых системах. Завершение расчетов - вот что имеет значение.
Программное обеспечение Bitcoin использует единицы биткоина (сатоши) для внутреннего учета. Это означает, что, когда кто-то хочет "отправить $100 в биткоинах", участники этой транзакции должны договориться о цене биткоина на момент транзакции, чтобы знать, скольким биткоинам это соответствует.
Многие люди совершают транзакции с биткоинами на круглые суммы в долларах США. Интересно, что такая практика настолько распространена, что существуют заметные и узнаваемые закономерности в наборе UTXO, которые могут быть использованы для близкого определения цены биткоина в любой момент прошлого или настоящего. Представьте, что вы покупаете биткоины в банкомате (или покупаете подарочную карту онлайн). Вы купите на $100 или на $39.27? Округленные суммы в долларах США от $1 до нескольких тысяч долларов являются очень распространенными размерами UTXO на блокчейне Bitcoin. Фактически, начиная с 2014 года, наблюдается растущий след на цепи блоков от таких транзакций с биткоинами на округленные суммы в долларах США, которые в некоторые дни могут составлять до 25% от созданных в этот день выходов.
На каждой высоте блока существует только один набор UTXO биткоина.
Здесь изображены все 70 миллионов UTXO, которые составляют все 19 миллионов биткоинов, существующих на момент блока 772,298. Актуальная версия этой визуализации доступна на сайте utxo.live.
При приближении картинки можно выделить два характерных паттерна в наборе UTXO: горизонтальные и волнистые линии.
Горизонтальные линии (плоские линии) представляют собой UTXO, выраженные в округленных значениях биткоина (например, 0,001, 0,005, 0,01, 1 и т. д.). Они остаются плоскими при любой цене в USD, потому что отправка 1 BTC всегда даст UTXO, равное 1 BTC.
Волнистые линии представляют собой группировки UTXO, выраженные в округленных значениях USD ($1, $20, $50, $100, $200, $500, $1,000 и так далее). Они параллельны друг другу, потому что люди отправляют средства в разных количествах USD, и суммы биткоинов, соответствующие этим количествам, изменяются пропорционально друг другу при изменении цены BTC/USD.
Волнистые линии двигаются в обратной зависимости от цены. Увеличение цены BTC/USD приводит к наклону волнистых линий вниз, так как для равной стоимости в USD требуется меньше BTC при росте цены и наоборот.
Это может позволить, не привязываясь к данным бирж, рассчитывать цену биткоина на любой высоте блока, используя только полный узел, и разрабатывать настоящие децентрализованные финансовые приложения без необходимости полной зависимости от доверенных оракулов цен.
Вы можете легко проверить гипотезу о том, что волнистые линии представляют собой перемещение биткоина, выраженного в USD, выбрав дату, когда вы знаете, что цена BTC/USD пересекла округлую стоимость в USD, и проверить, пересеклись ли горизонтальные и волнистые линии. Например, при цене 10 000 пересекутся линии, которые выражают UTXO, равные 0,0001 BTC, и UTXO, равные 1 USD. Люди, отправляющие эту круглую сумму в биткоинах, и люди, отправляющие эту круглую сумму в долларах, фактически отправят одну и ту же сумму, и это будет заметно в графическом отображении набора UTXO. Вот пример для 27 июля 2020 года, когда курс BTC/USD как раз стал равен 10 000.
Для того чтобы создать модель, способную точно определять текущую цену биткоина на любой высоте блока после настройки, были использованы точки пересечения горизонтальных и переменных линий при круглых значениях курса.
На
сайте оракула можно найти цены, которые оракул считает актуальными на каждую конкретную дату. Они совпадают с биржевыми ценами в этот день.
Насколько я понимаю, запуск оракула на собственном сервере позволит получать курс, актуальный на момент выхода каждого нового блока.
И напоследок ещё пара слов из статьи о практических применениях оракула.
Модель UTXOracle может использоваться в различных сценариях:
Деривативы DLC (опционы, фьючерсы, бессрочные свопы): Это позволит пользователям покупать или продавать контракты на открытом рынке, где исходы управляются участниками, использующими цену UTXOracle. Например, Алиса депонирует биткоины на адрес, управляемый DLC. Боб платит Алисе определенную сумму биткоинов, номинированную в USD (согласно цене UTXOracle). При расчете Алиса или Боб могут использовать подпись от оракула, подтверждающую цену, рассчитанную по модели UTXOracle, для определения потока средств при истечении срока действия контракта или его исполнении.
Онлайн-рынки по ссудам на цепочке (ончейн): Пользователи могут занимать или предоставлять займы на открытом рынке, где жизненный цикл займа управляется участниками, использующими цену UTXOracle. Например, у меня есть 1 BTC (стоимостью $100 000) и я хочу взять частичный заём на $30 000, не продавая свои биткоины. Я могу, согласовав с маркет-мейкером, депонировать свой 1 BTC и 0,3 BTC маркет-мейкера (стоимостью $30 000) на адрес, управляемый DLC. После финансирования я могу использовать 0,3 BTC по своему усмотрению.
Погашение обычного займа: Здесь заемщик может выбрать подписание транзакции, предоставляющей маркет-мейкеру $30 000 стоимости изначального 1 BTC, или депонировать $30 000 стоимости (согласно цене UTXOracle) и вывести изначальный 1 BTC. При ликвидации, если стоимость 1 BTC на адресе, управляемом DLC, упадет примерно до $30 000 (согласно цене UTXOracle), маркет-мейкер может вывести всю сумму 1 BTC, чтобы ликвидировать заём и вернуть свой капитал.
StableSats: Модель UTXOracle также предлагает интересное применение в области "стейблсатов", стейблкоинов USD, обеспеченных биткоинами, или стейбл-счетов, номинированных в биткоинах. Например, представьте, что вы хотите держать $1 000 в биткоинах в течение месяца. Вы можете заключить соглашение с маркет-мейкером на Lightning Network о стриминге ежедневных изменений стоимости. Вы сможете независимо проверить, что корректные суммы выплачиваются с помощью модели UTXOracle, с которой вы согласились. В конце месяца на вашей стороне платёжного канала будет не та сумма, которая была в начале, но она будет стоить $1 000.
P2P-рынки: Продавцу на онлайн-рынке в настоящее время сложно оценивать товары в биткоинах из-за волатильности и того факта, что его расходы, скорее всего, в USD. Однако принятие платежей в USD означает принятие риска возврата платежа, мошенничества и комиссий, связанных с современными платежными системами. Ценообразование товаров в USD, но с возможностью принимать USD-значение в биткоинах с использованием модели UTXOracle, может поощрить больше биткоин-номинированной торговли.