Отличия фулл-ноды geth от лайт-ноды

Интересует конкретный функционал, то есть генерация адресов, получение информации о транзакции по хешу и т.д. Есть ли функционал, который можно потерять при переходе на лайт-ноду?

я еще добавлю, что попробовал лайт-ноду и для генерации адресов и проведения простых транзакций, все тесты проходили, и вела она себя, по крайней мере на ропстене вполне нормально, но иногда при выполнении операций с газом, могла вылезти ошибка, вроде "no suitable peers available". То есть не было пиров, в моем понятии фулл-нод, с которых он берет информацию нужную. Но это фиксилось, как вот здесь No suitable peers available on main with light client Добавлением пиров в консоли geth.


Ответы (1 шт):

Автор решения: Pak Uula

Light node - это тот же узел сети ethereum, с таким же программным интерфейсом как полный узел. Поэтому все операции, независящие от состояния (например, вычисление адресов), или зависящие только от текущего состояния (чтение переменных или view методы смарт-контрактов, например) работают в light так же как в full.

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

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

Премущество light узлов очевидно - не требуется ждать трое суток, пока узел выкачает все блоки и синхронизирует полное состояние. Можно пользоваться практически сразу.

→ Ссылка