December 17, 2023

Bitcoin Ordinals под капотом. Как работают Inscriptions и BRC-20.


Введение.

Один из самых обсуждаемых нарративов последних недель – токены на блокчейне Биткоина. Такой популярный он просто потому, что уже дал 50-100+ иксов тем, кто раньше всех погружался в тренд. $ORDI, $SATS - самые популярные примеры. Те, кто минтил такие токены бесплатно при низком газе - например тратили 10-12$ за минт - сейчас имеют 7000$ ($TRAC).

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

Цель - объяснить суть ординалов и инскрипций, а не быть 100% точным с технической стороны, поэтому фидбэк и вопросы приветствуются в комментариях:)

I. Ordinals

II. Inscriptions

III. BRC-20

IV. Заключение + лайфхаки + next 100x gems на DYOR

Основы.

Сатоши (сокращенно «sats») — это наименьшая единица биткоина. Каждый биткоин состоит из 100 миллионов сатоши. Новые саты создаются при добыче блоков биткойнов. Майнер получает новые саты в качестве награды за майнинг.


Ordinals

Что за Ординалы и зачем нужны.

Был придуман такой специальный стандарт - Ordinals Protocol. Его цель - присвоить каждому сатоши порядковый номер, соответствующий порядку, в котором он был создан майнерами(1, 2, 3, 4, ...). Изначально у сатоши нет порядка в сети биткоина, поэтому нужно его придумать.

Рассмотрим на примере, почему у сатоши нет порядковых номеров в нашем представлении.

Если я получаю 1 sat в качестве вознаграждения за блок, а до того, как я получил это вознаграждение, существовало 10 sats, то мой sat, очевидно, имеет номер 11.

Аналогично, если я получу в награду не 1, а 10 sats, будет ясно, что я владею 11-20 sats. Пока все ок.

Но что будет, если я решаю отправить кому-то немного биткоина(т.е. какое-то количество сатоши)?

Если я владею sats № 11-20 и отправляю вам 1 сатоши, то я отправил вам сатоши № 11, № 20, № 15 или какой-то другой? Сам блокчейн биткоина не знает ответа на этот вопрос, и ему без разницы, какой именно сатоши отправлять, следовательно он не определяет порядок. Вместо этого нам нужен новый протокол, который придумает ответ, и это стандарт Ordinals.


Как работают Ординалы

Протокол Ordinals решает вопрос с трансфером, описанный выше, довольно простым способом. Он устанавливает определенное правило, что при трансфере вы всегда отправляете sats с наименьшим номером. Например, если у меня sats №11-20 и отправляю вам 1 сатоши, то, согласно протоколу Ординалов, я отправляю вам №11.

Таким образом становится возможным пронумеровать каждый сатоши в сети биткоина. Кроме того, мы можем выбрать, какие сатоши мы хотим передать. Если я хочу отправить вам № 12, я могу перевести 1 сатоши на другой кошелек, а затем 1 сатоши вам. Первый сатоши будет № 11, второй - № 12.

Само собой, что это должно работать только в том случае, если все относятся к такому трансферу sats одинаково. В теории любой другой новый протокол может сказать, что сатоши,наоборот, передаются первыми те, у которых наибольший порядковый номер(№ 20 в нашем примере), и это было бы в равной степени корректным, но несовместимым со стандартом Ordinals. Грубо говоря, здесь работает правило первого, и правило консенсуса, что все договорились соблюдать такой порядок.

Тут нужно отметить важную технологическую вещь: такое создание "своих правил" не обязательно является чем-то плохим для сети, так как изначально не существующет фундаментальной истины у сети биткоина об упорядочивании ее наименьшей единицы.

Как говорил сам Сатоши Накамото:
Если вы мне не верите или не понимаете, у меня нет времени пытаться вас переубедить, извините.

Как использовать Ординалы

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

На практике нам нужен сервис, который индексирует блокчейн биткоина, выполняет необходимые вычисления и отслеживает перемещения таких сатоши. Такой сервис называется "индексатор".

Всем известный Etherscan можно с натяжкой назвать индексатором для сети Ethereum, только без упорядочивания самой монеты ETH, т.к. он отслеживает балансы ETH и других ERC-20 токенов.

Для Ординалов существуют свои базовые индексаторы, и будут появляться более удобные новые, если этот нарратив будет развиваться.


Инскрипции(Inscriptions, надписи, инскрайбы)

И здесь всем известные юзлесс NFT pfp, которые теперь только хранятся реально в блокчейне, а не на сайте.

Что такое Inscriptions?

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

