Історія зростання зростання в даний час є найбільшим вузьким місцем у Ethereum розширенні. Дивно, але історична зростання стала більшою проблемою, ніж державна зростання. Протягом кількох років історичні дані перевищать лонг Ethereum Нода обсяг сховища.
Ось хороші новини:
Історична зростання є набагато простішою проблемою для вирішення, ніж державна зростання.
Рішення вже знаходиться на стадії активної розробки.
Звернення до історичної зростання пом'якшить державні зростання проблеми.
У цій публікації ми продовжимо розглядати Ethereum проблема масштабування у Частині 1, а тепер звернемо увагу з державної зростання на історичні зростання. Використовуючи деталізовані набори даних, наші цілі полягають у тому, щоб: 1) технічно зрозуміти вузькі місця масштабування Ethereum та 2) допомогти розпочати дискусію навколо оптимального рішення газ обмежень Ethereum.
Що таке історичний зростання?
Історія - це сукупність всіх блоків і транзакцій, виконаних Ethereum протягом усього терміну її існування, і це всі дані від Блок генезису до поточного Блок. Історичне зростання - це зростання нових блоків і нових транзакцій з плином часу.
На рисунку 1 показано взаємозв'язок між історичними зростання та різними показниками протокол та Ethereum Нода апаратними обмеженнями. У порівнянні з зростання стану, історичні зростання обмежені іншим набором апаратних обмежень. Історичні зростання чинять тиск на мережевий IO, оскільки нові Блок та транзакції повинні передаватися по всій мережі. Історичні зростання також можуть чинити тиск на Нода шорт зберігання, оскільки кожен Ethereum Нода зберігає повну копію історії. Якщо історична швидкість зростання буде достатньо високою, щоб перевищити ці апаратні межі, Нода лонгуючий не зможе досягти стабільного Консенсус зі своїм Нода. Огляд зростання станів та інших вузьких місць масштабування дивіться Частину 1 цієї серії.
Рисунок 1: Ethereum вузьке місце масштабування
До недавнього часу більша частина пропускної здатності мережі на вузол використовувалася для передачі історії (наприклад, нових блоків і транзакцій). Ситуація змінилася з появою плям у Хардфорк Денкуна. Blob-об'єкти тепер рахунок для значної частини Нода мережевої активності. Однак, блоби не вважаються частиною історії, тому що 1) вони зберігаються вузлами лише протягом 2 тижнів, а потім відкидаються, і 2) їм не потрібно повторювати дані з моменту створення Ethereum. Через (1) краплі суттєво не збільшують навантаження на зберігання на Ethereum Нода. Про краплі ми поговоримо далі в цій статті.
У цій статті ми зосередимося на історичних зростання та обговоримо взаємозв'язок між історією та державою. Оскільки зростання стану та історичні зростання мають деякі апаратні обмеження, що перекриваються, вони пов'язані між собою, і вирішення однієї проблеми може допомогти вирішити іншу.
Як швидко зростання лонг історія?
На рисунку 2 показаний історичний показник зростання з моменту створення Ethereum. Кожна вертикальна лінія позначає зростання місяця. Вісь Y відображає кількість k ексабайт історичної зростання у цьому місяці. Транзакції класифікуються за їхніми «Адреса призначення» і використовують байти RLP() для позначення розміру. Контракти, які не можна легко ідентифікувати, класифікуються як «невідомі». Категорія «Інше» включає низку підкатегорій, як-от інфраструктура та ігри.
Рисунок 2: Ethereum історичний показник зростання у часі
Кілька ключових висновків з наведеної вище діаграми:
Історичний показник зростання у 6-8 разів швидший, ніж зростання штату: Історичний показник зростання нещодавно досяг піку в 36,0 ГіБ/місяць, а зараз становить 19,3 ГіБ/місяць. Ставка державного зростання досягла піку близько 6,0 ГіБ/місяць і наразі становить 2,5 ГіБ/місяць. Порівняння історії та держави з точки зору зростання та сукупного розміру буде описано далі в цій статті.
До Декуна темпи історичного зростання прискорювалися: хоча держава була приблизно лінійною зростання протягом лонг років (див. Частину 1), історія була зростання надлінійною. Враховуючи, що швидкість зростання лінійного зростання призводить до квадратичного зростання загальної шкали, зростання швидкість надлінійного зростання призводить до того, що загальний розмір перевищує квадратичний зростання. Це прискорення різко припиняється слідом за Денкуном. Це перший випадок, коли Ethereum зазнала значного Падіння в історичному зростання показнику.
Більшість нещодавніх історичних зростання походить від Rollups: кожен L2 публікує копію своєї транзакції до Основна мережа. Це породило велику кількість історичних зростання і призвело до того, що Rollup зробив найбільший внесок в історичне зростання за останній рік. Однак Dencun дозволяє L2 публікувати дані про свої транзакції, використовуючи блоби замість історії, тому Rollups не лонгуючий генерувати більшу частину Ethereum історії. Далі в цій статті ми детальніше розглянемо Rollups.
Хто зробив найбільший внесок в історичний зростання Ethereum?
Історична кількість згенерованих різних класів контрактів показує, як моделі використання Ethereum змінювалися з плином часу. На рисунку 3 показані відносні внески різних категорій контрактів. Це нормалізується до тих самих даних, що й на рисунку 2.
Рисунок 3: Внесок різних класів контрактів в історичні зростання
Ці дані показують чотири різні періоди використання Ethereum:
Ранній (фіолетовий): У перші кілька років Ethereum було мало у блокчейні активності. Великі лонг цих ранніх контрактів зараз важко ідентифікувати, і вони позначені на графіку як «невідомі».
ERC-20 епоха (зелений): Стандарт ERC-20 був доопрацьований наприкінці 2015 року, але не набув значного розвитку до 2017 та 2018 років. ERC-20 контракти стали найбільшим джерелом історичної зростання у 2019 році.
DEX / Децентралізоване фінансування Era (Brown): DEX і Децентралізоване фінансування контракти з'явилися на у блокчейні ще в 2016 році і почали набирати обертів в 2017 році. Але лише влітку 2020 року вони стали найбільшою категорією зростання Децентралізоване фінансування усіх часів. Контракти на Децентралізоване фінансування та DEX становили понад 50% від історичної зростання за частину 2021 та 2022 років.
Ера зведення (сірий): На початку 2023 року L2 Rollups почали виконувати лонгуючий транзакцій, ніж Основна мережа. За місяці, провідний до Денкуна, вони згенерували близько 2/3 історії Ethereum.
Кожна епоха являє собою більш складну схему використання Ethereum, ніж будь-коли раніше. З часом складність можна розглядати як форму масштабування Ethereum, яку не можна виміряти простими показниками, такими як кількість транзакцій за секунду.
В останньому місяці даних (квітень 2024 року) Rollups не лонгуючий створити більшу частину історії. Неясно, чи походить майбутня історія від DEX і Децентралізоване фінансування, чи з'являться якісь нові моделі використання.
А як щодо крапель?
Денкун Хардфорк кардинально змінив динаміку історичного зростання, ввівши блоби, дозволивши роллапи публікувати дані, використовуючи дешеві блоби замість історії. Малюнок 4 підсилює історичний зростання до і після оновлення Dencun. Графік схожий на малюнок 2, за винятком того, що кожна вертикальна лінія представляє день, а не місяць.
Рисунок 4 Вплив :D енкуна на історичні зростання
З цієї діаграми можна зробити кілька ключових висновків:
Історичний зростання роллапи знизився приблизно на 2/3 з часів Денкуна: великі лонг роллапи були перетворені з даних дзвінків на блоби, що значно зменшує обсяг історії, яку вони генерують. Однак станом на квітень 2024 року все ще є деякі роллапи, які ще не були перетворені з даних дзвінків на блоби.
Загальна кількість зростання за весь час впала приблизно на 1/3 з часів Денкуна: Денкун лише Падіння зростання за весь час роллапи. Спостерігалося незначне зростання історичних зростання за іншими категоріями контрактів. Навіть після Денкуна історичний зростання все ще у 8 разів перевищує зростання штату (докладніше див. наступний розділ).
Незважаючи на те, що краплі мають Падіння історичну зростання швидкість, вони все одно є новою особливістю Ethereum. Неясно, на якому рівні історична швидкість зростання стабілізується в присутності крапель.
Чи є лонг швидким історичним зростання прийнятним?
Збільшення ліміту газ збільшить історичний показник зростання. Таким чином, пропозиції щодо збільшення ліміту газ, такі як «Pump the Gas», повинні враховувати рахунок взаємозв'язок між історичними зростання та вузькими місцями апаратного забезпечення кожної Нода.
Щоб визначити прийнятну історичну швидкість зростання, ви повинні спочатку зрозуміти, як лонг ваше поточне обладнання Нода може підтримувати лонг з точки зору мережі та сховища. Мережеве обладнання, можливо, зможе підтримувати статус-кво нескінченно довго, оскільки історичні темпи зростання навряд чи повернуться зростання до своїх піків, які були до Денкуна, доки газ ліміти не будуть збільшені. Однак тягар зберігання історії з часом зростає. Згідно з поточною стратегією зберігання даних, диск зберігання кожного Нода в кінцевому підсумку буде заповнений історією.
На рисунку 5 показано Ethereum Нода навантаження на зберігання в часі та прогнозовано зростання навантаження на зберігання протягом наступних 3 років. Прогноз ґрунтується на показнику зростання у квітні 2024 року. Цей показник зростання може зростання або зменшуватися в міру того, як змінюються майбутні моделі використання або обмеження газ.
Рисунок 5: Розмір історії, стану та повного навантаження на сховище вузлів
З цього графіка можна зробити кілька ключових висновків:
Історія займає приблизно в 3 рази більше, ніж держава. Ця різниця також зростає з часом, оскільки історичне зростання відбувається приблизно у 8 разів швидше, ніж держава.
1,8 TiB - це критичний поріг, при якому Xu лонг Нода буде змушений оновити свої накопичувачі. 2 ТБ – це загальний розмір жорсткого диска для зберігання даних, який забезпечує лише 1,8 ТБ корисного короткого простору. Зверніть увагу, що TB (1 трильйон байт) є іншою одиницею, ніж TiB (= 1024^4 байти). Для операторів Xu лонг Нода критичний поріг «істинний» є ще нижчим, оскільки валідатор після злиття повинен працювати разом із клієнтом Консенсус виконання.
Критичний поріг буде досягнутий через 2-3 роки. Підняття ліміт газу на будь-яку величину відповідно прискорить час. Досягнення цього порогу покладе значне навантаження на Нода операторів і вимагатиме придбання додаткового обладнання (наприклад, дисків NVME вартістю 300 доларів США).
На відміну від даних про стан, історичні дані доступні лише для додавання та найдовше доступні рідше. Тому теоретично можна зберігати історичні дані окремо від державних даних на більш дешевому носії. Цього можна досягти з деякими клієнтами, такими як Geth.
На додаток до ємності сховища, мережевий IO є ще одним серйозним обмеженням історичної зростання. На відміну від ємності сховища, мережеві обмеження вводу-виводу не викличуть проблем для вузлів у короткостроково, але ці обмеження стануть важливими для збільшення газ лімітів у майбутньому.
Щоб зрозуміти, як пропускна здатність мережі типового Ethereum Нода може підтримка лонг кілька історичних зростання, важливо знати взаємозв'язок між історичними зростання та різними показниками здоров'я мережі, такими як швидкість реорганізації, пропуски слотів, остаточні промахи, промахи доказів, промахи комітету синхронізації та Блок затримка. Аналіз цих показників виходить за рамки цієї статті, але більше лонг інформації можна знайти в попередніх дослідженнях здоров'я Консенсус шару. Крім того, проєкт Xatu фонду Ethereum створює публічні набори даних, щоб прискорити такий аналіз.
Як розв'язати проблему історичного зростання?
Історичне піднесення набагато легше вирішити, ніж державне піднесення. Майже повністю вона може бути вирішена за допомогою кандидатської пропозиції EIP-4444. Ця EIP змінює кожен Нода від збереження всієї Ethereum історичних даних до історичних даних лише за один рік. Після впровадження EIP-4444 зберігання даних не лонгуючий буде вузьким місцем для масштабування Ethereum, і в лонг перспективі ліміт газу збільшення не буде обмеженим. EIP-4444 необхідний для лонг-річної стійкості мережі, інакше історична швидкість зростання буде швидкою, а апаратне забезпечення мережевої Нода потрібно регулярно оновлювати.
На рисунку 6 показано вплив EIP-4444 на навантаження на зберігання кожного Нода протягом наступних 3 років. Це те ж саме, що і на малюнку 4, але з додаванням більш дрібної лінії для позначення навантаження на зберігання після впровадження EIP-4444.
Рисунок 6: Вплив EIP-4444 на навантаження на Ethereum Нода зберігання
Деякі ключові висновки можна зробити з цього графіка:
EIP-4444 Халвінг поточне навантаження на зберігання. Навантаження на сховище буде зменшено з 1,2 TiB до 633 GiB.
EIP-4444 стабілізує історичне навантаження на зберігання. Припускаючи постійну швидкість історичного зростання, історичні дані відкидаються з тією швидкістю, з якою вони генеруються.
Після EIP-4444 знадобиться найдовший час, щоб навантаження на Нода зберігання досягло того рівня, на якому воно є сьогодні. Це пов'язано з тим, що зростання стану буде єдиним фактором, який збільшує навантаження на зберігання, і стан зростання повільніше, ніж історичні зростання.
Після того, як EIP-4444 буде впроваджено, історичні зростання все одно запровадять певний рівень навантаження на зберігання, оскільки Нода зберігатиме річну історичну історію. Однак, навіть якщо Ethereum досягне глобальних масштабів, вирішити цей тягар буде нескладно. Після того, як метод ведення анамнезу виявиться надійним, однорічний термін придатності для EIP-4444 може бути скорочений до місяців, тижнів або навіть менше.
Як зберегти історію Ethereum?
EIP-4444 піднімає питання: якщо історію не рятує сама Ethereum Нода, то як її слід рятувати? Історія відіграє центральну роль у верифікації, обліку та аналізі Ethereum, тому дуже важливо зберегти історію. На щастя, ведення історії – це проста справа, яка вимагає лише 1/n чесних постачальників даних. Це контрастує з державними Консенсус питаннями, які вимагають від 1/3 до 2/3 учасників бути чесними. Нода оператори можуть перевірити автентичність історичних наборів даних, 1) повторно відтворивши всі транзакції, починаючи з Блок генезису, і 2) перевіривши, чи відтворюють ці транзакції той самий корінь стану, що й поточна сторона Блокчейн.
Є найдовші способи зберегти історію.
Торренти/P2P: Торренти є найпростішим та найнадійнішим методом. Ethereum Нода можете регулярно пакувати частину історії та ділитися нею у вигляді загальнодоступного торрент-файлу. Наприклад, Нода може створювати новий історичний торрент-файл кожні 100 000 блоків. Нода такі клієнти, як ерігони, вже виконують цей процес у дещо нестандартизованій манері. Щоб стандартизувати цей процес, усі Нода клієнти повинні використовувати однаковий формат даних, однакові параметри та однакову мережу P2P. Вузли зможуть вибирати, брати участь у цій мережі чи ні, виходячи зі своїх можливостей зберігання та пропускної здатності. Перевагою торрентів є використання високих відкритих стандартів, які вже підтримуються великою кількістю інструментів обробки даних.
Portal Network: Portal Network – це нова мережа, розроблена спеціально для розміщення Ethereum даних. Це підхід, схожий на торрент, але також пропонує деякі додаткові функції, які полегшують перевірку даних. Перевага Portal Network полягає в тому, що ці додаткові рівні перевірки надають легким клієнтам утиліти для ефективної перевірки та запиту спільних наборів даних.
Хмарний хостинг: Хмарні сховища, такі як S 3 від AWS або R 2 від Cloudflare, пропонують недорогий і високопродуктивний варіант для зберігання історії. Однак такий підхід несе лонг юридичні та операційні ризики, оскільки немає гарантії, що ці хмарні сервіси завжди будуть готові та зможуть розміщувати Криптоактиви дані.
Решта проблем впровадження лонгуючий соціальні, ніж технічні. Спільноті Ethereum необхідно узгоджувати конкретні деталі впровадження, щоб ордер інтегрувати їх безпосередньо в кожного Нода клієнта. Зокрема, виконання повної синхронізації з Блок генезису (замість Знімок синхронізації) вимагатиме отримання журналу від постачальника журналу, а не від Ethereum Нода. Ці зміни технічно не вимагають жорсткого форк, тому вони можуть бути впроваджені раніше, ніж наступна жорстка форк Ethereum, Pectra.
Усі ці методи ведення історії також можуть бути використані L2 для зберігання даних BLOB, які вони публікують у Основна мережа. У порівнянні з історичним збереженням, збереження ляпок 1) є складнішим, оскільки загальний обсяг даних становить лонгуючий; 2) Менш важливий, тому що краплі не потрібні, щоб відтворити Основна мережа історію. Тим не менш, збереження ляпок все ще необхідне для того, щоб кожен L2 відтворював свою власну історію. Тому певна форма збереження BLOB-об'єктів важлива для всієї екосистеми Ethereum. Крім того, якщо L2 розробить надійну інфраструктуру зберігання BLOB, вони також зможуть легко зберігати історичні дані L1.
Може бути корисним безпосередньо порівняти набори даних, що зберігаються різними конфігураціями Нода до та після EIP-4444. На малюнку 7 показано навантаження на зберігання для різних типів Ethereum Нода. Державні дані — це рахунки та контракти, історичні дані — Блок та транзакції, а архівні дані — це необов'язковий набір індексів даних. Кількість байтів у цій таблиці базується на останньому Знімок reth, але цифри для інших клієнтів Нода мають бути приблизно однаковими.
Малюнок 7: Навантаження на зберігання для різних типів Ethereum Нода
Інші слова
Архів Нода зберігає державні та історичні дані, а також архівні дані. Архів Нода можна використовувати, коли хтось хоче мати можливість легко запитувати історичний стан ланцюжка.
Повний вузол зберігає лише історичні та державні дані. Більшість сучасних лонг Нода – це Повний вузол. Навантаження на сховище повного вузла приблизно вдвічі менше, ніж у архівного Нода.
Повні ноди після EIP-4444 зберігають лише дані стану та історичні дані за останній рік. Це зменшує навантаження на Нода з 1,2 TiB до 633 GiB і зводить короткі терміни зберігання історичних даних до стабільного значення.
Вузли без стану, також відомі як «легкі вузли», не зберігають жодних наборів даних і можуть бути перевірені негайно в кінці ланцюжка. Цей тип Нода стає можливим після того, як до Ethereum додаються спроби Веркла або інші схеми державних зобов'язань.
Нарешті, існують додаткові EIP, які можуть обмежувати історичну ставку зростання, а не просто враховувати поточну ставку зростання. Це допомагає залишатися в межах обмежень мережевого вводу-виводу в короткостроково та обмежень сховища в довгостроково. Незважаючи на те, що EIP-4444 все ще необхідний для лонг-річної стійкості мережі, ці інші EIP допоможуть Ethereum ефективніше масштабуватися в майбутньому:
EIP-7623: Переоцінка даних про дзвінки, щоб зробити деякі транзакції з даними про дзвінки дорожчими. Здорожчання цих шаблонів використання змусить деякі з них перетворюватися з даних викликів на блоби. Це Падіння історичний показник зростання.
EIP-4488: накладає обмеження на загальну кількість даних про дзвінки, які можуть бути включені в кожен блок. Це накладе більш жорстке обмеження на швидкість зростання історії.
Ці EIP простіші в реалізації, ніж EIP-4444, тому вони можуть служити опціонами на шорт термін до того, як EIP-4444 надійде у виробництво.
Висновок
Мета цієї статті полягає в тому, щоб за допомогою даних зрозуміти 1) те, як працює історична зростання і 2) шляхи вирішення цієї проблеми. Значну частину лонг даних у цій статті важко отримати традиційними засобами, тому ми хотіли розкрити ці дані, щоб надати нове розуміння питань історичного зростання.
Історично склалося так, що зростання як вузьке місце для Ethereum експансії, їй приділялося недостатньо уваги. Навіть без збільшення ліміту газ, Ethereum поточні правила ведення історії змусять Xu лонг Нода оновити своє обладнання протягом кількох років. На щастя, це не складна для вирішення проблема. У EIP-4444 вже є чітке рішення. Ми вважаємо, що впровадження цього EIP має бути прискорене, щоб дозволити шорти для майбутніх газ збільшення ліміту.
Парадигма: детальне пояснення історії Ethereum зростання проблем та їх вирішення
Оригінальні автори: Сторм Сливкофф, Георгіос Константопулос
Оригінальна збірка: Luffy, Foresight News
Історія зростання зростання в даний час є найбільшим вузьким місцем у Ethereum розширенні. Дивно, але історична зростання стала більшою проблемою, ніж державна зростання. Протягом кількох років історичні дані перевищать лонг Ethereum Нода обсяг сховища.
Ось хороші новини:
У цій публікації ми продовжимо розглядати Ethereum проблема масштабування у Частині 1, а тепер звернемо увагу з державної зростання на історичні зростання. Використовуючи деталізовані набори даних, наші цілі полягають у тому, щоб: 1) технічно зрозуміти вузькі місця масштабування Ethereum та 2) допомогти розпочати дискусію навколо оптимального рішення газ обмежень Ethereum.
Що таке історичний зростання?
Історія - це сукупність всіх блоків і транзакцій, виконаних Ethereum протягом усього терміну її існування, і це всі дані від Блок генезису до поточного Блок. Історичне зростання - це зростання нових блоків і нових транзакцій з плином часу.
На рисунку 1 показано взаємозв'язок між історичними зростання та різними показниками протокол та Ethereum Нода апаратними обмеженнями. У порівнянні з зростання стану, історичні зростання обмежені іншим набором апаратних обмежень. Історичні зростання чинять тиск на мережевий IO, оскільки нові Блок та транзакції повинні передаватися по всій мережі. Історичні зростання також можуть чинити тиск на Нода шорт зберігання, оскільки кожен Ethereum Нода зберігає повну копію історії. Якщо історична швидкість зростання буде достатньо високою, щоб перевищити ці апаратні межі, Нода лонгуючий не зможе досягти стабільного Консенсус зі своїм Нода. Огляд зростання станів та інших вузьких місць масштабування дивіться Частину 1 цієї серії.
Рисунок 1: Ethereum вузьке місце масштабування
До недавнього часу більша частина пропускної здатності мережі на вузол використовувалася для передачі історії (наприклад, нових блоків і транзакцій). Ситуація змінилася з появою плям у Хардфорк Денкуна. Blob-об'єкти тепер рахунок для значної частини Нода мережевої активності. Однак, блоби не вважаються частиною історії, тому що 1) вони зберігаються вузлами лише протягом 2 тижнів, а потім відкидаються, і 2) їм не потрібно повторювати дані з моменту створення Ethereum. Через (1) краплі суттєво не збільшують навантаження на зберігання на Ethereum Нода. Про краплі ми поговоримо далі в цій статті.
У цій статті ми зосередимося на історичних зростання та обговоримо взаємозв'язок між історією та державою. Оскільки зростання стану та історичні зростання мають деякі апаратні обмеження, що перекриваються, вони пов'язані між собою, і вирішення однієї проблеми може допомогти вирішити іншу.
Як швидко зростання лонг історія?
На рисунку 2 показаний історичний показник зростання з моменту створення Ethereum. Кожна вертикальна лінія позначає зростання місяця. Вісь Y відображає кількість k ексабайт історичної зростання у цьому місяці. Транзакції класифікуються за їхніми «Адреса призначення» і використовують байти RLP() для позначення розміру. Контракти, які не можна легко ідентифікувати, класифікуються як «невідомі». Категорія «Інше» включає низку підкатегорій, як-от інфраструктура та ігри.
Рисунок 2: Ethereum історичний показник зростання у часі
Кілька ключових висновків з наведеної вище діаграми:
Хто зробив найбільший внесок в історичний зростання Ethereum?
Історична кількість згенерованих різних класів контрактів показує, як моделі використання Ethereum змінювалися з плином часу. На рисунку 3 показані відносні внески різних категорій контрактів. Це нормалізується до тих самих даних, що й на рисунку 2.
Рисунок 3: Внесок різних класів контрактів в історичні зростання
Ці дані показують чотири різні періоди використання Ethereum:
Кожна епоха являє собою більш складну схему використання Ethereum, ніж будь-коли раніше. З часом складність можна розглядати як форму масштабування Ethereum, яку не можна виміряти простими показниками, такими як кількість транзакцій за секунду.
В останньому місяці даних (квітень 2024 року) Rollups не лонгуючий створити більшу частину історії. Неясно, чи походить майбутня історія від DEX і Децентралізоване фінансування, чи з'являться якісь нові моделі використання.
А як щодо крапель?
Денкун Хардфорк кардинально змінив динаміку історичного зростання, ввівши блоби, дозволивши роллапи публікувати дані, використовуючи дешеві блоби замість історії. Малюнок 4 підсилює історичний зростання до і після оновлення Dencun. Графік схожий на малюнок 2, за винятком того, що кожна вертикальна лінія представляє день, а не місяць.
Рисунок 4 Вплив :D енкуна на історичні зростання
З цієї діаграми можна зробити кілька ключових висновків:
Незважаючи на те, що краплі мають Падіння історичну зростання швидкість, вони все одно є новою особливістю Ethereum. Неясно, на якому рівні історична швидкість зростання стабілізується в присутності крапель.
Чи є лонг швидким історичним зростання прийнятним?
Збільшення ліміту газ збільшить історичний показник зростання. Таким чином, пропозиції щодо збільшення ліміту газ, такі як «Pump the Gas», повинні враховувати рахунок взаємозв'язок між історичними зростання та вузькими місцями апаратного забезпечення кожної Нода.
Щоб визначити прийнятну історичну швидкість зростання, ви повинні спочатку зрозуміти, як лонг ваше поточне обладнання Нода може підтримувати лонг з точки зору мережі та сховища. Мережеве обладнання, можливо, зможе підтримувати статус-кво нескінченно довго, оскільки історичні темпи зростання навряд чи повернуться зростання до своїх піків, які були до Денкуна, доки газ ліміти не будуть збільшені. Однак тягар зберігання історії з часом зростає. Згідно з поточною стратегією зберігання даних, диск зберігання кожного Нода в кінцевому підсумку буде заповнений історією.
На рисунку 5 показано Ethereum Нода навантаження на зберігання в часі та прогнозовано зростання навантаження на зберігання протягом наступних 3 років. Прогноз ґрунтується на показнику зростання у квітні 2024 року. Цей показник зростання може зростання або зменшуватися в міру того, як змінюються майбутні моделі використання або обмеження газ.
Рисунок 5: Розмір історії, стану та повного навантаження на сховище вузлів
З цього графіка можна зробити кілька ключових висновків:
На відміну від даних про стан, історичні дані доступні лише для додавання та найдовше доступні рідше. Тому теоретично можна зберігати історичні дані окремо від державних даних на більш дешевому носії. Цього можна досягти з деякими клієнтами, такими як Geth.
На додаток до ємності сховища, мережевий IO є ще одним серйозним обмеженням історичної зростання. На відміну від ємності сховища, мережеві обмеження вводу-виводу не викличуть проблем для вузлів у короткостроково, але ці обмеження стануть важливими для збільшення газ лімітів у майбутньому.
Щоб зрозуміти, як пропускна здатність мережі типового Ethereum Нода може підтримка лонг кілька історичних зростання, важливо знати взаємозв'язок між історичними зростання та різними показниками здоров'я мережі, такими як швидкість реорганізації, пропуски слотів, остаточні промахи, промахи доказів, промахи комітету синхронізації та Блок затримка. Аналіз цих показників виходить за рамки цієї статті, але більше лонг інформації можна знайти в попередніх дослідженнях здоров'я Консенсус шару. Крім того, проєкт Xatu фонду Ethereum створює публічні набори даних, щоб прискорити такий аналіз.
Як розв'язати проблему історичного зростання?
Історичне піднесення набагато легше вирішити, ніж державне піднесення. Майже повністю вона може бути вирішена за допомогою кандидатської пропозиції EIP-4444. Ця EIP змінює кожен Нода від збереження всієї Ethereum історичних даних до історичних даних лише за один рік. Після впровадження EIP-4444 зберігання даних не лонгуючий буде вузьким місцем для масштабування Ethereum, і в лонг перспективі ліміт газу збільшення не буде обмеженим. EIP-4444 необхідний для лонг-річної стійкості мережі, інакше історична швидкість зростання буде швидкою, а апаратне забезпечення мережевої Нода потрібно регулярно оновлювати.
На рисунку 6 показано вплив EIP-4444 на навантаження на зберігання кожного Нода протягом наступних 3 років. Це те ж саме, що і на малюнку 4, але з додаванням більш дрібної лінії для позначення навантаження на зберігання після впровадження EIP-4444.
Рисунок 6: Вплив EIP-4444 на навантаження на Ethereum Нода зберігання
Деякі ключові висновки можна зробити з цього графіка:
Після того, як EIP-4444 буде впроваджено, історичні зростання все одно запровадять певний рівень навантаження на зберігання, оскільки Нода зберігатиме річну історичну історію. Однак, навіть якщо Ethereum досягне глобальних масштабів, вирішити цей тягар буде нескладно. Після того, як метод ведення анамнезу виявиться надійним, однорічний термін придатності для EIP-4444 може бути скорочений до місяців, тижнів або навіть менше.
Як зберегти історію Ethereum?
EIP-4444 піднімає питання: якщо історію не рятує сама Ethereum Нода, то як її слід рятувати? Історія відіграє центральну роль у верифікації, обліку та аналізі Ethereum, тому дуже важливо зберегти історію. На щастя, ведення історії – це проста справа, яка вимагає лише 1/n чесних постачальників даних. Це контрастує з державними Консенсус питаннями, які вимагають від 1/3 до 2/3 учасників бути чесними. Нода оператори можуть перевірити автентичність історичних наборів даних, 1) повторно відтворивши всі транзакції, починаючи з Блок генезису, і 2) перевіривши, чи відтворюють ці транзакції той самий корінь стану, що й поточна сторона Блокчейн.
Є найдовші способи зберегти історію.
Решта проблем впровадження лонгуючий соціальні, ніж технічні. Спільноті Ethereum необхідно узгоджувати конкретні деталі впровадження, щоб ордер інтегрувати їх безпосередньо в кожного Нода клієнта. Зокрема, виконання повної синхронізації з Блок генезису (замість Знімок синхронізації) вимагатиме отримання журналу від постачальника журналу, а не від Ethereum Нода. Ці зміни технічно не вимагають жорсткого форк, тому вони можуть бути впроваджені раніше, ніж наступна жорстка форк Ethereum, Pectra.
Усі ці методи ведення історії також можуть бути використані L2 для зберігання даних BLOB, які вони публікують у Основна мережа. У порівнянні з історичним збереженням, збереження ляпок 1) є складнішим, оскільки загальний обсяг даних становить лонгуючий; 2) Менш важливий, тому що краплі не потрібні, щоб відтворити Основна мережа історію. Тим не менш, збереження ляпок все ще необхідне для того, щоб кожен L2 відтворював свою власну історію. Тому певна форма збереження BLOB-об'єктів важлива для всієї екосистеми Ethereum. Крім того, якщо L2 розробить надійну інфраструктуру зберігання BLOB, вони також зможуть легко зберігати історичні дані L1.
Може бути корисним безпосередньо порівняти набори даних, що зберігаються різними конфігураціями Нода до та після EIP-4444. На малюнку 7 показано навантаження на зберігання для різних типів Ethereum Нода. Державні дані — це рахунки та контракти, історичні дані — Блок та транзакції, а архівні дані — це необов'язковий набір індексів даних. Кількість байтів у цій таблиці базується на останньому Знімок reth, але цифри для інших клієнтів Нода мають бути приблизно однаковими.
Малюнок 7: Навантаження на зберігання для різних типів Ethereum Нода
Інші слова
Нарешті, існують додаткові EIP, які можуть обмежувати історичну ставку зростання, а не просто враховувати поточну ставку зростання. Це допомагає залишатися в межах обмежень мережевого вводу-виводу в короткостроково та обмежень сховища в довгостроково. Незважаючи на те, що EIP-4444 все ще необхідний для лонг-річної стійкості мережі, ці інші EIP допоможуть Ethereum ефективніше масштабуватися в майбутньому:
Ці EIP простіші в реалізації, ніж EIP-4444, тому вони можуть служити опціонами на шорт термін до того, як EIP-4444 надійде у виробництво.
Висновок
Мета цієї статті полягає в тому, щоб за допомогою даних зрозуміти 1) те, як працює історична зростання і 2) шляхи вирішення цієї проблеми. Значну частину лонг даних у цій статті важко отримати традиційними засобами, тому ми хотіли розкрити ці дані, щоб надати нове розуміння питань історичного зростання.
Історично склалося так, що зростання як вузьке місце для Ethereum експансії, їй приділялося недостатньо уваги. Навіть без збільшення ліміту газ, Ethereum поточні правила ведення історії змусять Xu лонг Нода оновити своє обладнання протягом кількох років. На щастя, це не складна для вирішення проблема. У EIP-4444 вже є чітке рішення. Ми вважаємо, що впровадження цього EIP має бути прискорене, щоб дозволити шорти для майбутніх газ збільшення ліміту.
Посилання на оригінал статті