Обзор новых технологических достижений, которые привели к восстановлению Биткойна

Новичок4/29/2024, 1:25:25 AM
В статье подробно исследуется история развития технологии Биткойн, особенно ее проблемы в обработке приложений большого масштаба и масштаба транзакций. В статье анализируются ограничения первоначальной технологии Биткойн, такие как модель UTXO, не являющийся полным скриптовый язык и история и причины разветвлений Биткойн. Впоследствии в статье подробно представлены несколько ключевых технологий в развитии Биткойн, включая OP_RETURN, Сегрегат.иод Витнес (Сегвит), технология Тапрут, а также подписи Шнорра, MAST и сценарии Тапрут. В статье также обсуждаются новые протоколы на основе Биткойн, такие как Ординалы, Надписи и BRC-20, и как они способствуют развитию экосистемы Биткойн. Наконец, в статье рассматриваются потенциальные приложения новых технологий и их возможное влияние на будущее развитие.

Основные исследования и конфликты оригинальной технологии Биткойн

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

Эта статья перечисляет некоторые связанные проблемы, а также процессы, благодаря которым они возникли и были решены. Через эту статью можно увидеть связь между этими проблемами и технологией, а также изменениями в основной цепи Биткойна и связанными «тестовыми цепями». Технология Биткоина постоянно изучается различными проектами и командами (включая Ethereum, который является исследованием недостатков Биткоина). Однако изменения на основной сети Биткоина не были очень очевидными до появления технологий, таких как Taproot, которые стимулировали развитие протоколов, таких как Ordinals, приводящих к новому скачку в развитии.

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

1.1 Язык сценариев биткойна и несколько сокращений инструкций

Язык программирования Bitcoin - это стековый скриптовый язык, использующий обратную польскую запись, не имеющий операторов управления циклами и условиями (поздние расширения, такие как Taproot и Taproot Script, улучшили эту возможность). Поэтому часто говорят, что скриптовый язык Bitcoin не является полноценным по Тьюрингу, что ограничивает его возможности.

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

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

Общие типы инструкций сценария Bitcoin включают:

Ключевые слова:

  1. Константы. Например, OP_0, OP_FALSE

  2. Управление потоком. например, OP_IF, OP_NOTIF, OP_ELSE и т. д.

  3. Операции со стеком. например, OP_TOALTSTACK (помещает ввод в дополнительный стек, удаляя его из основного стека), и т. д.

  4. Операции со строками. например, OP_CAT (конкатенирует две строки, отключено), OP_SIZE (помещает длину строки верхнего элемента стека в стек без извлечения элемента)

  5. Логика побитовых операций. например, OP_AND, OP_OR, OP_XOR

  6. Арифметическая логика. Например, OP_1ADD (добавляет 1 к вводу), OP_1SUB (вычитает 1 из ввода)

  7. Криптография. например, OP_SHA1 (хеширует входные данные с помощью алгоритма SHA-1), OP_CHECKSIG

  8. Псевдо ключевые слова

  9. Зарезервированные ключевые слова

Обычные типы сценариев Bitcoin:

  1. Стандартная транзакция, оплата на адрес Биткойн (pay-to-pubkey-hash)

  2. Стандартная транзакция выпуска биткойнов (оплата на открытый ключ)

  3. Доказуемые неизрасходуемые / усеченные выходы

  4. Выходы Anyone-Can-Spend

  5. Транзакция-головоломка

Пять стандартных типов транзакционных сценариев включают: платежи на хеш открытого ключа (P2PKH), платежи на открытый ключ, мультиподпись (ограничена до 15 ключей максимум), платежи на хеш скрипта (P2SH) и выходы данных (OP_RETURN).

Для получения более подробной информации о скриптовании биткойнов вы можете посетить: Биткойн Вики - Скрипт.

Сокращение поддерживаемых инструкций в Биткойн

Исторически Биткойн неоднократно подвергался сокращениям в поддерживаемых инструкциях. На следующем графике красные части - это инструкции, которые были удалены.

  • Операции со строками

(2)

(3) Арифметические операции

Почему сокращать инструкции? Безопасность - это только один аспект, который следует учитывать. Если мы рассмотрим сокращение инструкций через призму многоуровневого дизайна, мы сможем понять его обоснованность, позволяя базовому протоколу быть более фундаментальным и стабильным. Возможно, Сатоши Накамото понимал эту проблему с самого начала, поэтому он активно сокращал инструкции. Обычное мышление заключается в создании небольшой системы, которая напрямую удовлетворяет потребности пользователей полными командами и функциями системы, а не в создании большого протокола, требующего сотрудничества.

Это также приводит к факту: только Bitcoin подходит в качестве сети первого уровня. Я проанализировал это явление в статье «Высокие цены на Bitcoin могут способствовать появлению новой альтернативной цепи», рассматривая как экономические, так и технические аспекты, а также возможность появления альтернативной цепи Bitcoin. Однако с точки зрения фундаментальных характеристик Bitcoin и перспективы многоуровневого дизайна почти только Bitcoin может служить инфраструктурой сети первого уровня; даже если есть альтернативные цепи, они будут продуктом 1.5 уровня. На уровне первого уровня подлинным товаром является только Bitcoin, и, в лучшем случае, другие цепи могут служить альтернативными товарами низкого качества.

1.2. История разделения Биткойна, причины и значение

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

Когда BIT был установлен, не было ограничения на размер блока, чтобы позволить обработать определенное количество транзакций в течение того же временного интервала. Однако, когда ранние цены на BIT были очень низкими, стоимость злонамеренных транзакций также была очень низкой. Чтобы решить эту проблему, Сатоши Накамото провел мягкое разделение 12 сентября 2010 года, вводя ограничение, согласно которому блоки не могут превышать 1 МБ. Сатоши отметил, что это ограничение временное и в будущем предел блока может быть увеличен контролируемым и постепенным способом, чтобы удовлетворить потребности в расширении.

С увеличением популярности Биткойна проблема сетевой перегрузки транзакций и увеличения времени подтверждения становится все более серьезной. В 2015 году Гавин Андресен и Майк Херн объявили, что они планируют реализовать предложение BIP-101 в новой версии BitcoinXT с надеждой увеличить лимит размера блока до 8 МБ. Однако основные разработчики, такие как Грег Макселл, Люк Джр и Питер Уилле, выступили против этого, утверждая, что это повысит барьер для запуска полной ноды и может иметь неконтролируемые последствия. Этот спор в конечном итоге расширился как по объему, так и по участию.

Из вышеупомянутого контента мы видим, что Сатоси Накамото также выразил мнение, что "лимит размера блока - это временное ограничение, которое может быть увеличено контролируемым и постепенным образом в будущем, чтобы удовлетворить потребности в расширении." Но когда же раздел будет поддерживать более крупные блоки, и сможет ли отделение отдельной цепи для поддержки больших блоков решить проблему? В условиях продолжающихся споров возникло множество случаев. Например, размер блока BCH составляет 8 МБ, позже был увеличен до 32 МБ. BSV имеет размер блока 128 МБ. Помимо BCH (а позже BSV), в этот период также было много других разветвлений BTC; по данным BitMEXResearch, по крайней мере, 50 новых форкнутых монет появились в году после разделения BCH.

Позднее содержание покажет, что на основной сети Bitcoin Segwit и Taproot также увеличили блочное пространство с 1 МБ до 4 МБ в некоторой степени.

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

1.3. Несколько типичных исследований в развитии Биткойна

После ухода Сатоси Накамото его преемник Гавин Андресен взял на себя руководство установлением Bitcoin Core и Bitcoin Foundation. В этот период продолжались исследования масштабируемости BTC, особенно в области выпуска активов.

(1) Цветные монеты (染色币)

Иони Ассия, генеральный директор eToro, впервые предложил концепцию цветных монет в статье, опубликованной 27 марта 2012 года. Эта идея продолжала развиваться, начала принимать форму и привлекать внимание на форумах, таких как Bitcointalk. В конечном итоге, Мении Розенфельд выпустил подробную белую книгу о цветных монетах 4 декабря 2012 года.

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

1) На основе OP_RETURN: По предложению Флавиена Шарлона в 2013 году, используя Open Assets, который использует OP_RETURN (введенный в Bitcoin v0.9.0 для хранения небольшого объема данных на Bitcoin, изначально ограниченного 40 байтами, позднее увеличенного до 80 байт). Опкод хранится в скрипте, а «окрашивание» и транзакции завершаются внешним чтением (Эта модель аналогична Ординалам, которые полагаются на внешний индекс для определения законности активов).

2) На основе OP_RETURN: Типичным примером является протокол EPOBC, предложенный ChromaWay в 2014 году, где дополнительная информация об активах EPOBC хранится в поле nSequence транзакций Bitcoin, и категория и легальность каждого актива EPOBC должны быть прослежены до транзакции генезиса для определения.

(2) MasterCoin (OMNI)

JR Уиллетт выпустил концепцию MasterCoin 6 января 2012 года, назвав ее "вторым белым бумагом Биткойна", и официально запустил проект через ICO в июле 2013 года, в конечном итоге собрав 5120 BTC (на тот момент оцениваемых в $500,000). Отличие между MasterCoin и Colored Coins заключается в том, что он установил полный уровень узла, который поддерживает базу данных модели состояния, сканируя блоки Биткоина, находящиеся в узлах за пределами блокчейна. Этот дизайн предоставляет более сложные функции, чем Colored Coins, такие как создание новых активов, децентрализованные биржи и автоматизированные механизмы обратной связи по ценам. В 2014 году Tether также запустил стейблкоин, известный как Tether USD (OMNI), на Биткойне через протокол Mastercoin.

(3) CounterParty

Counterparty был официально запущен в 2014 году. Как и Colored Coins, Counterparty также использует OP_RETURN для хранения данных в сети BTC. Однако, в отличие от цветных монет, активы в Counterparty не существуют в форме UTXO, а вместо этого информация загружается через OP_RETURN для указания передачи активов. Когда держатель актива подписывает транзакцию, содержащую специальные данные, используя адрес хранения, актив передается. Через этот метод Counterparty может осуществлять выпуск активов, торговлю и платформу, совместимую с умными контрактами Ethereum.

Кроме того, некоторые точки зрения также считают Ethereum, Ripple и BitShares частью более широкого “Биткойн 2.0”.

1.4 Недостатки Биткойна и Слойные Протоколы

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

  1. Система учёта UTXO биткойна

В текущих блокчейн-проектах существуют в основном два типа методов ведения учета: модель счета/баланса и модель UTXO. Биткойн использует модель UTXO, в то время как Эфириум, EOS и другие используют модель счета/баланса.

В кошельке Биткойн обычно можно увидеть баланс счета; однако в оригинальном дизайне системы Биткойн Сатоши Накамото не было концепции "баланса". "Баланс Биткойна" является производным от приложений кошелька Биткойн. UTXO (непотраченные выходы транзакции) представляет непотраченные выходы транзакции, и это является основным понятием в генерации и верификации транзакций Биткойн. Транзакции формируют структуру, похожую на цепь, где все законные транзакции Биткойн могут быть прослежены до выходов из одной или нескольких предыдущих транзакций. Эти цепочки начинаются с вознаграждений за майнинг и заканчиваются текущими непотраченными выходами транзакции.

Следовательно, в реальном мире нет биткойнов, есть только UTXO. Сделки с биткойнами состоят из входов и выходов транзакций; каждая транзакция тратит вход для создания выхода, который затем становится «непотраченным выходом транзакции», или UTXO.

Внедрение смарт-контрактов представляет существенные вызовы с моделью UTXO. Гэвин Вуд, автор Ethereum Yellow Paper, обладает глубоким пониманием UTXO. Самая значительная новинка Ethereum - смарт-контракты. Из-за смарт-контрактов Гэвину Вуду сложно внедрить смарт-контракты с полным набором команд на основе UTXO. Модель учетных записей, которая по своей сути является объектно-ориентированной, записывает каждую транзакцию на соответствующий счет (nonce++). Для облегчения управления учетными записями вводится глобальное состояние, где каждая транзакция изменяет это глобальное состояние, аналогично тому, как каждое малейшее изменение влияет на реальный мир. Таким образом, Ethereum и последующие публичные блокчейны в общем основаны на различных типах систем учета.

Другим серьезным недостатком UTXO является его неспособность обеспечить тонкое управление ограничениями на вывод средств со счета, о чем говорится в белой книге Ethereum.

  1. Язык сценариев Bitcoin, не являющийся полностью тьюринг-полным

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

  1. Другие недостатки Биткойна: безопасность, масштабируемость

Централизация майнинга - проблема, поскольку майнинговый алгоритм Биткойна позволяет майнерам вносить незначительные изменения в заголовок блока миллионы раз до тех пор, пока хэш измененной версии узла не станет меньше целевого значения. Этот алгоритм майнинга уязвим для двух форм централизационных атак. Во-первых, экосистема майнинга контролируется ASIC-майнерами (модулями специального назначения) и компьютерными чипами, разработанными специально для майнинга Биткойна, которые в тысячи раз эффективнее выполняют эту задачу. Это означает, что майнинг Биткойна уже не является высокодецентрализованным и эгалитарным, а требует значительного капитала для эффективного участия. Во-вторых, большинство майнеров Биткойна уже не проводят проверку блока локально; вместо этого они полагаются на централизованные майнинговые пулы для предоставления заголовков блоков. Эта проблема значительна: в настоящее время три крупнейших майнинговых пула косвенно контролируют около 50% вычислительной мощности в сети Биткойн.

Масштабируемость - важная проблема для Биткойна. Используя Биткойн, данные увеличиваются примерно на 1 МБ в час. Если сеть Биткойна обрабатывала бы 2000 транзакций в секунду, как Visa, она бы увеличивалась на 1 МБ каждые три секунды (1 ГБ в час, 8 ТБ в год). Меньшее количество транзакций также вызвало контроверзию в сообществе Биткойна, поскольку более крупные блокчейны могут улучшить производительность, но с риском централизации.

С точки зрения жизненного цикла продукта, некоторые незначительные недочеты Биткойна могут быть улучшены в рамках его собственной системы, ограниченной текущей системой. Однако эти проблемы могут быть решены без учета ограничений старой системы, если они будут рассмотрены в новой системе. Если разрабатывается новая блокчейн-система, то эти незначительные функциональные улучшения также должны быть разработаны и улучшены.

Слойный дизайн

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

Для широкой и обширной системы протоколов использование слоев имеет явные преимущества. Такой подход упрощает понимание людям.

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

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

Примечание: Автор предоставляет более подробные объяснения о слоях протокола в «Обзоре строительства Bitcoin Layer 2 (Layer 2) Базовой системы знаний V1.5».

2. Важные новые технологии в развитии Биткойна (расширение блока и улучшение возможностей)

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

2.1. OP_RETURN

Разработчики Bitcoin всегда стремились расширить возможности Bitcoin, проявляющиеся в нескольких способах:

(1) Использование OP_RETURN

OP_RETURN - это операционный код сценария, используемый для завершения сценария и возврата верхнего значения стека. Этот операционный код аналогичен функции возврата в языках программирования. На протяжении истории Биткойна функциональность операционного кода OP_RETURN была изменена несколько раз, и теперь он в основном используется как метод для хранения данных на реестре. Функциональность операционного кода OP_RETURN претерпела значительные изменения в прошлом и теперь является важным механизмом для хранения произвольных данных on-chain.

Изначально OP_RETURN использовался для досрочного завершения выполнения сценария, при этом результат выполнения представлялся в виде верхнего элемента стека. Этот опкод изначально имел уязвимость, которая легко эксплуатировалась, но Сатоши Накамото быстро её исправил.

Дальнейшие изменения функционала OP_RETURN

В обновлении до Bitcoin Core v 0.9.0 сценарии "OP_RETURN output" были превращены в стандартный тип выходных данных, позволяющий пользователям добавлять данные к "неизрасходованным выходам транзакций". Объем данных, доступный в таких сценариях, изначально был ограничен 40 байтами, а затем увеличен до 80 байтов.

Хранение данных на блокчейне:

Изменение OP_RETURN для всегда возвращения false дало интересные результаты. Поскольку никакие другие операции или данные не оцениваются после OP_RETURN, пользователи сети начали использовать эту операцию для хранения данных в произвольных форматах.

Во время эры Bitcoin Cash (BCH), с 1 августа 2017 года по 15 ноября 2018 года, длина данных, которая могла быть прикреплена к выходам OP_RETURN, была увеличена до 220 байт, что позволило размещать более значительные данные для поощрения инновационных приложений на блокчейне, таких как размещение контента в социальных сетях блокчейна.

На BSV ограничение в 220 байтов было сохранено еще некоторое время. Позже, в январе 2019 года, поскольку операция OP_RETURN завершает скрипт таким образом, что узлы не проверяют последующие операции, узлы также не проверяли, находился ли скрипт в пределах максимального размера скрипта в 520 байтов. В результате операторы сетевых узлов решили увеличить максимальный объем транзакции до 100 КБ, тем самым предоставив разработчикам больше свободы для инноваций в приложениях, позволяя новым приложениям размещать более крупные и сложные данные в реестре Bitcoin. Тогда был пример приложения, когда кто-то поместил целый веб-сайт в реестр BSV.

Хотя у OP_RETURN есть некоторые функциональные расширения, его общие возможности все еще ограничены. Это привело к технологии Segregated Witness.

(2) SegWit (Разделенный свидетель)

Разделенный свидетель, или SegWit, был впервые предложен Питером Вулле (разработчиком Bitcoin core и соучредителем Blockstream) в декабре 2015 года, а позже стал Bitcoin BIP 141. SegWit слегка модифицирует структуру данных транзакций в блоках Bitcoin, чтобы решить следующие проблемы:

1) Проблема изменения транзакции.

2) В доказательствах SPV передача подписей транзакций становится необязательной, что уменьшает объем данных доказательств Меркля.

3) Косвенное увеличение блочной емкости.

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

Хотя реализация увеличила емкость блока, SegWit по-прежнему подвержен ограничениям размера блока. Лимит размера блока биткойна составляет 1 М байт, и поскольку данные свидетелей не включаются в этот лимит, по-прежнему существует ограничение общего размера блока для предотвращения злоупотребления данными свидетелей. Была введена новая концепция, называемая Вес блока:

Вес блока = Базовый размер * 3 + Общий размер

Базовый размер - это размер блока, исключая данные свидетелей

Общий размер - это общий размер блока, сериализованный в соответствии с BIP 144, включая как базовые данные, так и данные свидетелей.

SegWit ограничивает вес блока <= 4 Мб.

SegWit также технически позволяет расширить использование Биткойна для работы с Lightning Network, о чем здесь не уточняется.

(3) Taproot (Segregated Witness V2)

Если вы напрямую используете слово Taproot, многие могут подумать, что это новый концепт, но если вы понимаете, что это вторая версия Segregated Witness, большинство поймут связь. Taproot связан с BIP 340, 341 и 342, именно: BIP 340 (Schnorr подписи для secp256k1), BIP 341 (Taproot: SegWit версия 1 правила траты),

BIP 342 (Проверка сценариев Taproot).

В ноябре 2021 года Taproot был официально активирован как мягкий форк. Это обновление объединяет BIP 340, BIP 341 и BIP 342. Среди них BIP 340 вводит подписи Schnorr, которые могут одновременно проверять несколько транзакций, заменяя Elliptic Curve Digital Signature Algorithm (ECDSA), повторно расширяя пропускную способность сети и ускоряя обработку пакетных транзакций, предоставляя возможности для развертывания сложных смарт-контрактов; BIP 341 реализует Merklized Abstract Syntax Trees (MAST) для оптимизации хранения данных транзакций в блокчейне; BIP 342 (Tapscript) использует язык кодирования скриптов Bitcoin для улучшения собственных возможностей скриптов Bitcoin.

Расширение пространства, вызванное Segwit и Taproot, привело к созданию подписей Schnorr, деревьев MAST и сценариев Taproot, задача которых - расширить функциональные возможности основной сети Биткойн.

2.2 Подписи Шнорра, MAST и сценарии Taproot

Из раздела 2.1 мы наблюдали за продолжающимся исследованием Биткоина в масштабировании и повышении возможностей, что достигло своего пика в разработке технологии Taproot, наряду с несколькими критически важными технологиями, такими как Schnorr, MAST и Taproot Scripts, которые действительно расширили возможности Биткоина.

(1) Подписи Шнорра

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

Преимущества Сигнатур Шнорра:

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

2) Заметным преимуществом подписей Шнорра является агрегация ключей, которая объединяет несколько подписей в одну, действительную для суммы их ключей. Другими словами, Шнорр позволяет нескольким сотрудничающим сторонам создавать одну подпись, которая действительна для общей суммы их открытых ключей. Агрегация подписей позволяет комбинировать подписи нескольких подписантов в одну подпись.

Агрегация ключей может снизить комиссии за транзакции и улучшить базовую масштабируемость, поскольку электронные подписи из мультиподписных настроек занимают тот же объем в блоке, что и подписи из транзакций от одной стороны. Эта особенность Schnorr может быть использована для уменьшения размера платежей с мультиподписью и других транзакций, связанных с мультиподписью, таких как транзакции каналов Lightning Network.

3) Еще одной важной особенностью подписей Schnorr является их неманипулируемость.

4) Schnorr также предлагает множество преимуществ в области конфиденциальности. Это делает мультисиг схемы неотличимыми от традиционных схем с одним ключом для внешних наблюдателей, что затрудняет различение мультисиг трат от трат с одной подписью на цепи. Кроме того, в n-из-m мультисиг настройках Schnorr усложняет внешним наблюдателям определение, какие участники подписались в сделке, а какие - нет.

Подписи Шнорра реализованы в BIP-340 как часть обновления Taproot и были активированы 14 ноября 2021 года на высоте блока 709 632. Шнорр делает цифровые подписи BTC быстрее, более безопасными и легче в управлении. Особенно важно то, что подписи Шнорра обратно совместимы с криптографическими алгоритмами BTC, что позволяет их вводить через обновление мягкой вилки.

(2) MAST Абстрактные Синтаксические Деревья

Существует небольшое неоднозначие в сокращении MAST на китайском и английском языках. Официально BIP (BIP 114) и некоторые статьи используют сокращение MAST для: Merklized Abstract Syntax Tree. Другие источники переводят Merklized Alternative Script Trees (MAST) на китайский как Merklized Replacement Script Trees (MAST). В книге “Mastering Bitcoin” и статье используется следующее сокращение: https://cointelegraph.com/learn/a-beginners-guide-to-the-bitcoin-taproot-upgrade.

Деревья абстрактного синтаксиса Мерклизации и альтернативные деревья сценариев Мерклизации (MAST) кажутся имеющими одну и ту же функцию. С точки зрения перевода, лично я считаю, что лучше придерживаться использования, найденного в официальном протоколе Bitcoin BIP.

Концепция, лежащая в основе MAST, происходит от двух идей: деревьев абстрактного синтаксиса и деревьев Меркля.

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

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

Для создания дерева Меркля каждый элемент хешируется индивидуально для создания уникального идентификатора; затем эти идентификаторы объединяются и хешируются снова для создания идентификатора для этой пары; этот процесс повторяется, пока не останется только один идентификатор, известный как «корень Меркля», который является кратким идентификатором, представляющим всю выборку.

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

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

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

С появлением деревьев абстрактного синтаксиса MAST становится необходимым расширить собственные возможности синтаксиса Bitcoin, что приводит к созданию скриптов Taproot.

(3) Скрипты Taproot

Введенный в рамках протокола BIP 342, Taprootscript - это обновленная версия оригинального биткойн-скрипта, в основном - набор операционных кодов с командами, поддерживающими реализацию других BIP. Taprootscript также устраняет ограничение размера скрипта в 10 000 байт, обеспечивая лучшую среду для создания смарт-контрактов в сети биткойна. Это обновление также заложило основу для последующего развития ординалов, которые используют скрипты-пути траты Taproot для прикрепления дополнительных данных. Более подробную информацию можно найти на официальном веб-сайте:

https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki

Возможности TaprootScript еще не были полностью использованы, и в будущем более развитые разработки продемонстрируют его потенциал, особенно в связи с первоуровневой сетью Биткойна и технологиями второго уровня, где, скорее всего, будут более широко использоваться Taproot, MAST и TaprootScripts.

2.3 Порядковые числительные, надписи, BRC 20 и другие протоколы

С основными инструментами, такими как Segwit, Taproot, Schnorr, MAST и Taproot Scripts в экосистеме Биткойн, начали появляться новые приложения. Изначально эти приложения были легкими и простыми.

(1) Протоколы порядков, надписи и BRC 20

Создание протокола Ординалс тесно связано с понятием сатоши. Протокол вводит понятия ординалов и надписей. Ординалы - это схема нумерации, которая назначает уникальный номер каждому сатоши в сети Биткойн в соответствии с порядком их добычи. В протоколе идентификатор ординала остается неизменным независимо от того, как сатоши передается между разными кошельками. Полные узлы Биткойн, работающие на открытом программном обеспечении Родамора, ORD, могут отслеживать эти пронумерованные сатоши, обеспечивая точный механизм для отслеживания каждого сатоши и их независимой проверки.

Инсерты включают гравировку информации на сатоши. Используя SegWit и Taproot, протокол Ordinals позволяет гравировать файлы размером менее 4 МБ на каждый сатоши в блоке Биткойна - это надписи, которые могут содержать различные типы информации, такие как текст, изображения или видео.

Проще говоря, схема порядковой нумерации предоставляет каждому сатоши уникальный, прослеживаемый идентификатор, придавая ему невзаимозаменяемые характеристики. Надписи позволяют добавлять неделимые данные на эти порядковые числительные, сродни созданию произведений искусства на чистом холсте. В совокупности они позволяют Биткойну разместить новый стандарт для NFT. По сути, Ordinals похож на протокол NFT, но в отличие от ETH или других публичных блокчейнов, где метаданные NFT обычно хранятся на IPFS или централизованных серверах, Ordinals встраивает метаданные в свидетельские данные транзакции, как будто «выгравированные» на конкретном сатоши.

BRC-20: Вдохновленный протоколом Ordinals, пользователь Twitter @domodataсоздал экспериментальный стандартный заменимый токен BRC-20 на Биткойн 8 марта 2023 года. Путем назначения различных «атрибутов» каждому сатоши, протокол Ordinals создает NFT BTC-сети, в то время как BRC-20 делает это, предоставляя единый «формат» и «атрибуты» для заменимых токенов (FTs) на основе BTC. BRC-20 использует протокол Ordinals для записи JSON-текста в BTC-надпись для развертывания токен-контрактов, чеканки и передачи токенов. Ключевые аспекты развертывания включают название токена, общее предложение и максимальное чеканка за раз. Для транзакций, включающих передачи или покупку/продажу, дополнительный NFT отслеживает балансы вне цепи. Механизм чеканки «первым поступил — первым обслужен» обеспечивает справедливое выпуск и возможности участия. Однако относительно неразвитая инфраструктура экосистемы BTC и ее крутой кривой обучения, а также низкая ликвидность делают легкими для токенов BRC-20, таких как ordi, sats и rats, скачки, создавая миф о создании богатства.

(2) Другие протоколы - Атомикалы, ARC 20

Развитие протокола Atomicals было довольно драматичным. Его основатель, Артур, первоначально хотел разработать проект DID поверх недавно выпущенного протокола Ordinals, но понял, что у Ordinals есть много ограничений, которые неблагоприятны для поддержки некоторых функций, которые он хотел реализовать. Следовательно, 29 мая 2023 года Артур написал в Твиттере о своей концепции протокола Atomicals, который был запущен 17 сентября 2023 года после нескольких месяцев разработки. Впоследствии протокол Atomicals породил такие концепции, как Dmint, Bitwork, ARC-20 и RNS, с будущими планами по внедрению AVM и решений для разделения. Как и в случае с Ordinals и BRC-20, развертывание взаимозаменяемых токенов на Atomic приводит к созданию ARC-20. Читатели, интересующиеся АРК-20, могут прочитать подробнее здесь: Токены АРК-20.

