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

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

Легкие клиенты играют важную роль в шардинге Ethereum, позволяя верификаторам быстро проверять и синхронизировать различные шарды, успешно решая множество проблем, возникающих во время работы DApps. Публичные сети, такие как Polkadot и NEO, которые также сталкиваются с такими трудностями, как ограниченное расширение и большая пользовательская емкость, вызванная быстрым развитием, также начали практику легких клиентов, чтобы обеспечить более плавную и комфортную среду для лучшего макета экологического ландшафта приложения. .

Марти МакФлай однажды сказал: «В будущем легкие клиенты будут повсюду». Существует множество успешных примеров этого легкого и удобного для пользователя приложения. Так что же такое легкий клиент? Каковы технические оптимизации и улучшения по сравнению с традиционными портами приложений? Глядя в будущее, какие проблемы необходимо преодолеть при широкомасштабном внедрении легких клиентов? Эта статья будет посвящена вышеуказанным вопросам и даст вам представление о развитии и будущем легких клиентов.

Что такое легкий клиент? Простая проверка, быстрый ответ

Прежде чем мы поймем легкие клиенты, нам сначала нужно начать с концепции клиентов. Клиент в информатике — это аппаратное или программное обеспечение, которое подключается к серверу, подобно тому, как интернет-браузер — это клиент, который подключается к веб-сайту для запроса его содержимого. В мире блокчейна клиенты — это программное обеспечение, которое подключается к другим клиентам по принципу «точка-точка». Все клиенты взаимодействуют друг с другом и образуют сеть, а каждый клиент — это узел.

Если взять в качестве примера Ethereum, то в прошлом существовал только один тип узла (также известный как полный узел), ответственный за проверку и ретрансляцию транзакций и блоков в сети. Из-за рабочих характеристик Интернета и блокчейна каждый полный узел должен загружать и проверять каждый блок, а каждая транзакция также должна подвергаться полной проверке и контролю. По мере увеличения числа пользователей и увеличения сервис-ориентированных приложений такой контроль всего узла приведет к упомянутым выше проблемам, таким как высокие затраты и медленная проверка, что будет препятствовать долгосрочному развитию Ethereum.

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

В целом, легкие клиенты устраняют основные препятствия на пути удобства использования и внедрения технологии. Являясь компонентом инфраструктуры Web3, легкие клиенты позволяют взаимодействовать с блокчейном способом, требующим меньше ресурсов, чем запуск полного узла, и могут быть встроены в настольные, веб- и мобильные приложения. Самое главное, они остаются не требующими доверия и синхронизируют заголовки блоков напрямую от пиров. Легкий клиент работает, отправляя запросы к одному полному узлу, синхронизируя заголовки блоков блокчейна для проверки конкретного ответа, предоставляемого полным узлом, действительно достигая «максимума одного раза».

 

Истории успеха с использованием легких клиентов

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

Пушистый

Fluffy — это легкий клиент Ethereum, режим работы, разработанный для клиента Ethereum 2.0 Nimbus. Легкая, дружественная к клиенту сеть должна проектировать узлы, которым достаточно заплатить лишь небольшой объем места для хранения и небольшую рабочую нагрузку, чтобы участвовать в сети и вносить свой вклад, вместо того, чтобы требовать от каждого узла нести высокую нагрузку. Fluffy — это технический клиент, который придерживается этой операционной концепции. Он позволит клиенту nimbus-eth1 работать в качестве легкого клиентского узла в сети. Разработав протокол Portal Wire, он успешно обеспечивает установление связи с другими клиентами, становясь «мостом». узел». «Введите данные о состоянии сети портала и легко реализуйте быструю передачу облачных данных. Кроме того, Fluffy будет поддерживать подмножество API Ethereum JSON-PRC, поэтому такие средства, как кошельки, могут напрямую интегрировать таких клиентов.

НЕО

В экосистеме технологического сообщества NEO существует легкий клиент под названием Neo-Swift, который может взаимодействовать с блокчейном NEO. Он в основном написан и работает на языке Swift-4. Проект Neo-Swift был создан в основном по следующим причинам: 1. Разработчики хотят разрабатывать распределенные приложения для iOS с широким охватом. 2. Важным способом создания дружественного к разработчикам сообщества является создание платформы, которую будет легко использовать; разработчики, не использующие блокчейн; 3. Многие разработчики, такие как Swift, приобретают все большее значение. Сообщается, что Neo-Swift может эффективно проверять историю транзакций пользователей и статус учетной записи в цепочке, а также предоставляет моделируемую динамическую структуру для взаимодействия приложений, предлагая новую идею для обновления и формирования сообщества экологических технологий NEO.

Субстратное соединение

Substrate Connect — это легкий клиент на основе браузера для цепочки Substrate, ставший последним дополнением к стеку технологий Substrate. Этот долгожданный компонент инфраструктуры предоставляет разработчикам и конечным пользователям более простой и быстрый способ применения приложений, подключение к цепочке Substrate полностью децентрализованным и не требующим доверия способом, расширяя возможности DApp-сервисов и разработки DApp. Люди получают хороший опыт работы с приложениями. Substrate Connect — это библиотека Javascript, которая предоставляет полнофункциональный легкий клиент с расширениями, заменяя традиционный процесс подключения к цепочке Substrate через узлы RPC. Разработчикам DApp больше не нужно выполнять утомительные шаги по запуску локального полного узла Light. интеграция легко доступна непосредственно в их DApp.

Гелиос

Helios — это легкий клиент Ethereum, запущенный a16z Crypto, известной организацией венчурного капитала. Helios состоит из уровня исполнения и уровня консенсуса. В отличие от большинства клиентов, он тесно связывает эти два уровня, поэтому для использования Helios пользователям достаточно установить и запустить только одно программное обеспечение. Helios написан на основе языка Rust и является им. синхронизируется за две секунды, не использует хранилище и обеспечивает доверительный доступ к Ethereum, а его использование практически такое же, как и у полного узла. Стоит отметить, что Helios преобразует данные от ненадежного централизованного поставщика RPC в проверяемый локальный RPC, подключаясь и работая с ранее известными хэшами блоков цепочки маяков и ненадежным RPC, проверяя их подлинность без запуска полного узла. Поскольку Helios очень легкий, пользователи могут получить доступ к данным защищенной цепочки с любого устройства (включая мобильные телефоны и расширения браузера), что действительно соответствует удобству легких клиентов.

Взгляд в будущее: как преодолеть трудности легких клиентов

Применение легких клиентов становится все более распространенным, но нельзя игнорировать связанные с этим эксплуатационные недостатки. Например, легкие клиенты не подключаются напрямую к сетевым службам, не могут проверять другую необходимую информацию, кроме клиента, и не могут напрямую передавать данные другим одноранговым узлам. В настоящее время экосистема публичной сети постоянно уделяет особое внимание «кросс-чейн» технологии для передачи и эффективной обработки данных. Разработчики могут перенять опыт технологии кросс-чейн и попытаться реализовать мостовую передачу данных для легких клиентов. техническое обновление и функциональная оптимизация легких клиентов.

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

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

Ссылки:

Что такое легкий клиент? и почему вам нужно это знать

Введение | Начало работы с легким клиентом блокчейна Ethereum

СЛЕДУЮЩИЙ класс сообщества | Урок 26: Как создать легкий клиент NEO

Введение | Fluffy Client: Чрезвычайно легкий клиент для Ethereum.