Соучредитель Ethereum опубликовал 16 августа заметку, в которой отдал должное разработчикам биткоина: их наработки по компактному хранению состояния теперь изучают для собственной сети. Речь о переносе на Ethereum модели непотраченных выходов — той самой, которую годами приводили как главное архитектурное отличие двух сетей. По приводимым оценкам, платёжная часть состояния может сжаться на 99,8%: миллиард записей уместился бы примерно в 300 мегабайт.
Коротко: что предлагается
Исследователи рассматривают гибридную модель, где рядом с привычными счетами появятся непотраченные выходы — записи о конкретных суммах, принадлежащих конкретным ключам, вместо общего баланса адреса.
Опорой служит проект Utreexo из экосистемы биткоина: узел хранит не весь набор записей, а компактный криптографический слепок, а доказательство наличия своих средств предъявляет сам владелец при трате. Оценки разработчиков биткоина говорят о сокращении локально хранимого состояния до нескольких килобайт при сохранении полной проверки транзакций.
Отдельно обсуждается связка с предложенным ранее устройством очереди транзакций, где узлы сворачивают доказательства корректности в рекурсивные конструкции — около 2 мегабайт в секунду при восьми соединениях.
Почему состояние вообще стало проблемой
Величина растёт примерно на 100 гигабайт в год. Это не история транзакций, которую можно обрезать, а актуальный слепок: балансы, коды контрактов, их переменные. Всё это обязан держать каждый полный узел.
Отсюда двойное ограничение. Техническое: рост требований к диску вымывает независимых операторов, оставляя тех, кто может позволить себе серверное оборудование. И арифметическое: разговоры о тысячекратном росте упираются не в скорость исполнения, а в то, что каждая операция навсегда добавляет запись, которую всем придётся хранить.
Поэтому исследование сместилось с ускорения на устройство хранения. Быстро считать можно научиться; вопрос в том, кто потом держит результат.
Что на самом деле заимствуется
Вот наблюдение, ради которого стоит разобрать сюжет глубже заголовка. Различие двух моделей принято описывать как идеологическое: счета удобны для программируемости, непотраченные выходы — для простоты и приватности. Спор шёл о том, что выразительнее.
Заимствуется же не бухгалтерия, а распределение издержек. В связке с криптографическим накопителем непотраченный выход позволяет переложить хранение с сети на владельца: узел держит короткое обязательство, а доказательство своих денег носит с собой тот, кому они принадлежат.
Смена принципиальная. Состояние перестаёт быть общим складом, за который платят все участники, и становится личным обязательством держателя: кто тратит, тот и хранит доказательство. Рост числа пользователей тогда перестаёт линейно утяжелять каждый узел, и разговор о тысячекратном масштабировании впервые перестаёт быть фигурой речи.
Спорили о том, какая модель учёта выразительнее, а взяли из чужой сети совсем другое — ответ на вопрос, кто оплачивает память. Это не про синтаксис, это про то, чья это ноша.
Цифры предложения
| Показатель | Значение |
|---|---|
| Сокращение платёжного состояния | до 99,8% по приводимым оценкам |
| Миллиард записей | около 300 МБ |
| Текущий рост состояния | порядка 100 ГБ в год |
| Ориентир по масштабированию | тысячекратный |
| Оценка канала для очереди транзакций | около 2 МБ/с при восьми соединениях |
| Статус | исследование, не пункт дорожной карты |
Чего в сообщениях нет
Нет сроков. Заметка и обсуждение в исследовательском разделе — стадия до формального предложения, не говоря о включении в обновление. Насколько это далеко от релиза, показывает соседний сюжет: в списке ближайшего обновления сети из десятков заявок запланирована одна.
Не описано, как гибридная модель уживётся с существующими контрактами: сеть с миллионами развёрнутых программ не может сменить учёт одномоментно. Оценка в 99,8% относится к платёжной части состояния, а не ко всему объёму. И у доказательств есть цена: владелец обязан хранить и обновлять их сам, а как эта нагрузка ляжет на обычные кошельки, не разбирается.
Почему это удобно взять именно у биткоина
Причина прозаична. В сети Ethereum состояние сложное: помимо балансов там код и данные контрактов, которые ужать подобным приёмом нельзя. В биткоине состояние однородное, из-за чего компактные накопители там проработаны глубже.
Отсюда и конструкция: взять готовое решение для простой части — платежей — и оставить сложную как есть. Это не переход на чужую модель, а второй режим для операций, где он даёт выигрыш. Обмен идеями между сетями идёт постоянно: недавно разработчики отказались от одного криптографического примитива в пользу более простого — тоже решение о цене поддержки, а не о красоте.
Частые вопросы
Ethereum переходит на модель биткоина?
Нет. Обсуждается добавление второго способа учёта для платёжных операций рядом с существующими счетами, а не замена архитектуры.
Что означает сокращение на 99,8%?
Что платёжная часть состояния, сегодня измеряемая миллиардом записей, при таком устройстве занимала бы около 300 мегабайт. К состоянию сети целиком эта оценка не относится.
Почему размер состояния так важен?
Его обязан хранить каждый полный узел, и растёт он примерно на 100 гигабайт в год. Это ограничивает и число независимых операторов, и потолок пропускной способности.
Когда это может заработать?
Сроков нет. Это стадия исследования: заметка и обсуждение, без формального предложения и без включения в план обновлений.
В чём подвох для пользователя?
Доказательство наличия своих средств придётся хранить и обновлять самому владельцу. Как эта нагрузка ляжет на обычные кошельки, пока не описано.
Это заимствование у конкурента?
Скорее обмен наработками: берётся приём компактного хранения, отработанный в сети с однородным состоянием, для той части, где он применим.
Источники
Материал подготовлен на основе публикаций Blockonomi и обсуждения в исследовательском разделе Ethereum. Фотография: TBurmeister (WMF) / CC BY-SA 4.0.
0 комментариев к “Ethereum сжимает состояние по рецепту биткоина”
Добавить комментарий