Ф'ючерси
Сотні безстрокових контрактів
TradFi
Золото
Одна платформа для світових активів
Опціони
Hot
Торгівля ванільними опціонами європейського зразка
Єдиний рахунок
Максимізуйте ефективність вашого капіталу
Демо торгівля
Вступ до ф'ючерсної торгівлі
Підготуйтеся до ф’ючерсної торгівлі
Ф'ючерсні події
Заробляйте, беручи участь в подіях
Демо торгівля
Використовуйте віртуальні кошти для безризикової торгівлі
Запуск
CandyDrop
Збирайте цукерки, щоб заробити аірдропи
Launchpool
Швидкий стейкінг, заробляйте нові токени
HODLer Airdrop
Утримуйте GT і отримуйте масові аірдропи безкоштовно
Launchpad
Будьте першими в наступному великому проекту токенів
Alpha Поінти
Ончейн-торгівля та аірдропи
Ф'ючерсні бали
Заробляйте фʼючерсні бали та отримуйте аірдроп-винагороди
Інвестиції
Simple Earn
Заробляйте відсотки за допомогою неактивних токенів
Автоінвестування
Автоматичне інвестування на регулярній основі
Подвійні інвестиції
Прибуток від волатильності ринку
Soft Staking
Earn rewards with flexible staking
Криптопозика
0 Fees
Заставте одну криптовалюту, щоб позичити іншу
Центр кредитування
Єдиний центр кредитування
Центр багатства VIP
Преміальні плани зростання капіталу
Управління приватним капіталом
Розподіл преміальних активів
Квантовий фонд
Квантові стратегії найвищого рівня
Стейкінг
Стейкайте криптовалюту, щоб заробляти на продуктах PoS
Розумне кредитне плече
New
Кредитне плече без ліквідації
Випуск GUSD
Мінтинг GUSD для прибутку RWA
ПЕРСПЕКТИВА РОЗРОБНИКА | Як стати соло-валідатором Ethereum
Задумайтеся на мить,
Блокчейн — це просто велика єдина база даних, якою володіє ніхто, але до якої може писати будь-хто, і все, що в неї записано, не можна видалити. Щоб мати можливість писати в цю базу даних, потрібно мати її копію на своєму комп’ютері.
Отже, ви нарешті зрозуміли, наскільки вигідною є інвестиція у ставку валідатора Ethereum, і вирішили спробувати, скільки можете заробити.
Вітаю, по-перше! Це велике завдання, і я від імені спільноти Ethereum дякую вам (з будь-якої причини — за отримання блокових нагород, за децентралізацію Ethereum тощо) за вашу сміливу ініціативу.
У тому ж дусі децентралізації ми розглянемо, як стати соло-валідатором або, як кажуть, соло-ставкою на Ethereum.
Ми не будемо розглядати інші способи стейкінгу, такі як ліквідний стейкінг, стейкінг як сервіс або подібне. Адже ви вже вирішили бути валідатором, чому б не зробити це у справжньому кіперпанковому стилі, га?
Спершу ознайомимося з деякими словами:
Ethereum — це блокчейн на основі Proof of Stake з моменту “The Merge”, що відбувся 15 вересня 2022 року, і перевів Ethereum з Proof-of-Work (PoW) у Proof-of-Stake (PoS).
Що це означає — спосіб досягнення консенсусу в Ethereum повністю змінився.
Пам’ятаєте, як ми казали, що блокчейн — це просто велика одна база даних на купі комп’ютерів? Тож, стан цієї бази даних має бути відомий усім комп’ютерам у мережі постійно. Комп’ютери (ноді), що беруть участь у мережі, мають погодитися щодо поточного стану бази даних, тобто досягти консенсусу!
В Ethereum ноди не потрібно розв’язувати складні математичні задачі для досягнення консенсусу, як у PoW, а натомість вони блокують Ether наперед, фактично кажучи:
“Гей, я готовий бути валідатором, який додаватиме блоки та перевірятиме транзакції, і якщо я погано себе поведу під час виконання цієї задачі, ви можете забрати мій Ether, який я поставив наперед (мій стейк), як покарання за погану поведінку. Якщо я поводжуся правильно, ви нагороджуєте мене новоствореним Ether!”
Коли понад дві третини валідаторів погоджуються з поточним станом бази даних, стан блокчейну вважається завершеним!
Чому саме дві третини?
Уявіть, що ми чекатимемо, поки всі валідатори (на момент написання — 1 031 682 активних валідаторів) у мережі погодяться щодо стану блокчейну? Швидкість завершення блокчейну буде дуже повільною, і Ethereum стане практично невикористовним. Швидкість завершення залежить від найповільнішої ноди, а оскільки Ethereum максимально децентралізований (може працювати на звичайному споживчому обладнанні, яке зазвичай повільніше за великі інституційні сервери), потрібно враховувати найповільнішу ноду. Тому дві третини — це цілком розумна кількість для очікування, чи не так? 😂😂😂
Модель безпеки Ethereum тепер можна підсумувати так: “Люди — раціональні істоти, які прагнуть отримати прибуток і прийматимуть раціональні рішення для його реалізації. Тому вони не погано себе поводитимуть, бо якщо погано — їхній Ether, який вони поставили наперед (їхній стейк), буде знижено!”
Чи не так, що це — досягнення безпеки через капіталізм?
Спершу,
Що таке нода Ethereum?
Нода Ethereum — це комп’ютер, що запускає програмне забезпечення Ethereum, зване клієнтом Ethereum. Ось і все. Повірте, це справді так. Це максимально просто: без складних слів, без зайвого. Це і є нода Ethereum.
Ці ноди формують блокчейн Ethereum — купу комп’ютерів, що працюють на схожому програмному забезпеченні і можуть спілкуватися між собою.
Кожен може запустити ноду Ethereum, але особисто для себе це не має фінансової вигоди. Не зрозумійте неправильно, запуск ноди має свої переваги, наприклад:
Створюючи спеціальний ‘магічний’ підписний ключ і ставлячи 32 ETH у смарт-контракт, що зв’язаний із цим ключем, ви перетворюєте свою ноду Ethereum у валідатора.
Валідатори — це активовані ноди, що обробляють транзакції користувачів і фіксують їх у камінь (тобто у фіналізацію).
Кожна транзакція голосується всіма валідаторами (підписуються атестації) у мережі Ethereum і підтверджується їхнім ETH, поставленим наперед.
Оскільки валідатори обробляють і підтверджують транзакції користувачів, вони отримують нагороди за хорошу роботу і штрафи за погану поведінку. Якщо валідатор виявиться недобросовісним, зловмисним або грубо недбалим, його стейк може бути знижено до повної суми, і його вигнано з мережі.
Це стимулює валідаторів залишатися чесними і чесно виконувати свої обов’язки.
Як же стати соло-ставкою на Ethereum?
Вам потрібно поставити 32 ETH, щоб стати валідатором Ethereum. Це еквівалентно приблизно Ksh. 13 998 370,65 (на момент написання), де 1 ETH = Ksh. 437 449,08 — скільки зараз 1 ETH, коли ви читаєте?
Як вони взагалі дійшли до вимоги 32 ETH? Це закодовано у програмному забезпеченні клієнтів Ethereum, яке ви запускаєте.
Після цього потрібно запустити спеціальне клієнтське програмне забезпечення, наприклад:
Це програмне забезпечення називається “Consensus Layer software”, бо саме воно досягає консенсусу в Ethereum — визначає стан блокчейну.
Тепер, коли ви знаєте, яке клієнтське програмне забезпечення запускати і маєте 32 ETH, ви готові отримувати солодкі блокові нагороди, так? Ну, так, але, як завжди, у деталях криється підступ. Давайте подивимося, наскільки це може стати дуже складним завданням.
Соло-ставка
Соло-ставка означає повністю запускати свою ноду і отримувати всі нагороди за блоки без їхнього поділу з іншими.
Мінімальні апаратні вимоги для соло-ставки:
Спершу здається, що апаратні вимоги дуже високі, але ви бачили вимоги Solana?
Пам’ятайте нашу ідею:
“Блокчейн — це просто велика єдина база даних, якою володіє ніхто, але до якої може писати будь-хто, і все, що в неї записано, не можна видалити. Щоб писати в цю базу, потрібно мати її копію на своєму комп’ютері.”
Давайте подивимося, як кожен компонент апаратури впливає на продуктивність:
– Може пропустити атестації (голоси) і пропозиції блоків, якщо буде занадто повільним
– З ростом активності мережі (більше адрес, смарт-контрактів, транзакцій) зростає й вимога до пам’яті ноди для підтримки стану ланцюга і поширення транзакцій.
– Статична IP-адреса покращує виявлення нодами і запобігає проблемам із низькою кількістю пірів
– Деякі провайдери блокують переадресацію портів (для віддаленого доступу), якщо IP-адреса не статична
Пам’ятаєте, ми казали, що потрібно запускати клієнт консенсусного шару, наприклад Lighthouse, а також клієнт виконавчого шару?
Що таке клієнт виконавчого шару? Радий, що запитали…
Клієнт виконавчого шару в Ethereum — це програмне забезпечення, яке виконує смарт-контракти і транзакції. Тут запускаються ваші улюблені dApps, наприклад Aave, Uniswap і та ваша улюблена мем-коіна, яка чекає на зірковий зліт. Саме цей виконавчий шар формує Ethereum Virtual Machine (EVM).
Приклади клієнтів виконавчого шару:
Примітка: покращуйте стійкість Ethereum, використовуючи міноритарний виконавчий клієнт. Що станеться, якщо трапиться чорний лебідь і geth, що має приблизно 55% ринку (на момент написання), — тобто більшість виконавчих клієнтів Ethereum — матиме критичну помилку? Чи означає це, що Ethereum зламається?
Обробка блоків виглядає так:
Розглянемо приклад налаштування reth (виконавчого клієнта) з Lighthouse (клієнтом консенсусу).
Наступні кроки передбачають, що ви вже маєте базове розуміння роботи з Linux, включно з командним рядком, який ви скопіювали з StackOverflow, не розуміючи точно, що він робить, але він працює.
ls -al | grep | xxd | echo -n
О, ви не зрозуміли нічого з того, що я щойно написав?
Якщо ls -al | grep | xxd | echo -n здається вам китайською, настав час освіжити свої знання з команд Linux. Не потрібно бути гуру, як я (так, я використовую Arch), але хоча б навчіться відрізняти cd від rm -rf /!
Ми працюватимемо на машині з Ubuntu.
Спершу потрібно створити JSON Web Token (JWT), що дозволить виконавчому і консенсусному клієнтам спілкуватися.
Запустіть ці команди по одній, щоб створити папку jwtsecret і згенерувати файл jwt.hex у ній:
Після цього конфігураційні файли клієнтів будуть вказувати на цей JWT-файл (jwt.hex).
Завантажте reth і налаштуйте сервіс:
Завантажте останню версію reth тут (https://github.com/paradigmxyz/reth/releases)) та її цифровий підпис (.asc) для перевірки цілісності файлу.
Перевірте контрольну суму:
Очікуваний результат: підтвердження підпису та цілісності файлу.
Якщо все гаразд, розпакуйте файли і перемістіть їх у /usr/local/bin:
Створіть користувача reth без доступу до сервера:
Створіть папку для зберігання даних і призначте власника:
Створіть systemd сервіс для reth:
Вставте конфігурацію:
[Unit] Description=Reth Execution Client (Holesky) After=network.target Wants=network.target
[Service] User=reth Group=reth Type=simple Restart=always RestartSec=5 ExecStart=/usr/local/bin/reth node
–chain holesky
–datadir=/var/lib/reth
–log.file.directory=/var/lib/reth/logs
–authrpc.jwtsecret=/var/lib/jwtsecret/jwt.hex
–full
–port 30304
–http
–http.api eth,web3,net,txpool,debug,trace
–http.addr <internal_ip_address>
–http.port 8547
–ws
–ws.addr <internal_ip_address>
–ws.port 8548
–metrics 127.0.0.1:6060
[Install] WantedBy=default.target
Збережіть і активуйте сервіс:
Перевірте статус — має бути “active (running)”. Для моніторингу логів:
Якщо все працює, увімкніть автоматичний запуск при перезавантаженні:
Наступний крок — налаштування клієнта Lighthouse для консенсусу. Завантажте і перевірте його так само, як reth.
Після налаштування запустіть і перевірте статус:
Переконайтеся, що він активний і працює. Потім увімкніть автоматичний запуск:
Перевірте коректність роботи через лог:
Генерація ключів валідатора
Це криптографічні ключі, що використовуються для підпису і голосування. Є два основних типи:
Рекомендується генерувати їх на ізольованій машині (air-gapped), наприклад, на Raspberry Pi або з використанням Live OS, щоб забезпечити максимальну безпеку.
Завантажте файл для генерації ключів з перевіркою контрольної суми:
Після перевірки розпакуйте і згенеруйте ключі командою:
Збережіть мнемонічний фрагмент — ніколи не зберігайте його онлайн! Запишіть на папір і зберігайте у безпечному місці.
Після генерації з’являться файли keystore і deposit data. Збережіть їх на USB і видаліть з комп’ютера.
Додавання ключів до ноди
Підключіть USB до ноди, змонтуйте його і скопіюйте keystore у домашню папку ноди.
Створіть файл паролю і збережіть його.
Внесення депозиту
Переконайтеся, що ви використовуєте офіційний Launchpad або тестовий аналог для тестнету.
Відправте 32 ETH на адресу депозитного контракту (на тестнеті — інша адреса).
Після підтвердження транзакції ви станете валідатором і почнете отримувати нагороди.
Вихід із валідатора
Щоб добровільно вийти, використовуйте команду відповідного клієнта (наприклад Lighthouse):
Після підтвердження ваш валідатор буде виключений, і ви зможете отримати назад стейк і нагороди.
Це був довгий гід! Тепер ви знаєте, як стати валідатором Ethereum у соло-режимі. Бажаю успіхів і децентралізації!