Это очень старая идея - фактически она такая же старая, как и самый первый блок Биткойна, в который Сатоши встроил свое знаменитое сообщение, указывающее на истинный мировой кризис 2008 года:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.

Зачем нам может понадобиться хранить разные данные в блокчейне? Ответ в неизменности данных - если нам нужно что то сохранить "навечно", сделать устойчивым к цензуре, доказать достоверность какого - то момента во времени (временные метки) и т.д.

Об этом известно уже много лет. Новыми являются две вещи:

1. Обновление биткойна Taproot, которое сделало возможным выгодное добавление гораздо большего количества данных, чем это было возможно раньше: фото, гифки, аудио, видео и т.д.

2. Стандарт Ординалов, который по своей сути предоставляет фундамент для того, чтобы в сети биткоина можно было присвоить право собственности на какие то данные(чтобы код гарантировал ваше владение этими данными).

Как работают Inscriptions?

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

Каждый квадрат - отдельная транзакция в блоке. И в транзакции мы можем "встроить" данные, фото/видео и т.д.

Инскрипции решили эту проблему через встраивание данных в сатоши(напоминаю, это 1/100млн часть биткоина, наименьшая единица в сети биткоина). Как только это сделано, можно сказать, что владелец этого сатоши(во владении сатоши разбирались выше в первой части про Ordinals) является владельцем данных.

Однако ни в биткоине, ни в протоколе Ordinals нет понятия "встраивания" чего-либо в сатоши. Именно поэтому для Inscriptions требуется новый протокол.

Инскрипции создали модель "вписывания"(от англ. inscribe - поэтому инскрипции; процесс вписывания - инскрайбить) данных в сатоши. Эти данные определяются внутри транзакции специальным образом:

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

2. Как только мы нашли транзакцию, в которую встроены данные в определенном формате(напр. простой JSON), мы понимаем, что это данные, "записанные" в сатоши.

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

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

Здесь важно понимать, что на самом деле данные фактически не вписаны в сатоши. Только те, кто признают протокол Ordinals и сами Inscriptions могут утверждать, что это так. Фактически эти данные находятся действительно в блокчейне биткоина, только буквально "где-то", без привязки к сатоши. Это технический факт, который признается даже противниками Ординалов и Инскрипций.

Здесь повторяется тот же дискуссионный вопрос, что и в Ординалах. У нас есть еще один протокол, который не может быть объясненным какой-то предыдущей технической базой. И снова есть возможность для конкурирующих, но одинаково валидных протоколов. Например, какая запись данных в сатоши будет оригинальная: та, которая была самой первой, или та, которая была самой недавней? Принято, что оригинальной является первый инскрайб. Это также актуально для BRC-20 токенов, на примере покажу ниже.

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


BRC-20 токены

Та финальная часть, на чем делают деньги.

https://dune.com/cryptokoryo/brc20

Что такое BRC-20?

BRC-20 делает возможным появление токенов в блокчейне биткоина кроме самого BTC.

Название BRC-20 - это отсылка к ERC-20, стандарту для взаимозаменяемых токенов в Ethereum. ERC-20 хранят баланс каждого токена непосредственно ончейн(в сети), просто обновляя этот баланс его при каждом трансфере этого токена. Перенос такого стандарта ERC-20 на биткоин означал бы то же самое.

Однако основная идея Инскрипций заключается в том, что они неизменяемые. Мы не можем иметь одну инскрипцию с балансом 100 X токенов, которыми мы владеем, а затем просто обновить эту инскрипцию, когда мы докупили еще токенов(как это происходит в Ethereum).

Что по своей сути делает BRC-20 - он позволяет пользователям имитировать обновление баланса с помощью нескольких инскрипций.

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

1. Чтобы создать токен в упрощенной версии BRC-20, я бы сделал инскрайб примерно следующего содержания:

{ "protocol": "brc-20", "operation": "deploy", "symbol": "scam", "maxSupply": "21000000", "perOrdinalMintLimit": "1000" }

Для обычного человека это просто файл JSON, обычный текст, который может означать что угодно.

Но для стандарта BRC-20 это означает, что мы создали новый токен под названием "scam" с максимальным сапплаем в 21млн. Строчка operation означает буквально то, что мы делаем, в данном случае создаем токен(deploy). Последняя строчка означает, что за один раз можно сминтить 1000 токенов.

2. Минт может выглядеть так:

{ "protocol": "brc-20", "operation": "mint", "symbol": "scam", "amount": "1000" }

Только что мы сминтили себе 1000 токенов scam и теперь в блокчейне записаны эти данные, также означающие, что мы владельцы.

Вот так скучно это выглядит на практике

