Клієнти без громадянства: шлях Ethereum до децентралізації

Автор: YQ, засновник AltLayer Переклад: Golden Finance cryptonaitive

Оскільки використання Ethereum зростає, запуск повного вузла стає більш вимогливим до ресурсів і пропускної здатності. Це призводить до того, що дедалі менше людей можуть запускати повні вузли, що робить мережу менш децентралізованою. Крім того, Ethereum стикається з труднощами в масштабуванні, оскільки попит на транзакції зростає, що призводить до перевантаження мережі та високих зборів за газ.

Клієнт без громадянства, запропонований Віталіком у 2017 році, пропонує потенційне вирішення проблем децентралізації, з якими стикається Ethereum. Ключова ідея клієнта без стану полягає в тому, щоб зменшити вимоги до пам’яті та пропускної здатності, необхідні для роботи повного вузла, що дозволить більшій кількості людей брати участь і децентралізувати мережу. У цій статті ми детально розглянемо, як працюють клієнти без громадянства, а також їхні потенційні переваги та недоліки.

Що таке стан Ethereum?

Щоб зрозуміти клієнтів без громадянства, нам спочатку потрібно зрозуміти концепцію «стану» в Ethereum. Стан Ethereum стосується поточного стану всіх облікових записів, контрактів, балансів, nonces і сховищ у світі Ethereum. Його можна розглядати як базу даних, яка зберігає всю актуальну інформацію про мережу Ethereum на певний момент часу.

Стан зберігається у формі Merkle Patricia trie, яка, по суті, є модифікованим деревом Merkle, що використовується для зберігання пар ключ-значення. Кореневий хеш trie підсумовує весь стан. З кожним новим блоком статус оновлюється на основі транзакцій у цьому блоці. Новий кореневий хеш стану включено в заголовок блоку.

З часом стан Ethereum зростав і збільшувався, оскільки додавалося більше облікових записів, контрактів і транзакцій. Наразі розмір стану перевищує 1 ТБ, і щороку додаються десятки ГБ. Цей зростаючий стан є основною причиною проблеми децентралізації.

Чому зростання держави створює проблеми

Збільшення розміру стану Ethereum призвело до деяких ключових проблем:

● Довгий час синхронізації для нових вузлів. Новим вузлам потрібно багато часу, щоб синхронізувати всі історичні зміни стану. Це ускладнює запуск нових повних вузлів, перешкоджаючи децентралізації. Синхронізація нових вузлів із блоку генезису до останнього стану наразі займає багато днів або навіть тижнів, що для споживчого обладнання є основною перешкодою для ефективного запуску нових вузлів і надання можливості приєднатися до мережі більшій кількості учасників.

● Підвищені вимоги до апаратного забезпечення – великі стани вимагають більше пам’яті, пам’яті та обчислювальної потужності для зберігання, доступу та оновлення. Це унеможливлює запуск вузлів для користувачів з меншими ресурсами. Для роботи повністю синхронізованого вузла Ethereum тепер потрібен принаймні SSD ємністю 1–2 ТБ. Це недосяжно для багатьох потенційних операторів вузлів.

● Збільшене використання пропускної здатності – трансляція нового блоку також має містити оновлений стан, що вимагає більшої пропускної здатності. Це збільшує витрати для операторів вузлів. Зараз стан домінує в більшості блокових трансляцій, тому розміри блоків продовжують зростати. Більша пропускна здатність означає вищі витрати для операторів вузлів.

● Уповільнена перевірка блоку – читання та оновлення більших станів уповільнює перевірку блоку, обмежуючи пропускну здатність транзакцій. Кожна транзакція потребує кількох читань і записів у пам’ять, щоб оновити баланси, nonces, статус контракту тощо. Більший стан означає більше читання/запису на блок, зменшуючи кількість транзакцій, які можна обробити за секунду.

● Вартість постійного зберігання – після додавання даних до стану вони повинні зберігатися постійно. Це призводить до зростання необмеженого стану. Наразі немає механізму проактивного видалення старих і невикористаних даних стану. Таким чином, поки Ethereum продовжує працювати, витрати на утримання стану збільшуватимуться на невизначений термін.

Що таке клієнт без громадянства?

Клієнти без стану надають можливість перевіряти нові блоки без доступу до повного стану Ethereum. Вони використовують криптографічні докази, які називаються «свідками», щоб підтвердити дійсність змін стану в блоці, не вимагаючи конкретних даних про стан.

Клієнт без стану працює таким чином:

  1. Клієнт зберігає лише заголовок блоку та корінь стану, а не повні дані стану. Заголовок блоку містить такі метадані, як кореневий хеш стану trie після обробки блоку.

  2. Під час перевірки нового блоку клієнт разом із блоком отримує «свідка». Цей свідок — це набір доказів Merkle, які доводять, що певне оновлення стану в транзакції є дійсним.

  3. Свідок містить підтвердження Merkle конкретного державного значення, яке використовується для обробки транзакцій. Наприклад, оновлення залишків на рахунках або зберігання за контрактом.

  4. Клієнт використовує свідок, щоб переконатися в дійсності останнього відомого кореня стану пари транзакцій. Доказ підтверджує, що зміна стану відповідає попередньому кореню.

  5. Якщо дійсний, клієнт оновлюється до нового кореня стану, наданого в заголовку блоку. Цей новий корінь стану буде використано для перевірки наступного блоку.