(3) Другие Протоколы - Rune

По мере развития экосистемы Кейси Родармор, создатель Ординатов, указал, что токены BRC-20 имеют "неудачное последствие разрастания UTXO" и предложил Руны в качестве альтернативного решения, основанного на UTXO. Существующие протоколы в основном страдают от сложных реализаций, плохих пользовательских интерфейсов, мусорных непотраченных выходов транзакций (UTXO) и операций, требующих наличие собственных токенов.

Передача рун использует OP_RETURN, и первый выход данных в сообщении протокола декодируется в последовательность целых чисел, интерпретируемую как серию кортежей (ID, OUTPUT, AMOUNT). Если декодированное количество целых чисел не является кратным трём, сообщение протокола недействительно. ID относится к идентификатору токена, который должен быть передан, OUTPUT - это назначенный индекс выхода (т. е. к какому выходу он назначен), а AMOUNT - количество, выделенное. После обработки всех назначений кортежей любые неназначенные токены рун передаются первому не-OP_RETURN выходу, а остальные могут быть заполнены токенами рун в выходе OP_RETURN, содержащем сообщение протокола.

Эмиссия рун основана на UTXO-отслеживании однородных токенов. Если сообщение протокола содержит вторую отправку данных, оно представляет собой транзакцию выдачи. Вторая передача данных декодируется в два целых числа: SYMBOL и DECIMALS. Если остаются дополнительные целые числа, сообщение протокола является недопустимым. SYMBOL - это базовый 26-символьный читаемый символ, похожий на те, которые используются в именах порядковых чисел, с единственными допустимыми символами от A до Z. DECIMAL обозначают десятичные знаки, используемые при выпуске рун. Если СИМВОЛ еще не назначен, то Жетону Рун присваивается значение ID (начиная с 1). Если СИМВОЛ уже назначен или является одним из BITCOIN, BTC или XBT, новые руны создаваться не будут. Это особенность протокола Runes — он не привязывает записи о балансе к адресам кошельков, а хранит их в самом UTXO. Новые токены Runes начинаются с транзакции выпуска, в которой указываются предложение, символ и десятичные знаки, и это предложение распределяется между конкретными UTXO. UTXO могут содержать любое количество Жетонов Рун, независимо от их размера, и используются только для отслеживания балансов. Затем функция передачи использует этот UTXO, разбивая его на несколько новых UTXO произвольного размера, содержащих разное количество рун, и отправляя записи другим. По сравнению с BRC-20, Runes упрощает уровень консенсуса, становясь проще, не полагаясь при этом на данные вне сети и не имея нативных токенов, что делает его очень подходящим для нативной модели UTXO Биткойна.

(4) Другие Протоколы - BTC Stamps, SRC 20, SRC 721

Система Bitcoin Stamps была запущена Майком In Space в марте 2023 года, изначально как проект концепции на Counterparty, Bitcoin Layer 2, существующем с 2014 года. В результате обновлений в его базовых протоколах Stamps полностью перешли на Bitcoin, став известными как SRC-20 прошлым летом. Изначально Майк видел в Stamps метод отчеканки постоянных Bitcoin NFT. Однако протокол с тех пор расширился до репликации BRC-20, типа пакетно-заменяемого токена, который процветает на Bitcoin благодаря увлечению надписыванием, вызванному запуском Ordinals Кейси Родармором в январе 2023 года.

Основное различие между Stamps и Ordinals заключается в их архитектуре. Stamps хранит свои метаданные в многоадресных неизрасходованных выходах транзакций (UTXOs), в то время как Ordinals хранит свои метаданные в части "свидетельства" транзакций Bitcoin. Это архитектурное различие подчеркивает компромиссы, сделанные разработчиками. Например, метод UTXO Stamps делает их неудаляемыми, таким образом, кажется, что они постоянны, хотя их стоимость производства выше, чем у Ordinals. Напротив, использование Ordinals свидетельственных данных в конечном итоге делает их удаляемыми, и их стоимость производства ниже, чем у Stamps.

Таким образом, хотя ординалы могут предложить лучшее соотношение прочности и стоимости для сегодняшних криптовалютных NFT (которые также могут быть получены на Ethereum, но по более высокой стоимости строительства), кажется, что в настоящее время Stamps обеспечивает лучшую гарантию непосредственной постоянности.

После появления BTC Stamps были разработаны SRC 20 и SRC 721, работающие аналогично BRC-20. BRC-20 построен на протоколе Ordinals, в то время как SRC-20 создан на основе BTC STAMPS. Заинтересованные читатели могут ознакомиться с документацией SRC 20 и SRC 721 здесь:

Протокол SRC 20

Протокол SRC 721

Это завершает введение в значительные новые технологии на сети уровня 1 Биткойна. Для дальнейшего масштабирования и улучшения фокус будет смещен на верхнеслойную инфраструктуру Биткойна, такую как Биткойн Уровня 2 или решения, использующие Сеть Lightning. Для получения дополнительной информации по этой теме читателям предлагается прочитать «Комплексное руководство по инфраструктуре Биткойн Уровня 2, Версия 1.5» и «С позиции State Machines: Наблюдение за архитектурой и путем построения будущих приложений Web3.0», или другие статьи, связанные с конструкцией или архитектурным дизайном Биткойн Уровня 2.

3. Использование новых технологий и потребности в будущем развитии

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

3.1 Методы использования новой технологии

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

Расширение блока:Segregated Witness (SegWit) успешно расширил емкость блока, хотя существует несколько предложений по обрезке данных свидетелей, такие события маловероятны, особенно после того, как данные свидетелей приобрели большее значение.

Расширение возможностей:Технологии, такие как Taproot, Schnorr, MAST и Taproot Scripts, улучшили возможности Биткойна. В частности, комбинация MAST и Taproot Scripts расширяет возможности родного языка сценариев Биткойна, позволяя обрабатывать более сложные сценарии. Однако расширение этих возможностей также увеличивает сложность разработки и понимания Биткойна, поскольку разработка сценариев не осуществляется на языке высокого уровня. Более того, расширение этих возможностей отстает от понимания и темпа обучения пользователей относительно увеличения ёмкости блока.

Простота использования расширения блока по сравнению с сложностью расширения возможностей объясняет, почему пользователи изначально хранят небольшие изображения NFT на основной сети Биткойн, что приводит к появлению приложений, подобных BRC 20. Большинство приложений, в настоящее время на основной сети Биткойн, исследуют использование после расширения блока. Небольшая часть приложений начинает исследовать расширение возможностей, такие как связь между первым и вторым уровнями в BEVM, который активно использует вышеупомянутые базовые элементы. Комбинация подписей Шнорра, контрактов MAST и сети легких узлов Биткойн (BTC L2) представляет собой типичный случай изучения способов связи первого и второго уровней. В будущем ожидаются более обширные случаи расширения возможностей.

Где должны находиться границы расширения возможностей? Мы можем судить с точки зрения многоуровневого дизайна. Если эти возможности в основном предназначены в качестве соединений между первым и вторым уровнями Биткойна, то они не должны становиться чрезмерно сложными. Однако, под влиянием человеческого творчества и сильного очарования выпуском и управлением активами, некоторые команды или отдельные лица будут исследовать больше сценариев для расширения возможностей.

3.2 Future Development Needs

Самая прямая причина возникновения технологии блокчейн - цифровая валюта, поэтому выпуск и управление активами являются прямыми потребностями в домене Биткойн или блокчейна. От изучения цветных монет до приложений, таких как BRC 20 и ARC 20, а также ICO и IDO на Ethereum, все это - исследования выпуска активов. Приложения, такие как Uniswap, Lending и AMM, касаются управления активами. Эти типы приложений прошли стадию зрелости на сетях, таких как Ethereum, и по мере развития технологии экосистемы Биткойн эти приложения для управления активами, вероятно, перейдут в экосистему Биткойн, особенно на втором уровне Биткойн.

Только после удовлетворения потребностей в выпуске и управлении активами появится возможность и время для разработки масштабных приложений для эры Web3.0 (также известной как Век Ценности). Архитектура системы для будущих масштабных приложений Web3.0 обсуждается в статье «С позиции состояний просматривая второй уровень Биткоина, наблюдая за архитектурой и путем построения будущих приложений Web3.0».

Путь к строительству представляет собой процесс непрерывного удовлетворения потребностей, который можно разделить на короткие, среднесрочные и долгосрочные этапы. Короткий срок включает в себя применение новых технологий на главной сети Биткоина и простые этапы строительства второго уровня на основе блокчейна для расширения основных возможностей различных финансовых приложений. Среднесрочный срок включает более продвинутые этапы строительства второго уровня на основе блокчейна и второго уровня распределенной системы, ориентированные на различные финансовые и доверительные приложения. Долгосрочный срок предполагает полное строительство крупномасштабной экосистемы Биткоина, действительно создавая эру Web3.0.

Ограничение ответственности:

  1. Эта статья печатается с [ Foresightnews], Все авторские права принадлежат оригинальному автору [Фу Шаочин, SatoshiLab, студия BTC Вселенной]. Если есть возражения против этой перепечатки, пожалуйста, свяжитесь с Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности: мнения и взгляды, выраженные в этой статье, являются исключительно мнениями автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Обзор новых технологических достижений, которые привели к восстановлению Биткойна

