Віталік Бутерін анонсував генеральне прибирання протоколу. Якого сміття хоче позбутися головний архітектор Ethereum? І якими інструментами він має намір скористатися?
У своїй новій статті, що має назву “Наступні кроки щодо очищення”, Віталік визначив головні завдання, які доведеться вирішувати Ethereum: усунення невиправданої складності та додавання нових інструментів безпеки. Це дозволило б ліквідувати поклади накопиченого непотребу і звільнити величезну кількість місця на блокчейні.
Основним робочим інструментом для наведення ладу стане EIP-6780, що був активований в оновленні Cancun-Deneb.
Про те, як працює цей пилосос для непотрібних смартконтрактів, ми розповідали тут.
Попит на ці прекомпіляції дуже невеликий, тому Віталік пропонує замінити їх EVM-кодом. Для цього можна використовувати EIP-7266.
SSZ прискорить пошук потрібної інформації, спростить структуру блоків і полегшить життя розробникам. Чим більше вільного місця, тим більше вузлів можна розгорнути. А отже, і децентралізація блокчейну при цьому не постраждає.
Основним робочим інструментом для наведення ладу стане EIP-6780, що був активований в оновленні Cancun-Deneb.
Про те, як працює цей пилосос для непотрібних смартконтрактів, ми розповідали тут.
Встановлення фільтра для прекомпіляцій
Тепер зусилля команди розробників будуть спрямовані на очищення деяких попередніх компіляцій (або прекомпіляцій). Так Бутерін називає “контракти Ethereum, які замість EVM-коду мають логіку, що реалізована безпосередньо клієнтами. Ідея полягає в тому, що прекомпіляції можуть бути використані для реалізації складних форм криптографії, які не можна ефективно реалізувати всередині EVM”.
Деякі з таких контрактів наразі успішно використовуються для підтримки застосунків, що працюють на базі однієї з найпопулярніших форм доказу з нульовим розголошенням — zk-SNARK. До них питань немає.
Однак є й такі, що застосовуються дуже рідко:
- RIPEMD-160: хеш-функція для забезпечення сумісності з Bitcoin.
- Identity: прекомпіляція, яка повертає той самий вихід, що і її вхід (але не плутайте криптографічні входи та виходи з отворами у стінах — це історія про модель контролю балансів акаунтів).
- BLAKE2: хеш-функція для забезпечення кращої сумісності з Zcash.
- MODEXP: модульне піднесення до степеня з дуже великими числами для підтримки криптографії на основі RSA.
Зміна моделі зберігання історії блоків
Наступним кроком у цьому прибиранні стане перехід до ефективних методів зберігання історії блоків. Це буде реалізовано завдяки EIP-4444. Підхід, коли кожен вузол Ethereum зберігав повну історію блокчейну, скасовано. Він невиправдано ускладнював роботу через надмірні вимоги до обсягу сховища. Тепер великі двоїчні об'єкти (blobs) зберігатимуться у протоколі лише 18 днів, а потім будуть видалені за замовчуванням.
“Але як же зберігатиметься історія і забезпечуватиметься незмінність даних у блокчейні?” — запитаєте ви.
Віталік пропонує альтернативу — прості p2p-мережі на кшталт торентів або спеціалізовані протоколи, наприклад Portal Network. Оскільки непрактично вимагати від кожного вузла зберігати дані вічно, то розумно довірити це завдання спеціальним протоколам, які оптимізовані для зберігання та передавання великих обсягів інформації.
Це скоротить час синхронізації вузлів та спростить роботу операторів нод.
Порядок у каталогах
І останній крок з очищення блокчейну від непотрібного мотлоху — це перехід до SSZ.
SSZ (Simple Serialize) — це спрощена система зберігання даних у Ethereum. Якщо не вдаватися до технічних деталей, то це новий набір “етикеток”, що розроблений для каталогізації даних.
Його переваги:
- Стандартизація. Дані завжди зберігаються у певному форматі, незалежно від їхнього типу. Це дозволяє швидко знайти будь-який інструмент.
- Ефективність. Використовується менше місця для зберігання даних, оскільки немає необхідності додатково їх упаковувати.
- Гнучкість. Система має спеціальні відділення для нових інструментів, що дозволяє надалі легко їх додавати.
Як бачимо, Віталік Бутерін доволі ґрунтовно підійшов до питання масштабованості блокчейну Ethereum. Таке генеральне прибирання цілком здатне полегшити мережу та прискорити обробку даних.