a16z Crypto запустила легкий клиент Helios: обеспечивая настоящий бездоверительный доступ к Ethereum
8 ноября 2023 года a16z Crypto выпустила легкий клиент Ethereum Helios, этот инструмент, разработанный на языке Rust, предназначен для обеспечения полностью доверительного доступа к сети Ethereum.
Одной из ключевых ценностей технологии блокчейн является то, что пользователи не должны полагаться на доверие третьих лиц, что позволяет им поистине контролировать свои богатства и данные. Блокчейны, такие как Ethereum, в значительной степени реализовали это обещание, обеспечивая, чтобы наши активы по-настоящему принадлежали нам.
Однако, для удобства большинство пользователей при использовании блокчейна идут на некоторые компромиссы. Одним из самых очевидных компромиссов является зависимость от централизованных RPC( удаленных вызовов ) серверов. Пользователи обычно получают доступ к сети Ethereum через некоторых централизованных поставщиков услуг. Эти компании запускают высокопроизводительные узлы на облачных серверах, помогая пользователям легко получать данные из цепочки. Когда кошелек запрашивает баланс токенов или проверяет статус транзакции, это почти всегда происходит через эти централизованные сервисы.
Основная проблема существующей системы заключается в том, что пользователям необходимо доверять этим провайдерам, и они не могут самостоятельно проверять точность полученной информации.
Helios:легкий клиент и полностью проверяемый
Helios как легкий клиент Ethereum на основе Rust обеспечивает удобный доступ к блокчейну без ущерба для безопасности. Он использует протокол легкого клиента, реализованный после перехода Ethereum на PoS, чтобы преобразовать данные от ненадежных централизованных RPC-поставщиков в безопасные и проверяемые локальные RPC. С помощью централизованных RPC Helios может проверять подлинность данных без необходимости запускать полный узел.
Этот легкий клиент может завершить синхронизацию примерно за две секунды, не требуя дополнительного пространства для хранения, пользователи могут безопасно получать доступ к данным в блокчейне с любого устройства (, включая мобильные телефоны и плагины для браузеров ).
В "темном лесу" Ethereum таится теоретический риск. Этот риск не возникает из атак на фронтальные операции в мемпуле (Mempool), а заключается в том, что создаются ловушки, имитирующие централизованную инфраструктуру, на которую мы полагаемся.
Пользователи, столкнувшиеся с такими атаками, возможно, не совершали никаких ошибок: они просто посещали популярные DEX, устанавливали разумный проскальзывание и проводили обычные сделки с токенами. Однако они все же могут столкнуться с особой атакой сэндвичем, которая скрыта на входе в Ethereum — у поставщика RPC.
Когда пользователь выполняет транзакцию на DEX, смарт-контракту предоставляется несколько параметров: токен, который будет торговаться, количество транзакций и минимальное количество токенов, которое пользователь готов принять ( т. е. проскальзывание ). Если проскальзывание настроено правильно, пользователь теоретически не пострадает от сэндвич-атаки. Но что делать, если поставщик RPC не предоставляет точную цену для контракта DEX? Пользователи могут быть введены в заблуждение и вынуждены подписывать транзакции с более низкой минимальной суммой акцепта. Что еще хуже, пользователи могут отправлять транзакции напрямую злонамеренным поставщикам RPC, которые могут хранить эти транзакции в тайне и отправлять их напрямую производителям блокировок через определенные каналы для получения прибыли.
Коренная причина таких атак заключается в том, что пользователям необходимо полагаться на третьи стороны для получения состояния блокчейна. Чтобы решить эту проблему, опытные пользователи обычно выбирают запуск собственного узла Ethereum, но это требует значительных временных и ресурсных затрат: как минимум, необходимо одно устройство, постоянно подключенное к сети, несколько сотен ГБ дискового пространства и около суток времени для синхронизации. Хотя этот процесс уже значительно упрощен по сравнению с прошлым, для большинства пользователей он все еще остается труднодоступным, особенно для пользователей мобильных устройств.
Следует отметить, что хотя теоретически атаки со стороны централизованных поставщиков RPC вполне возможны, в настоящее время не было обнаружено случаев такого поведения у крупных и известных поставщиков. Тем не менее, перед добавлением незнакомого поставщика RPC в кошелек все же необходимо провести тщательное исследование.
Принцип работы Helios: глубокий анализ
После запуска протокола легкого клиента Эфиром появилась новая возможность для быстрого взаимодействия с блокчейном и верификации RPC-эндпоинтов с минимальными аппаратными требованиями. В течение месяца после слияния ( The Merge ) появилось несколько независимых проектов легких клиентов ( Lodestar, Nimbus и основанный на JavaScript Kevlar ), каждый из которых использует разные подходы, но все они стремятся к одной цели: обеспечить эффективный доступ без доверия без запуска полных узлов.
Helios, как и все клиенты Ethereum, состоит из уровня выполнения и уровня согласия. Однако, в отличие от большинства клиентов, Helios плотно связывает эти два уровня, и пользователю необходимо установить и запустить только одно программное обеспечение.
уровень консенсуса
Легкий клиент консенсусного слоя Helios следует спецификации легкого клиента Beacon Chain и использует синхронный комитет Beacon Chain (, введенный в хардфорке Altair. Синхронный комитет состоит из случайно выбранных 512 валидаторов и имеет период службы около 27 часов.
Валидаторы подписывают все заголовки блоков эталонной цепи, которые они видят в синхронизационном комитете. Если более двух третей членов комитета подписали заголовок блока, то этот блок почти наверняка будет находиться в эталонной цепи. После того как Helios узнает состав текущего синхронизационного комитета, он может надежно отслеживать головку цепи, запрашивая недавние подписи синхронизационного комитета.
Благодаря технологии агрегации BLS-подписей, для проверки заголовка нового блока требуется всего один запрос. Как только подпись действительна и более двух третей членов комитета подписали, это гарантирует, что блок был включен в цепочку.
Система сначала должна получить слабую субъективную контрольную точку ) weak subjectivity checkpoint ( в качестве корня доверия. Это хэш блока, который гарантированно был включен в цепочку в какой-то момент в прошлом. Используя эту контрольную точку, Helios может получать и проверять текущий и следующий синхронный комитет, что позволяет быстро просматривать историю блокчейна и синхронизироваться с последним блоком.
) уровень исполнения
Цель легкого клиента слоя выполнения заключается в том, чтобы использовать заголовки блоков сигнала, проверенные на уровне консенсуса, в сочетании с ненадежным RPC слоя выполнения, чтобы предоставить проверенные данные слоя выполнения. Затем к этим данным можно получить доступ через локально размещенный RPC-сервер Helios.
Ethereum хранит информацию об аккаунтах с помощью дерева состояния, включая хеш-код контракта, случайное число, хеш хранилища и баланс. Зная корень дерева состояния, можно проверить Меркл-доказательство, подтверждающее наличие любого аккаунта в дереве; это доказательство невозможно подделать.
Helios получает проверенный корень состояния из слоя консенсуса и сочетает его с запросом меркл-доказательства от ненадежного слоя исполнения RPC, чтобы осуществить локальную проверку всех данных, хранящихся на Ethereum. Таким образом, ненадежный RPC может отказать в предоставлении доступа к данным, но не может предоставить ошибочные результаты.
Практическое применение Helios
Легкий дизайн Helios позволяет пользователям безопасно получать доступ к данным на блокчейне с любого устройства ###, включая мобильные телефоны и браузерные плагины (. Пользователи могут настроить Helios в качестве RPC-поставщика в MetaMask, получая децентрализованный доступ к различным DApp без каких-либо дополнительных изменений.
Кроме того, хорошая поддержка WebAssembly в Rust позволяет разработчикам приложений легко встраивать Helios в JavaScript-приложения ), такие как кошельки и DApp (. Эти интеграции повысят безопасность Ethereum и снизят зависимость от централизованной инфраструктуры.
Сообщество может внести свой вклад в Helios различными способами, включая:
Поддержка прямого получения данных легкого клиента из P2P сети
Реализовать отсутствующие методы RPC
Создание версии Helios, компилируемой в WebAssembly
Интегрировать Helios непосредственно в программное обеспечение кошелька
Создание сетевой панели для просмотра баланса токенов
Подключите уровень консенсуса Helios к существующему полному узлу уровня исполнения
Кодовая база этого проекта уже открыта, приветствуем заинтересованных разработчиков принять участие в внесении вклада.
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
a16z запустила легкий клиент Helios: новая схема доступа к Ethereum без доверия
a16z Crypto запустила легкий клиент Helios: обеспечивая настоящий бездоверительный доступ к Ethereum
8 ноября 2023 года a16z Crypto выпустила легкий клиент Ethereum Helios, этот инструмент, разработанный на языке Rust, предназначен для обеспечения полностью доверительного доступа к сети Ethereum.
Одной из ключевых ценностей технологии блокчейн является то, что пользователи не должны полагаться на доверие третьих лиц, что позволяет им поистине контролировать свои богатства и данные. Блокчейны, такие как Ethereum, в значительной степени реализовали это обещание, обеспечивая, чтобы наши активы по-настоящему принадлежали нам.
Однако, для удобства большинство пользователей при использовании блокчейна идут на некоторые компромиссы. Одним из самых очевидных компромиссов является зависимость от централизованных RPC( удаленных вызовов ) серверов. Пользователи обычно получают доступ к сети Ethereum через некоторых централизованных поставщиков услуг. Эти компании запускают высокопроизводительные узлы на облачных серверах, помогая пользователям легко получать данные из цепочки. Когда кошелек запрашивает баланс токенов или проверяет статус транзакции, это почти всегда происходит через эти централизованные сервисы.
Основная проблема существующей системы заключается в том, что пользователям необходимо доверять этим провайдерам, и они не могут самостоятельно проверять точность полученной информации.
Helios:легкий клиент и полностью проверяемый
Helios как легкий клиент Ethereum на основе Rust обеспечивает удобный доступ к блокчейну без ущерба для безопасности. Он использует протокол легкого клиента, реализованный после перехода Ethereum на PoS, чтобы преобразовать данные от ненадежных централизованных RPC-поставщиков в безопасные и проверяемые локальные RPC. С помощью централизованных RPC Helios может проверять подлинность данных без необходимости запускать полный узел.
Этот легкий клиент может завершить синхронизацию примерно за две секунды, не требуя дополнительного пространства для хранения, пользователи могут безопасно получать доступ к данным в блокчейне с любого устройства (, включая мобильные телефоны и плагины для браузеров ).
Потенциальные риски централизованной инфраструктуры
В "темном лесу" Ethereum таится теоретический риск. Этот риск не возникает из атак на фронтальные операции в мемпуле (Mempool), а заключается в том, что создаются ловушки, имитирующие централизованную инфраструктуру, на которую мы полагаемся.
Пользователи, столкнувшиеся с такими атаками, возможно, не совершали никаких ошибок: они просто посещали популярные DEX, устанавливали разумный проскальзывание и проводили обычные сделки с токенами. Однако они все же могут столкнуться с особой атакой сэндвичем, которая скрыта на входе в Ethereum — у поставщика RPC.
Когда пользователь выполняет транзакцию на DEX, смарт-контракту предоставляется несколько параметров: токен, который будет торговаться, количество транзакций и минимальное количество токенов, которое пользователь готов принять ( т. е. проскальзывание ). Если проскальзывание настроено правильно, пользователь теоретически не пострадает от сэндвич-атаки. Но что делать, если поставщик RPC не предоставляет точную цену для контракта DEX? Пользователи могут быть введены в заблуждение и вынуждены подписывать транзакции с более низкой минимальной суммой акцепта. Что еще хуже, пользователи могут отправлять транзакции напрямую злонамеренным поставщикам RPC, которые могут хранить эти транзакции в тайне и отправлять их напрямую производителям блокировок через определенные каналы для получения прибыли.
Коренная причина таких атак заключается в том, что пользователям необходимо полагаться на третьи стороны для получения состояния блокчейна. Чтобы решить эту проблему, опытные пользователи обычно выбирают запуск собственного узла Ethereum, но это требует значительных временных и ресурсных затрат: как минимум, необходимо одно устройство, постоянно подключенное к сети, несколько сотен ГБ дискового пространства и около суток времени для синхронизации. Хотя этот процесс уже значительно упрощен по сравнению с прошлым, для большинства пользователей он все еще остается труднодоступным, особенно для пользователей мобильных устройств.
Следует отметить, что хотя теоретически атаки со стороны централизованных поставщиков RPC вполне возможны, в настоящее время не было обнаружено случаев такого поведения у крупных и известных поставщиков. Тем не менее, перед добавлением незнакомого поставщика RPC в кошелек все же необходимо провести тщательное исследование.
Принцип работы Helios: глубокий анализ
После запуска протокола легкого клиента Эфиром появилась новая возможность для быстрого взаимодействия с блокчейном и верификации RPC-эндпоинтов с минимальными аппаратными требованиями. В течение месяца после слияния ( The Merge ) появилось несколько независимых проектов легких клиентов ( Lodestar, Nimbus и основанный на JavaScript Kevlar ), каждый из которых использует разные подходы, но все они стремятся к одной цели: обеспечить эффективный доступ без доверия без запуска полных узлов.
Helios, как и все клиенты Ethereum, состоит из уровня выполнения и уровня согласия. Однако, в отличие от большинства клиентов, Helios плотно связывает эти два уровня, и пользователю необходимо установить и запустить только одно программное обеспечение.
уровень консенсуса
Легкий клиент консенсусного слоя Helios следует спецификации легкого клиента Beacon Chain и использует синхронный комитет Beacon Chain (, введенный в хардфорке Altair. Синхронный комитет состоит из случайно выбранных 512 валидаторов и имеет период службы около 27 часов.
Валидаторы подписывают все заголовки блоков эталонной цепи, которые они видят в синхронизационном комитете. Если более двух третей членов комитета подписали заголовок блока, то этот блок почти наверняка будет находиться в эталонной цепи. После того как Helios узнает состав текущего синхронизационного комитета, он может надежно отслеживать головку цепи, запрашивая недавние подписи синхронизационного комитета.
Благодаря технологии агрегации BLS-подписей, для проверки заголовка нового блока требуется всего один запрос. Как только подпись действительна и более двух третей членов комитета подписали, это гарантирует, что блок был включен в цепочку.
Система сначала должна получить слабую субъективную контрольную точку ) weak subjectivity checkpoint ( в качестве корня доверия. Это хэш блока, который гарантированно был включен в цепочку в какой-то момент в прошлом. Используя эту контрольную точку, Helios может получать и проверять текущий и следующий синхронный комитет, что позволяет быстро просматривать историю блокчейна и синхронизироваться с последним блоком.
) уровень исполнения
Цель легкого клиента слоя выполнения заключается в том, чтобы использовать заголовки блоков сигнала, проверенные на уровне консенсуса, в сочетании с ненадежным RPC слоя выполнения, чтобы предоставить проверенные данные слоя выполнения. Затем к этим данным можно получить доступ через локально размещенный RPC-сервер Helios.
Ethereum хранит информацию об аккаунтах с помощью дерева состояния, включая хеш-код контракта, случайное число, хеш хранилища и баланс. Зная корень дерева состояния, можно проверить Меркл-доказательство, подтверждающее наличие любого аккаунта в дереве; это доказательство невозможно подделать.
Helios получает проверенный корень состояния из слоя консенсуса и сочетает его с запросом меркл-доказательства от ненадежного слоя исполнения RPC, чтобы осуществить локальную проверку всех данных, хранящихся на Ethereum. Таким образом, ненадежный RPC может отказать в предоставлении доступа к данным, но не может предоставить ошибочные результаты.
Практическое применение Helios
Легкий дизайн Helios позволяет пользователям безопасно получать доступ к данным на блокчейне с любого устройства ###, включая мобильные телефоны и браузерные плагины (. Пользователи могут настроить Helios в качестве RPC-поставщика в MetaMask, получая децентрализованный доступ к различным DApp без каких-либо дополнительных изменений.
Кроме того, хорошая поддержка WebAssembly в Rust позволяет разработчикам приложений легко встраивать Helios в JavaScript-приложения ), такие как кошельки и DApp (. Эти интеграции повысят безопасность Ethereum и снизят зависимость от централизованной инфраструктуры.
Сообщество может внести свой вклад в Helios различными способами, включая:
Кодовая база этого проекта уже открыта, приветствуем заинтересованных разработчиков принять участие в внесении вклада.