Зміст
1, Firedancer
2. Ключові моменти
3. Вступ
3.1 Назустріч Солані 2.0
4. Ранній етап верстки
5. Поточний статус клієнтів валідатора на Solana
6. Навіщо вам інший клієнт-валідатор?
7, Firedancer
7.1 Стек Firedancer
7.2 Модульна архітектура
7.3 Модель безпеки
8. Дорога в майбутнє
9. Висновок
10. Література
11. Заява
Firedancer
У наступному звіті ми глибше зануримося в Firedancer, досліджуючи його ціннісну пропозицію та роль, яку він відіграє в реалізації бачення, викладеного в оригінальній білій книзі Solana. Для багатьох його випуск стане першим кроком до Solana 2.0, розсуваючи межі апаратного та програмного забезпечення до крайності, вирішуючи проблеми існуючих клієнтів валідатора та переосмислюючи масштабованість, надійність та ефективність мережі.
Ключові висновки
Бачення Solana зосереджено на апаратному забезпеченні, віра в лінійну масштабованість із законом Мура за умови, що оптимізація програмного забезпечення може йти в ногу.
У поточному стані існуючі валідатори стикаються з проблемами продуктивності та масштабованості, насамперед через обмеження програмного забезпечення, а не апаратного забезпечення.
Відмовостійкість мережі Solana залежить від диверсифікації клієнтів валідатора, щоб зменшити ризик збою системи та підвищити відмовостійкість. Представлення Firedancer, нового стороннього клієнтського програмного забезпечення для валідації, знаменує собою крок до підвищення цієї стійкості, сприяючи різноманітності клієнтів і вирішуючи проблему залежності Solana від обмеженої кількості клієнтів.
Методологія Firedancer, запущена командою Jump Crypto, базується на високоефективній глобальній торговій системі, що є природним підходом для оптимізації Solana з кінцевою метою роботи на межі фізичних і теоретичних обмежень.
Незважаючи на те, що розробка Firedancer є важливою віхою, постійні зусилля щодо документації, сумісності та управління спільнотою є критично важливими для еволюції Solana у відкритий стандарт.
вступ
Історія Solana почалася в 2017 році, коли Анатолій Яковенко випустив оригінальну білу книгу з описом Proof of History. Це малює бачення створення блокчейну, який може подолати проблеми масштабованості існуючих рішень. Його було розроблено як високопродуктивну платформу з низькою затримкою — блокчейн, який міг би створити механізм торгівлі, який міг би конкурувати з Nasdaq.
Базуючись на оригінальній концепції, запропонованій Анатолієм і командою засновників, якщо програмне забезпечення не заважає апаратному забезпеченню, загальна мережева продуктивність блокчейну може зростати лінійно з розвитком апаратного забезпечення - як описано законом Мура, кількість транзисторів в інтегральній схемі приблизно кожні два подвоєння щороку з мінімальним зростанням витрат. Якщо припустити, що програмне забезпечення є оптимальним, показники продуктивності Solana можуть подвоюватися кожні два роки без подальших оновлень.
Джерело: Medium
Однак, незважаючи на те, що продуктивність може підвищуватися з удосконаленням апаратного забезпечення, ефективний зв’язок вузлів має вирішальне значення, щоб запобігти перетворенню пропускної здатності мережі на вузьке місце та уникнути затримок у мережі. Це має вирішальне значення для запобігання будь-якої форми затримки мережі, навіть із прогресивним апаратним забезпеченням.
Клієнт валідатора Solana наразі має деякі обмеження, які можуть вплинути на його продуктивність і масштабованість, а також проблеми з надійністю мережі через недостатню різноманітність. Більшість із цих обмежень є програмними, а не обмеженнями апаратного рівня. Кевін Джей Бауерс — дослідник високопродуктивних систем у Jump, який відповідає за просування проекту Firedancer. Він відомий своєю перебільшеною заявою: «Швидкість світла надто повільна». Маючи десятиліття досвіду розробки високопродуктивних глобальних торгових систем, Jump сподівається підвищити надійність Solana шляхом створення незалежного клієнта-валідатора Firedancer.
Джерело: Solana
Firedancer не розроблений як короткострокове рішення, просто дивлячись у минуле. Він розроблений, щоб розширити межі обчислювальної потужності, забезпечити масштаб і надійність і працювати на межі фізики та теорії.
До Solana 2.0
У традиційній розробці операції зазвичай розглядаються з точки зору простору даних, а не з точки зору фізичного простору. Цей погляд неминуче обмежений фізичними обмеженнями, такими як швидкість світла, що призводить до поганого використання обладнання та низької продуктивності системи.
Джерело: Revelo Intel
Це призводить до поганого використання обладнання, оскільки традиційна практика розробки часто ігнорує фізичні обмеження. Іншими словами, масштабованість системи обмежена не апаратним забезпеченням, а неефективністю програмного забезпечення. Є відомий вислів, який звучить так: «Швидше апаратне забезпечення є поганим основним рішенням для повільного програмного забезпечення».
Jump Trading безпосередньо справляється з цими викликами, еволюціонуючи від традиційної системи торгівлі до високоспеціалізованого стеку технологій. Ця трансформація спрямована на вирішення унікальних проблем глобальної торгівлі, де фізична близькість до бірж, неоднорідні ринкові вимоги та суворі операційні стандарти є критично важливими.
На відміну від традиційних суперкомп’ютерів, система Jump має бути швидкою, прозорою відмовостійкою та здатною до поступового оновлення. Їм потрібно працювати в різноманітному, конкурентному та суворо регульованому середовищі із суворими стандартами збереження даних і звітності. Просто додати більше обладнання до Solana недостатньо. Натомість оптимізація програмного забезпечення є ключовою, і Firedancer наближає його до досягнення цих цілей.
Для довідки, один валідатор, на якому працює Firedancer, обробив 1,2 мільйона TPS під час живої демонстрації в листопаді 2022 року, хоча більшість оцінок вказує на 600 тис. TPS як більш реалістичне число. Ця кількість у кілька разів перевищує поточний теоретичний ліміт Solana у 50 тис. TPS і значно перевищує обсяг транзакцій, який зазвичай обробляють провідні постачальники послуг, такі як Visa (приблизно 1,5–2 тис. TPS).
Джерело: Twitter
Firedancer представляє зміну парадигми в архітектурі та функціональності клієнта валідатора Solana. Йдеться не лише про створення клієнта валідатора, а про створення високонадійного клієнта, орієнтованого на продуктивність, який покращує і без того швидкий і ефективний блокчейн Solana.
Джерело: Frictionless Capital
Із запуском Firedancer Jump відкриває новий етап, який багато хто називає Solana 2.0. Використовуючи багаторічний досвід у високочастотних торгових середовищах, додавання цього майбутнього клієнта незалежного валідатора до набору інструментів Solana допоможе зробити мережу більш надійною, ефективною та міцною.
Джерело: Revelo Intel
Solana виділяється своєю надзвичайною швидкістю та останніми рішеннями для вирішення проблем простою системи. Проте є потенціал для подальшого вдосконалення. Firedancer прагне стати найефективнішим клієнтом валідатора в блокчейнах, вирішуючи поточну надмірну залежність від кількох клієнтів за рахунок збільшення різноманітності клієнтів Solana.
Джерело: Github
Підготуйте сцену
У Solana валідатори беруть участь у консенсусному механізмі підтвердження участі Solana, щоб підтверджувати транзакції та пропонувати нові блоки для додавання до ланцюжка.
Джерело: Revelo Intel
Таким чином, власники токенів Solana ($SOL) можуть брати участь у консенсусі та отримувати винагороди за ставки, заблокувавши свої токени $SOL у вузлах валідатора.
Джерело: Revelo Intel
Proof of Stake (PoS) надає як позитивні, так і негативні стимули. Учасники повинні мати фінансову заставу як заставу. Якщо валідатор порушує правила, частина його ставки буде «зрізана» як штраф. В іншому випадку вони отримають винагороду за ставки.
Щоб завершити свою роботу та з’єднатися з іншими вузлами в мережі, валідатори повинні використовувати клієнти перевірки, програми, які дозволяють їм брати участь у консенсусі. Це програмне забезпечення, яке дозволяє перевіряти та підтверджувати транзакції, щоб переконатися, що вони відповідають правилам мережі.
Різні клієнти валідатора можуть містити різний код, але всі вони мають реалізовувати однакову логіку. Це важливо, тому що якщо в одного клієнта виникне помилка або збій, вузли, на яких запущені інші клієнти, зможуть підтримувати мережу в режимі онлайн і запобігати простою мережі.
Джерело: Revelo Intel
Збільшення різноманітності клієнтів означає більшу стійкість і захист у разі можливих помилок або вразливостей у клієнтському коді валідатора. Наприклад, у 2016 році зловмисники виявили помилку в geth-клієнті Ethereum і почали серію DDoS-атак (розподілена відмова в обслуговуванні) в мережі. Для захисту від таких атак рішення полягає в тому, щоб оператори вузлів швидко перемикалися на інший клієнт, щоб підтримувати мережу в робочому стані, поки вразливість виправляється.
Поточний статус клієнта валідатора Solana
На даний момент Solana має приблизно 1649 валідаторів, що робить її однією з мереж PoS з найбільшою кількістю вузлів і однією з найбільш поширених за коефіцієнтом Сатоші Накамото. Наразі серед клієнтів валідатора Solana є Solana Lab Client і Jito Lab Client, які володіють 68% і 32% активного капіталу відповідно. Хоча зростання кількості клієнтів Jito Labs протягом 2023 року відіграє ключову роль у диверсифікації мережі, все ще потрібні додаткові зусилля.
Клієнт Jito є форком клієнта Solana Labs, за винятком того, що він вводить псевдопул пам’яті (оскільки в Solana немає пулу пам’яті) для оптимізації MEV. Це дає змогу валідаторам шукати в мемпулі непідтверджені транзакції або транзакції, що очікують на розгляд, оптимально об’єднувати їх разом, а потім надсилати їх до механізму блокування Jito.
Джерело: Revelo Intel
Однак той факт, що це форк, означає, що обидва клієнти спільно використовують багато компонентів, розроблених у вихідній базі коду. Таким чином, якщо в оригінальному клієнті Solana Labs є якісь невиявлені вразливості або помилки, це вплине на обидва клієнти.
Надалі, крім двох існуючих клієнтів (Solana Labs і Jito) і Firedancer, над новими клієнтами працюють дві незалежні команди. Це дає загалом 5 валідаторів, три з яких використовують Rust (Solana Labs, Jito та Agave, розроблені Anza), один використовує C (Firedancer) і один використовує Zig (Sig, розроблений Syndica).
Навіщо мені інший клієнт валідатора?
Для Solana важливо мати інший клієнт-валідатор, як-от Firedancer, оскільки це підвищує стійкість і продуктивність мережі. Різноманітні клієнти перевірки зменшують ризик збою системи, оскільки різні клієнти можуть по-різному реагувати на ті самі проблеми з мережею.
Джерело: Solana
Різноманітність перевірених програмним забезпеченням клієнтів гарантує, що одна помилка чи вразливість в одному клієнті не зашкодять усій мережі. Крім того, такі професійні клієнти, як Firedancer, можуть підвищити продуктивність відповідно до унікальних потреб Solana, ще більше підвищуючи ефективність і надійність мережі.
Джерело: Revelo Intel
Коли в мережі працює кілька різних клієнтів, малоймовірно, що вони мають однакову вразливість. Якщо один клієнт виходить з ладу через конкретну помилку або атаку, інші клієнти з іншою архітектурою можуть не постраждати, забезпечуючи безперервність і стабільність мережі.
Джерело: Revelo Intel
Інша проблема полягає в тому, що поточні клієнти (Solana Labs і Jito) працюють як єдиний процес, що ускладнює внесення змін після того, як код працює у виробництві. Наприклад, валідатори, які запускали ці клієнти, були змушені вимкнутися, коли їм потрібно було впровадити негайне оновлення безпеки. Усі розподілені системи — централізовані платіжні процесори, бази даних чи блокчейни — мають одну спільну рису. Одна помилка реалізації може вивести з ладу всю систему.
Крім того, жодне тестування не може запобігти всім можливим помилкам. Ось чому важливо підтримувати кілька клієнтів у робочому середовищі, особливо для блокчейну, розробленого для досягнення нульового простою та збереження крихкості на межі.
В ідеалі може бути 4 клієнти, розроблені незалежними командами з використанням різних мов програмування, кожен з яких контролює 25% активних акцій. Таким чином, жодна реалізація не контролюватиме більше ніж 33% активних спільних ресурсів, допомагаючи запобігти окремим точкам відмови.
Джерело: Revelo Intel
Окрім покращення продуктивності, Jump створює новий клієнт-валідатор для Solana, щоб підвищити надійність мережі. Наприклад, у Solana в минулому було чотири випадки, коли виробництво блоків було зупинено через проблеми в програмних модулях, які вплинули на консенсус. Зазвичай ці проблеми вирішуються координацією валідаторів на Discord і вимагають виправлення вручну.
Коли Firedancer буде запущено, буде простіше застосувати ті самі оптимізації в усіх інших клієнтах. Наприклад, Jito розробляє JitoDancer, який запровадить необхідні оптимізації для роботи з Firedancer.
Firedancer
Firedancer є переписаним поточним клієнтом валідатора Solana на C, що гарантує відсутність помилок із оригінальної кодової бази.
Він був розроблений Jump з нуля. Використовуючи свій досвід у сфері високочастотної торгівлі, Jump є однією з найздатніших команд, які розробляють таку високопродуктивну, малозатримкову та відмовостійку систему.
Джерело: Revelo Intel
Код є відкритим, що дозволяє будь-кому переглянути та зрозуміти оптимізацію, що розробляється. Зараз Кевін Бауерс очолює команду, яка продовжує розширювати межі технологій у високопродуктивних середовищах. Їхній досвід у сфері оптимізованої оркестровки даних, користувальницьких стеків технологій і масштабування глобальної системи є неперевершеним.
Як і Jump, Solana потребує надійної, гнучкої та ефективної інфраструктури для підтримки екосистеми, що розвивається. Запровадження Firedancer, незалежного другого валідатора, є кроком до цієї мети. Firedancer створений для глобального масштабування, поступового розвитку, відмовостійкості та відкритості для широкої спільноти. Його розробка є відкритою, запрошує до співпраці та відгуків від спільноти Solana.
Джерело: Revelo Intel
В іншому випадку клієнт все ще сумісний з клієнтами Solana Labs і Jito Labs, хоча вони написані на Rust. Клієнт Firedancer також буде сумісний із наявним апаратним забезпеченням, що використовується валідаторами Solana, не змушуючи їх оновлюватись до нових машин. За допомогою Firedancer Solana буде масштабуватися за допомогою пропускної здатності та апаратного забезпечення.
Бачення Firedancer просте: кожен компонент має бути оптимізований для досягнення максимальної продуктивності, щоб можливість роботи клієнта обмежувалася лише апаратним забезпеченням валідатора. Порівняйте це з поточним станом, де продуктивність валідатора обмежена неефективністю програмного забезпечення.
Стек технології Firedancer
Firedancer було створено шляхом переписування трьох основних функціональних компонентів клієнта Solana Labs з нуля на C, оптимізуючи кожну окрему частину, щоб підвести клієнт до меж апаратного забезпечення.
Джерело: Revelo Intel
За своєю суттю Firedancer — це більше, ніж просто валідатор; це свідчення віри Jump у розсунення кордонів та інновації на стику технологій і фінансів — з метою оптимізації пропускної здатності транзакцій і зниження витрат.
Джерело: Revelo Intel
Оптимізуючи ці ключові компоненти, Firedancer гарантує, що масштабування Solana в основному обмежується апаратним забезпеченням клієнта, а не самим програмним забезпеченням. Це узгоджується з оригінальним баченням Solana, запропонованим Анатолієм багато років тому: розробити спосіб ефективного зв’язку між вузлами, щоб пропускна здатність більше не була вузьким місцем.
У світі високопродуктивних обчислень все має бути оптимізовано. Цей підхід узгоджується із законом Мура, який стверджує, що кількість транзисторів на мікрочіпі подвоюється приблизно кожні два роки, що призводить до збільшення обчислювальної потужності та зниження вартості транзистора.
Масштабованість Firedancer тісно пов’язана з кількістю транзисторів у мікрочіпі, оскільки більше транзисторів означає більше фізичного простору на поверхні чіпа. У результаті розробники чіпів можуть додати більше ядер, забезпечуючи більшу пропускну здатність Solana. Це дозволяє масштабувати мережу в міру покращення пропускної здатності та апаратного забезпечення, зберігаючи достатній рівень децентралізації.
Джерело: Revelo Intel
У контексті Solana мати більше процесорних ядер означає можливість виконувати більше транзакцій паралельно. Це призводить до значного збільшення пропускної здатності даних, оскільки кілька транзакцій можуть оброблятися одночасно, не чекаючи одна одної.
Ранні моделювання показують, що пропускна здатність зростає майже лінійно зі збільшенням кількості ядер. Іншими словами, подвоєння кількості ядер в апаратному забезпеченні валідатора призведе до майже подвоєння кількості транзакцій, які валідатор отримує за той самий проміжок часу.
Модульна архітектура
Модульна архітектура Firedancer виділяє його серед існуючих клієнтів. Ця модульність стосується його внутрішньої структури та призначена для підвищення ефективності та надійності процесу перевірки мережі. Це не слід плутати з більш широкою дискусією щодо архітектури блокчейну, яка зосереджена на тому, як структурована та працює сама мережа блокчейну.
Останній передбачає обговорення розподілу праці в екосистемі блокчейну, наприклад, розділення рівнів консенсусу, виконання та доступності даних, концепція, яка безпосередньо не пов’язана з принципами проектування чи функціональністю Firedancer.
Джерело: Revelo Intel
Firedancer використовує плиткову архітектуру, де кожна плитка є незалежним процесом Linux C з деякою пам’яттю. Натомість поточні клієнти Rust працюють як єдиний процес.
У цьому контексті процес відноситься до екземпляра запущеної програми. Наприклад, сучасні операційні системи працюють, розподіляючи пам’ять і ресурси для різних процесів, кожен з яких виконує певні завдання.
Джерело: Revelo Intel
Плитки, як незалежні процеси, мають ряд переваг перед однопроцесними системами. Вони ізолюють збої, керуючи станом валідатора в різних робочих областях, гарантуючи, що проблеми з однією плиткою не впливають на всю систему.
Ця ізоляція також спрощує технічне обслуговування та оновлення, оскільки окремі плитки можна модифікувати або замінювати окремо без зупинки всієї системи. Наприклад, під час перезавантаження або оновлення кожна плитка може продовжити обробку з того місця, на якому вона була зупинена.
Крім того, плитки краще використовують ресурси, оскільки кожна плитка може працювати на окремому ядрі ЦП, уникаючи конфлікту ресурсів і оптимізуючи продуктивність. Ці фактори роблять плитки більш надійними, гнучкими та ефективними, ніж однопроцесні підходи.
Попереднє тестування показує підвищення продуктивності в 10-100 разів порівняно з клієнтом Solana Labs, коли кожне ядро GPU обробляє більше 1 мільйона транзакцій під час тестування.
Джерело: Revelo Intel
модель безпеки
Одним із компромісів між мовою C і Rust є те, що мова C не має гарантії безпеки пам’яті, яку надає Rust. Щоб захиститися від таких ситуацій, Jump використовує практику під назвою «пісочниця операційної системи», що в основному означає ізоляцію різних процесів (плиток) від операційної системи.
Дотримуючись принципу найменших привілеїв, плитки можуть отримувати доступ лише до системних ресурсів і виконувати системні виклики, які їм абсолютно необхідні для виконання їхньої роботи. Фактично, поглиблені дослідження в галузі безпеки пам’яті мови C спонукали команду прийняти змагальний спосіб мислення та максимально зменшити поверхню атаки. Якщо плитки не ізольовані, атака може завдати шкоди всій мережі, якщо вони успішно використають вразливість для впливу на кілька валідаторів.
Цей підхід визнає, що не існує такого поняття, як «ідеальний код», і що деякі вразливості або діри в безпеці неминуче будуть представлені. Однак для захисту від цих сценаріїв Jump використовує стратегію поглибленого захисту, тож навіть якщо зловмиснику вдається скомпрометувати фрагмент коду, масштаб впливу обмежений і не впливає на інші частини технологічного стеку.
дорога попереду
Безсумнівно, початок виробництва Firedancer є важливою віхою для Solana, і багато хто називає його Solana 2.0. Тим не менш, попереду є виклики з точки зору безпеки.
Незважаючи на переваги, які приносить Firedancer, йому все одно потрібно точно повторювати поведінку існуючих клієнтів. В іншому випадку можуть виникнути помилки консенсусу через несумісність.
Один зі способів вирішення цих проблем — розподілити відсоток частки між обома клієнтами з метою утримання загальної частки Firedancer нижче 33% у довгостроковій перспективі.
Найважливіше, що слід враховувати, це те, що кодова база не може бути розроблена ізольовано. Ось чому Jump продовжує оцінювати продуктивність на основі можливостей наявних клієнтів Labs.
Ще одна проблема, з якою зараз стикається Jump, — відсутність специфікацій і стандартизованої документації. З позитивного боку, це зміниться.
Нові реалізації мають бути обережними, щоб не вводити нових помилок, не відстаючи від швидкості розробки. У результаті Jump зробив покращення документації Solana одним із своїх пріоритетів.
Після того, як Jump надасть фактичні файли специфікацій, які визначають протокол Solana, будь-хто зможе створити валідатор Solana, просто звернувшись до документації, а не до коду валідатора.
Це не тільки допоможе Firedancer залишатися сумісним з часом, але ця вичерпна документація також буде критично важливою для інших незалежних команд, які створюють власних клієнтів. Зрештою, навіть якщо мережа зможе використати десятиліття досвіду Jump, кінцева мета Solana — стати відкритим стандартом, керованим різноманітною спільнотою учасників.
на закінчення
Таким чином, незважаючи на те, що Firedancer є лише окремим клієнтом перевірки для Solana, його впровадження є важливою віхою для мережі.
Firedancer створено для підвищення надійності, продуктивності та різноманітності клієнтів Solana, а також для усунення поточної надмірної залежності від кількох клієнтів.
Цей крок узгоджується з баченням Solana щодо розробки ефективного способу спілкування вузлів, який масштабується за допомогою вдосконалення апаратного забезпечення, а не обмежений неефективністю програмного забезпечення.
Список літератури
Біла книга Солани
Валідатори Solana
Клієнт Solana Labs
Клієнт Jito Labs
Клієнт Firedancer
Tinydancer – перший легкий клієнт Солани
Стрибок проти швидкості світла
Геліус: Що таке Firedancer?
Firedancer Docs
Випендрюватися
Ми ніколи не мали комерційних відносин із Solana чи Jump Crypto, і цей звіт жодним чином не фінансувався чи не замовлявся.
Члени нашої команди, включаючи тих, хто безпосередньо бере участь у описаному вище аналізі, можуть займати позиції в обговорюваних монетах.
Цей вміст призначено лише для освітніх цілей і не є фінансовою чи інвестиційною порадою. Ви повинні провести власне дослідження та інвестувати лише те, що можете дозволити собі втратити. Ми дослідницька платформа, а не інвестиційний чи фінансовий консультант.
Джерело інформації для цієї статті: revelointel