1 февраля кошелек Binance Web3 Wallet официально запустил рынок надписей, поддерживающий различные протоколы надписей, такие как BRC-20 и Ethscription. Несколько дней назад компания OKX также объявила о поддержке таких протоколов надписей, как ARC-20, Runes, Doginals и т.д., что вызвало внимание всего рынка к надписям. В процессе надписи часто возникают различные проблемы безопасности из-за сложности и новизны протоколов надписи. Это не только угрожает безопасности активов пользователей, но и негативно сказывается на здоровом развитии всей экосистемы Inscription.
В ответ на это команда безопасности Beosin проанализирует основные протоколы надписей, чтобы помочь пользователям понять назначение и применение протоколов надписей, а также то, как защитить активы надписей.
Так называемая надпись на блокчейне - это запись определенной и значимой информации на блокчейне с помощью определенных характеристик блокчейна. Как только эта информация будет записана в блокчейн, она будет храниться в нем постоянно, и ее трудно будет подделать. Информация, записанная в блокчейн, может быть разных типов, например, в блокчейн может быть записана простая текстовая информация, сложные коды, изображения и т.д. Таким образом, мы можем использовать набор стандартов для реализации функций цифровых активов.
От первоначального появления надписей Биткойн, таких как BRC-20, до нынешней экологии надписей - почти каждый день появляются бесконечные новые протоколы надписей и новые проекты. Можно сказать, что развитие надписей продвигается семимильными шагами. К экосистеме надписей также присоединились различные распространенные публичные цепи, такие как протокол Ethscription в публичной цепи ETH, протокол ARC-20 в публичной цепи BTC, BSC-20 и другие протоколы в публичной цепи BSC, а также PRC- в публичной цепи Polygon. 20 и т.д. соглашение .... Все эти протоколы создаются с целью публикации надписей на их публичных цепочках. В следующем материале мы расскажем о методах реализации и вариантах использования различных протоколов.
Давайте представим протоколы, которые в настоящее время привлекают большое внимание на рынке, и сравним общие черты и различия между протоколами надписи различных публичных цепочек.
Чтобы понятно объяснить BRC-20, мы должны сначала представить UTXO и ординалы.
BTC использует модель UTXO, и транзакции передаются в единицах UTXO. UTXO - это аббревиатура Unspent Transaction Output, что означает неизрасходованный транзакционный выход. Модель UTXO отличается от модели счетов публичных цепочек, таких как Ethereum, тем, что в ней фиксируются события транзакций, но не их окончательный статус. Чтобы подсчитать, сколько Биткойнов есть у пользователя, Вам нужно просуммировать все UTXO его адреса, и в результате Вы получите количество монет, которыми владеет пользователь.
Ординалы - это систематический протокол для нумерации сатоши (сатов), наименьшей единицы Биткойна. Он может присвоить уникальный номер каждому сатоши в каждом UTXO (включая несколько сатоши). Ordinals также поддерживает функцию записи текста, картинок, аудио, видео и т.д. на сатоши, делая каждый сатоши уникальным, подобно знакомому нам неиграбельному токену Ethereum NFT, который мы называем Bitcoin NFT.
Основатель BRC-20 придумал еще одну концепцию, основанную на протоколе Ordinals. Поскольку протокол Ordinals может создавать Bitcoin NFT, предоставляя каждому Сатоши различные "атрибуты", он также может создавать Bitcoin FT, предоставляя единый "формат" и "атрибуты", то есть, однородные токены.
BRC-20 записывает унифицированные текстовые данные в формате JSON в Satoshi через протокол Ordinals. Эти текстовые данные представляют собой книгу учета жетонов BRC-20. На основе этих текстовых данных можно разобрать хранение и передачу токенов. В основном включает в себя следующее содержание:
Выше перечислены три стандарта BRC-20. Среди них поле op представляет операцию, которую необходимо выполнить, включая deploy (развертывание), mint (чеканка) и transfer (передача). Галочка представляет собой имя маркера, который необходимо выполнить. max представляет собой общее количество выпущенных токенов, lim - максимальное количество монет, отчеканенных на один токен, amt - количество токенов, которыми необходимо оперировать. В стандарте перевода также есть такие поля, как "to", но это не обязательно. Перевод осуществляется с помощью Надпись отправляется на целевой адрес для осуществления изменения баланса, как показано на рисунке ниже:
Source:https://twitter.com/blockpunk2077/status/1725513817982136617
ARC-20 по-прежнему является протоколом надписи в публичной цепочке Биткойна. Как и протокол BRC-20, он реализуется путем записи стандартных данных в UTXO, но разница в том, что протокол ARC-20 не требует указания ARC-20 в данных. Вместо этого количество токенов ARC-20 представлено сатами (сатоши, наименьшая единица Биткойна) в UTXO. Правило таково: 1 сат=1 жетон ARC-20.
Протокол ARC-20, как и протокол BRC-20, также разделен на три этапа: развертывание, чеканка и передача. На этапе развертывания в UTXO необходимо заполнить стандартное имя токена, общее количество токенов, ограничения на литье и информацию о блоке. , информация об изображении и т.д.; на этапе чеканки пользователю необходимо заполнить название токена в UTXO, а количество сатов UTXO - это количество чеканки токена ARC-20, и не заполняется UTXO вместе с названием токена; когда пользователь чеканит токены ARC-20, они могут быть отправлены на другие адреса. При отправке токенов пользователям не нужно заполнять какие-либо данные в UTXO, они напрямую передают UTXO, содержащий токен, на другие адреса.
Source:https://twitter.com/blockpunk2077/status/1725513817982136617
При запросе токенов ARC-20 необходим только один индекс. Сервер автономного индекса может считывать информацию о регистрации токенов, а также о транзакциях майнинга и передачи. Серверу не нужно вычислять отношения перевода средств и запрашивать токены ARC-20, принадлежащие адресу. Это количество можно получить, непосредственно считывая sats-количество UTXO, на котором находится маркер.
Разобравшись с BRC-20 и ARC-20, Вы должны знать, почему некоторые люди по ошибке переносят вписанные активы на другие адреса или "сжигают" их.
Поскольку протоколы надписей BTC, такие как BRC-20 и ARC-20, основаны на транзакциях UTXO, транзакции с надписями фактически добавляются к транзакциям BTC, и пользователи могут выполнять обычные операции по переводу BTC, не до конца понимая надпись. Его текущий UTXO сливается и разделяется с другими UTXO, а затем отправляется по непредусмотренным адресам, в результате чего вписанные активы неправильно передаются или "сгорают", что приводит к необратимым потерям.
Ethscription - это протокол для создания и обмена данными в Ethereum. Некоторые надписи используют этот протокол вместо смарт-контрактов для реализации выпуска токенов. Использование надписей может снизить затраты пользователей до чрезвычайно низкого уровня.
Когда Ethereum отправляет транзакцию, он предоставляет блок данных calldata. Как правило, этот блок данных остается пустым для обычных передач ETH. При вызове смарт-контракта блок данных будет обозначен как подпись вызывающей функции и данных каждого параметра. Протокол Ethscription использует блок данных calldata для добавления некоторых стандартных данных, чтобы придать им значение при отправке обычных ETH-переводов.
Как Ethscription определяет эти стандартные данные?
Во-первых, если Вы хотите создать Ethscription, содержимым которого являются данные изображения, Вам необходимо преобразовать изображение (размер изображения ограничен 96 КБ) в URI данных в Base64-кодировке в формате (data:image/png;base64,...); затем преобразуйте URI в шестнадцатеричную строку; отправьте обычную транзакцию перевода на целевой адрес через Ethereum и заполните вышеуказанную шестнадцатеричную строку в calldata, как показано ниже:
Таким образом, адрес 0xf1bf является владельцем Ethscription, и любая Ethscription, созданная позже с теми же самыми calldata, будет считаться недействительной.
Если Вы хотите передать этскрипт, Вам нужно, чтобы владелец этскрипта отправил обычный перевод на адрес получателя и заполнил хэш транзакции, создавшей этскрипт, в calldata, после чего адрес получателя станет владельцем этскрипта, как показано ниже:
Для EVM-блокчейнов, таких как BSCChain, Ethereum, Polygon и т.д., существует общий метод надписи, называемый calldata. Этот метод использует блоки данных для хранения данных фиксированного формата. В отличие от вышеупомянутого хранения данных изображения, этот метод предполагает запись в calldata текстовых данных стандартного формата.
На цепочке BSC надписи выгравированы в формате, аналогичном формату надписей BRC20. Например, формат надписи: data:,{“p”:””,”op”:””,”tick”:””,”amt”:””}; где поле "p" представляет собой имя протокола, например, bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20 и т.д. Поле "op" представляет операцию, обычно "mint". Поле "tick" представляет собой имя токена, а поле "amt" - количество токенов.
Взяв в качестве примера токен bnbs, мы видим, что пока на целевой адрес отправляется обычный перевод, заполнение data:,{“p”:”bsc-20”,”op”:”mint” in the calldata ,”tick”:”bnbs”,”amt”:”1000”} завершает операцию майнинга токена bnbs, как показано ниже. На данный момент по адресу 0x22ef находится 1 000 токенов bnbs.
Далее Вам необходимо передать токен. Как и выше, Вам нужно отправить обычный перевод на адрес получателя и заполнить хэш транзакции, в результате которой был создан токен bnbs, в calldata. Тогда принимающий адрес будет владеть токеном bnbs, как показано ниже:
В принципе, на цепочках Ethereum, Polygon и других это происходит точно так же, но следует отметить, что содержание приведенной выше цепочки BSC - не единственная ситуация, когда на цепочке evm создаются надписи. В разных цепочках evm или разных протоколах могут быть различия в заполнении полей текстовых данных. Также могут быть различия в способах передачи токенов. Но для этого типа метода все они реализованы с помощью атрибута calldata в цепочке EVM, поэтому они кажутся похожими.
В этой статье мы обсуждаем принципы реализации надписей на нескольких цепочках. В целом, представленные надписи - это все процессы, которые используют некоторые функции системы публичной цепочки для сохранения офлайн-информации в блокчейне в соответствии с предписанными стандартами, а затем идентифицируют и отображают ее через офлайн-серверы. Ни в одной из представленных надписей не используются смарт-контракты. Участвуя в проекте, пользователи могут сократить большое количество дополнительных транзакционных издержек. Тем не менее, пользователи должны полностью понимать реализацию протокола надписей, чтобы избежать ошибочной передачи или случайного сожжения надписей, что приведет к потере активов.
1 февраля кошелек Binance Web3 Wallet официально запустил рынок надписей, поддерживающий различные протоколы надписей, такие как BRC-20 и Ethscription. Несколько дней назад компания OKX также объявила о поддержке таких протоколов надписей, как ARC-20, Runes, Doginals и т.д., что вызвало внимание всего рынка к надписям. В процессе надписи часто возникают различные проблемы безопасности из-за сложности и новизны протоколов надписи. Это не только угрожает безопасности активов пользователей, но и негативно сказывается на здоровом развитии всей экосистемы Inscription.
В ответ на это команда безопасности Beosin проанализирует основные протоколы надписей, чтобы помочь пользователям понять назначение и применение протоколов надписей, а также то, как защитить активы надписей.
Так называемая надпись на блокчейне - это запись определенной и значимой информации на блокчейне с помощью определенных характеристик блокчейна. Как только эта информация будет записана в блокчейн, она будет храниться в нем постоянно, и ее трудно будет подделать. Информация, записанная в блокчейн, может быть разных типов, например, в блокчейн может быть записана простая текстовая информация, сложные коды, изображения и т.д. Таким образом, мы можем использовать набор стандартов для реализации функций цифровых активов.
От первоначального появления надписей Биткойн, таких как BRC-20, до нынешней экологии надписей - почти каждый день появляются бесконечные новые протоколы надписей и новые проекты. Можно сказать, что развитие надписей продвигается семимильными шагами. К экосистеме надписей также присоединились различные распространенные публичные цепи, такие как протокол Ethscription в публичной цепи ETH, протокол ARC-20 в публичной цепи BTC, BSC-20 и другие протоколы в публичной цепи BSC, а также PRC- в публичной цепи Polygon. 20 и т.д. соглашение .... Все эти протоколы создаются с целью публикации надписей на их публичных цепочках. В следующем материале мы расскажем о методах реализации и вариантах использования различных протоколов.
Давайте представим протоколы, которые в настоящее время привлекают большое внимание на рынке, и сравним общие черты и различия между протоколами надписи различных публичных цепочек.
Чтобы понятно объяснить BRC-20, мы должны сначала представить UTXO и ординалы.
BTC использует модель UTXO, и транзакции передаются в единицах UTXO. UTXO - это аббревиатура Unspent Transaction Output, что означает неизрасходованный транзакционный выход. Модель UTXO отличается от модели счетов публичных цепочек, таких как Ethereum, тем, что в ней фиксируются события транзакций, но не их окончательный статус. Чтобы подсчитать, сколько Биткойнов есть у пользователя, Вам нужно просуммировать все UTXO его адреса, и в результате Вы получите количество монет, которыми владеет пользователь.
Ординалы - это систематический протокол для нумерации сатоши (сатов), наименьшей единицы Биткойна. Он может присвоить уникальный номер каждому сатоши в каждом UTXO (включая несколько сатоши). Ordinals также поддерживает функцию записи текста, картинок, аудио, видео и т.д. на сатоши, делая каждый сатоши уникальным, подобно знакомому нам неиграбельному токену Ethereum NFT, который мы называем Bitcoin NFT.
Основатель BRC-20 придумал еще одну концепцию, основанную на протоколе Ordinals. Поскольку протокол Ordinals может создавать Bitcoin NFT, предоставляя каждому Сатоши различные "атрибуты", он также может создавать Bitcoin FT, предоставляя единый "формат" и "атрибуты", то есть, однородные токены.
BRC-20 записывает унифицированные текстовые данные в формате JSON в Satoshi через протокол Ordinals. Эти текстовые данные представляют собой книгу учета жетонов BRC-20. На основе этих текстовых данных можно разобрать хранение и передачу токенов. В основном включает в себя следующее содержание:
Выше перечислены три стандарта BRC-20. Среди них поле op представляет операцию, которую необходимо выполнить, включая deploy (развертывание), mint (чеканка) и transfer (передача). Галочка представляет собой имя маркера, который необходимо выполнить. max представляет собой общее количество выпущенных токенов, lim - максимальное количество монет, отчеканенных на один токен, amt - количество токенов, которыми необходимо оперировать. В стандарте перевода также есть такие поля, как "to", но это не обязательно. Перевод осуществляется с помощью Надпись отправляется на целевой адрес для осуществления изменения баланса, как показано на рисунке ниже:
Source:https://twitter.com/blockpunk2077/status/1725513817982136617
ARC-20 по-прежнему является протоколом надписи в публичной цепочке Биткойна. Как и протокол BRC-20, он реализуется путем записи стандартных данных в UTXO, но разница в том, что протокол ARC-20 не требует указания ARC-20 в данных. Вместо этого количество токенов ARC-20 представлено сатами (сатоши, наименьшая единица Биткойна) в UTXO. Правило таково: 1 сат=1 жетон ARC-20.
Протокол ARC-20, как и протокол BRC-20, также разделен на три этапа: развертывание, чеканка и передача. На этапе развертывания в UTXO необходимо заполнить стандартное имя токена, общее количество токенов, ограничения на литье и информацию о блоке. , информация об изображении и т.д.; на этапе чеканки пользователю необходимо заполнить название токена в UTXO, а количество сатов UTXO - это количество чеканки токена ARC-20, и не заполняется UTXO вместе с названием токена; когда пользователь чеканит токены ARC-20, они могут быть отправлены на другие адреса. При отправке токенов пользователям не нужно заполнять какие-либо данные в UTXO, они напрямую передают UTXO, содержащий токен, на другие адреса.
Source:https://twitter.com/blockpunk2077/status/1725513817982136617
При запросе токенов ARC-20 необходим только один индекс. Сервер автономного индекса может считывать информацию о регистрации токенов, а также о транзакциях майнинга и передачи. Серверу не нужно вычислять отношения перевода средств и запрашивать токены ARC-20, принадлежащие адресу. Это количество можно получить, непосредственно считывая sats-количество UTXO, на котором находится маркер.
Разобравшись с BRC-20 и ARC-20, Вы должны знать, почему некоторые люди по ошибке переносят вписанные активы на другие адреса или "сжигают" их.
Поскольку протоколы надписей BTC, такие как BRC-20 и ARC-20, основаны на транзакциях UTXO, транзакции с надписями фактически добавляются к транзакциям BTC, и пользователи могут выполнять обычные операции по переводу BTC, не до конца понимая надпись. Его текущий UTXO сливается и разделяется с другими UTXO, а затем отправляется по непредусмотренным адресам, в результате чего вписанные активы неправильно передаются или "сгорают", что приводит к необратимым потерям.
Ethscription - это протокол для создания и обмена данными в Ethereum. Некоторые надписи используют этот протокол вместо смарт-контрактов для реализации выпуска токенов. Использование надписей может снизить затраты пользователей до чрезвычайно низкого уровня.
Когда Ethereum отправляет транзакцию, он предоставляет блок данных calldata. Как правило, этот блок данных остается пустым для обычных передач ETH. При вызове смарт-контракта блок данных будет обозначен как подпись вызывающей функции и данных каждого параметра. Протокол Ethscription использует блок данных calldata для добавления некоторых стандартных данных, чтобы придать им значение при отправке обычных ETH-переводов.
Как Ethscription определяет эти стандартные данные?
Во-первых, если Вы хотите создать Ethscription, содержимым которого являются данные изображения, Вам необходимо преобразовать изображение (размер изображения ограничен 96 КБ) в URI данных в Base64-кодировке в формате (data:image/png;base64,...); затем преобразуйте URI в шестнадцатеричную строку; отправьте обычную транзакцию перевода на целевой адрес через Ethereum и заполните вышеуказанную шестнадцатеричную строку в calldata, как показано ниже:
Таким образом, адрес 0xf1bf является владельцем Ethscription, и любая Ethscription, созданная позже с теми же самыми calldata, будет считаться недействительной.
Если Вы хотите передать этскрипт, Вам нужно, чтобы владелец этскрипта отправил обычный перевод на адрес получателя и заполнил хэш транзакции, создавшей этскрипт, в calldata, после чего адрес получателя станет владельцем этскрипта, как показано ниже:
Для EVM-блокчейнов, таких как BSCChain, Ethereum, Polygon и т.д., существует общий метод надписи, называемый calldata. Этот метод использует блоки данных для хранения данных фиксированного формата. В отличие от вышеупомянутого хранения данных изображения, этот метод предполагает запись в calldata текстовых данных стандартного формата.
На цепочке BSC надписи выгравированы в формате, аналогичном формату надписей BRC20. Например, формат надписи: data:,{“p”:””,”op”:””,”tick”:””,”amt”:””}; где поле "p" представляет собой имя протокола, например, bsc-20, bnbs-20, ltc-20, bep-20, drc-20, nrc-20, src-20 и т.д. Поле "op" представляет операцию, обычно "mint". Поле "tick" представляет собой имя токена, а поле "amt" - количество токенов.
Взяв в качестве примера токен bnbs, мы видим, что пока на целевой адрес отправляется обычный перевод, заполнение data:,{“p”:”bsc-20”,”op”:”mint” in the calldata ,”tick”:”bnbs”,”amt”:”1000”} завершает операцию майнинга токена bnbs, как показано ниже. На данный момент по адресу 0x22ef находится 1 000 токенов bnbs.
Далее Вам необходимо передать токен. Как и выше, Вам нужно отправить обычный перевод на адрес получателя и заполнить хэш транзакции, в результате которой был создан токен bnbs, в calldata. Тогда принимающий адрес будет владеть токеном bnbs, как показано ниже:
В принципе, на цепочках Ethereum, Polygon и других это происходит точно так же, но следует отметить, что содержание приведенной выше цепочки BSC - не единственная ситуация, когда на цепочке evm создаются надписи. В разных цепочках evm или разных протоколах могут быть различия в заполнении полей текстовых данных. Также могут быть различия в способах передачи токенов. Но для этого типа метода все они реализованы с помощью атрибута calldata в цепочке EVM, поэтому они кажутся похожими.
В этой статье мы обсуждаем принципы реализации надписей на нескольких цепочках. В целом, представленные надписи - это все процессы, которые используют некоторые функции системы публичной цепочки для сохранения офлайн-информации в блокчейне в соответствии с предписанными стандартами, а затем идентифицируют и отображают ее через офлайн-серверы. Ни в одной из представленных надписей не используются смарт-контракты. Участвуя в проекте, пользователи могут сократить большое количество дополнительных транзакционных издержек. Тем не менее, пользователи должны полностью понимать реализацию протокола надписей, чтобы избежать ошибочной передачи или случайного сожжения надписей, что приведет к потере активов.