Використовуючи свідки для перевірки стану, а не зберігаючи повний стан локально, клієнти без стану отримують кілька переваг:

● Дуже швидка синхронізація – немає необхідності повністю синхронізувати історичні зміни стану. Клієнти без стану можуть синхронізуватися майже миттєво, вимагаючи лише заголовків блоків.

● Низькі вимоги до пам'яті - кореневий стан становить лише 32 байти. Замість сотень гігабайт стану потрібні лише заголовки блоків.

● Менше використання пропускної здатності - передаються лише заголовки блоків і свідки, а не повний стан. Використання пропускної здатності зведено до мінімуму.

● Швидка перевірка – свідки містять лише невелику підмножину відповідних станів. Лише оновлені облікові записи/магазини є корисними.

● Легка підтримка легких клієнтів – легкі клієнти можуть легко перевіряти докази. Модель легкого клієнта дуже сумісна з перевіркою без збереження стану.

Проблеми клієнтів без громадянства

Хоча клієнти без громадянства приносять деякі значні переваги, є також деякі значні технічні проблеми:

● Розмір свідків — свідки можуть бути занадто великими для ефективної передачі. Якщо використовуються повні докази Merkle, вони можуть перевищувати ліміт розміру блоку.

● Створення свідків. Створення оптимальних свідків складно для пропонентів блоків. Заявник повинен зібрати правильні докази для перевірки кожної транзакції.

● Жодних стимулів для свідків – Немає прямої винагороди за надання свідків. На відміну від майнінгу, немає вбудованих стимулів для створення свідків.

● Тимчасові дані — свідки підтверджують статус у певний момент часу та потребують відновлення. Свідки не можна повторно використовувати під час розвитку стану.

● Зберігання стану – комусь все ще потрібно підтримувати повний стан, щоб створити свідків. Перевірка без стану базується на створенні свідків із збереженням стану.

● Складні програми – деякі контракти можуть покладатися на більші підмножини станів, що робить свідок роздутим. Наприклад, контракт, який оновлює багато слотів для зберігання на транзакцію.

Можливі рішення

Дослідники запропонували різні рішення для вирішення цих проблем:

● Дерево Verkle – спеціальна структура даних, яка використовується для зменшення розміру свідка. Дерева Verkle використовують стислі криптографічні зобов’язання, щоб мінімізувати розмір доказу.

● Кеш-пам’ять свідків – пропоненти можуть підтримувати останні свідки для повторного використання. Кешування знову може бути корисним, оскільки вартість створення може бути амортизована.

● Протокольні стимули – забезпечте механізм винагороди для корисних свідків. Нові структури стимулів можуть компенсувати створення свідків.

● Коріння проміжного стану – відстежуйте корені з часом, щоб уникнути повторного створення доказів. Збереження частин кореня дозволяє повторно використовувати фрагменти-свідки.

● Орендна плата за умови – вимагає оплати за підтримку стану протягом тривалого часу, скорочення невикористаного стану. Rent примусово очищає застаріле сховище, щоб обмежити розмір перевірки.

● Розділена модель свідків – розділена обробка стану між пропонентами та валідаторами. Кілька виділених вузлів пропонента генерують свідків.

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

Потенційний вплив

Якщо вдасться подолати технічні перешкоди, клієнти без громадянства можуть значно прискорити зростання Ethereum:

● Швидша синхронізація та перевірка для підтримки більшої пропускної здатності транзакцій. Перевірка без збереження стану значно прискорить обробку блоків.

● Зменшіть ресурси, необхідні для запуску вузлів, і покращте децентралізацію. Ноутбуки та любителі можуть реально запускати повні вузли.

● Краща підтримка легких клієнтів, таких як мобільні гаманці. Доказ стану дуже сумісний із моделлю легкого клієнта.

● Запровадьте сегментування більш плавно та виконуйте перевірку без збереження стану між сегментами. Перехресні трансакції можуть використовувати ефективні докази стану.

● Можливість видалення та скорочення старих даних стану, які більше не потрібні. Зростанням держави можна керувати активно, а не рости нескінченно.

● Можливість для операторів вузлів більш гнучко налаштовувати статус відповідно до потреб. Вузли можуть налаштовувати політики збереження стану на основі випадків використання.

● Перехід до моделі, де обчислення та пропускна здатність важливіші, ніж сховище. Архітектура змінюється в бік більш дружніх до хмар моделей.

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

на завершення

У міру того як впровадження зростає, зростаючий розмір штату Ethereum створює проблему для децентралізації. Клієнти без стану надають рішення, дозволяючи вузлам перевіряти транзакції, не вимагаючи повного стану блокчейну. Зрештою це може дозволити мобільним телефонам запускати вузли Ethereum, що значно посилить децентралізацію.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити