В этой статье мы рассмотрим, что такое узлы Ethereum, и рассмотрим один из самых популярных, называемый Geth.
Для связи с блокчейном мы должны использовать клиент блокчейна. Клиент — это часть программного обеспечения, способная устанавливать канал связи p2p с другими клиентами, подписывать и транслировать транзакции, осуществлять майнинг, развертывать и взаимодействовать с интеллектуальными контрактами и т. Д. Клиент часто называют узлом .
Формальное определение функциональности, которой должен следовать узел Ethereum, определено в желтой статье ethereum . Желтая бумага определяет требуемые функции узлов в сети, алгоритм майнинга, параметры ECDSA с закрытым / открытым ключом. Он определяет все функции, которые делают узлы полностью совместимыми с клиентами Ethereum.
Основываясь на желтой бумаге, каждый может создать собственную реализацию узла Ethereum на любом языке, который он считает нужным.
Полный список клиентов можно увидеть здесь .
На сегодняшний день самыми популярными клиентами являются Geth и Parity . Реализации различаются в основном по выбору языка программирования — где Geth использует Golang, а Parity использует Rust.
Поскольку Geth является самой популярной клиентской реализацией, доступной на данный момент, мы сосредоточимся на ней сейчас.
Типы узлов
Когда вы присоединяетесь к сети Ethereum, у вас есть возможность запустить различные типы узлов. Варианты в настоящее время:
- Легкий узел
- Полный узел
- Архивный узел
Архивный узел — это особый случай полного узла, поэтому мы не будем вдаваться в подробности. Одно из лучших резюме по типам узлов, которые я нашел, находится на Stack Exchange :
В общем, мы можем разделить программное обеспечение узлов на два типа: полные узлы и легкие (весовые) узлы. Полные узлы проверяют блок, который транслируется в сеть. Таким образом, они гарантируют, что транзакции, содержащиеся в блоках (и самих блоках), следуют правилам, определенным в спецификациях Ethereum. Они поддерживают текущее состояние сети (как определено в соответствии со спецификациями Ethereum).
Транзакции и блоки, которые не соответствуют правилам, не используются для определения текущего состояния сети Ethereum. Например, если A пытается отправить 100 эфиров в B, но A имеет 0 эфиров, и блок включает эту транзакцию, полные узлы поймут, что это не соответствует правилам Ethereum, и отклонят этот блок как недействительный. В частности, выполнение смарт-контрактов является примером транзакции. Всякий раз, когда в транзакции используется умный контракт (например, отправка токенов ERC-20), все полные узлы должны будут выполнить все инструкции, чтобы убедиться, что они достигли правильного, согласованного следующего состояния блокчейна.
Есть несколько способов достичь одного и того же состояния. Например, если бы А имел 101 эфир и отдал сто из них Б за одну транзакцию, заплатив 1 эфир за газ, конечный результат был бы таким же, как если бы А отправил 100 транзакций по 1 эфиру каждая, заплатив 0,01 эфира за транзакцию ( игнорируя, кто получил комиссию за транзакцию). Чтобы узнать, разрешено ли теперь B посылать 100 эфира, достаточно знать, каков текущий баланс B. Полные узлы, которые сохраняют всю историю транзакций, называются полными узлами архивации. Они должны существовать в сети, чтобы быть здоровыми.
Узлы также могут отказаться от старых данных; если B хочет отправить 100 эфира в C, не имеет значения, как был получен эфир, только учетная запись B содержит 100 эфира. Легкие узлы, напротив, не проверяют каждый блок или транзакцию и могут не иметь копии текущего состояния блокчейна. Они полагаются на полные узлы, чтобы предоставить им недостающие детали (или просто не хватает определенной функциональности). Преимущество легких узлов заключается в том, что они могут гораздо быстрее запускаться и работать, могут работать на устройствах с большим количеством вычислительных ресурсов / памяти и не поглощают почти столько же памяти. С другой стороны, существует элемент доверия в других узлах (он варьируется в зависимости от клиента, и вероятностные методы / эвристика могут использоваться для снижения риска). Некоторые полные клиенты включают функции для более быстрой синхронизации (например, синхронизация деформации Parity).
Самые безопасные холодные кошельки для хранения ЕТС
Существует 2 основных способа хранения криптовалюты:
- Горячее
- Холодное
В первом случае кошелек поддерживает постоянное соединение с интернетом, что повышает удобство использования, но делает его более уязвимым. При «холодном» хранении кошелек не подключен к интернету – вы можете хранить монеты и принимать транзакции максимально безопасно. Правда, для отправки монет кошелек все же придется подключить к сети – это можно сделать, преобразовав его в «горячий» или подключив к компьютеру или смартфону.
Существует 2 вида «холодных» кошельков:
- Бумажный
- Аппаратный
Бумажный кошелек – это лист бумаги с приватным ключом. Для его создания применяются специальные генераторы Paper Wallet. Например, вы можете попробовать сервис CryptoStorage. В списке доступных криптовалют достаточно выбрать Ethereum Classic, после чего система сгенерирует приватный ключ и публичный адрес. Можете сохранить файл с этими данными на компьютер (в форматах TXT, CSV или JSON) или сразу же распечатать на принтере. Распечатанный бумажный кошелек рекомендуется заламинировать, чтобы защитить его от механических повреждений, а также хранить в надежном месте (например, в сейфе).
Бумажный кошелек можно сделать бесплатно, но его крайне неудобно использовать: для отправки монет приходится преобразовывать в «горячий» кошелек, а затем заново создавать «холодный». Поэтому большинство пользователей покупает достаточно дорогостоящие (цена может достигать 10-15 тыс. рублей) аппаратные кошельки.
Бегущий Гет
Чтобы раскрутить узел Geth, единственное, что вам нужно сделать, это зайти в окно терминала и запустить geth . Когда вы это сделаете, вы должны получить вывод, похожий на этот:
➜ ~ geth INFO [06-03|11:03:13] Maximum peer count ETH=25 LES=0 total=25 INFO [06-03|11:03:13] Starting peer-to-peer node instance=Geth/v1.8.10-stable/darwin-amd64/go1.10.2 INFO [06-03|11:03:13] Allocated cache and file handles database=/Users/mjvr/Library/Ethereum/geth/chaindata cache=768 handles=128 INFO [06-03|11:03:13] Writing default main-net genesis block INFO [06-03|11:03:14] Persisted trie from memory database nodes=12356 size=2.34mB time=48.31016ms gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B INFO [06-03|11:03:14] Initialised chain configuration config=»{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Constantinople: Engine: ethash}» INFO [06-03|11:03:14] Disk storage enabled for ethash caches dir=/Users/mjvr/Library/Ethereum/geth/ethash count=3 INFO [06-03|11:03:14] Disk storage enabled for ethash DAGs dir=/Users/mjvr/.ethash count=2 INFO [06-03|11:03:14] Initialising Ethereum protocol versions=»[63 62]» network=1 INFO [06-03|11:03:14] Loaded most recent local header number=0 hash=d4e567…cb8fa3 td=17179869184 INFO [06-03|11:03:14] Loaded most recent local full block number=0 hash=d4e567…cb8fa3 td=17179869184 INFO [06-03|11:03:14] Loaded most recent local fast block number=0 hash=d4e567…cb8fa3 td=17179869184 INFO [06-03|11:03:14] Regenerated local transaction journal transactions=0 accounts=0 INFO [06-03|11:03:14] Starting P2P networking INFO [06-03|11:03:16] UDP listener up self=enode://a4cb08519bc2bceecb8ad421871c624d5212888653bbaee309fda960f3c87ca7a[email protected][::]:30303 INFO [06-03|11:03:16] RLPx listener up self=enode://a4cb08519bc2bceecb8ad421871c624d5212888653bbaee309fda960f3c87ca7a[email protected][::]:30303 INFO [06-03|11:03:16] IPC endpoint opened url=/Users/mjvr/Library/Ethereum/geth.ipc
После этого вы должны периодически появляться новые строки, где Geth говорит «Импорт нового состояния» или «Импорт новых заголовков блоков» или «Импорт новых поступлений». Состояние, заголовки блоков и транзакции являются частью попыток дерева Ethereum : они должны быть загружены для синхронизации вашего узла с блокчейном Ethereum.
Это процесс, который может занять очень много времени, поэтому один из вариантов, который у вас есть, — запустить такой легкий узел;
geth —light
Теперь нужно, чтобы Geth извлек только самые последние заголовки блоков и полагался на другие полные узлы для проверки транзакций с помощью подтверждений Merkle .
Доступ к консоли Geth
Теперь, когда вы создали узел, вы можете получить к нему доступ, открыв новую вкладку в своем терминале и выполнив следующее:
geth attach
Это подключит консоль Geth — среду Javascript для связи с блокчейном — к вашему работающему узлу. Это можно сделать как в полном режиме клиента, так и в легком режиме.
После того, как вы открыли консоль, введите:
web3.eth.blockNumber
Вы должны получить вывод в виде числа (например, 5631487), которое представляет текущий номер блока сети Ethereum.
Что такое стейкинг в Эфириуме 2.0?
Стейкингом ETH 2.0 называется заморозка монет эфириума на депозите смарт-контракта, для того чтобы стать валидатором и принимать участие в обслуживании экосистемы, получая за это награду. Валидатор, как и майнер занимается проверкой транзакцией и поиском хеш-подписи блока, но тратит на это намного меньше энергоресурсов.
Блокировка монет нужна для гарантии, что данный узел не будет действовать в ущерб системе, ведь в таком случае пострадает и он сам. Чтобы запустить стейкинг эфира валидатор, должен внести 32 ETH (стоимость на сегодняшний день примерно 8 000 000 российских рублей). Курс постоянно колеблется, но, в любом случае, это большая сумма.
Создание новой учетной записи
Чтобы использовать блокчейн, вам необходимо иметь учетную запись. С Geth вы можете сделать это, запустив в своем терминале следующее:
geth account new
После того, как вы это сделаете, он попросит вас ввести пароль, который вам понадобится для защиты вашей учетной записи. Убедитесь, что вы используете безопасный пароль и храните его в безопасности.
То, что делает Geth при запуске geth account new — это обновление файла в каталоге данных Geth (каталоге, в котором Geth хранит все необходимые данные, включая блоки и заголовки). Места (на платформу):
- macOS: ~/Library/Ethereum
- Linux: ~/.ethereum
- Windows: %APPDATA%\Ethereum
Для начала ставим Chocolatey
Официальный сайт: https://chocolatey.org/
Chocolatey — это установщик/менеджер пакетов для Windows, аналогичный apt-get на Ubuntu. Он упрощает процесс обновления вашего клиента до последнего релиза.
Открываем cmd.exe и вводим:
@powershell -NoProfile -ExecutionPolicy Bypass -Command «iex ((new-object net.webclient).DownloadString(‘https://chocolatey.org/install.ps1’))» && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
Доступ к Geth от других клиентов
Когда вы запускаете Geth, клиент автоматически запускает RPC-сервер на порту 8545 . Вы можете получить доступ к серверу RPC и его методам на этом порту, подключившись к localhost:8545 с помощью библиотеки, такой как web3js или web3j или web3j ее вручную с помощью curl или wget .
Чтобы узнать о подключении внешних инструментов, таких как те, к работающему экземпляру Geth (частному при запуске вашей собственной цепочки блоков или общедоступным, как в инструкциях выше), смотрите этот пост .
Лучший аппаратный кошелек Ethereum Classic
Аппаратный кошелек – это отдельное физическое устройство, на котором в изолированной среде хранятся приватные ключи. Можете хранить на нем криптовалюту и принимать переводы. Для отправки транзакций достаточно подключить его к компьютеру или смартфону – но даже в этом случае ключи не покинут устройство.
Одной из самых лучших моделей аппаратных кошельков является Ledger Nano X. Это аппаратный кошелек от французской компании Ledger, выпускаемый с 2022 г. Он пришел на смену устаревшей модели Ledger Nano S (2016 г.). В кошельке можно хранить Ethereum Classic, а также свыше 1,8 тыс. других криптовалют (ВТС, ЕТН и так далее).
Кошелек Ledger Nano X визуально представляет собой обычную флешку с поворотным защитным колпачком. На его корпусе находится USB-разъем для подключения к компьютеру или смартфону, 2 кнопки управления и небольшой дисплей, отображающий основную информацию (валюта, адрес перевода и т.д.). При подключении кошелька к другим устройствам используете приложение Ledger Live (подходит для Windows, MacOS, Linux, Android и iOS). С его помощью можно безопасно просматривать баланс, отправлять криптовалюту другим пользователям и т.д.
Расчет доходности
Прибыль будет зависеть от того, насколько динамично будет развиваться новая сеть, ну и, конечно, от суммы вложенных средств.
Калькулятор стейкинга эфира находится здесь. Показатели доходности тестовой сети не могут дать точного представления о реальных доходах валидатора в будущем. Все станет ясно, когда произойдет слияние обеих веток блокчейна.
Как принять участие в стейкинге ETH 2.0?
Состоятельный инвестор или майнер со стажем, накопивший достаточно денег могут самостоятельно запустить узел валидатора и начать staking ETH. Но учтите, если вы передумаете работать, заблокированные монеты вернуть уже нельзя. Они станут доступными, когда разработчики активируют фазу 1.5, а это, скорее всего, произойдет в следующем году (а может и позже).
Чтобы валидаторы не кинулись массово выводить деньги и тем самым не обвалили курс ETH, в системе установлен период динамической блокировки (256 эпох). Те, кто заморозил деньги раньше смогут вывести их первыми, а остальные будут ждать своей очереди. Учитывая тот факт, что первые валидаторы начали стейкинг ETH еще в прошлом году, процесс вывода денег, внесенных в октябре 2022, может растянуться на несколько месяцев от начала фазы 1.5. Поэтому лучше не вкладывать в данный проект весь капитал.
Можно обратиться к сервисам, чтобы запустить стейкинг эфира через доверенный узел. Здесь также есть определенные риски. Если вложите деньги в скам или вашего валидатора оштрафуют, а то и вовсе отберут у него депозит за попытку злонамеренных действий, то вы пострадаете вмести с ним. Как безопасно вложить деньги в коллективный стейкинг ETH мы расскажем чуть позже. Ну а тем, кто все же решит действовать самостоятельно, понадобится инструкция по настройке оборудования.
Как вывести Эфириум с биржи EXMO
Многие из нас сталкиваются с криптовалютными биржами по разным причинам: трейдерство, обмен валют, арбитраж. Поэтому приходится выводить цифровые монеты на криптовалютные кошельки. Рассмотрим пример на популярной бирже EXMO:
- Для начала нужно пройти простую регистрацию. Процедура обычная – ввести email, придумать пароль.
- Аналогично примеру с Полоникс пополняем биржевой счет и обмениваем Эфириум на Биткоин или фиатные валюты. EXMO – одна из немногих бирж, которая поддерживает фиат.
- Переходим в раздел «Кошелек» и напротив Ethereum нажимаем «Пополнить».
- Вводим адрес Эфириум кошелька, указываем количество монет и подтверждаем транзакцию.
Теперь осталось проверить счет Эфириум кошелька. Обычно средства зачисляются в течение нескольких минут.
Внимание! В Сети много информации о приостановлении вывода Эфириум с биржи EXMO. Прежде чем покупать Эфириум, обратитесь за подробной информацией в техподдержку ресурса.
Что это за переход и для чего он нужен
Eth2 — группа обновлений, ориентированных на масштабирование Эфириум-сети. При их создании разработчики преследовали несколько целей:
- Повышение масштабирования. Криптовалютная сеть должна позволят выполнять тысячи операции в течение секунды. Это особенность упростит и удешевит применение приложения. В основе лежит 64 новых узла, которые принимают на себя нагрузку.
- Усиление безопасности. Эфириум должен быть защищен от мошенников. Количество последних увеличивается с повышением популярности системы. Переход на PoS позволяет избежать многих видов атак.
- Экологичность. Старые способы майнинга требовали больших затрат энергии и применения мощных ПК, АСИК-майнеров или ферм для майнинга. После перехода в этом не будет необходимости. Для добычи будет использовать стейкинг, для реализации которого не нужно инвестировать крупные суммы на покупку дорогостоящего оборудования.