- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Узлы и клиенты Ethereum : полное руководство
Термины «клиент Ethereum » и «узел Ethereum » часто используются как взаимозаменяемые, но между ними есть разница.
В мире вычислений «клиент» относится к любому типу программного обеспечения, которое загружается на ваш компьютер и помогает вам взаимодействовать с другим типом программного обеспечения или услуг, предоставляемых сервером. Например, Gmail — это программный клиент, который подключается к серверу электронной почты и позволяет пользователям отправлять и получать электронные письма.
Клиент Ethereum — это программное обеспечение, необходимое для того, чтобы узлы Ethereum могли читать блоки в блокчейне Ethereum и смарт-контрактах на основе Ethereum. «Узел» — это работающая часть клиентского программного обеспечения. Чтобы запустить узел, вам сначала нужно загрузить клиентское приложение Ethereum .
Что такое узлы Ethereum ?
«Узел» — это компьютер, который выполняет определенную функцию в сети Ethereum и запускает клиентское программное обеспечение для этого. В зависимости от ваших конкретных потребностей, будь то децентрализованное приложение (dapp) или кошелек, существует три различных типа узлов, которые может запустить любой клиент: полные узлы, легкие узлы и архивные узлы. Каждый узел будет интерпретировать данные по-разному и предлагать различные методы синхронизации — это относится к тому, как быстро ваш узел может извлекать обновленную информацию для интерпретации вашим клиентом.
- Полные узлы полны данных; они хранят и могут распространять все данные блокчейна из сети Ethereum . Полный узел будет дополнительно участвовать в проверке блоков (т.е. проверять все блоки и состояния в сети).
Преимущество внедрения полного узла заключается в том, что он может напрямую взаимодействовать с любым смарт-контрактом в публичном блокчейне. Полные узлы также могут напрямую развертывать смарт-контракты в публичном блокчейне.
Однако полное использование и хранение данных, а также прямая функциональность смарт-контрактов обходятся дорого. Полные узлы могут быть обременительными для аппаратных ресурсов и пропускной способности вашего компьютера. Извлечение полных данных также может быть очень трудоемким, иногда требуется несколько дней для синхронизации ваших данных при первом развертывании узла. Затем узел необходимо обслуживать, обновлять и поддерживать в режиме онлайн, чтобы не повторять полный процесс синхронизации.
- Легкие узлы похожи на полный узел, но обрабатывают меньше информации. Легкий узел хранит информацию о цепочке заголовков (базовую информацию, хранящуюся в блоке, такую как временная метка и хэш предыдущего блока), но получает дополнительную информацию только по Request. Они могут проверять действительность данных, но не полностью участвуют в проверке блока. Легкие узлы почти всегда реализуются в удаленных клиентах. Поскольку эти узлы не берут на себя более интенсивные процессы хранения и записи данных, они оказались полезными для устройств с малой емкостью, таких как смартфоны.
- Архивные узлы — это узлы, которые хранят всю информацию, которую хранит полный узел, и создают архив исторических состояний блокчейна. Архивные узлы сохранят исторические данные даже после того, как клиент завершит синхронизацию. Полные и легкие узлы, с другой стороны, «обрежут» исторические данные блокчейна, то есть они могут перестроиться, но не сохранят эту информацию.
Хотя архивные узлы могут быть бесполезны для обычного пользователя, они доказали свою эффективность в приложениях обозревателей блоков, поставщиков кошельков и аналитики цепочек.
Что такое клиент Ethereum ?
Клиенты могут быть полезны для разработчиков, поскольку они позволяют им взаимодействовать с сетью и другими сетевыми узлами, используя различные языки программирования. Ethereum Foundation поддерживает несколько различных клиентов для различных языков программирования, включая Go, Rust, Java и C#. Различные сторонние разработчики также создали клиентов Ethereum для дальнейшей языковой поддержки.
Наиболее распространенные варианты использования клиентов Ethereum включают интерфейсы транзакций и майнинга, но варианты его использования могут выходить далеко за рамки базовых взаимодействий с блокчейном.
Фонд Ethereum Foundation обслуживает следующих клиентов:
- Гет (Идти)
- ОткрытыйEthereum (Rust)
- Nethermind (C#, .NET)https://nethermind.io/client
- Бесу (Ява)
- Эригон (Go/Multi)
Они предоставляют разработчикам варианты реализации своих проектов на базе Ethereum. Если ваш предпочтительный язык официально T поддерживается Ethereum Foundation, существуют многочисленные сторонние клиенты Ethereum , которые обеспечивают дополнительную языковую поддержку.
Причина, по которой все эти различные клиенты возможны, заключается в том, что Ethereum определяется формальной спецификацией (т. е. «Желтая бумага”). Формальные спецификации, составляющие Ethereum , отличают блокчейн от Bitcoin. В то время как Ethereum определяет стандартное поведение для всех клиентов Ethereum , которым необходимо Социальные сети, Bitcoin CORE не имеет таких определений. Предоставляя согласованную документацию и понятный язык, спецификации Ethereum позволили блокчейну обеспечить независимые, но совместимые программные реализации клиента Ethereum .
Типы клиентов Ethereum
Полный клиент
Полные клиенты хранят весь блокчейн Ethereum ; процесс синхронизации может занять несколько дней и требует огромного количества дискового пространства — более 1 терабайта, если быть точным, согласно данным последние данные. Полные клиенты позволяют подключенным узлам выполнять все задачи в сети, включая майнинг, транзакции и проверку заголовков блоков, а также запуск смарт-контрактов.
Легкий клиент
Клиенты Ethereum могут быть реализованы полностью или частично. Обзор выше дает объяснение того, как работает «полный» клиент, однако важно знать, что вам T всегда нужно запускать полный клиент. Обычно, когда речь идет о хранении данных и скорости, разработчики выбирают использование так называемых «легких клиентов».
Легкие клиенты предлагают подмножество функциональности полного клиента. Легкие клиенты могут обеспечить более высокую скорость и освободить доступность хранилища данных, поскольку, в отличие от полных клиентов, они не хранят полный блокчейн Ethereum .
Объем функциональности легкого клиента адаптирован к целям клиента Ethereum . Например, легкие клиенты часто используются для управления закрытыми ключами и адресами Ethereum в кошельке. Кроме того, они, как правило, обрабатывают взаимодействия смарт-контрактов и трансляции транзакций. Другие варианты использования удаленных клиентов включают экземпляры web3 в объектах JavaScript, браузеры dapp и получение данных о курсе обмена.
Удаленный клиент
Существует третий тип клиента, называемый удаленным клиентом, который похож на легкого клиента. Главное отличие в том, что удаленный клиент не хранит собственную копию блокчейна, а также не проверяет транзакции или заголовки блоков. Вместо этого удаленные клиенты полностью полагаются на полного или легкого клиента, чтобы получить доступ к сети блокчейна Ethereum . Эти типы клиентов в основном используются в качестве кошелька для отправки и получения транзакций.
Разница между узлами и клиентами
Узлы и клиенты работают ONE о бок, и оба термина часто используются взаимозаменяемо. Однако они оба работают отдельно, чтобы получить доступ к сети Ethereum .
Представьте себе узлы и клиентов, работающих как компьютер, получающий доступ к Интернету: узел — это операционная система, например Windows или iOS, а клиент — это сам компьютер. Клиентский компьютер дает пользователю возможность доступа к операционной системе узла, которая, в свою очередь, дает вам возможность доступа к Интернету. Разные компьютеры смогут предоставить вам доступ к одной и той же операционной системе, а разные операционные системы дадут вам доступ к одному и тому же Интернету.
МетаМаска
Чтобы увидеть, как клиенты Ethereum работают в реальном мире, мы можем рассмотреть MetaMask в качестве примера. MetaMask — это браузерный кошелек, клиент удаленного вызова процедур (RPC) и базовый проводник контрактов. Любой компьютер с Chrome, Firefox, Opera или Brave Browser может запустить MetaMask.
MetaMask — это реализация удаленного клиента, который взаимодействует с блокчейном через легкий клиент. Чтобы избежать любых проблем безопасности, MetaMask использует собственный легкий клиент для связи с удаленным клиентом, чтобы обеспечить эффективную безопасность и определенность транзакций.
MetaMask отличается от других браузерных кошельков тем, что он применяет экземпляр web3 к JavaScript-ридеру браузера, предоставляя доступ к основной сети Ethereum и другим тестовым сетям, включая Ropsten testnet, Kovan testnet и локальный экземпляр узла RPC. Даже с его уникальной функциональностью MetaMask по-прежнему запускает удаленный клиент, как и большинство других браузерных кошельков. Удаленный клиент обеспечивает функциональность хранения кошелька, трансляцию транзакций и инъекции web3 JavaScript.
Griffin Mcshane
Гриффин МакШейн — переселенец из Нью-Йорка, в настоящее время проживающий в Бруклине, штат Нью-Йорк. Он окончил колледж Провиденс, где изучал компьютерные науки и бизнес, а также юридический факультет Университета Мэна, где получил степень доктора права. Помимо своей работы в качестве писателя для CoinDesk, Гриффин написал информационный бюллетень Inside Криптo для Inside.com Джейсона Калаканиса и является членом Международной ассоциации профессионалов в Политика конфиденциальности (IAPP). Он не владеет существенным количеством Криптовалюта.
