Недавно появление протокола Arc-20 вновь вызвало ажиотаж на рынке надписей. В этой статье мы подробно рассмотрим преимущества и недостатки этих двух протоколов с технической точки зрения.
Изначально Биткойн был задуман как безопасная, стабильная и надежная децентрализованная цифровая валюта. Однако из-за своей технической архитектуры и относительно менее гибкого скриптового языка по сравнению с Ethereum, Биткойн не подходит для непосредственного выполнения смарт-контрактов.
Несмотря на это, инновационные идеи и смелые попытки разработчиков привели к процветанию экосистемы Биткойна. Одним из типичных примеров является протокол Brc-20. Основная идея протокола - экспериментальная форма токенов, в центре которой находятся мемы. Любой желающий может майнить эти токены непосредственно в цепочке Биткойна в порядке живой очереди, не прибегая к помощи смарт-контрактов. Ключевой особенностью токена Brc-20 является его децентрализованный характер, что исключает такие механизмы, как частные продажи, предварительные продажи, а также разблокировку или стейкинг. Это обеспечивает по-настоящему децентрализованное взаимодействие.
В этом контексте протокол Arc-20 вновь вызвал большой интерес к надписям.
Протоколы Brc-20 и Arc-20 оба основаны на цепочке Btc, поэтому, прежде чем мы официально представим протокол Arc-20 и протокол Brc-20, давайте вкратце разберемся с UTXO (вывод неизрасходованных транзакций).
Когда мы говорим о Биткойне, модель UTXO (вывод неизрасходованных транзакций) является важной концепцией дизайна. Это тип модели счета, используемый в Биткойне, который отличается от традиционных моделей баланса, таких как банковские счета.
В модели UTXO каждая транзакция Биткойна создает серию неизрасходованных выходов, причем каждый выход представляет собой определенное количество Биткойна. Эти неизрасходованные средства, по сути, являются неиспользованными единицами цифровой валюты, похожими на бумажные купюры или монеты. Когда Вы получаете Биткойн, кто-то фактически создал новый неизрасходованный вывод, связанный с Вашим Биткойн-адресом. Этот выход является UTXO.
Давайте объясним модель UTXO на простом примере:
Если Вы совершили две транзакции, в одной из которых получили 0,7 BTC, а в другой - 0,5 BTC, у Вас будет два UTXO, один стоимостью 0,7 BTC и один стоимостью 0,5 BTC. Когда Вы хотите заплатить 1 BTC, Вы не можете просто использовать один UTXO, а должны объединить два UTXO в новый UTXO (с общей суммой 1,2 BTC), а затем отправить 1 BTC получателю, а оставшиеся 0,2 BTC вернуть себе в качестве сдачи. Однако фактическое изменение может быть меньше 0,2 BTC, потому что пользователям необходимо платить комиссию за транзакцию майнерам, чтобы обеспечить бесперебойную работу транзакции.
BRC-20 - это экспериментальный стандарт, который демонстрирует возможность создания взаимозаменяемых токенов на первом уровне Биткойна за счет использования теории порядковых номеров и надписей. Протокол Ordinals (первый токен, отчеканенный в соответствии со стандартами протокола) позволяет наносить контент, включая текст, изображения или видео, на самую маленькую единицу Биткойна - Сатоши, создавая тем самым уникальные цифровые активы.
Теория порядков - это ключ к реализации надписей в сети BTC.
Каждый сатоши по сути своей одинаков, и ординалы разработали протокол упорядочивания сатоши с помощью теории повествования. Это упорядочивание основано на добыче сатоши и порядке входов и выходов их транзакций.
Существует несколько различных способов представления порядковых чисел:
Выражение степени состоит из четырех частей: A°B′C″D‴, а A, B, C и D представляют собой разные значения:
Нарративная теория определяет порядок сатоши через выражение степени и определяет различные уровни редкости для каждого сатоши через порядок, тем самым достигая уникальности каждого сатоши
Например, например, существующая степень выражается как 1°1′0″0‴, где
С учетом определения редкости, приведенного выше, этот сатоши определяется как редкий стоши.
Общий процесс выглядит следующим образом:
py# Рассчитайте нарратив (вознаграждение) блока, заданного высотой
def subsidy(height):
Возврат 50*100_000_000 >> высота // 210_000
Эта функция используется для расчета вознаграждения за блок Биткойна заданной высоты, где 50*100_000_000 - начальное вознаграждение Биткойна, >> - оператор правого сдвига, эквивалентный делению на 2 целых деления. Эта функция возвращает целое число, представляющее собой сумму вознаграждения за блок на заданной высоте.
def first_ordinal(height):
начало = 0
for h in range (height):
start += subsidy(h)
возврат начала
Эта функция вычисляет порядковый номер первой награды для блока на заданной высоте. Подсчитайте общее количество наград от первого блока до заданной высоты, перебирая итерациями высоты и накапливая награды для каждого блока, в результате чего получите порядковый номер первой награды.
def assign_ordinals(block):
first = first_ordinal(block.height)
last = first + subsidy(block.height)
coinbase_ordinals =list(range(first, last))
def assign_ordinals(block):
first = first_ordinal(block.height)
last = first + subsidy(block.height)
coinbase_ordinals =list(range(first, last))
for transaction in block.transactions[1:]:
ординаты = []
for input in transaction.inputs:
ordinals.extend(input.ordinals)
for output in transaction.outputs:
output.ordinals = ordinals[:output.value]
ordinals[:output.value]
coinbase_ordinals.extend(ordinals)
for output in block.transactions[0].outputs:
output.ordinals = coinbase_ordinals[:output.value]
coinbase_ordinals[:output.value]
Эта функция используется для присвоения порядкового номера данному блоку Bitcoin. Сначала он вычисляет порядковый диапазон первого и последнего вознаграждений блока. Далее он перебирает все транзакции в блоке, присваивая каждому выходу порядковый номер. Наконец, выходам транзакции присваиваются порядковые номера, чтобы гарантировать, что все сатоши во всем блоке имеют уникальные порядковые номера.
Короче говоря, благодаря порядковой теории оригиналы делают каждого по сути одинакового Сатоши уникальным с помощью обработки, и определяют редкое знакомство для каждого Сатоши с помощью правил, реализуя атрибуты коллекции или формулируя правила в соответствии с игровым процессом.
Протокол Atomicals - это простой и гибкий протокол для майнинга, передачи и обновления цифровых объектов (традиционно называемых несгораемыми токенами) на блокчейне с неизрасходованными транзакционными выходами (UTXO), таком как Биткойн. Atomical (или "атом") - это способ управления созданием, передачей и обновлением цифровых объектов - по сути, цепочка цифровых владений, определяемая некоторыми простыми правилами.
В Arc-20 принята модель цветных монет, что означает, что токен Arc-20 должен иметь поддержку сатоши, в отличие от токенов Brc-20, которые различаются по порядку. Поскольку токены Arc-20 полностью основаны на сатоши, их можно делить и объединять (подобно UTXO, упомянутым в начале статьи) и напрямую передавать через сеть Биткойн.
Например, используя протокол Atomicals, мы можем определить 100 сатоши как 100 "билетов в кино", и пользователи могут использовать один из этих 100 сатоши для оплаты в кинотеатре, поддерживающем протокол Atomicals, действуя как билет в кино.
Однако майнеры и сеть Биткойна не могут знать, какие UTXO были "атомизированы", что может ошибочно рассматривать токены Arc-20 как плату майнерам. Чтобы решить эту проблему, Atomicals предписывает, что каждый токен Arc-20 должен быть первым выходом транзакции, чтобы избежать случайного уничтожения токена.
Далее мы проанализируем и сравним сходства и различия между двумя протоколами.
Соглашение условно делится на три этапа
{
"p": "brc-20",
"on": "deploy",
"tick": "ordi",
"max": "21000000",
"lim": "1000"
}
Поскольку сама информация о токене не может быть распознана BTC, когда деплойер развертывает токен, необходим индексатор для получения соответствующих данных на цепочке и использования этих данных для создания бухгалтерской книги вне цепочки для записи соответствующей истории и обработки связанных с ней Операций и выполнения обновлений данных.
Индексатор вне цепи должен точно фиксировать и обновлять автономную бухгалтерскую книгу для каждой операции с токенами. Однако, как и в случае с блокчейном, по мере увеличения количества транзакций данные, хранящиеся на узлах, будут становиться все больше и больше. Обеспечение целостности бухгалтерской книги и поиск информации, которую необходимо изменить в огромном количестве данных, станет сложной задачей для BRC-20.
Аналогично, протокол Arc-20 также должен записывать соответствующую информацию в соответствии с форматом цепочки BTC при размещении токенов.
program.command('init-dft')
.description('Инициализация атомарных токенов (FT) в режиме децентрализованной эмиссии')
.argument('<ticker>', 'string')
.argument('<mint_amount>', 'number')
.argument('<max_mints>', 'number')
.argument('<mint_height>', 'number')
.argument('<file>', 'string')
.option('-rbf', 'Включать ли RBF для транзакций')
.option('-funding <string>', 'Используйте псевдоним wif-ключа кошелька для пополнения и изменения')
.option('-satsbyte <number>', 'Количество сатоши на байт в платах', '15')
.option('-mintbitworkc <string>', 'Требовать ли для майнинга любое bitwork-доказательство работы. Применяется к транзакции фиксации.')
.option('-mintbitworkr <string>', 'Требовать ли для майнинга любое доказательство работы bitwork. Применяется к транзакции раскрытия').
.option('-bitworkc <string>', 'Нужно ли помещать любое доказательство работы bitwork в монетный двор токенов. Применяется к транзакции фиксации.')
.option('-bitworkr <string>', 'Нужно ли помещать любое доказательство работы bitwork в токен mint. Применяется к транзакции раскрытия').
.option('-parent <string>', 'Нужно ли требовать, чтобы родительский атомик расходовался вместе с монетным двором').
.option('-parentowner <string>', 'Владелец кошелька родителя, который будет расходоваться вместе с монетным двором').
.option('-disablechalk', 'Отключать ли протоколирование каждого хэша в реальном времени для майнинга Bitwork. Установка этого флага улучшает производительность добычи')
.action(async (ticker, mintAmount, maxMints, mintHeight, file, options) => {
.....
}
В исходном коде atomicals-js cli Вы можете найти инструкции по инициализации маркера. Параметры, которые необходимо записать в цепочку, следующие:
тикер: название токена
mint_amount: общее количество мяты
max_mints: количество мятных конфет за один раз
mint_height: задает высоту блока для запуска mint
файл: связанные метаданные
Но в отличие от Brc20, в Arc20 используется модель цветной валюты. После того, как информация, связанная с токеном, будет введена в цепочку BTC, протокол привяжет токен к Sats:1 токен = 1 sat。
В то же время, использование модели цветной валюты позволяет пользователям проводить транзакции непосредственно через сеть BTC, а не через внецепочечные бухгалтерские книги. Поскольку баланс токена соответствует сатоши в UTXO, соответствующие изменения в токене могут быть интуитивно отражены на цепочке. . Индексатор в Arc-20 используется только для чтения соответствующей информации о развертывании токенов в цепочке и проверки того, какие токены соответствуют протоколу Arc-20.
Структура Brc-20 в большей степени опирается на внецепочечные бухгалтерские книги, в то время как Arc-20 больше соответствует характеристикам Btc и более децентрализован по сравнению с Brc-20. Однако модель цветных монет не позволяет Arc-20 завершить эмиссию монет-мемов, поскольку монеты-мемы часто имеют большой общий запас токенов, а функция 1 токен = 1 сат требует большого количества Btc, которые необходимо израсходовать при эмиссии монет-мемов.
author:<a href="https://twitter.com/YanAemons"" > @YanAemons
Недавно появление протокола Arc-20 вновь вызвало ажиотаж на рынке надписей. В этой статье мы подробно рассмотрим преимущества и недостатки этих двух протоколов с технической точки зрения.
Изначально Биткойн был задуман как безопасная, стабильная и надежная децентрализованная цифровая валюта. Однако из-за своей технической архитектуры и относительно менее гибкого скриптового языка по сравнению с Ethereum, Биткойн не подходит для непосредственного выполнения смарт-контрактов.
Несмотря на это, инновационные идеи и смелые попытки разработчиков привели к процветанию экосистемы Биткойна. Одним из типичных примеров является протокол Brc-20. Основная идея протокола - экспериментальная форма токенов, в центре которой находятся мемы. Любой желающий может майнить эти токены непосредственно в цепочке Биткойна в порядке живой очереди, не прибегая к помощи смарт-контрактов. Ключевой особенностью токена Brc-20 является его децентрализованный характер, что исключает такие механизмы, как частные продажи, предварительные продажи, а также разблокировку или стейкинг. Это обеспечивает по-настоящему децентрализованное взаимодействие.
В этом контексте протокол Arc-20 вновь вызвал большой интерес к надписям.
Протоколы Brc-20 и Arc-20 оба основаны на цепочке Btc, поэтому, прежде чем мы официально представим протокол Arc-20 и протокол Brc-20, давайте вкратце разберемся с UTXO (вывод неизрасходованных транзакций).
Когда мы говорим о Биткойне, модель UTXO (вывод неизрасходованных транзакций) является важной концепцией дизайна. Это тип модели счета, используемый в Биткойне, который отличается от традиционных моделей баланса, таких как банковские счета.
В модели UTXO каждая транзакция Биткойна создает серию неизрасходованных выходов, причем каждый выход представляет собой определенное количество Биткойна. Эти неизрасходованные средства, по сути, являются неиспользованными единицами цифровой валюты, похожими на бумажные купюры или монеты. Когда Вы получаете Биткойн, кто-то фактически создал новый неизрасходованный вывод, связанный с Вашим Биткойн-адресом. Этот выход является UTXO.
Давайте объясним модель UTXO на простом примере:
Если Вы совершили две транзакции, в одной из которых получили 0,7 BTC, а в другой - 0,5 BTC, у Вас будет два UTXO, один стоимостью 0,7 BTC и один стоимостью 0,5 BTC. Когда Вы хотите заплатить 1 BTC, Вы не можете просто использовать один UTXO, а должны объединить два UTXO в новый UTXO (с общей суммой 1,2 BTC), а затем отправить 1 BTC получателю, а оставшиеся 0,2 BTC вернуть себе в качестве сдачи. Однако фактическое изменение может быть меньше 0,2 BTC, потому что пользователям необходимо платить комиссию за транзакцию майнерам, чтобы обеспечить бесперебойную работу транзакции.
BRC-20 - это экспериментальный стандарт, который демонстрирует возможность создания взаимозаменяемых токенов на первом уровне Биткойна за счет использования теории порядковых номеров и надписей. Протокол Ordinals (первый токен, отчеканенный в соответствии со стандартами протокола) позволяет наносить контент, включая текст, изображения или видео, на самую маленькую единицу Биткойна - Сатоши, создавая тем самым уникальные цифровые активы.
Теория порядков - это ключ к реализации надписей в сети BTC.
Каждый сатоши по сути своей одинаков, и ординалы разработали протокол упорядочивания сатоши с помощью теории повествования. Это упорядочивание основано на добыче сатоши и порядке входов и выходов их транзакций.
Существует несколько различных способов представления порядковых чисел:
Выражение степени состоит из четырех частей: A°B′C″D‴, а A, B, C и D представляют собой разные значения:
Нарративная теория определяет порядок сатоши через выражение степени и определяет различные уровни редкости для каждого сатоши через порядок, тем самым достигая уникальности каждого сатоши
Например, например, существующая степень выражается как 1°1′0″0‴, где
С учетом определения редкости, приведенного выше, этот сатоши определяется как редкий стоши.
Общий процесс выглядит следующим образом:
py# Рассчитайте нарратив (вознаграждение) блока, заданного высотой
def subsidy(height):
Возврат 50*100_000_000 >> высота // 210_000
Эта функция используется для расчета вознаграждения за блок Биткойна заданной высоты, где 50*100_000_000 - начальное вознаграждение Биткойна, >> - оператор правого сдвига, эквивалентный делению на 2 целых деления. Эта функция возвращает целое число, представляющее собой сумму вознаграждения за блок на заданной высоте.
def first_ordinal(height):
начало = 0
for h in range (height):
start += subsidy(h)
возврат начала
Эта функция вычисляет порядковый номер первой награды для блока на заданной высоте. Подсчитайте общее количество наград от первого блока до заданной высоты, перебирая итерациями высоты и накапливая награды для каждого блока, в результате чего получите порядковый номер первой награды.
def assign_ordinals(block):
first = first_ordinal(block.height)
last = first + subsidy(block.height)
coinbase_ordinals =list(range(first, last))
def assign_ordinals(block):
first = first_ordinal(block.height)
last = first + subsidy(block.height)
coinbase_ordinals =list(range(first, last))
for transaction in block.transactions[1:]:
ординаты = []
for input in transaction.inputs:
ordinals.extend(input.ordinals)
for output in transaction.outputs:
output.ordinals = ordinals[:output.value]
ordinals[:output.value]
coinbase_ordinals.extend(ordinals)
for output in block.transactions[0].outputs:
output.ordinals = coinbase_ordinals[:output.value]
coinbase_ordinals[:output.value]
Эта функция используется для присвоения порядкового номера данному блоку Bitcoin. Сначала он вычисляет порядковый диапазон первого и последнего вознаграждений блока. Далее он перебирает все транзакции в блоке, присваивая каждому выходу порядковый номер. Наконец, выходам транзакции присваиваются порядковые номера, чтобы гарантировать, что все сатоши во всем блоке имеют уникальные порядковые номера.
Короче говоря, благодаря порядковой теории оригиналы делают каждого по сути одинакового Сатоши уникальным с помощью обработки, и определяют редкое знакомство для каждого Сатоши с помощью правил, реализуя атрибуты коллекции или формулируя правила в соответствии с игровым процессом.
Протокол Atomicals - это простой и гибкий протокол для майнинга, передачи и обновления цифровых объектов (традиционно называемых несгораемыми токенами) на блокчейне с неизрасходованными транзакционными выходами (UTXO), таком как Биткойн. Atomical (или "атом") - это способ управления созданием, передачей и обновлением цифровых объектов - по сути, цепочка цифровых владений, определяемая некоторыми простыми правилами.
В Arc-20 принята модель цветных монет, что означает, что токен Arc-20 должен иметь поддержку сатоши, в отличие от токенов Brc-20, которые различаются по порядку. Поскольку токены Arc-20 полностью основаны на сатоши, их можно делить и объединять (подобно UTXO, упомянутым в начале статьи) и напрямую передавать через сеть Биткойн.
Например, используя протокол Atomicals, мы можем определить 100 сатоши как 100 "билетов в кино", и пользователи могут использовать один из этих 100 сатоши для оплаты в кинотеатре, поддерживающем протокол Atomicals, действуя как билет в кино.
Однако майнеры и сеть Биткойна не могут знать, какие UTXO были "атомизированы", что может ошибочно рассматривать токены Arc-20 как плату майнерам. Чтобы решить эту проблему, Atomicals предписывает, что каждый токен Arc-20 должен быть первым выходом транзакции, чтобы избежать случайного уничтожения токена.
Далее мы проанализируем и сравним сходства и различия между двумя протоколами.
Соглашение условно делится на три этапа
{
"p": "brc-20",
"on": "deploy",
"tick": "ordi",
"max": "21000000",
"lim": "1000"
}
Поскольку сама информация о токене не может быть распознана BTC, когда деплойер развертывает токен, необходим индексатор для получения соответствующих данных на цепочке и использования этих данных для создания бухгалтерской книги вне цепочки для записи соответствующей истории и обработки связанных с ней Операций и выполнения обновлений данных.
Индексатор вне цепи должен точно фиксировать и обновлять автономную бухгалтерскую книгу для каждой операции с токенами. Однако, как и в случае с блокчейном, по мере увеличения количества транзакций данные, хранящиеся на узлах, будут становиться все больше и больше. Обеспечение целостности бухгалтерской книги и поиск информации, которую необходимо изменить в огромном количестве данных, станет сложной задачей для BRC-20.
Аналогично, протокол Arc-20 также должен записывать соответствующую информацию в соответствии с форматом цепочки BTC при размещении токенов.
program.command('init-dft')
.description('Инициализация атомарных токенов (FT) в режиме децентрализованной эмиссии')
.argument('<ticker>', 'string')
.argument('<mint_amount>', 'number')
.argument('<max_mints>', 'number')
.argument('<mint_height>', 'number')
.argument('<file>', 'string')
.option('-rbf', 'Включать ли RBF для транзакций')
.option('-funding <string>', 'Используйте псевдоним wif-ключа кошелька для пополнения и изменения')
.option('-satsbyte <number>', 'Количество сатоши на байт в платах', '15')
.option('-mintbitworkc <string>', 'Требовать ли для майнинга любое bitwork-доказательство работы. Применяется к транзакции фиксации.')
.option('-mintbitworkr <string>', 'Требовать ли для майнинга любое доказательство работы bitwork. Применяется к транзакции раскрытия').
.option('-bitworkc <string>', 'Нужно ли помещать любое доказательство работы bitwork в монетный двор токенов. Применяется к транзакции фиксации.')
.option('-bitworkr <string>', 'Нужно ли помещать любое доказательство работы bitwork в токен mint. Применяется к транзакции раскрытия').
.option('-parent <string>', 'Нужно ли требовать, чтобы родительский атомик расходовался вместе с монетным двором').
.option('-parentowner <string>', 'Владелец кошелька родителя, который будет расходоваться вместе с монетным двором').
.option('-disablechalk', 'Отключать ли протоколирование каждого хэша в реальном времени для майнинга Bitwork. Установка этого флага улучшает производительность добычи')
.action(async (ticker, mintAmount, maxMints, mintHeight, file, options) => {
.....
}
В исходном коде atomicals-js cli Вы можете найти инструкции по инициализации маркера. Параметры, которые необходимо записать в цепочку, следующие:
тикер: название токена
mint_amount: общее количество мяты
max_mints: количество мятных конфет за один раз
mint_height: задает высоту блока для запуска mint
файл: связанные метаданные
Но в отличие от Brc20, в Arc20 используется модель цветной валюты. После того, как информация, связанная с токеном, будет введена в цепочку BTC, протокол привяжет токен к Sats:1 токен = 1 sat。
В то же время, использование модели цветной валюты позволяет пользователям проводить транзакции непосредственно через сеть BTC, а не через внецепочечные бухгалтерские книги. Поскольку баланс токена соответствует сатоши в UTXO, соответствующие изменения в токене могут быть интуитивно отражены на цепочке. . Индексатор в Arc-20 используется только для чтения соответствующей информации о развертывании токенов в цепочке и проверки того, какие токены соответствуют протоколу Arc-20.
Структура Brc-20 в большей степени опирается на внецепочечные бухгалтерские книги, в то время как Arc-20 больше соответствует характеристикам Btc и более децентрализован по сравнению с Brc-20. Однако модель цветных монет не позволяет Arc-20 завершить эмиссию монет-мемов, поскольку монеты-мемы часто имеют большой общий запас токенов, а функция 1 токен = 1 сат требует большого количества Btc, которые необходимо израсходовать при эмиссии монет-мемов.
author:<a href="https://twitter.com/YanAemons"" > @YanAemons