Проект Hazync прогнал консенсусный код Bitcoin Core внутри виртуальной машины с доказательствами и получил файл на 226 килобайт, по которому первые 1789 блоков проверяются за 27 миллисекунд. Рядом с этой цифрой стоит вторая: чтобы получить такой же файл на всю историю биткоина, нужно около семнадцати лет работы одной видеокарты.
Коротко: что сделали
Программу проверки собрали из значительной части консенсусного кода Bitcoin Core версии 28 и библиотеки libsecp256k1, скомпилировали под RISC-V и запустили в виртуальной машине с нулевым разглашением от RISC Zero.
Результат — квитанция размером 226 434 байта. Отдельная программа проверки весит 1,7 мегабайта и подтверждает её за 27 миллисекунд. Оговорка важная: цифра относится только к блокам с первого по 1789-й.
О результате сообщили пятнадцатого августа. Код открыт, репозиторий на Rust опубликован в июле и продолжает обновляться.
Сколько это стоит в вычислениях
| Показатель | Значение |
|---|---|
| Размер квитанции | 226 434 байта |
| Размер программы проверки | 1,7 МБ |
| Время проверки | 27 мс для блоков 1–1789 |
| Доказательство блока 741 000 | около 55 минут на двух видеокартах L40S |
| Из них агрегация | около 27 минут |
| Вся история от генезиса | оценка около 17 GPU-лет |
| Поддержка новых блоков | порядка шести видеокарт L40S |
Блок 741 000 в тесте содержал 670 входов и затронул 394 листа в наборе непотраченных выходов — это обычный, не рекордный блок.
Зачем это вообще нужно
Новый узел сегодня скачивает всю цепочку и заново проверяет каждую подпись за все годы. Эту работу независимо повторяет каждый, кто поднимает узел, — и повторение как раз и делает сеть проверяемой без доверия к кому-либо.
Схема с квитанциями меняет разделение труда. Тяжёлое доказательство считает тот, у кого есть видеокарты; все остальные проверяют готовый файл за миллисекунды. Архивные узлы при этом никуда не деваются: сырые транзакции и подписи по-прежнему хранят они, квитанция сжимает только проверку корректности, а не сами данные.
Обязательных изменений для операторов узлов нет, выбор основной цепочки тоже прежний — по наибольшей проделанной работе, а не по квитанциям. Похожий по смыслу результат показали в другой сети, когда блок Ethereum доказали на четырёх видеокартах.
Что здесь важно понимать
Вот наблюдение, ради которого стоит смотреть не на 27 миллисекунд и не на 17 GPU-лет по отдельности, а на то, кто платит за каждую из этих величин.
Стоимость проверки не исчезает — она переезжает. Сегодня её платят все понемногу: каждый новый узел тратит время и трафик, но зато не верит никому. В схеме с квитанциями один платит дорого, остальные почти бесплатно, а взамен начинают доверять отпечатку скомпилированной программы и добросовестности того, кто скормил ей данные.
И вот где это становится измеримым. Квитанция привязана к отпечатку собранного кода: пересборка или патч безопасности обесценивают все ранее выпущенные квитанции. То есть каждое изменение консенсусного кода — а такие изменения происходят, свежий релиз Bitcoin Core тому пример — потребует заново оплатить те самые семнадцать GPU-лет.
Цена одной проверки падает почти до нуля. Цена одного обновления вырастает до семнадцати лет машинного времени. Это не выигрыш, а перенос счёта.
Семнадцать GPU-лет при этом не запретительная величина: аренда видеокарт становится биржевым товаром, и такой объём закрывается парком машин за недели. Вопрос в том, кто вносит эту плату регулярно и что получает взамен.
Чего в источниках нет
Профессиональный аудит не проводился. Сам автор называет приоритетными для проверки слой переносимости и накопитель Utreexo, который взят не из Bitcoin Core.
Полное доказательство от генезиса до текущего блока не построено: семнадцать GPU-лет — оценка незавершённого пути, а не измеренный результат.
Отдельно назван риск недобросовестного архива, подсовывающего доказывающей стороне неверные данные. Имени разработчика и организации за проектом источники не приводят.
Частые вопросы
Это уже работает в сети биткоина?
Нет. Это исследовательский прототип вне основной сети, обязательных изменений для узлов он не требует.
Что такое квитанция в этой схеме?
Компактный файл, подтверждающий, что программа проверки отработала на указанных блоках и признала их корректными.
Значит, узел больше не нужен?
Нужен. Архивные узлы по-прежнему хранят транзакции и подписи, квитанция сжимает только проверку, а не данные.
Почему 27 миллисекунд и 17 GPU-лет одновременно?
Это разные стороны процесса: доказательство считается один раз и дорого, проверка выполняется многократно и почти бесплатно.
Что произойдёт при обновлении Bitcoin Core?
Квитанция привязана к отпечатку собранной программы, поэтому после пересборки прежние квитанции недействительны и доказательства придётся строить заново.
Насколько этому можно доверять сейчас?
Как раннему прототипу: без внешнего аудита, с незавершённым доказательством и известными местами, требующими проверки.
Источники
Материал подготовлен на основе публикаций CryptoSlate и Coinsbit, а также данных открытого репозитория проекта.
Обсуждение
Добавить комментарий