Вспомним на минуту, что мы упоминали выше в части про Инскрипции о BRC-20 токенах, и важности порядка инскрайбда для них. Здесь в нашем примере всего можно сминтить 21млн токенов. Но если из-за большой популярности токена(что на 16.12.23 и происходит) одновременно минтит много людей, и их больше, чем доступных токенов, то те, кто первыми заберут себе их себе, будут считаться оригинальными владельцами. А те, кто сделает инскрайбы позже, получат на кошелек такие же JSON, с теми же надписями, но они не будут значить ничего. Вы можете сделать бесконечно много таких надписей, пока у вас не закончатся деньги на комиссию, но никакие индексаторы BRC-20 токенов вам не покажут, что вы владеете хоть одним, так как вы минтили уже после того, как общий сапплай в 21млн был разобран другими.


3. Чтобы отправить эти токены кому-то другому, и, в том числе, продать их на каком-нибудь маркетплейсе, мы инскрайбим трансфер и желаемое количество таким образом:

{ "protocol": "brc-20", "operation": "transfer", "symbol": "scam", "amount": "500" }


4. И теперь мы переводим вписанные сатоши на другой адрес, например другу.

Так выглядит окошко трансфера в кошельке Unisat

Теперь у нас 500 токенов scam, и у друга - 500. Вопрос в том, где эти балансы существуют и где отображаются, иначе как нам понимать, что у нас "что-то" есть.

Также как и с Инскрипциями, нужен специальный индексатор, который найдет все эти вписанные BRC-20 инскрипции и сам вычислит балансы. Балансы хранятся в биткоине в том смысле, что их можно вычислять по транзакциям, непосредственно используя сеть биткоина. Но, как уже было сказано выше, для этого все должны одинаково интерпретировать эти транзакции(порядки инскрипций, значение самих токенов и тд)


Заключение + лайфхаки + next 100x gems на DYOR

На данный момент я думаю, что ни у одного человека нет четкого понимания, куда пойдет данный тренд, набравший дикие обороты. Из 100% всей экосистемы 95% - это банальные мемкоины, которые разгоняются китайским комьюнити и подпитываются только одной спекуляцией. Иксы тем не менее очевидны, конкурировать с этим нарративом может разве что недавний хайп $BONK.

OKX Web3
$BONK

Как и на любом хайпе, тренд перешл на другие сети, что добавляет абсурда нарративу, инскрипции на Arbitrum, BNB, Avalanche, даже на Tron капитализация инскрайб-щитков несколько миллионов $. Для сетей это однозначная нагрузка и невыгодность использования, таких комиссий в биткоине не было давно. Но никто из операторов майнинговых пулов не заинтересован в остановке тренда, тк комиссий они зарабатывают чуть ли не больше, чем награда за блок.

https://mempool.space/

Но важно отметить, что в огромной куче юзлесс мемкоинов есть продукты с фундаментальным заделом. И на них как минимум стоит обратить внимание, если планируете задержаться в данном нарративе надолго. $TRAC экосистема может стать основой новых данных(=Chainlink для Ethereum), $GHSY имеет работающий понятный продукт кросс бриджей, $TRVS пытаются в безопасные хранилища.
Даже такие появляющиеся сомнительные ответвления - эксперименты как CYBORD могут продолжать подпитывать этот хайп, ведь pumpamentals зачастую гораздо сильнее fundamentals.

В конечном итоге всегда проще и понятнее оценивать очередные тренды, понимая что у них под капотом. Поэтому будем посмотреть, NFA и DYOR!


Базовые сервисы + тулзы:

- GeniiData. Удобный индексатор и сервис для отслеживания своих позиций

- Unisat. Самый популярный кошелек для BTC+Ordinals. Также есть маркетплейс с большими объемами

- Ordinals Wallet. Кошелек + маркетплейс

- Magic Eden. Топ1 маркетплейс, больше для NFT.

- OKLink. Эксплорер по инскрипциям от OKX. Лайфхак: в разделе Inscriptions List удобно трекать динамику минта на токенах, которые сминчены меньше чем на 50%

- BRC-20.io. Эксплорер для BRC-20 токенов, также есть полезные функции

- BRC-20 Alerts. Телеграм канал с уведомлениями об активном минте BRC-20(больше 50% от сапплая)

- Ordi Chat. Англоязычный чат с неплохими коллами и мнениями

- Ordinals Chat(СНГ). Русскоязычный чат, часто кидают проекты, которые иксуют + активное комьюнити.


Буду признателен, если подпишитесь, вопросы и комментарии приветствуются: WILD WEST WEB3

Также welcome в аналитический ресурс за актуальными данными: https://twitter.com/cwlabs_eth