Як знайти RPC-ноди, які не відстежують користувачів і стабільно працюють?

Листопад був складним: ціни на криптовалюту впали, провайдер Hetzner відключив 20% валідаторів, FTX збанкрутіла, біржі перестали приймати депозити в USDT на Solana... Попри все є дві хороші новини для спільноти Solana.

По-перше, розробники нікуди не йдуть. Вони знають, що таке Solana: швидкий блокчейн-протокол з алгоритмом консенсусу, що дозволяє додаткам працювати в реальному часі, та з сотнями популярних проєктів. Розробники розуміють перспективи, а тому продовжують працювати над інфраструктурою та будувати dApp-и для користувачів.

По-друге, Everstake, один з найнадійніших валідаторів Solana зі штаб-квартирою в Києві, хоче допомогти розробникам створювати ще кращі додатки та робити це зручніше. Для цього компанія випустила open-source load balancer, який дозволяє автоматично перескеровувати запити від публічних RPC-нод Solana, які перестали відповідати.

Everstake та команда extrnode закликають всіх охочих завантажувати та тестувати open-source рішення, і звичайно ділитись враженнями та пропозиціями в Discord. Розробники можуть зібрати Docker image з вихідного коду, або просто скористатись готовим образом з Docker Hub.

Чому RPC так важливі для блокчейн-додатків?

Блокчейн-додатки, наприклад криптовалютні гаманці, не під’єднані до блокчейну напряму. Вони просто перетворюють дії користувача в інтерфейсі в транзакції, а потім надсилають їх обраній RPC-ноді. Вона в свою чергу обробляє транзакції, розсилає їх по всій мережі, де інші ноди перевіряють операцію та включають її в блокчейн. Якщо обрана RPC-нода не відповідає, додаток втрачає зв’язок з мережею та перестає працювати.

Щоб додаток не залежав від стану чужої RPC-ноди, розробник може запустити власну ноду. Це дорого: один лише хостинг ноди Solana коштує від $1000 в місяць, але ж ще потрібно виділити ресурси на її моніторинг та обслуговування.

Щоб не витрачати гроші, більшість розробників dApp користуються публічними RPC-нодами. Їх запускають інші компанії чи проєкти і надають до них доступ безкоштовно або за підписку. У них теж є недолік: зазвичай їх хостять на централізованих сервісах типу Google Cloud, Amazon Web Services чи Hetzner.

Hetzner на початку листопада заборонив хостинг нод Solana на своїй платформі. Його рішення спричинило вимкнення 22% нод Solana, а також збої в роботі dApp, які використовували RPC-ноди на цій платформі.

Ситуація з Hetzner ще раз продемонструвала, що покладатись лише на одну RPC-ноду, та ще й на централізованому сервісі для хостинга — небезпечно. Щоб бути в безпеці, децентралізованому додатку варто мати запасні RPC та систему моніторингу з’єднання і автоматичної маршрутизації запитів. Саме це й робить extrnode open-source load balancer.

Що таке extrnode open-source load balancer?

extrnode open-source load balancer розподіляє запити користувачів всередині кластеру публічних RPC-нод Solana. Він також автоматично перескеровує запити до інших активних RPC-ендпоїнтів, якщо поточна RPC-нода пішла в офлайн. Додатки, які будуть використовувати extrnode, завжди будуть мати запасні RPC та автоматичну маршрутизацію запитів, і будуть працювати набагато стабільніше, щоб не відбувалось всередині мережі.

extrnode забезпечує децентралізованим додаткам надійне з’єднання з блокчейном. Але в нього є ще кілька переваг:

  • extrnode open-source load balancer безкоштовний та простий: потрібно запустити образ в Docker, під’єднатись до нього — і все;
  • open-source load balancer виявляє географічно найближчі ноди та пріорітетизує їх по швидкості з’єднання;
  • extrnode драйвиться Web3-спільнотою. Користувачі можуть пропонувати ідеї та вносити зміни в вихідний код.

Чи є альтернативи extrnode?

Альтернативи є, і їх можна розділити на три категорії:

  • децентралізовані load balancer, які вимагають оплати в волатильних токенах проєкту за кожен запит;
  • централізовані load balancer, які дають доступ лише до кластеру RPC одного провайдера, чим підривають надійність та здатність продукту працювати під час атак на інфраструктуру;
  • саморобні load balancer. Вони рідкісні: потрібна команда зі специфічними знаннями, потужна інфраструктури для хостингу та підтримка з боку валідаторів мережі.

При використанні альтернатив розробникам доводиться обирати: або вкладати гроші в токени, або ризикувати стабільністю свого блокчейн-додатку.

Як extrnode open-source load balancer може допомогти блокчейн-розробникам?

При використанні extrnode розробники можуть бути впевнені, що у їхніх dApp завжди буде доступ до активної RPC. У випадку проблем їм не доведеться просити користувачів перемкнути RPC вручну, як це зараз роблять навіть найпопулярніші додатки.

На момент публікації Everstake випустив open-source версію load balancer. ЇЇ потрібно хостити на власній машині, і вона розподіляє запити додатків всередині кластера безкоштовних публічних RPC-нод Solana. Оскільки ніхто не може гарантувати стабільність та якість роботи публічних нод, Everstake рекомендує використовувати extrnode open-source load balancer лише для тестування додатків та самого extrnode в мейннеті.

В планах Everstake — зібрати відгуки, покращити продукт та випустити безкоштовний public load balancer, а також Premium-версію, які уже можна буде задіяти для роботи customer-grade dApp.

Щоб скористатись public load balancer, розробники будуть відправляти запити до RPC-endpoint extrnode. Load balancer на сервері проєкту автоматично прийматиме та маршрутизуватиме запити всередині кластеру нод, серед яких буде RPC-нода Everstake з аптаймом 99,9%.

Після випробування extrnode load balancer в мережі Solana команда сподівається адаптувати рішення для інших блокчейнів.

Чи безпечно користуватись load balancer?

extrnode open-source load balancer має стійкий до відмов механізм маршрутизації запитів. Але оскільки це новий продукт, команда закликає охочих тестувати його в мейннеті та ділитись відгуками, щоб розробники змогли його покращити.

Переконайтесь, що ви уже підписались на extrnode в Twitter та приєднались до нашого Discord проєкта. Так ви не пропустите оновлень, зможете задати питання та взяти участь в заходах для спільноти.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А не пiдiйде для цього якийсь звичайний proxy-сервер з балансировкою та health check’ом — haproxy, nginx? Прописав пачку цих RPC-серверiв i воно само запити вiдправляє лише активним серверам.

Саме так, власна нода + балансер зі списком RPC нод як бекап/резервні вузли, вже значно зменшують вірогідність бути відключеним, якщо твоя власна нода та декілька публічних перестали працювати або працюють нестабільно. І це саме те, для чого створений extrnode, за вийнятком лише того, що у фінальному продукті запити будуть йти не до публічних нод, а до приватних нод валідаторів з міцною і надійною інфраструктурою. extrnode випустили опенсорсний балансер, щоб у Solana dApp девелоперів була можливість, наприклад, протестувати свої додатки без значних інвестицій в обладнання.

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

Підписатись на коментарі