Клиенты без гражданства: путь Ethereum к децентрализации

Автор: YQ, основатель AltLayer; Перевод: Golden Finance cryptonaitive

По мере увеличения использования Ethereum работа полного узла требует все больше ресурсов и пропускной способности. Это приводит к тому, что все меньше и меньше людей могут управлять полными узлами, что делает сеть менее децентрализованной. Кроме того, Ethereum сталкивается с трудностями в масштабировании по мере увеличения спроса на транзакции, что приводит к перегрузке сети и высоким комиссиям за газ.

Клиент без гражданства, предложенный Виталиком в 2017 году, предлагает потенциальное решение проблем децентрализации, с которыми сталкивается Ethereum. Ключевая идея клиента без сохранения состояния — снизить требования к хранилищу и пропускной способности, необходимые для запуска полного узла, что позволяет большему количеству людей участвовать и децентрализовать сеть. В этой статье мы подробно рассмотрим, как работают клиенты без гражданства, а также их потенциальные преимущества и недостатки.

Что такое состояние Ethereum?

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

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

Со временем состояние Эфириума становилось все больше и больше по мере добавления новых учетных записей, контрактов и транзакций. В настоящее время размер состояния превышает 1 ТБ, причем каждый год добавляются десятки ГБ. Это растущее состояние является коренной причиной проблемы децентрализации.

Почему рост штата вызывает проблемы

Увеличение размера состояния Ethereum привело к некоторым ключевым проблемам:

● Длительное время синхронизации для новых узлов. Новым узлам требуется много времени для синхронизации всех исторических изменений статуса. Это увеличивает сложность запуска новых полных узлов, препятствуя децентрализации. Синхронизация новых узлов из исходного блока с последним состоянием в настоящее время занимает много дней или даже недель, что для потребительского оборудования является серьезным препятствием для эффективного запуска новых узлов и предоставления возможности большему количеству участников присоединиться к сети.

● Повышенные требования к оборудованию. Большим государствам требуется больше места для хранения, памяти и вычислительной мощности для хранения, доступа и обновления. Это делает невозможным запуск узлов пользователями с меньшим количеством ресурсов. Для работы полностью синхронизированного узла Ethereum теперь требуется как минимум SSD емкостью 1–2 ТБ. Это недосягаемо для многих потенциальных операторов узлов.

● Увеличение использования полосы пропускания — трансляция нового блока также должна включать обновленное состояние, что требует большей пропускной способности. Это увеличивает затраты операторов узлов. В настоящее время состояние доминирует в большинстве трансляций блоков, поэтому размеры блоков продолжают расти. Увеличение пропускной способности означает более высокие затраты для операторов узлов.

● Замедленная проверка блоков. Чтение и обновление более крупных состояний замедляет проверку блоков, ограничивая пропускную способность транзакций. Каждая транзакция требует многократного чтения и записи в хранилище для обновления балансов, одноразовых номеров, статуса контракта и т. д. Чем больше состояние, тем больше операций чтения/записи на блок, что уменьшает количество транзакций, которые могут быть обработаны в секунду.

● Стоимость постоянного хранения. После добавления данных в состояние они должны храниться постоянно. Это приводит к росту неограниченного состояния. В настоящее время не существует механизма для превентивного удаления старых и неиспользуемых данных о состоянии. Таким образом, пока Ethereum продолжает работать, затраты на хранение состояния будут увеличиваться на неопределенный срок.

Что такое клиент без сохранения состояния?

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

Клиент без сохранения состояния работает следующим образом:

  1. Клиент хранит только заголовок блока и корень состояния, а не полные данные о состоянии. Заголовок блока содержит метаданные, такие как корневой хеш дерева состояний после обработки блока.

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

  3. Свидетельство содержит доказательство Меркла конкретной государственной ценности, которое используется для обработки транзакций. Например, обновления остатков на счетах или хранилища контрактов.

  4. Клиент использует свидетель, чтобы гарантировать достоверность последнего известного корня состояния пары транзакций. Доказательство подтверждает, что изменение состояния соответствует предыдущему корню.

  5. Если оно действительно, клиент обновляется до нового корня состояния, указанного в заголовке блока. Этот новый корень состояния будет использоваться для проверки следующего блока.

