Автор Тема: Taproot для Bitcoin, или Биткоин тоже будет анонимным  (Прочитано 291 раз)

Оффлайн СryptoMaxSun

  • Administrator
  • Legendary
  • *****
  • Сообщений: 2528
  • Поблагодарили: 48 раз(а)
  • Karma: +32/-0
  • Администратор форума
    • Просмотр профиля
    • Bittogether.com - Первый украинский криптовалютный форум

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


Изначально Taproot спроектировал разработчик Bitcoin Core и бывший CTO компании Blockstream Грегори Максвелл. На данный момент ведущие представители сообщества разработчиков в лице Питера Велле, Энтони Тоунса, Джонсона Лау, Йонаса Ника, Эндрю Поэлстры, Тима Раффинга и Расти Рассела работают над имплементацией подписей Шнорра, которая включает в себя и технологию Taproot.

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

MAST — это симбиоз из абстрактного синтаксического дерева (AST), которое разделит смарт-контракт на части, и хэш-дерева, или дерева Меркла, оно позволит уменьшить размер данных в блоке и проверить принадлежность этих разделенных частей смарт-контракта на примере одного любого хэша в дереве.

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

P2SH
Все существующие биткоины «заперты» в скриптах; это несколько строчек кода в транзакции, определяющих, каким образом монеты могут быть потрачены в следующей транзакции. Необходимым условием для траты является подпись, подтверждающая право собственности на монеты. Тем не менее не стоит забывать о существовании временных меток [трата только после генерации определенного блока] и мультиподписей [трата только при условии авторизации достаточным числом приватных ключей].

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

С 2012 года только новый держатель биткоинов знает, как можно их потратить, а сторонние наблюдатели не осведомлены об условиях траты до ее реализации. Это стало возможным за счет реализации решения P2SH [pay to script hash], предполагающего включение в блокчейн лишь хешей скриптов. Это, казалось бы, случайное число определяет право собственности на монеты. В момент траты держатель раскрывает скрипт и ключ для расшифровки хеша одновременно. Затем каждый пользователь может использовать изначальный хеш для проверки истинности скрипта и исполнения условий траты.

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

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

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

Тем не менее Taproot в комбинации с подписями Шнорра может и вовсе скрыть факт существования такого абстрактного синтаксического дерева.

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

Реализация подписей Шнорра в протоколе биткоина позволит агрегировать несколько подписей для одной транзакции в единую за счет заложенной в схеме линейной математики. Такой же подход можно применить для транзакций с мультиподписью: комбинируя публичные ключи и подписи в “пороговые публичные ключи” или “пороговые подписи”, можно сделать такие переводы неотличимыми от обычных.

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

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

Таким образом Taproot по своей структуре напоминает MAST, но всегда предполагает наличие условия, позволяющего всем участникам работать сообща для осуществления траты: так называемое «совместное закрытие». Как только в игру вступают подписи Шнорра, концепция становится куда интересней.

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

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

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

Если же «совместное закрытие» оказалось невозможным, тогда можно раскрыть тот факт, что «пороговый публичный ключ» — это видоизмененная версия истинного публичного ключа.

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

Такое развитие событий предполагает слияние «порогового публичного ключа» с корнем Меркла, поскольку дерево Меркла содержит все возможные условия траты. При этом раскрывается лишь то условие, которое было соблюдено.

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

Подпись Шнорра, MAST и Taproot рассматриваются как взаимодополняющие инновации, которые приводят к некоторым захватывающим и более сложным возможностям транзакций в биткойне.

Разработчик Bitcoin Core Энтони Таунс (Anthony Towns), предложил идею «generalized taproot», что позволило бы сократить объем данных, необходимых для первоначального варианта Taproot.

Однако он отмечает:

«Что касается развертывания, я думаю, что имеет смысл сначала вывести начальное развертывание Подписей Шнорра / Taproot / MAST, а позже добавить обобщенный Taproot / агрегацию. Мне кажется, что для обобщенного Taproot нет особой срочности, поэтому было бы целесообразно сейчас заняться подписями Шнорра / Taproot / MAST, уделить время анализу обобщенного Taproot, и, если он окажется нормальным и полезным, постараться включить его на более позднем этапе, например, одновременно с Taproot / агрегацией»

Taproot в основном готов к развертыванию, но требует, чтобы подписи Шнорра были внедрены первым или, по крайней мере, в сочетании с Taproot.

Подробные предложения по включению подписей Шнорра в протокол Bitcoin Core уже доступны, однако пока еще нет точных сроков его реализации. Общее мнение заключается в том, что подписи Шнорра, MAST и Taproot будут реализованы в виде набора дополнительных обновлений протокола.

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

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

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

По материалам https://bytwork.com/articles/taproot и https://forklog.com/taproot-blizko-ili-sleduyushhaya-stupen-evolyutsii-bitkoina/
Donation Bitcoin на развитие форума: 1AZuR5M5rq8uT9nZvQ5yXNkokXb3vNd1pM   XMR:48eiB7duySuY21w1cYCiNiJJqtrH5v4L8F39eNJxNhpyJUrh6qmqDAxfGjKWQmHx1Wdqumm5YhePDjcCFE3nBQNDAnHpLxP
 

 

Яндекс.Метрика