Что такое узел Ethereum и как он работает

Какова важность узла Ethereum в блокчейне и как он взаимодействует с другими узлами?

Ethereum на самом деле не криптовалюта, а децентрализованная P2P-сеть, основанная на общедоступном компьютерном протоколе с открытым исходным кодом. 

Его родной криптовалютой является Эфир (ETH), хотя его часто называют по имени всей сети, то есть Ethereum. 

Сети P2P или одноранговые сети состоят из одноранговых узлов, которые взаимодействуют друг с другом через Интернет. Таким образом, именно узлы являются фундаментальными составляющими этих сетей. 

Таким образом, фундаментальными составляющими Ethereum являются его узлы, образующие P2P-сеть, и, очевидно, протокол, на котором они основаны. 

Чтобы быть частью P2P-сети Ethereum и взаимодействовать с другими узлами, узел Ethereum должен строго придерживаться своего базового протокола, который, конечно же, должен быть абсолютно идентичен для всех узлов, иначе он будет исключен из сети. сам. 

Работа узла Ethereum

Узлы Ethereum — это компьютеры или серверы, подключенные к Интернету и на которых работает специальное программное обеспечение. 

Это программное обеспечение на жаргоне называется сетевым клиентом, и оно абсолютно необходимо для работы узла. Именно это программное обеспечение соединяется с другими узлами в сети P2P и должно соответствовать букве протокола Ethereum. 

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

Важно то, что клиент соблюдает все правила протокола, иначе он не будет совместим с другими узлами и в итоге будет априори исключен из самой сети. 

В настоящее время существуют только 4 наиболее часто используемых клиента, потому что, хотя их много, большинство из них используются очень мало. 

Однако следует различать клиентов консенсуса и клиентов исполнения. 

Клиенты выполнения — это узлы так называемого «уровня выполнения» (EL) Ethereum, т. е. производные от прежнего протокола, основанного на доказательстве работы (PoW). 

На сегодняшний день наиболее широко используемым исполняющим клиентом является исторический Geth, который существует уже давно и является бесспорным лидером сети, основанной на старом протоколе. Далее следуют, но с гораздо меньшим процентом, Эригон, Разум Пустоты и Бесу. 

Поскольку протокол Ethereum перешел на Proof-of-Stake (PoS) после слияния 15 сентября, был добавлен так называемый «уровень консенсуса» (CL) с разными клиентами. 

В случае клиентов CL разнообразие больше: Prysm — 42%, Lighthouse — 36% и Teku — 18%. За ним следует Nimbus всего с 3%. 

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

Что делают сетевые узлы

Со временем функция узлов эволюционировала. 

Изначально они делали все, то есть единственным существующим программным обеспечением в сети Ethereum были ноды. 

Другими словами: 

  • они защищали и контролировали блокчейн 
  • они добыли блоки с PoW 
  • проверили соответствие всех блоков и транзакций протоколу
  • они исполняли смарт-контракты
  • они действовали как кошельки, позволяя отправлять и получать токены. 

Однако со временем они потеряли часть функциональности. 

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

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

Дело в том, что узел должен защитить и проверить блокчейн, который представляет собой файл размером почти 350 ГБ, в котором записаны все транзакции в Ethereum в истории, которые узел должен проверять одну за другой. 

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

Переход на PoS

Ассоциация идти, с переходом на PoS все изменилось. 

Фактически отказ от PoW устранил необходимость майнить блоки, поэтому майнеры Ethereum просто исчезли или перешли на другие блокчейны, все еще основанные на PoW. 

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

Таким программным обеспечением являются новые клиенты Consensus Layer, а именно Prysm, Lighthouse, Teku и Nimbus. 

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

Однако PoS основан на стекинге, поэтому узлы CL также содержат токены ETH, размещенные в стейкинге. 

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

Настройка узла Ethereum

Работа узла относительно проста. Фактически, после установки клиент просто должен оставаться подключенным к Интернету. 

Однако установка не является тривиальным делом. 

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

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

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

Это еще сложнее в случае узла CL, потому что, поскольку он должен защищать как минимум 32 ETH при стекинге, это делает проблему безопасности еще более актуальной. 

Безопасность

Безопасность узла имеет решающее значение для его правильной работы, потому что у него есть встроенный кошелек, а в случае узлов CL он хранит ETH в стейкинге. 

Единственной серьезной проблемой в случае взлома является возможная кража средств, ведь даже в случае атаки или взлома вся сеть не пострадает. 

Поскольку они могут стать объектом кражи средств, необходим высокий уровень защиты машин и сетей, в которых он работает. 

Несколько более сложным вопросом является безопасность сети P2P. 

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

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

Что касается исполнительного уровня, Geth теперь настолько хорошо зарекомендовал себя, что кажется маловероятным, что у него возникнут какие-либо серьезные проблемы. Тем не менее, полезно иметь и другие клиенты, которые можно использовать в гипотетическом случае проблемы в Geth. 

Напротив, в случае с клиентами на уровне консенсуса дело обстоит иначе, поскольку они фактически были в одном только несколько месяцев. 

Источник: https://en.cryptonomist.ch/2022/11/26/what-is-an-ethereum-node-and-how-it-works/