Новичок4/29/2024, 1:25:25 AM
В статье подробно исследуется история развития технологии Биткойн, особенно ее проблемы в обработке приложений большого масштаба и масштаба транзакций. В статье анализируются ограничения первоначальной технологии Биткойн, такие как модель UTXO, не являющийся полным скриптовый язык и история и причины разветвлений Биткойн. Впоследствии в статье подробно представлены несколько ключевых технологий в развитии Биткойн, включая OP_RETURN, Сегрегат.иод Витнес (Сегвит), технология Тапрут, а также подписи Шнорра, MAST и сценарии Тапрут. В статье также обсуждаются новые протоколы на основе Биткойн, такие как Ординалы, Надписи и BRC-20, и как они способствуют развитию экосистемы Биткойн. Наконец, в статье рассматриваются потенциальные приложения новых технологий и их возможное влияние на будущее развитие.

Основные исследования и конфликты оригинальной технологии Биткойн

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

Эта статья перечисляет некоторые связанные проблемы, а также процессы, благодаря которым они возникли и были решены. Через эту статью можно увидеть связь между этими проблемами и технологией, а также изменениями в основной цепи Биткойна и связанными «тестовыми цепями». Технология Биткоина постоянно изучается различными проектами и командами (включая Ethereum, который является исследованием недостатков Биткоина). Однако изменения на основной сети Биткоина не были очень очевидными до появления технологий, таких как Taproot, которые стимулировали развитие протоколов, таких как Ordinals, приводящих к новому скачку в развитии.

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

1.1 Язык сценариев биткойна и несколько сокращений инструкций

Язык программирования Bitcoin - это стековый скриптовый язык, использующий обратную польскую запись, не имеющий операторов управления циклами и условиями (поздние расширения, такие как Taproot и Taproot Script, улучшили эту возможность). Поэтому часто говорят, что скриптовый язык Bitcoin не является полноценным по Тьюрингу, что ограничивает его возможности.

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

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

Общие типы инструкций сценария Bitcoin включают:

Ключевые слова:

  1. Константы. Например, OP_0, OP_FALSE

  2. Управление потоком. например, OP_IF, OP_NOTIF, OP_ELSE и т. д.

  3. Операции со стеком. например, OP_TOALTSTACK (помещает ввод в дополнительный стек, удаляя его из основного стека), и т. д.

  4. Операции со строками. например, OP_CAT (конкатенирует две строки, отключено), OP_SIZE (помещает длину строки верхнего элемента стека в стек без извлечения элемента)

  5. Логика побитовых операций. например, OP_AND, OP_OR, OP_XOR

  6. Арифметическая логика. Например, OP_1ADD (добавляет 1 к вводу), OP_1SUB (вычитает 1 из ввода)

  7. Криптография. например, OP_SHA1 (хеширует входные данные с помощью алгоритма SHA-1), OP_CHECKSIG

  8. Псевдо ключевые слова

  9. Зарезервированные ключевые слова

Обычные типы сценариев Bitcoin:

  1. Стандартная транзакция, оплата на адрес Биткойн (pay-to-pubkey-hash)

  2. Стандартная транзакция выпуска биткойнов (оплата на открытый ключ)

  3. Доказуемые неизрасходуемые / усеченные выходы

  4. Выходы Anyone-Can-Spend

  5. Транзакция-головоломка

Пять стандартных типов транзакционных сценариев включают: платежи на хеш открытого ключа (P2PKH), платежи на открытый ключ, мультиподпись (ограничена до 15 ключей максимум), платежи на хеш скрипта (P2SH) и выходы данных (OP_RETURN).

Для получения более подробной информации о скриптовании биткойнов вы можете посетить: Биткойн Вики - Скрипт.

Сокращение поддерживаемых инструкций в Биткойн

Исторически Биткойн неоднократно подвергался сокращениям в поддерживаемых инструкциях. На следующем графике красные части - это инструкции, которые были удалены.

  • Операции со строками

(2)

(3) Арифметические операции

Почему сокращать инструкции? Безопасность - это только один аспект, который следует учитывать. Если мы рассмотрим сокращение инструкций через призму многоуровневого дизайна, мы сможем понять его обоснованность, позволяя базовому протоколу быть более фундаментальным и стабильным. Возможно, Сатоши Накамото понимал эту проблему с самого начала, поэтому он активно сокращал инструкции. Обычное мышление заключается в создании небольшой системы, которая напрямую удовлетворяет потребности пользователей полными командами и функциями системы, а не в создании большого протокола, требующего сотрудничества.

Это также приводит к факту: только Bitcoin подходит в качестве сети первого уровня. Я проанализировал это явление в статье «Высокие цены на Bitcoin могут способствовать появлению новой альтернативной цепи», рассматривая как экономические, так и технические аспекты, а также возможность появления альтернативной цепи Bitcoin. Однако с точки зрения фундаментальных характеристик Bitcoin и перспективы многоуровневого дизайна почти только Bitcoin может служить инфраструктурой сети первого уровня; даже если есть альтернативные цепи, они будут продуктом 1.5 уровня. На уровне первого уровня подлинным товаром является только Bitcoin, и, в лучшем случае, другие цепи могут служить альтернативными товарами низкого качества.

1.2. История разделения Биткойна, причины и значение

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

Когда BIT был установлен, не было ограничения на размер блока, чтобы позволить обработать определенное количество транзакций в течение того же временного интервала. Однако, когда ранние цены на BIT были очень низкими, стоимость злонамеренных транзакций также была очень низкой. Чтобы решить эту проблему, Сатоши Накамото провел мягкое разделение 12 сентября 2010 года, вводя ограничение, согласно которому блоки не могут превышать 1 МБ. Сатоши отметил, что это ограничение временное и в будущем предел блока может быть увеличен контролируемым и постепенным способом, чтобы удовлетворить потребности в расширении.

С увеличением популярности Биткойна проблема сетевой перегрузки транзакций и увеличения времени подтверждения становится все более серьезной. В 2015 году Гавин Андресен и Майк Херн объявили, что они планируют реализовать предложение BIP-101 в новой версии BitcoinXT с надеждой увеличить лимит размера блока до 8 МБ. Однако основные разработчики, такие как Грег Макселл, Люк Джр и Питер Уилле, выступили против этого, утверждая, что это повысит барьер для запуска полной ноды и может иметь неконтролируемые последствия. Этот спор в конечном итоге расширился как по объему, так и по участию.

Из вышеупомянутого контента мы видим, что Сатоси Накамото также выразил мнение, что "лимит размера блока - это временное ограничение, которое может быть увеличено контролируемым и постепенным образом в будущем, чтобы удовлетворить потребности в расширении." Но когда же раздел будет поддерживать более крупные блоки, и сможет ли отделение отдельной цепи для поддержки больших блоков решить проблему? В условиях продолжающихся споров возникло множество случаев. Например, размер блока BCH составляет 8 МБ, позже был увеличен до 32 МБ. BSV имеет размер блока 128 МБ. Помимо BCH (а позже BSV), в этот период также было много других разветвлений BTC; по данным BitMEXResearch, по крайней мере, 50 новых форкнутых монет появились в году после разделения BCH.

Позднее содержание покажет, что на основной сети Bitcoin Segwit и Taproot также увеличили блочное пространство с 1 МБ до 4 МБ в некоторой степени.

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

1.3. Несколько типичных исследований в развитии Биткойна

После ухода Сатоси Накамото его преемник Гавин Андресен взял на себя руководство установлением Bitcoin Core и Bitcoin Foundation. В этот период продолжались исследования масштабируемости BTC, особенно в области выпуска активов.

(1) Цветные монеты (染色币)

Иони Ассия, генеральный директор eToro, впервые предложил концепцию цветных монет в статье, опубликованной 27 марта 2012 года. Эта идея продолжала развиваться, начала принимать форму и привлекать внимание на форумах, таких как Bitcointalk. В конечном итоге, Мении Розенфельд выпустил подробную белую книгу о цветных монетах 4 декабря 2012 года.

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

1) На основе OP_RETURN: По предложению Флавиена Шарлона в 2013 году, используя Open Assets, который использует OP_RETURN (введенный в Bitcoin v0.9.0 для хранения небольшого объема данных на Bitcoin, изначально ограниченного 40 байтами, позднее увеличенного до 80 байт). Опкод хранится в скрипте, а «окрашивание» и транзакции завершаются внешним чтением (Эта модель аналогична Ординалам, которые полагаются на внешний индекс для определения законности активов).

2) На основе OP_RETURN: Типичным примером является протокол EPOBC, предложенный ChromaWay в 2014 году, где дополнительная информация об активах EPOBC хранится в поле nSequence транзакций Bitcoin, и категория и легальность каждого актива EPOBC должны быть прослежены до транзакции генезиса для определения.

(2) MasterCoin (OMNI)

JR Уиллетт выпустил концепцию MasterCoin 6 января 2012 года, назвав ее "вторым белым бумагом Биткойна", и официально запустил проект через ICO в июле 2013 года, в конечном итоге собрав 5120 BTC (на тот момент оцениваемых в $500,000). Отличие между MasterCoin и Colored Coins заключается в том, что он установил полный уровень узла, который поддерживает базу данных модели состояния, сканируя блоки Биткоина, находящиеся в узлах за пределами блокчейна. Этот дизайн предоставляет более сложные функции, чем Colored Coins, такие как создание новых активов, децентрализованные биржи и автоматизированные механизмы обратной связи по ценам. В 2014 году Tether также запустил стейблкоин, известный как Tether USD (OMNI), на Биткойне через протокол Mastercoin.

