*Переслати оригінальний заголовок „Як ZKP та ZK-Rollups допомагають вирішити проблему масштабованості: огляд блокчейну zkSync“
У цій статті ми пояснимо, що таке технологія доказу відсутності знань та поговоримо про популярний блокчейн — zkSync: як працюють транзакції в zkSync та основні відмінності від Ethereum Virtual Machine (EVM). Також обговоримо переваги та недоліки цього блокчейну, який, на нашу думку, може мати перспективне майбутнє.
ZkSync - це блокчейн другого рівня (Шар 2 — L2) для Ethereum, призначений для вирішення проблем високих комісій та обмеженої пропускної здатності (транзакції на секунду — TPS) на мережі Ethereum. Ця платформа використовує технологію ZK-Rollup, яка використовує докази з нульовим відомостями (ZKP), щоб пакувати кілька транзакцій поза основною мережею (L1). До L1 надсилаються лише криптографічні докази правильності транзакцій та їх стиснуті дані, що значно підвищує ефективність та зменшує витрати.
Розроблено Matter Labs, zkSync оголошено як повністю відкритий продукт (100% відкритий код), керований спільнотою. Згідно з Крипторанк, проект вже привернув увагу, привернув інвестиції у розмірі $458 мільйонів. У довгостроковій перспективі Matter Labs має на меті створити комплексну екосистему. Наразі працюють два блокчейни: zkSync Lite, який обробляє платежі в ETH та токенах ERC20, та zkSync Era, що підтримує повноцінні смарт-контракти. У майбутньому планується запуск гіперчейн системи (L3), забезпечуючи високий рівень безпеки. Мета Matter Labs - масштабувати технологію до рівня, який приверне наступний мільярд користувачів блокчейну.
ZkSync представляє собою новий підхід до вирішення проблеми масштабованості, відому як трилема блокчейнуЦей проект, як і інші рішення другого рівня (L2), прагне знайти баланс між безпекою, масштабованістю та децентралізацією в блокчейн мережах.
Ethereum акцентує увагу на безпеці та децентралізації, підкреслюючи свій статус як протоколу з вузлами, розподіленими по всьому світу. Для отримання останньої інформації щодо розподілу вузлів, див. NodeWatch.
Для забезпечення децентралізації в мережі кожен вузол повинен перевіряти всі транзакції. Це природно сповільнює мережу. Крім того, при високому навантаженні мережі транзакції можуть стати досить дорогими і потребувати значного часу для обробки.
Основним завданням для збільшення TPS мережі Ethereum без збільшення навантаження на вузли було введення Шардингв поєднанні з переходом до консенсусу PoS (Proof of Stake). Це передбачало розділення валідаторів на підгрупи для обробки окремих сегментів мережі, тим самим зменшуючи загальне навантаження та збільшуючи пропускну здатність. Однак спільнота зосереджується на рішеннях 2-го рівня, враховуючи їх швидкий розвиток.
Крім ідеї впровадження Sharding в Ethereum, з'явилися інші рішення щодо масштабованості, такі як:
А також технології, що базуються на доказах з нульовим знанням (ZKP), включаючи:
Більш детальну інформацію можна знайти тут.
Хоча шардінг все ще знаходиться в стадії розробки, заплановано проведення хардфорку Dencun на початку 2024 року, який реалізує Прото-DankshardingЦей проміжний крок спрямований на поліпшення рішень 2-го рівня, зроблення зберігання даних на L1 більш економічним. Отже, Proto-Danksharding обіцяє зменшити витрати на транзакції на L2, як крок до повноцінного рішення Sharding.
На перший погляд, L2 блокчейни можуть здатися схожими, оскільки їхня основна задача полягає в збільшенні кількості транзакцій поза L1, делегуючи роль гаранта безпеки L1. Розробники таких блокчейнів часто стверджують, що їхні рішення є найшвидшими, найнадійнішими та найпростішими. Насправді кожен підхід до масштабування має свої нюанси та неодмінні компроміси щодо швидкості транзакцій, рівня безпеки чи ступеня децентралізації. Також поширені повністю централізовані рішення. Усі ці аспекти повертають нас до фундаментальних питань трилеми блокчейну.
У ця стаття, запропоновані ключові критерії для оцінки протоколів, використовуваних у рішеннях 2-го рівня. Вони включають в себе:
Важливо! Стаття написана Matter Labs і, на мою думку, деякі речі "розтягнуті" на користь zkRollup (оскільки існує чіткий конфлікт інтересів), але це не так важливо, головне - побачити, які різниці існують між протоколами другого рівня.
Нижче я надам таблицю, а тут коротко опишу її зміст.
Щодо продуктивності, все просто. TPS (транзакції на секунду) вказує на пропускну здатність мережі, і в контексті масштабування це найважливіший параметр.
Економічні аспекти:
Нижче подано порівняльну таблицю основних рішень на основі ZKP:
Для більш детального розуміння доказів нульового знання (ZKP) рекомендую звертатися до ця статтяв нашомублокчейн-вікі, створений розробниками для розробників з любов'ю до доказів та глибоких занурень у деталі.
Операцію ZK-Rollups можна представити на високому рівні наступним чином:
У контексті архітектури zkSync процес виглядає наступним чином:
У ZK-Rollups валідатори відіграють ключову роль, упаковуючи транзакції в блоки та генеруючи докази нульового знання для них. Особливістю системи є те, що валідатори фізично не можуть вкрасти кошти. Найбільш значущою потенційною шкодою, яку вони можуть спричинити, є тимчасова зупинка мережі.
Примітка: В епоху zkSync роль валідаторів виконується операторами.
Розробники zkSync відзначають наступні гарантії своєї архітектури:
Транзакції в епоху zkSync проходять кілька ключових станів, відмінних від звичайних підтверджень Rollup на рівні L1:
Крім номера блоку, у транзакціях zkSync також відображається номер пакету. Спочатку параметри, такі як block.number, block.timestamp та blockhash, бралися з L1. Однак після оновлення, ці значення тепер будуть отримуватися з L2. Незважаючи на це, розробники планують забезпечити методи доступу до даних з L1.
Сумісність рішень L2, що базуються на ZKP з Ethereum, є складним завданням. Це пов'язано з тим, що Ethereum спочатку не був розроблений для оптимальної взаємодії з ZKP. У результаті при розробці таких систем необхідно знайти компроміс між продуктивністю та потенціалом масштабованості з одного боку, та сумісністю з Ethereum та EVM з іншого. Стаття Vitalik Buterin«Різні типи ZK-EVMs»обговорює ці аспекти детально і висвітлює різні рівні сумісності.
zkSync обрав один з найважчих шляхів, спрямованих на високу продуктивність, але з обмеженою сумісністю як з Ethereum, так і з EVM. Щоб отримати байткод, сумісний з zkEVM, LLVMпроект використовується з набором власних компіляторів та оптимізаторів. У випадку Solidity та Yul після стандартного компілятора solc код проходить кілька етапів, перш ніж стає байткодом zkEVM. Наведена нижче діаграма ілюструє всі етапи цього процесу (детальніше описанотут):
Важливо! Оптимізації в zksolc підтримуються.
Байткод, спеціально скомпільований для EVM, несумісний з zkEVM. Це означає, що адреси ідентичних смарт-контрактів в Ethereum та zkSync будуть відрізнятися. Проте розробники планують вирішити цю проблему у майбутньому.
Однією з важливих переваг цього підходу є незалежність від конкретних мов програмування. У майбутньому розробники zkSync обіцяють додати підтримку мов, таких як Rust і C++. Важливо, щоб затримка в оновленнях та інтеграція новацій між високорівневими компіляторами (наприклад, solc) та платформовими компіляторами (наприклад, zksolc) була мінімальною. Спочатку була ідея створити власну мову програмування, Zinc, але на даний момент команда фокусується на підтримці більш популярних мов програмування.
Питання сумісності zk-компіляторів з існуючими засобами розробки та налагодження для розумних контрактів Solidity та Vyper є значущим. Поточні платформи розробки, такі як Remix, Hardhat та Foundry, не підтримують zk-компілятори з коробки, що ускладнює роботу з ними. Однак рішеннярозробляються проекти, які обіцяють спростити процес міграції проєктів та адаптацію до нових технологій.
У статті Віталіка Бутеріна зазначається, що Ethereum ймовірно буде прагнути покращити сумісність з ZKP на рівні протоколу з часом. Так само, L2-рішення з ZKP адаптуються для кращої сумісності з Ethereum. У результаті у майбутньому різниці між цими системами можуть стати майже непомітними, забезпечуючи більш плавну інтеграцію та перехід для розробників.
Важливо! Протокол активно розробляється; завжди звертайтеся до останньої версії документації!
zkEVM відрізняється від EVM і, незважаючи на зусилля розробників приховати ці відмінності «під капотом», є важливі особливості, які слід враховувати при написанні смарт-контрактів:
Для глибокого розуміння роботи з zkEVM рекомендується вивчити документацію, включаючи розділ "Безпека та найкращі практики".
Абстракція облікового запису в zkSync має кілька ключових переваг порівняно з ERC-4337:
Інфраструктура ери zkSync швидко набирає оберти і вже включає десятки протоколів: Мости, DeFi, інфраструктурні протоколи та інше. (Поточний список можна переглянутитут).
Ще однією перевагою є сумісність з гаманцями Ethereum, такими як MetaMask або TrustWallet.
Протокол zkSync розпочав свій розвиток з запуску zkSync Lite, призначеного лише для переказів етеру та токенів ERC-20, без можливості розгортання повноцінних протоколів. Ця стадія була важливим кроком у розвитку, але передувала лише прихід ери zkSync — повноцінного рішення L2 для Ethereum, яке теоретично може бути адаптоване для інших блокчейнів L1. Однак амбіції zkSync тут не закінчуються, оскільки плани розвитку включають запуск так званих гіперланцюгів.
Гіперланцюги, або «фрактальне масштабування», складаються з мереж ZKP, кожна з яких формує свої власні блоки та докази. Ці докази потім збираються разом і публікуються в основній мережі L1. Кожна з цих мереж є повністюю копією всієї системи та може розглядатися як її «фрактал».
Унікальність гіперланцюгів полягає в тому, що їх можна створювати та розгортати незалежно. Для забезпечення послідовності та сумісності кожен гіперланцюг повинен використовувати спільний рушій zkEVM, який є частиною ZK стеку (при цьому zkSync Era виступає першим гіперланцюгом). Це дозволяє гіперланцюгам успадковувати свою безпеку від L1, забезпечуючи їх надійність та усуваючи потребу в додаткових заходах довіри та безпеки.
Гіперланцюги представляють інноваційний підхід до масштабування мереж блокчейн, зменшуючи навантаження на головну мережу та збільшуючи швидкість обробки транзакцій. Ключові аспекти цього підходу включають:
Більше про все це можна знайти тут.
Протокол zkSync виглядає дуже перспективним і має великий потенціал, хоча на сьогодні запуск на цьому блокчейні все ще пов'язаний з рядом ризиків, які потрібно враховувати. Розробка для zkSync на даний момент є складнішою, ніж для блокчейнів, які набагато більше сумісні з EVM та стеком розробки EVM. Однак, можливо, у майбутньому ця різниця стане незначною або зникне зовсім.
Partilhar
*Переслати оригінальний заголовок „Як ZKP та ZK-Rollups допомагають вирішити проблему масштабованості: огляд блокчейну zkSync“
У цій статті ми пояснимо, що таке технологія доказу відсутності знань та поговоримо про популярний блокчейн — zkSync: як працюють транзакції в zkSync та основні відмінності від Ethereum Virtual Machine (EVM). Також обговоримо переваги та недоліки цього блокчейну, який, на нашу думку, може мати перспективне майбутнє.
ZkSync - це блокчейн другого рівня (Шар 2 — L2) для Ethereum, призначений для вирішення проблем високих комісій та обмеженої пропускної здатності (транзакції на секунду — TPS) на мережі Ethereum. Ця платформа використовує технологію ZK-Rollup, яка використовує докази з нульовим відомостями (ZKP), щоб пакувати кілька транзакцій поза основною мережею (L1). До L1 надсилаються лише криптографічні докази правильності транзакцій та їх стиснуті дані, що значно підвищує ефективність та зменшує витрати.
Розроблено Matter Labs, zkSync оголошено як повністю відкритий продукт (100% відкритий код), керований спільнотою. Згідно з Крипторанк, проект вже привернув увагу, привернув інвестиції у розмірі $458 мільйонів. У довгостроковій перспективі Matter Labs має на меті створити комплексну екосистему. Наразі працюють два блокчейни: zkSync Lite, який обробляє платежі в ETH та токенах ERC20, та zkSync Era, що підтримує повноцінні смарт-контракти. У майбутньому планується запуск гіперчейн системи (L3), забезпечуючи високий рівень безпеки. Мета Matter Labs - масштабувати технологію до рівня, який приверне наступний мільярд користувачів блокчейну.
ZkSync представляє собою новий підхід до вирішення проблеми масштабованості, відому як трилема блокчейнуЦей проект, як і інші рішення другого рівня (L2), прагне знайти баланс між безпекою, масштабованістю та децентралізацією в блокчейн мережах.
Ethereum акцентує увагу на безпеці та децентралізації, підкреслюючи свій статус як протоколу з вузлами, розподіленими по всьому світу. Для отримання останньої інформації щодо розподілу вузлів, див. NodeWatch.
Для забезпечення децентралізації в мережі кожен вузол повинен перевіряти всі транзакції. Це природно сповільнює мережу. Крім того, при високому навантаженні мережі транзакції можуть стати досить дорогими і потребувати значного часу для обробки.
Основним завданням для збільшення TPS мережі Ethereum без збільшення навантаження на вузли було введення Шардингв поєднанні з переходом до консенсусу PoS (Proof of Stake). Це передбачало розділення валідаторів на підгрупи для обробки окремих сегментів мережі, тим самим зменшуючи загальне навантаження та збільшуючи пропускну здатність. Однак спільнота зосереджується на рішеннях 2-го рівня, враховуючи їх швидкий розвиток.
Крім ідеї впровадження Sharding в Ethereum, з'явилися інші рішення щодо масштабованості, такі як:
А також технології, що базуються на доказах з нульовим знанням (ZKP), включаючи:
Більш детальну інформацію можна знайти тут.
Хоча шардінг все ще знаходиться в стадії розробки, заплановано проведення хардфорку Dencun на початку 2024 року, який реалізує Прото-DankshardingЦей проміжний крок спрямований на поліпшення рішень 2-го рівня, зроблення зберігання даних на L1 більш економічним. Отже, Proto-Danksharding обіцяє зменшити витрати на транзакції на L2, як крок до повноцінного рішення Sharding.
На перший погляд, L2 блокчейни можуть здатися схожими, оскільки їхня основна задача полягає в збільшенні кількості транзакцій поза L1, делегуючи роль гаранта безпеки L1. Розробники таких блокчейнів часто стверджують, що їхні рішення є найшвидшими, найнадійнішими та найпростішими. Насправді кожен підхід до масштабування має свої нюанси та неодмінні компроміси щодо швидкості транзакцій, рівня безпеки чи ступеня децентралізації. Також поширені повністю централізовані рішення. Усі ці аспекти повертають нас до фундаментальних питань трилеми блокчейну.
У ця стаття, запропоновані ключові критерії для оцінки протоколів, використовуваних у рішеннях 2-го рівня. Вони включають в себе:
Важливо! Стаття написана Matter Labs і, на мою думку, деякі речі "розтягнуті" на користь zkRollup (оскільки існує чіткий конфлікт інтересів), але це не так важливо, головне - побачити, які різниці існують між протоколами другого рівня.
Нижче я надам таблицю, а тут коротко опишу її зміст.
Щодо продуктивності, все просто. TPS (транзакції на секунду) вказує на пропускну здатність мережі, і в контексті масштабування це найважливіший параметр.
Економічні аспекти:
Нижче подано порівняльну таблицю основних рішень на основі ZKP:
Для більш детального розуміння доказів нульового знання (ZKP) рекомендую звертатися до ця статтяв нашомублокчейн-вікі, створений розробниками для розробників з любов'ю до доказів та глибоких занурень у деталі.
Операцію ZK-Rollups можна представити на високому рівні наступним чином:
У контексті архітектури zkSync процес виглядає наступним чином:
У ZK-Rollups валідатори відіграють ключову роль, упаковуючи транзакції в блоки та генеруючи докази нульового знання для них. Особливістю системи є те, що валідатори фізично не можуть вкрасти кошти. Найбільш значущою потенційною шкодою, яку вони можуть спричинити, є тимчасова зупинка мережі.
Примітка: В епоху zkSync роль валідаторів виконується операторами.
Розробники zkSync відзначають наступні гарантії своєї архітектури:
Транзакції в епоху zkSync проходять кілька ключових станів, відмінних від звичайних підтверджень Rollup на рівні L1:
Крім номера блоку, у транзакціях zkSync також відображається номер пакету. Спочатку параметри, такі як block.number, block.timestamp та blockhash, бралися з L1. Однак після оновлення, ці значення тепер будуть отримуватися з L2. Незважаючи на це, розробники планують забезпечити методи доступу до даних з L1.
Сумісність рішень L2, що базуються на ZKP з Ethereum, є складним завданням. Це пов'язано з тим, що Ethereum спочатку не був розроблений для оптимальної взаємодії з ZKP. У результаті при розробці таких систем необхідно знайти компроміс між продуктивністю та потенціалом масштабованості з одного боку, та сумісністю з Ethereum та EVM з іншого. Стаття Vitalik Buterin«Різні типи ZK-EVMs»обговорює ці аспекти детально і висвітлює різні рівні сумісності.
zkSync обрав один з найважчих шляхів, спрямованих на високу продуктивність, але з обмеженою сумісністю як з Ethereum, так і з EVM. Щоб отримати байткод, сумісний з zkEVM, LLVMпроект використовується з набором власних компіляторів та оптимізаторів. У випадку Solidity та Yul після стандартного компілятора solc код проходить кілька етапів, перш ніж стає байткодом zkEVM. Наведена нижче діаграма ілюструє всі етапи цього процесу (детальніше описанотут):
Важливо! Оптимізації в zksolc підтримуються.
Байткод, спеціально скомпільований для EVM, несумісний з zkEVM. Це означає, що адреси ідентичних смарт-контрактів в Ethereum та zkSync будуть відрізнятися. Проте розробники планують вирішити цю проблему у майбутньому.
Однією з важливих переваг цього підходу є незалежність від конкретних мов програмування. У майбутньому розробники zkSync обіцяють додати підтримку мов, таких як Rust і C++. Важливо, щоб затримка в оновленнях та інтеграція новацій між високорівневими компіляторами (наприклад, solc) та платформовими компіляторами (наприклад, zksolc) була мінімальною. Спочатку була ідея створити власну мову програмування, Zinc, але на даний момент команда фокусується на підтримці більш популярних мов програмування.
Питання сумісності zk-компіляторів з існуючими засобами розробки та налагодження для розумних контрактів Solidity та Vyper є значущим. Поточні платформи розробки, такі як Remix, Hardhat та Foundry, не підтримують zk-компілятори з коробки, що ускладнює роботу з ними. Однак рішеннярозробляються проекти, які обіцяють спростити процес міграції проєктів та адаптацію до нових технологій.
У статті Віталіка Бутеріна зазначається, що Ethereum ймовірно буде прагнути покращити сумісність з ZKP на рівні протоколу з часом. Так само, L2-рішення з ZKP адаптуються для кращої сумісності з Ethereum. У результаті у майбутньому різниці між цими системами можуть стати майже непомітними, забезпечуючи більш плавну інтеграцію та перехід для розробників.
Важливо! Протокол активно розробляється; завжди звертайтеся до останньої версії документації!
zkEVM відрізняється від EVM і, незважаючи на зусилля розробників приховати ці відмінності «під капотом», є важливі особливості, які слід враховувати при написанні смарт-контрактів:
Для глибокого розуміння роботи з zkEVM рекомендується вивчити документацію, включаючи розділ "Безпека та найкращі практики".
Абстракція облікового запису в zkSync має кілька ключових переваг порівняно з ERC-4337:
Інфраструктура ери zkSync швидко набирає оберти і вже включає десятки протоколів: Мости, DeFi, інфраструктурні протоколи та інше. (Поточний список можна переглянутитут).
Ще однією перевагою є сумісність з гаманцями Ethereum, такими як MetaMask або TrustWallet.
Протокол zkSync розпочав свій розвиток з запуску zkSync Lite, призначеного лише для переказів етеру та токенів ERC-20, без можливості розгортання повноцінних протоколів. Ця стадія була важливим кроком у розвитку, але передувала лише прихід ери zkSync — повноцінного рішення L2 для Ethereum, яке теоретично може бути адаптоване для інших блокчейнів L1. Однак амбіції zkSync тут не закінчуються, оскільки плани розвитку включають запуск так званих гіперланцюгів.
Гіперланцюги, або «фрактальне масштабування», складаються з мереж ZKP, кожна з яких формує свої власні блоки та докази. Ці докази потім збираються разом і публікуються в основній мережі L1. Кожна з цих мереж є повністюю копією всієї системи та може розглядатися як її «фрактал».
Унікальність гіперланцюгів полягає в тому, що їх можна створювати та розгортати незалежно. Для забезпечення послідовності та сумісності кожен гіперланцюг повинен використовувати спільний рушій zkEVM, який є частиною ZK стеку (при цьому zkSync Era виступає першим гіперланцюгом). Це дозволяє гіперланцюгам успадковувати свою безпеку від L1, забезпечуючи їх надійність та усуваючи потребу в додаткових заходах довіри та безпеки.
Гіперланцюги представляють інноваційний підхід до масштабування мереж блокчейн, зменшуючи навантаження на головну мережу та збільшуючи швидкість обробки транзакцій. Ключові аспекти цього підходу включають:
Більше про все це можна знайти тут.
Протокол zkSync виглядає дуже перспективним і має великий потенціал, хоча на сьогодні запуск на цьому блокчейні все ще пов'язаний з рядом ризиків, які потрібно враховувати. Розробка для zkSync на даний момент є складнішою, ніж для блокчейнів, які набагато більше сумісні з EVM та стеком розробки EVM. Однак, можливо, у майбутньому ця різниця стане незначною або зникне зовсім.