Taro: что Lightning Labs строит на основе Биткойна и Lightning
Taro, новый протокол, разрабатываемый Lightning Labs, использует Taproot и Lightning Network для создания новых активов на основе Биткойна и масштабирования его.
Задача Taro — обеспечить возможность выпуска обычных цифровых и коллекционируемых (NFT) активов на основе Биткойна, а также их безопасного трансфера через Lightning Network без раздувания блокчейна. Для этого используются возможности, открываемые Taproot, последним на сегодня обновлением протокола Биткойна.
«Принципы дизайна Taro позаимствованы у интернета, где есть сложность в периферийных решениях, но сохраняется простота между ними», — говорит Элизабет Старк, CEO Lightning Labs.
Большинство существующих способов выпуска активов на основе Биткойна либо используют для этого отдельный блокчейн, добавляющий новую модель доверия с другими гарантиями безопасности, либо предполагают добавление дополнительных данных непосредственно в блокчейн Биткойна, что неэффективно с точки зрения отслеживания информации об активе в долгосрочной перспективе и несет угрозу конфиденциальности пользователей.
Taro, вместо этого, использует возможности Taproot.
Содержание:
- 1 Будущее Taproot: масштабируемость и конфиденциальность
- 2 Биткойн масштабируем
- 3 Модифицированное дерево хешей
- 4 Трансфер Taro-активов
- 5 Простые и коллекционируемые активы на основе Биткойна
- 6 Периферийные активы: Lightning как децентрализованная магистральная платежная сеть
- 7 Превращение Биткойна в де-факто базовый слой
Будущее Taproot: масштабируемость и конфиденциальность
Taproot позволяет устанавливать сложные условия расходования для UTXO Биткойна, при этом требуя раскрытия в основном блокчейне лишь того условия, по которому в конечном счете была произведена трата. Такое решение является более конфиденциальным, поскольку пассивный наблюдатель не может знать о том, существовали ли для этой транзакции другие условия расходования, а также более масштабируемым, так как не требует записи в блокчейн всех связанных с транзакцией условий расходования. Это важно, так как прежняя логика работы Биткойна предполагала полное раскрытие всех условий расходования при передаче транзакции в блокчейн, что нарушало конфиденциальность пользователей и делало сложные схемы расходования подчас неосуществимыми из-за нелинейного роста требуемого пространства для хранения данных.
За счет использования Taproot, Taro также может полагаться на proof-of-work (PoW) механизм консенсуса Биткойна в том, чтобы обеспечить правильный порядок транзакций и предотвратить двойные траты, определив при этом специальные директивы относительно взаимодействия и валидирования данных нового актива.
В результате Taro отличается и от решений для других активов на основе «легко программируемых» блокчейнов (как токены ERC-20 и ERC-721), поскольку он основан на используемой в Биткойне модели UTXO, а значит, одновременно более безопасен, исключая повторное использование ключей, и более конфиденциален, не раскрывая информации о балансах. Подход Taro также лучше масштабируется и совместим тонкими клиентами.
Конкретнее, Taro переводит активы в Биткойн через «листья» дерева скриптов Taproot. Поскольку каждый листовой узел в таком дереве независим и может быть раскрыт выборочно, это позволяет реализовать структурированное обязательство. Добавляя информацию об этих активах (метаданные) в дерево скриптов Taproot, новый протокол может функционировать как новый слой «поверх» биткойна, позволяя транзакциям с Taro-активами выглядеть неотличимо от обычных транзакций Биткойна (ведь ончейн раскрываются только taproot-выходы) и в то же время обеспечивать подтверждение движения активов по графу транзакций.
Биткойн масштабируем
«Это довольно элегантное решение, так как позволяет отделить обязательства по активу от самого фактического скрипта, — говорит CTO Lightning Labs Олаолува Осунтокун. — Taproot в данном случае позволяет нам логически отделить то, что является основным слоем скриптов Биткойна, от слоя самого актива, даже притом что на самом деле они находятся в одном выходе: поскольку не раскрываемые данные никак не учитываются на слое Биткойна, это можно использовать для хранения дополнительных структурированных данных».
В результате эта конструкция позволяет одному taproot-UTXO фактически фиксировать состояние (включать хеш) неограниченного количества активов, раскрываемое только тем определенным сторонам, которым необходима эта информация, без лишнего обременения всей сети Биткойна.
«Это несколько упрощает понимание и процесс разработки, так как оверлейный слой в сущности похож на Биткойн, с небольшими изменениями, дополнительными обязательствами, валидацией и подобными штуками», — говорит Осунтокун.
Используя Taproot для выпуска и трансфера активов, Taro обеспечивает новые функциональные возможности на периферии Биткойна, используя его ликвидность при маршрутизации актива через Lightning Network, — всё без добавления лишних данных в блокчейн.
«Если люди будут совершать больше транзакций на периферии с использованием этих активов, что ж, значит, нам понадобится больше пропускной способности в самой Lightning Nework, — говорит Осунтокун. — Спрос на периферийные активы, по крайней мере в отношении структурной емкости, приводит к увеличению продуктивной активности в сети и комиссий за маршрутизацию, а значит, усиливает общий сетевой эффект».
В результате Taro может способствовать увеличению спроса на пространство блоков, способствуя устойчивости Биткойна при дальнейших сокращениях субсидии на блок, когда прибыльность майнинга должна будет все в большей мере обеспечиваться за счет комиссий за транзакции.
Модифицированное дерево хешей
Чтобы позволить активам фиксировать состояние в деревьях скриптов Taproot, действуя как оверлейный протокол, Taro использует структуру данных, называемую Merkle-Sum Sparse Merkle tree (MS-SMT). MS-SMT объединяет свойства обычного дерева хешей (Merkle tree), дерева суммы хешей (Merkle-Sum tree) и разреженного дерева хешей (Sparse Merkle tree).
Дерево хешей строится путем попарного хеширования списка хешей до тех пор, пока он не будет сведен к одному хешу, называемому корневым. Например, для списка из четырех элементов, мы сначала получаем хеш каждого из них в отдельности. Затем объединяем хеши элементов 1 и 2 и хешируем эту конкатенацию, то же самое проделываем для элементов 3 и 4. Наконец, объединяем и хешируем два полученных на предыдущем шаге хеша и получаем корневой хеш.
Дерево хешей полезно, так как в нем можно хранить много данных, легко доказывать, что те или иные данные присутствуют в данном дереве, а также проверять, что эти данные не были изменены. То есть обычное дерево хешей обеспечивает масштабируемость, доказательство наличия данных и защиту от несанкционированного их изменения.
Чтобы обеспечить все эти свойства, достаточно сохранить в блокчейне только корневой хеш дерева. Это возможно потому, что, если, например, данные в одном листе дерева будут изменены, изменится хеш этого листа, что приведет к изменению всех хешей на уровнях выше него, изменив в конечном счете и корневой хеш, что проверяется простым сравнением актуального корневого хеша с его сохраненной версией.
Дерево суммы хешей (Merkle-Sum tree) идет на шаг дальше, позволяя фиксировать также сумму значений всех листовых узлов дерева, то есть корневой хеш может включать информацию и о сумме значений каждого листа в дереве. В контексте активов это свойство облегчает аудит предложения, а также обеспечивает делимость актива и позволяет предотвратить нежелательный выпуск новых единиц активов в транзакциях, предназначенных только для трансфера. В нашем вымышленном дереве хешей выше, если бы каждый лист содержал значение, равное единице, то корневой хеш содержал бы значение, равное четырем.
Разреженное дерево хешей (Sparse Merkle tree) добавляет еще одно свойство: все его листья индексируются, что позволяет получать доступ к информации в дереве по парам ключ-значение, и у него есть пустые листья, фактически содержащие значение null, что дает возможность выполнять проверку на отсутствие в дереве тех или иных данных. Это свойство — «доказательство непринадлежности» — обеспечивается через доказательство значения null для данного листа, доступ к которому получается по индексу. Например, если есть утверждение о том, что лист с индексом шесть хранит некоторую информацию об активе, мы можем доказать, что такой информации в этом листе нет, показав, что в действительности он хранит значение null.
Трансфер Taro-активов
Taro представляет собой активы с вложенными MS-SMT, по одному на каждый ID или тип актива. Протокол позволяет накладывать такие деревья одно на другое, разветвляясь от исходного дерева скриптов Taproot и представляя фактически неограниченное количество активов в одном taproot-UTXO. Таким образом, Taro-активы выпускаются ончейн — в блокчейне Биткойна.
В основе функциональности актива в Taro лежит скрипт актива, набор определенных разработчиком директив для программного определения того, каким образом данный актив может передаваться по протоколу. Хеш этого скрипта затем включается в MS-SMT дерево, чтобы его можно было легко применить позже, — таким образом состояние актива и его атрибутов фиксируются в хеше скрипта актива.
Первоначальная версия Taro предлагает использовать подмножество Bitcoin Script, позволяя активам выражать произвольные условия для валидного трансфера актива. Поскольку скрипты активов наследуют уровень программируемости Bitcoin Script, Taro-активы могут передаваться офчейн через Lightning в многопереходных (multihop) транзакциях, реализуемых через HTLC (Hash Time Locked Contract), встроенные в скрипт актива. Однако в будущих версиях могут появиться новые опкоды и дополнительные функциональные возможности, существующие только на уровне Taro.
«Реализация такого Taproot внутри Taproot упрощает первоначальную версию протокола и дает нам больше времени на то, чтобы посмотреть, какие будут возникать варианты использования, и добиться большей выразительности», — говорит Осунтокун.
Для ончейн-трансфера Taro использует новый формат адресов, основанный на bech32, который также включает хеш скрипта актива. Чтобы получить Taro-актив ончейн, получателю потребуется создать адрес с достаточными данными, описывающими то, как отправитель может создать новую группу скриптов актива с информацией, необходимой для расходования актива после передачи его новому владельцу. Другими словами, дополнительная информация в хеше скрипта актива сообщает получателю о том, какие есть возможности разблокировки передаваемого актива, чтобы в конечном счете он мог быть передан снова.
Располагая этой информацией, получатель может вычислить листовой узел актива, это позволяет ему рассчитать корень актива и, наконец, сам выход целиком, что позволяет выполнить поиск в блокчейне Биткойна по вычисленному результату.
Кроме того, если получатель отправит эту определяющую информацию заранее, единственный способ, которым отправитель сможет сделать транзакцию валидной, — это отправить в ней именно то, что ожидает получатель. При отправке неправильного актива или суммы, хеши не будут совпадать, и получатель легко сможет сказать, что отправитель сделал что-то неправильно.
Простые и коллекционируемые активы на основе Биткойна
Выпуск и трансфер активов в Taro различаются в зависимости от того, является ли актив обычным или коллекционируемым.
Коллекционируемый (невзаимозаменяемый, NFT) актив — это уникальное цифровое представление ценности с уникальным идентификатором, устанавливающим право собственности на актив в блокчейне Биткойна или на уровне реального мира и исключающим подделку. Примером коллекционируемого Taro-актива, как и NFT, могут быть, например, редкие маркированные бейсбольные карточки. Коллекционируемые активы создаются в рамках одной пакетной транзакции, не могут быть разделены на части или объединены с другими экземплярами актива и должны быть переданы офчейн или помещены в многосторонний канал для передачи между известным множеством участников.
Обычный актив, с другой стороны, привязывается к общей сумме удерживаемых активов и его расчетные единицы можно разделять или объединять. Разделения могут происходить внутри дерева (внутреннее разделение) или между различными taproot-выходами (внешнее разделение). Во время трансфера держатель актива подтверждает владение валидной его частью с помощью суммы хешей, и соответствующие созданные активы фиксируются в новом выходе разделения с новой суммой хешей — это гарантирует, что общая сумма активов после трансфера будет равна сумме до трансфера.
Периферийные активы: Lightning как децентрализованная магистральная платежная сеть
Как уже упоминалось выше, Taro может переносить выпущенные ончейн активы через Lightning Network, подобно тому, как можно пересылать через Lightning биткойны после блокировки их в выходе с мультиподписью 2-of-2, подтверждаемом в блокчейне Биткойна. Lightning-канал с Taro-активами работает по тому же принципу, однако taproot-выход Шнорра типа 2-из-2 будет привязан также к множеству активов в канале.
«Используя протокол Taro, lightning-каналы, привязанные к taproot-выходу, могут пересылать офчейн как биткойны, так и Taro-активы. При этом multihop-платежи облегчаются новыми HTLC на уровне Taro, использующими систему скриптов для реализации ожидаемых сквозных гарантий безопасности платежей», — говорит Осунтокун.
Осунтокун добавил также, что предложенный Lightning Labs путь развертывания Taro в Lightning Network подразумевает введение активов сначала только на периферии, что позволит избежать необходимости изменять ядро сети и обеспечить новую сеть адекватной ликвидностью для каждого Taro-актива. Планы компании предполагают подключение Taro к биткойн-ликвидности в Lightning и требуют только, чтобы отправитель и получатель того или иного актива использовали каналы с поддержкой Taro.
«Единственное ограничение состоит в том, что для получения и отправки с использованием определенного актива требуется соответствующая входящая/исходящая ликвидность», — говорит Осунтокун.
Помимо аналогичной Lightning модели входа, для многопереходного трансфера taro-активов через Lightning Network будет использоваться аналогичная система выставления счетов, обычная для этого протокола. Однако, вместо BTC, эти счета будут деноминированы в самом Taro-активе.
«Например, если Алиса хочет отправить Бобу стейблкойн-актив на основе Taro, она создаст новый счет на определенную сумму — скажем, $10, — говорит Осунтокун. — Затем Боб использует указанный в счете «hop hint» — дополнительные детали о маршруте, — чтобы завершить построение маршрута и рассчитать сумму комиссий сети (оплачиваемых в BTC) для отправки по своему первому переходу («хопу»), который пройдет по внутренней магистрали Биткойна и в конечном счете сбросит на последнем переходе достаточное количество BTC, чтобы завершить платеж».
Он добавил, что протокол Taro укажет дополнительную информацию, которую необходимо отправить lightning-узлам на краях, чтобы правильно обновить все каналы.
Превращение Биткойна в де-факто базовый слой
Авторы Taro хотят использовать последнее обновление Биткойна, чтобы перенести активы с реальными вариантами использования, такие как стейблкойны на доллар США, в стек одноранговых (P2P) цифровых валют. Это позволяет выпускать через один taproot-UTXO почти неограниченное количество активов, а также передавать такие активы с помощью мгновенных multihop-транзакций в Lightning Network.
Используя в качестве «рельсов» Биткойн и Lightning, Taro может создать взаимно совместимую экосистему активов, которая будет объединять различные варианты использования, не затрагивая при этом тех участников сети, которые могут не интересоваться существованием таких активов. В то же время протокол способен принести пользу Биткойну через усиление его сетевых эффектов в случае, если популяризация концепции приведет к увеличению его трафика, тем самым увеличивая комиссионные выплаты майнерам и BTC-ликвидность в Lightning Network.
Первоначальная итерация протокола Taro учитывает ограниченное число вариантов использования, чтобы упростить для разработчиков переход на протокол за счет использования знакомого набора биткойн-скриптов. Но возможности расширения и дальнейших разработок на этой основе практически безграничны и открывают богатые возможности для разработчиков и предпринимателей в настройке протокола под свои нужды.
«Надежда в том, чтобы открыть людям глаза на то, что несет с собой будущее Биткойна, и какие возможности открывает Taproot, — говорит Старк. — Цель же состоит в том, чтобы расширить возможности Биткойна через построение на его основе глобальной сети открытых протоколов».
Источник: bitnovosti.com