(3) CounterParty

Counterparty был официально запущен в 2014 году. Как и Colored Coins, Counterparty также использует OP_RETURN для хранения данных в сети BTC. Однако, в отличие от цветных монет, активы в Counterparty не существуют в форме UTXO, а вместо этого информация загружается через OP_RETURN для указания передачи активов. Когда держатель актива подписывает транзакцию, содержащую специальные данные, используя адрес хранения, актив передается. Через этот метод Counterparty может осуществлять выпуск активов, торговлю и платформу, совместимую с умными контрактами Ethereum.

Кроме того, некоторые точки зрения также считают Ethereum, Ripple и BitShares частью более широкого “Биткойн 2.0”.

1.4 Недостатки Биткойна и Слойные Протоколы

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

  1. Система учёта UTXO биткойна

В текущих блокчейн-проектах существуют в основном два типа методов ведения учета: модель счета/баланса и модель UTXO. Биткойн использует модель UTXO, в то время как Эфириум, EOS и другие используют модель счета/баланса.

В кошельке Биткойн обычно можно увидеть баланс счета; однако в оригинальном дизайне системы Биткойн Сатоши Накамото не было концепции "баланса". "Баланс Биткойна" является производным от приложений кошелька Биткойн. UTXO (непотраченные выходы транзакции) представляет непотраченные выходы транзакции, и это является основным понятием в генерации и верификации транзакций Биткойн. Транзакции формируют структуру, похожую на цепь, где все законные транзакции Биткойн могут быть прослежены до выходов из одной или нескольких предыдущих транзакций. Эти цепочки начинаются с вознаграждений за майнинг и заканчиваются текущими непотраченными выходами транзакции.

Следовательно, в реальном мире нет биткойнов, есть только UTXO. Сделки с биткойнами состоят из входов и выходов транзакций; каждая транзакция тратит вход для создания выхода, который затем становится «непотраченным выходом транзакции», или UTXO.

Внедрение смарт-контрактов представляет существенные вызовы с моделью UTXO. Гэвин Вуд, автор Ethereum Yellow Paper, обладает глубоким пониманием UTXO. Самая значительная новинка Ethereum - смарт-контракты. Из-за смарт-контрактов Гэвину Вуду сложно внедрить смарт-контракты с полным набором команд на основе UTXO. Модель учетных записей, которая по своей сути является объектно-ориентированной, записывает каждую транзакцию на соответствующий счет (nonce++). Для облегчения управления учетными записями вводится глобальное состояние, где каждая транзакция изменяет это глобальное состояние, аналогично тому, как каждое малейшее изменение влияет на реальный мир. Таким образом, Ethereum и последующие публичные блокчейны в общем основаны на различных типах систем учета.

Другим серьезным недостатком UTXO является его неспособность обеспечить тонкое управление ограничениями на вывод средств со счета, о чем говорится в белой книге Ethereum.

  1. Язык сценариев Bitcoin, не являющийся полностью тьюринг-полным

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

  1. Другие недостатки Биткойна: безопасность, масштабируемость

Централизация майнинга - проблема, поскольку майнинговый алгоритм Биткойна позволяет майнерам вносить незначительные изменения в заголовок блока миллионы раз до тех пор, пока хэш измененной версии узла не станет меньше целевого значения. Этот алгоритм майнинга уязвим для двух форм централизационных атак. Во-первых, экосистема майнинга контролируется ASIC-майнерами (модулями специального назначения) и компьютерными чипами, разработанными специально для майнинга Биткойна, которые в тысячи раз эффективнее выполняют эту задачу. Это означает, что майнинг Биткойна уже не является высокодецентрализованным и эгалитарным, а требует значительного капитала для эффективного участия. Во-вторых, большинство майнеров Биткойна уже не проводят проверку блока локально; вместо этого они полагаются на централизованные майнинговые пулы для предоставления заголовков блоков. Эта проблема значительна: в настоящее время три крупнейших майнинговых пула косвенно контролируют около 50% вычислительной мощности в сети Биткойн.

Масштабируемость - важная проблема для Биткойна. Используя Биткойн, данные увеличиваются примерно на 1 МБ в час. Если сеть Биткойна обрабатывала бы 2000 транзакций в секунду, как Visa, она бы увеличивалась на 1 МБ каждые три секунды (1 ГБ в час, 8 ТБ в год). Меньшее количество транзакций также вызвало контроверзию в сообществе Биткойна, поскольку более крупные блокчейны могут улучшить производительность, но с риском централизации.

С точки зрения жизненного цикла продукта, некоторые незначительные недочеты Биткойна могут быть улучшены в рамках его собственной системы, ограниченной текущей системой. Однако эти проблемы могут быть решены без учета ограничений старой системы, если они будут рассмотрены в новой системе. Если разрабатывается новая блокчейн-система, то эти незначительные функциональные улучшения также должны быть разработаны и улучшены.

Слойный дизайн

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

Для широкой и обширной системы протоколов использование слоев имеет явные преимущества. Такой подход упрощает понимание людям.

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

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

Примечание: Автор предоставляет более подробные объяснения о слоях протокола в «Обзоре строительства Bitcoin Layer 2 (Layer 2) Базовой системы знаний V1.5».

2. Важные новые технологии в развитии Биткойна (расширение блока и улучшение возможностей)

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

2.1. OP_RETURN

Разработчики Bitcoin всегда стремились расширить возможности Bitcoin, проявляющиеся в нескольких способах:

(1) Использование OP_RETURN

OP_RETURN - это операционный код сценария, используемый для завершения сценария и возврата верхнего значения стека. Этот операционный код аналогичен функции возврата в языках программирования. На протяжении истории Биткойна функциональность операционного кода OP_RETURN была изменена несколько раз, и теперь он в основном используется как метод для хранения данных на реестре. Функциональность операционного кода OP_RETURN претерпела значительные изменения в прошлом и теперь является важным механизмом для хранения произвольных данных on-chain.

Изначально OP_RETURN использовался для досрочного завершения выполнения сценария, при этом результат выполнения представлялся в виде верхнего элемента стека. Этот опкод изначально имел уязвимость, которая легко эксплуатировалась, но Сатоши Накамото быстро её исправил.

Дальнейшие изменения функционала OP_RETURN

В обновлении до Bitcoin Core v 0.9.0 сценарии "OP_RETURN output" были превращены в стандартный тип выходных данных, позволяющий пользователям добавлять данные к "неизрасходованным выходам транзакций". Объем данных, доступный в таких сценариях, изначально был ограничен 40 байтами, а затем увеличен до 80 байтов.

Хранение данных на блокчейне:

Изменение OP_RETURN для всегда возвращения false дало интересные результаты. Поскольку никакие другие операции или данные не оцениваются после OP_RETURN, пользователи сети начали использовать эту операцию для хранения данных в произвольных форматах.

Во время эры Bitcoin Cash (BCH), с 1 августа 2017 года по 15 ноября 2018 года, длина данных, которая могла быть прикреплена к выходам OP_RETURN, была увеличена до 220 байт, что позволило размещать более значительные данные для поощрения инновационных приложений на блокчейне, таких как размещение контента в социальных сетях блокчейна.

На BSV ограничение в 220 байтов было сохранено еще некоторое время. Позже, в январе 2019 года, поскольку операция OP_RETURN завершает скрипт таким образом, что узлы не проверяют последующие операции, узлы также не проверяли, находился ли скрипт в пределах максимального размера скрипта в 520 байтов. В результате операторы сетевых узлов решили увеличить максимальный объем транзакции до 100 КБ, тем самым предоставив разработчикам больше свободы для инноваций в приложениях, позволяя новым приложениям размещать более крупные и сложные данные в реестре Bitcoin. Тогда был пример приложения, когда кто-то поместил целый веб-сайт в реестр BSV.

Хотя у OP_RETURN есть некоторые функциональные расширения, его общие возможности все еще ограничены. Это привело к технологии Segregated Witness.

(2) SegWit (Разделенный свидетель)

Разделенный свидетель, или SegWit, был впервые предложен Питером Вулле (разработчиком Bitcoin core и соучредителем Blockstream) в декабре 2015 года, а позже стал Bitcoin BIP 141. SegWit слегка модифицирует структуру данных транзакций в блоках Bitcoin, чтобы решить следующие проблемы:

1) Проблема изменения транзакции.

2) В доказательствах SPV передача подписей транзакций становится необязательной, что уменьшает объем данных доказательств Меркля.

3) Косвенное увеличение блочной емкости.

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

Хотя реализация увеличила емкость блока, SegWit по-прежнему подвержен ограничениям размера блока. Лимит размера блока биткойна составляет 1 М байт, и поскольку данные свидетелей не включаются в этот лимит, по-прежнему существует ограничение общего размера блока для предотвращения злоупотребления данными свидетелей. Была введена новая концепция, называемая Вес блока:

Вес блока = Базовый размер * 3 + Общий размер

Базовый размер - это размер блока, исключая данные свидетелей

Общий размер - это общий размер блока, сериализованный в соответствии с BIP 144, включая как базовые данные, так и данные свидетелей.

SegWit ограничивает вес блока <= 4 Мб.

SegWit также технически позволяет расширить использование Биткойна для работы с Lightning Network, о чем здесь не уточняется.

(3) Taproot (Segregated Witness V2)

Если вы напрямую используете слово Taproot, многие могут подумать, что это новый концепт, но если вы понимаете, что это вторая версия Segregated Witness, большинство поймут связь. Taproot связан с BIP 340, 341 и 342, именно: BIP 340 (Schnorr подписи для secp256k1), BIP 341 (Taproot: SegWit версия 1 правила траты),

BIP 342 (Проверка сценариев Taproot).

В ноябре 2021 года Taproot был официально активирован как мягкий форк. Это обновление объединяет BIP 340, BIP 341 и BIP 342. Среди них BIP 340 вводит подписи Schnorr, которые могут одновременно проверять несколько транзакций, заменяя Elliptic Curve Digital Signature Algorithm (ECDSA), повторно расширяя пропускную способность сети и ускоряя обработку пакетных транзакций, предоставляя возможности для развертывания сложных смарт-контрактов; BIP 341 реализует Merklized Abstract Syntax Trees (MAST) для оптимизации хранения данных транзакций в блокчейне; BIP 342 (Tapscript) использует язык кодирования скриптов Bitcoin для улучшения собственных возможностей скриптов Bitcoin.

Расширение пространства, вызванное Segwit и Taproot, привело к созданию подписей Schnorr, деревьев MAST и сценариев Taproot, задача которых - расширить функциональные возможности основной сети Биткойн.

2.2 Подписи Шнорра, MAST и сценарии Taproot

Из раздела 2.1 мы наблюдали за продолжающимся исследованием Биткоина в масштабировании и повышении возможностей, что достигло своего пика в разработке технологии Taproot, наряду с несколькими критически важными технологиями, такими как Schnorr, MAST и Taproot Scripts, которые действительно расширили возможности Биткоина.

(1) Подписи Шнорра

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

Преимущества Сигнатур Шнорра:

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

2) Заметным преимуществом подписей Шнорра является агрегация ключей, которая объединяет несколько подписей в одну, действительную для суммы их ключей. Другими словами, Шнорр позволяет нескольким сотрудничающим сторонам создавать одну подпись, которая действительна для общей суммы их открытых ключей. Агрегация подписей позволяет комбинировать подписи нескольких подписантов в одну подпись.

Агрегация ключей может снизить комиссии за транзакции и улучшить базовую масштабируемость, поскольку электронные подписи из мультиподписных настроек занимают тот же объем в блоке, что и подписи из транзакций от одной стороны. Эта особенность Schnorr может быть использована для уменьшения размера платежей с мультиподписью и других транзакций, связанных с мультиподписью, таких как транзакции каналов Lightning Network.

3) Еще одной важной особенностью подписей Schnorr является их неманипулируемость.

4) Schnorr также предлагает множество преимуществ в области конфиденциальности. Это делает мультисиг схемы неотличимыми от традиционных схем с одним ключом для внешних наблюдателей, что затрудняет различение мультисиг трат от трат с одной подписью на цепи. Кроме того, в n-из-m мультисиг настройках Schnorr усложняет внешним наблюдателям определение, какие участники подписались в сделке, а какие - нет.

Подписи Шнорра реализованы в BIP-340 как часть обновления Taproot и были активированы 14 ноября 2021 года на высоте блока 709 632. Шнорр делает цифровые подписи BTC быстрее, более безопасными и легче в управлении. Особенно важно то, что подписи Шнорра обратно совместимы с криптографическими алгоритмами BTC, что позволяет их вводить через обновление мягкой вилки.

(2) MAST Абстрактные Синтаксические Деревья

Существует небольшое неоднозначие в сокращении MAST на китайском и английском языках. Официально BIP (BIP 114) и некоторые статьи используют сокращение MAST для: Merklized Abstract Syntax Tree. Другие источники переводят Merklized Alternative Script Trees (MAST) на китайский как Merklized Replacement Script Trees (MAST). В книге “Mastering Bitcoin” и статье используется следующее сокращение: https://cointelegraph.com/learn/a-beginners-guide-to-the-bitcoin-taproot-upgrade.

Деревья абстрактного синтаксиса Мерклизации и альтернативные деревья сценариев Мерклизации (MAST) кажутся имеющими одну и ту же функцию. С точки зрения перевода, лично я считаю, что лучше придерживаться использования, найденного в официальном протоколе Bitcoin BIP.

Концепция, лежащая в основе MAST, происходит от двух идей: деревьев абстрактного синтаксиса и деревьев Меркля.

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

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

Для создания дерева Меркля каждый элемент хешируется индивидуально для создания уникального идентификатора; затем эти идентификаторы объединяются и хешируются снова для создания идентификатора для этой пары; этот процесс повторяется, пока не останется только один идентификатор, известный как «корень Меркля», который является кратким идентификатором, представляющим всю выборку.

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

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

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

С появлением деревьев абстрактного синтаксиса MAST становится необходимым расширить собственные возможности синтаксиса Bitcoin, что приводит к созданию скриптов Taproot.

(3) Скрипты Taproot

Введенный в рамках протокола BIP 342, Taprootscript - это обновленная версия оригинального биткойн-скрипта, в основном - набор операционных кодов с командами, поддерживающими реализацию других BIP. Taprootscript также устраняет ограничение размера скрипта в 10 000 байт, обеспечивая лучшую среду для создания смарт-контрактов в сети биткойна. Это обновление также заложило основу для последующего развития ординалов, которые используют скрипты-пути траты Taproot для прикрепления дополнительных данных. Более подробную информацию можно найти на официальном веб-сайте:

https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki

Возможности TaprootScript еще не были полностью использованы, и в будущем более развитые разработки продемонстрируют его потенциал, особенно в связи с первоуровневой сетью Биткойна и технологиями второго уровня, где, скорее всего, будут более широко использоваться Taproot, MAST и TaprootScripts.

2.3 Порядковые числительные, надписи, BRC 20 и другие протоколы

С основными инструментами, такими как Segwit, Taproot, Schnorr, MAST и Taproot Scripts в экосистеме Биткойн, начали появляться новые приложения. Изначально эти приложения были легкими и простыми.

(1) Протоколы порядков, надписи и BRC 20

Создание протокола Ординалс тесно связано с понятием сатоши. Протокол вводит понятия ординалов и надписей. Ординалы - это схема нумерации, которая назначает уникальный номер каждому сатоши в сети Биткойн в соответствии с порядком их добычи. В протоколе идентификатор ординала остается неизменным независимо от того, как сатоши передается между разными кошельками. Полные узлы Биткойн, работающие на открытом программном обеспечении Родамора, ORD, могут отслеживать эти пронумерованные сатоши, обеспечивая точный механизм для отслеживания каждого сатоши и их независимой проверки.

Инсерты включают гравировку информации на сатоши. Используя SegWit и Taproot, протокол Ordinals позволяет гравировать файлы размером менее 4 МБ на каждый сатоши в блоке Биткойна - это надписи, которые могут содержать различные типы информации, такие как текст, изображения или видео.

Проще говоря, схема порядковой нумерации предоставляет каждому сатоши уникальный, прослеживаемый идентификатор, придавая ему невзаимозаменяемые характеристики. Надписи позволяют добавлять неделимые данные на эти порядковые числительные, сродни созданию произведений искусства на чистом холсте. В совокупности они позволяют Биткойну разместить новый стандарт для NFT. По сути, Ordinals похож на протокол NFT, но в отличие от ETH или других публичных блокчейнов, где метаданные NFT обычно хранятся на IPFS или централизованных серверах, Ordinals встраивает метаданные в свидетельские данные транзакции, как будто «выгравированные» на конкретном сатоши.

BRC-20: Вдохновленный протоколом Ordinals, пользователь Twitter @domodataсоздал экспериментальный стандартный заменимый токен BRC-20 на Биткойн 8 марта 2023 года. Путем назначения различных «атрибутов» каждому сатоши, протокол Ordinals создает NFT BTC-сети, в то время как BRC-20 делает это, предоставляя единый «формат» и «атрибуты» для заменимых токенов (FTs) на основе BTC. BRC-20 использует протокол Ordinals для записи JSON-текста в BTC-надпись для развертывания токен-контрактов, чеканки и передачи токенов. Ключевые аспекты развертывания включают название токена, общее предложение и максимальное чеканка за раз. Для транзакций, включающих передачи или покупку/продажу, дополнительный NFT отслеживает балансы вне цепи. Механизм чеканки «первым поступил — первым обслужен» обеспечивает справедливое выпуск и возможности участия. Однако относительно неразвитая инфраструктура экосистемы BTC и ее крутой кривой обучения, а также низкая ликвидность делают легкими для токенов BRC-20, таких как ordi, sats и rats, скачки, создавая миф о создании богатства.

(2) Другие протоколы - Атомикалы, ARC 20

Развитие протокола Atomicals было довольно драматичным. Его основатель, Артур, первоначально хотел разработать проект DID поверх недавно выпущенного протокола Ordinals, но понял, что у Ordinals есть много ограничений, которые неблагоприятны для поддержки некоторых функций, которые он хотел реализовать. Следовательно, 29 мая 2023 года Артур написал в Твиттере о своей концепции протокола Atomicals, который был запущен 17 сентября 2023 года после нескольких месяцев разработки. Впоследствии протокол Atomicals породил такие концепции, как Dmint, Bitwork, ARC-20 и RNS, с будущими планами по внедрению AVM и решений для разделения. Как и в случае с Ordinals и BRC-20, развертывание взаимозаменяемых токенов на Atomic приводит к созданию ARC-20. Читатели, интересующиеся АРК-20, могут прочитать подробнее здесь: Токены АРК-20.

(3) Другие Протоколы - Rune

По мере развития экосистемы Кейси Родармор, создатель Ординатов, указал, что токены BRC-20 имеют "неудачное последствие разрастания UTXO" и предложил Руны в качестве альтернативного решения, основанного на UTXO. Существующие протоколы в основном страдают от сложных реализаций, плохих пользовательских интерфейсов, мусорных непотраченных выходов транзакций (UTXO) и операций, требующих наличие собственных токенов.

Передача рун использует OP_RETURN, и первый выход данных в сообщении протокола декодируется в последовательность целых чисел, интерпретируемую как серию кортежей (ID, OUTPUT, AMOUNT). Если декодированное количество целых чисел не является кратным трём, сообщение протокола недействительно. ID относится к идентификатору токена, который должен быть передан, OUTPUT - это назначенный индекс выхода (т. е. к какому выходу он назначен), а AMOUNT - количество, выделенное. После обработки всех назначений кортежей любые неназначенные токены рун передаются первому не-OP_RETURN выходу, а остальные могут быть заполнены токенами рун в выходе OP_RETURN, содержащем сообщение протокола.

Эмиссия рун основана на UTXO-отслеживании однородных токенов. Если сообщение протокола содержит вторую отправку данных, оно представляет собой транзакцию выдачи. Вторая передача данных декодируется в два целых числа: SYMBOL и DECIMALS. Если остаются дополнительные целые числа, сообщение протокола является недопустимым. SYMBOL - это базовый 26-символьный читаемый символ, похожий на те, которые используются в именах порядковых чисел, с единственными допустимыми символами от A до Z. DECIMAL обозначают десятичные знаки, используемые при выпуске рун. Если СИМВОЛ еще не назначен, то Жетону Рун присваивается значение ID (начиная с 1). Если СИМВОЛ уже назначен или является одним из BITCOIN, BTC или XBT, новые руны создаваться не будут. Это особенность протокола Runes — он не привязывает записи о балансе к адресам кошельков, а хранит их в самом UTXO. Новые токены Runes начинаются с транзакции выпуска, в которой указываются предложение, символ и десятичные знаки, и это предложение распределяется между конкретными UTXO. UTXO могут содержать любое количество Жетонов Рун, независимо от их размера, и используются только для отслеживания балансов. Затем функция передачи использует этот UTXO, разбивая его на несколько новых UTXO произвольного размера, содержащих разное количество рун, и отправляя записи другим. По сравнению с BRC-20, Runes упрощает уровень консенсуса, становясь проще, не полагаясь при этом на данные вне сети и не имея нативных токенов, что делает его очень подходящим для нативной модели UTXO Биткойна.

(4) Другие Протоколы - BTC Stamps, SRC 20, SRC 721

Система Bitcoin Stamps была запущена Майком In Space в марте 2023 года, изначально как проект концепции на Counterparty, Bitcoin Layer 2, существующем с 2014 года. В результате обновлений в его базовых протоколах Stamps полностью перешли на Bitcoin, став известными как SRC-20 прошлым летом. Изначально Майк видел в Stamps метод отчеканки постоянных Bitcoin NFT. Однако протокол с тех пор расширился до репликации BRC-20, типа пакетно-заменяемого токена, который процветает на Bitcoin благодаря увлечению надписыванием, вызванному запуском Ordinals Кейси Родармором в январе 2023 года.

Основное различие между Stamps и Ordinals заключается в их архитектуре. Stamps хранит свои метаданные в многоадресных неизрасходованных выходах транзакций (UTXOs), в то время как Ordinals хранит свои метаданные в части "свидетельства" транзакций Bitcoin. Это архитектурное различие подчеркивает компромиссы, сделанные разработчиками. Например, метод UTXO Stamps делает их неудаляемыми, таким образом, кажется, что они постоянны, хотя их стоимость производства выше, чем у Ordinals. Напротив, использование Ordinals свидетельственных данных в конечном итоге делает их удаляемыми, и их стоимость производства ниже, чем у Stamps.

Таким образом, хотя ординалы могут предложить лучшее соотношение прочности и стоимости для сегодняшних криптовалютных NFT (которые также могут быть получены на Ethereum, но по более высокой стоимости строительства), кажется, что в настоящее время Stamps обеспечивает лучшую гарантию непосредственной постоянности.

После появления BTC Stamps были разработаны SRC 20 и SRC 721, работающие аналогично BRC-20. BRC-20 построен на протоколе Ordinals, в то время как SRC-20 создан на основе BTC STAMPS. Заинтересованные читатели могут ознакомиться с документацией SRC 20 и SRC 721 здесь:

Протокол SRC 20

Протокол SRC 721

Это завершает введение в значительные новые технологии на сети уровня 1 Биткойна. Для дальнейшего масштабирования и улучшения фокус будет смещен на верхнеслойную инфраструктуру Биткойна, такую как Биткойн Уровня 2 или решения, использующие Сеть Lightning. Для получения дополнительной информации по этой теме читателям предлагается прочитать «Комплексное руководство по инфраструктуре Биткойн Уровня 2, Версия 1.5» и «С позиции State Machines: Наблюдение за архитектурой и путем построения будущих приложений Web3.0», или другие статьи, связанные с конструкцией или архитектурным дизайном Биткойн Уровня 2.

3. Использование новых технологий и потребности в будущем развитии

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

3.1 Методы использования новой технологии

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

Расширение блока:Segregated Witness (SegWit) успешно расширил емкость блока, хотя существует несколько предложений по обрезке данных свидетелей, такие события маловероятны, особенно после того, как данные свидетелей приобрели большее значение.

Расширение возможностей:Технологии, такие как Taproot, Schnorr, MAST и Taproot Scripts, улучшили возможности Биткойна. В частности, комбинация MAST и Taproot Scripts расширяет возможности родного языка сценариев Биткойна, позволяя обрабатывать более сложные сценарии. Однако расширение этих возможностей также увеличивает сложность разработки и понимания Биткойна, поскольку разработка сценариев не осуществляется на языке высокого уровня. Более того, расширение этих возможностей отстает от понимания и темпа обучения пользователей относительно увеличения ёмкости блока.

Простота использования расширения блока по сравнению с сложностью расширения возможностей объясняет, почему пользователи изначально хранят небольшие изображения NFT на основной сети Биткойн, что приводит к появлению приложений, подобных BRC 20. Большинство приложений, в настоящее время на основной сети Биткойн, исследуют использование после расширения блока. Небольшая часть приложений начинает исследовать расширение возможностей, такие как связь между первым и вторым уровнями в BEVM, который активно использует вышеупомянутые базовые элементы. Комбинация подписей Шнорра, контрактов MAST и сети легких узлов Биткойн (BTC L2) представляет собой типичный случай изучения способов связи первого и второго уровней. В будущем ожидаются более обширные случаи расширения возможностей.

Где должны находиться границы расширения возможностей? Мы можем судить с точки зрения многоуровневого дизайна. Если эти возможности в основном предназначены в качестве соединений между первым и вторым уровнями Биткойна, то они не должны становиться чрезмерно сложными. Однако, под влиянием человеческого творчества и сильного очарования выпуском и управлением активами, некоторые команды или отдельные лица будут исследовать больше сценариев для расширения возможностей.

3.2 Future Development Needs

Самая прямая причина возникновения технологии блокчейн - цифровая валюта, поэтому выпуск и управление активами являются прямыми потребностями в домене Биткойн или блокчейна. От изучения цветных монет до приложений, таких как BRC 20 и ARC 20, а также ICO и IDO на Ethereum, все это - исследования выпуска активов. Приложения, такие как Uniswap, Lending и AMM, касаются управления активами. Эти типы приложений прошли стадию зрелости на сетях, таких как Ethereum, и по мере развития технологии экосистемы Биткойн эти приложения для управления активами, вероятно, перейдут в экосистему Биткойн, особенно на втором уровне Биткойн.

Только после удовлетворения потребностей в выпуске и управлении активами появится возможность и время для разработки масштабных приложений для эры Web3.0 (также известной как Век Ценности). Архитектура системы для будущих масштабных приложений Web3.0 обсуждается в статье «С позиции состояний просматривая второй уровень Биткоина, наблюдая за архитектурой и путем построения будущих приложений Web3.0».

Путь к строительству представляет собой процесс непрерывного удовлетворения потребностей, который можно разделить на короткие, среднесрочные и долгосрочные этапы. Короткий срок включает в себя применение новых технологий на главной сети Биткоина и простые этапы строительства второго уровня на основе блокчейна для расширения основных возможностей различных финансовых приложений. Среднесрочный срок включает более продвинутые этапы строительства второго уровня на основе блокчейна и второго уровня распределенной системы, ориентированные на различные финансовые и доверительные приложения. Долгосрочный срок предполагает полное строительство крупномасштабной экосистемы Биткоина, действительно создавая эру Web3.0.

Ограничение ответственности:

  1. Эта статья печатается с [ Foresightnews], Все авторские права принадлежат оригинальному автору [Фу Шаочин, SatoshiLab, студия BTC Вселенной]. Если есть возражения против этой перепечатки, пожалуйста, свяжитесь с Gate Learnкоманда, и они незамедлительно разберутся с этим.
  2. Отказ от ответственности: мнения и взгляды, выраженные в этой статье, являются исключительно мнениями автора и не являются инвестиционными советами.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!