Критика Тапрут и Шнорр

Критика Тапрут и Шнорр

HCN

 О грядущих нововведениях в протокол Биткоин мы писали ранее в платной заметке (Paywall: BIP-BIP-BIP 340-342: Шнорр, Тапрут и Тапскрипт). В этой заметке мы рассмотрим критику, широко обсуждаемую среди разработчиков Core, разработчиков сервисов, использующих Биткоин, популяризаторов в подкастах и в Твиттере.

Например, Лукас Нуцци

Начнём с наших ограничений: мало кто хорошо разбирается в Taproot. В широком смысле Schnorr является более понятным обновлением: это просто ещё один алгоритм подписи, который имеет некоторые замечательные свойства. В платной статье мы публиковали ссылки на фреймворк btcdeb, в котором можно попробовать Taproot в частности и MAST (Merkelized Abstract Trees) в целом. Здесь мы оставим ссылку на материалы мастеркласса Bitcoin OpSec, который содержит информацию и исходный код в виде простых тетрадок Jupiter для упражненний.

Итак, Taproot это частная реализация MAST, которая опирается на Schnorr. Тапрут имеет 2 пути выполнения, после того, как монеты ушли на Тапрут выход и это было зафиксировано в блокчейне (ниже на схеме на самом деле 3 конкретных пути выполнения).

В этом примере “нормальный” выход создан 2 контрагентами. Отсюда: https://cryptonewsmonitor.com/2019/05/09/bitcoin-developer-and-segwit-inventor-proposes-new-taproot-softfork/

В обсуждениях Тапрут под 2-из-2 на схеме подразумевают N-из-N подписей по алгоритму Шнорра, а пути Алисы или Боба в общем случае считаются “скрипт-путями”, т.е. подразумевают один из N, вариантов максимум, если мы говорим об N-из-N мультисиге в первом варианте. На текущий момент обсуждение деталей Тапрута сводится к дискуссии о приватности и возможностях оптимизации использования места в блокчейне Биткоина. Отдельная реализация MAST хотя и выглядит более логичным вводом этой технологии в консенсус Биткоина, но

а) будет менее приватной по сравнению с Taproot поскольку он включает подписи Шнорра, позволяющие скрывать создателей политик трат (которых N) за подписью, которая выглядит как будто бы она создана одним ключом (Matt Corallo, David Harding).

б) в нормальном случае, создатели политики имеют мотивацию использовать стандартную трату (2-2 путь на схеме), и резервные политики пользователь получает в виде опции в Тапруте (ZmnSCPxj, Antony Towns). MAST в данном случае гарантирует только технологии, относящиеся ко второму пути траты Тапрута – репрезентацию нескольких политик трат, скрытых в абстрактном синтаксичексом дереве Меркла.

в) в Тапруте со старта могут быть реализованы все поддерживаемые в Биткоине типы транзакций и это может дать сущесвенное преимущество в повышенной приватности пользователям софтфорка (David Harding).

Дискуссия по Тапруту определённо требует отличного знания деталей работы протокола Биткоин, поэтому она сохраняется пока в узком кругу. Выбранный метод внедрения в протокол – софт-форком – в целом может быть вообще не заметен тем, кто не интересуется развитием Биткоина, поскольку уровень Тапрута подразумевает улучшение “фоновых” процессов и реализацию новых схем хранения криптовалюты и взаимодействия с хранилищами, повышения эффективности использования блокчейна Биткоина (что может быть важно для Лайтнинг сети). Если Тапрут подталкивает вас к более глубокому изучению работы Биткоина, то одним из хороших вариантов для начала может быть книга Джимми Сонга “Программируя Биткоин” (онлайн версия на GitHub).  

Report Page