Используя свидетелей для проверки состояния вместо хранения полного состояния локально, клиенты без сохранения состояния получают несколько преимуществ:

● Очень быстрое время синхронизации – нет необходимости полностью синхронизировать исторические изменения состояния. Клиенты без сохранения состояния могут синхронизироваться практически мгновенно, требуя только заголовков блоков.

● Низкие требования к объему памяти — размер корня состояния составляет всего 32 байта. Вместо сотен гигабайт состояния нужны только заголовки блоков.

● Меньшее использование полосы пропускания — передаются только заголовки блоков и свидетели, а не полное состояние. Использование полосы пропускания сведено к минимуму.

● Быстрая проверка — свидетели содержат лишь небольшое подмножество соответствующих состояний. Только обновленные аккаунты/магазины могут оказаться полезными.

● Простая поддержка легких клиентов. Легкие клиенты могут легко проверять доказательства. Модель легкого клиента очень совместима с проверкой без сохранения состояния.

Проблемы клиентов без гражданства

Хотя клиенты без гражданства приносят некоторые существенные преимущества, существуют также некоторые серьезные технические проблемы:

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

● Создание свидетелей. Создание оптимальных свидетелей является сложной задачей для предлагающих блоки. Предлагающий должен собрать правильные доказательства для проверки каждой транзакции.

● Отсутствие стимулов для свидетелей – прямого вознаграждения за дачу свидетелей не предусмотрено. В отличие от майнинга, здесь нет встроенных стимулов для создания свидетелей.

● Временные данные — свидетели подтверждают свой статус в определенный момент времени, и их необходимо восстановить. Свидетели не могут быть повторно использованы во время разработки состояния.

● Хранение состояния. Кому-то все равно необходимо поддерживать полное состояние для создания свидетелей. Проверка без сохранения состояния основана на генерации свидетелей с сохранением состояния.

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

Возможные решения

Исследователи предложили различные решения для решения этих проблем:

● Дерево Веркле – специальная структура данных, используемая для уменьшения размера свидетеля. Деревья Веркла используют краткие криптографические обязательства, чтобы минимизировать размер доказательства.

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

● Протокольные стимулы – обеспечить механизм вознаграждения полезных свидетелей. Новые структуры стимулирования могут компенсировать появление свидетелей.

● Корни промежуточного состояния. Отслеживайте корни с течением времени, чтобы избежать повторного создания доказательств. Сохранение частей корня позволяет повторно использовать фрагменты-свидетели.

● Арендная плата по состоянию — требуется оплата за поддержание состояния в течение долгого времени, сокращение неиспользованного состояния. Рент требует очистки устаревшего хранилища, чтобы ограничить размер доказательства.

● Модель разделенного свидетеля – обработка состояния разделена между предлагающими и валидаторами. Ряд выделенных узлов-предлагателей генерируют свидетелей.

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

Потенциальное воздействие

Если технические препятствия удастся преодолеть, клиенты без гражданства могут значительно ускорить рост Ethereum:

● Более быстрая синхронизация и проверка для поддержки более высокой пропускной способности транзакций. Проверка без сохранения состояния значительно ускорит обработку блоков.

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

● Улучшена поддержка легких клиентов, таких как мобильные кошельки. Подтверждение состояния полностью совместимо с моделью легкого клиента.

● Более плавно внедрить сегментирование и выполнить проверку без отслеживания состояния между сегментами. Транзакции между сегментами могут использовать преимущества эффективных государственных доказательств.

● Возможность удалять и сокращать старые данные о состоянии, которые больше не нужны. Ростом государства можно активно управлять, а не расти бесконечно.

● Возможность для операторов узлов более гибко настраивать статус в соответствии с потребностями. Узлы могут настраивать политики хранения состояния в зависимости от сценариев использования.

● Переход к модели, в которой вычислительные мощности и пропускная способность важнее хранилища. Архитектура меняется в сторону более удобных для облака моделей.

Существуют также потенциальные риски, такие как повышенная уязвимость к DDoS-атакам и тот факт, что лишь несколько операторов узлов надежно хранят историю блокчейна. Однако криптографические доказательства могут снизить эти риски. В целом, клиенты без гражданства — один из наиболее многообещающих способов преодоления текущих ограничений Ethereum.

в заключение

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить