# Основи zkSync Era **Published by:** [Kristos](https://paragraph.com/@kristos/) **Published on:** 2023-03-28 **URL:** https://paragraph.com/@kristos/zksync-era ## Content ПередумовиЯкщо ви не знайомі зі зведеннями, вам слід розглянути основи зведень і прочитати про зведення ZK і Optimistic, перш ніж дізнаватися про zkSync. zkSync — це зведений протокол ZK, надійний протокол, який використовує криптографічні докази дійсності для забезпечення масштабованих і недорогих транзакцій на Ethereum. У zkSync обчислення виконуються поза мережею, і більшість даних також зберігається поза мережею. Оскільки всі транзакції перевіряються в основному ланцюзі Ethereum, користувачі користуються таким же рівнем безпеки, як і в Ethereum. zkSync Era виглядає так, як Ethereum, але з нижчими комісіями. Як і в Ethereum, смарт-контракти написані на Solidity/Vyper, і їх можна викликати за допомогою тих самих клієнтів, що й інші EVM-сумісні ланцюжки. Вам не потрібно реєструвати окремий закритий ключ перед використанням; zkSync підтримує існуючі гаманці Ethereum із коробки. Наразі zkSync запускається та управляється виключно серверами команди zkSync, а тому є централізованим. Однак незабаром це буде переведено на децентралізовану систему.Огляд zkSyncЗагальний робочий процес зведення виглядає так:Користувачі можуть отримувати, вносити та передавати активи один одному.Користувачі можуть виводити підконтрольні їм активи на адресу L1. Операція зведення потребує допомоги оператора, який згортає транзакції разом, обчислює доказ правильного переходу стану з нульовими знаннями та впливає на перехід стану, взаємодіючи з контрактом зведення. Щоб зрозуміти дизайн, нам потрібно розглянути, як працюють зведені транзакції zkSync.Операції zkSync поділяються на транзакції зведення (ініційовані всередині зведення обліковим записом зведення) та пріоритетні операції (ініційовані в основному ланцюжку обліковим записом Ethereum). Життєві цикли операції зведення zkSync такі:Користувач створює транзакцію або пріоритетну операцію.Після обробки цього запиту оператор створює операцію зведення та додає її до блоку.Після завершення блокування оператор надсилає його до смарт-контракту zkSync як зобов’язання щодо блокування.Частково логіка деяких операцій згортання перевіряється смарт-контрактом.Підтвердження блоку надсилається до смарт-контракту zkSync як перевірка блоку.Якщо перевірка пройшла успішно, новий стан вважається остаточним. Крім того, на zkSync кожен блок L2 проходитиме наступні чотири етапи, поки не стане остаточним.Pending: транзакція отримана оператором, але ще не оброблена. Processed: транзакція обробляється оператором і підтверджується для включення в наступний блок. Committed:: це вказує на те, що дані транзакції цього блоку опубліковано в Ethereum. Це не доводить, що його було виконано належним чином, але забезпечує доступність даних блоку. Finalized: це вказує на те, що підтвердження дійсності SNARK для транзакції було подано та перевірено смарт-контрактом. Після цього кроку транзакція вважається остаточною. Типовий час, протягом якого трансакція переходить від Processed до Finalized, становить кілька годин на поточному етапі. Зауважте, що для зручності розробників ми зазвичай розглядаємо стани Processed та Committedяк один етап під назвою Committed, оскільки вони не відрізняються від точок зору UX/DexEx.Стан zkSyncПоточна версія zkSync Era вирішує потреби більшості додатків на Ethereum, а з додатковими функціями, запланованими до випуску найближчим часом, zkSync Era надасть розробникам простір для експериментів із додатками, недоступними сьогодні в Ethereum. У цьому випуску ми підтримуємо такі функції:Вбудована підтримка підписів ECDSA: на відміну від першої версії zkSync і більшості зведених пакетів ZK, для реєстрації приватного ключа користувача не потрібна спеціальна операція. Будь-яким обліковим записом можна керувати в L2 за допомогою того самого закритого ключа, який використовується для L1.Підтримка Solidity 0.8.x: розгорніть існуючу кодову базу з невеликими змінами або без них.За невеликими винятками, наш API Web3 повністю сумісний з Ethereum. Це забезпечує бездоганну інтеграцію з існуючими індексаторами, дослідниками тощо.Підтримка криптографічних примітивів Ethereum: zkSync нативно підтримує keccak256, sha256, та ecrecoverчерез попередні компіляції.Плагін Hardhat: дозволяє легко тестувати та розробляти смарт-контракти на zkSync.Повідомлення смарт-контрактів L1 → L2: дозволяє розробникам передавати дані з Ethereum у смарт-контракти на zkSync, надаючи необхідну інформацію для виконання різноманітних смарт-контрактів. Деякі функції не включені в нашу поточну тестову мережу, яку ми плануємо надсилати в майбутніх оновленнях, зокрема:zkPorter: одна з найбільших і найважливіших функцій, zkPorter дозволить користувачам вибирати між обліковим записом zkRollup із найвищим рівнем безпеки та 20-кратним зниженням комісії порівняно з Ethereum або обліковим записом zkPorter із стабільною комісією за транзакції лише в кілька центів в іншому модель безпеки (набагато вища, ніж у сайдчейна). І облікові записи zkPorter, і zkRollup зможуть безперебійно взаємодіяти разом під капотом.zkSync у порівнянніzkSync надзвичайно виділяється за безпекою та зручністю використання серед існуючих рішень для масштабування L2. Завдяки поєднанню передової криптографії та доступності даних у ланцюжку, ZK rollups (базова мережа zkSync) є єдиним рішенням для масштабування L2, яке не вимагає жодних операційних дій для збереження коштів. Наприклад, користувачі можуть перейти в режим офлайн і все ще мати можливість безпечно вивести свої активи, коли вони повернуться, навіть якщо валідаторів зведення ZK більше немає.Характеристики zkSyncПереказ токенів ETH і ERC20 з миттєвими підтвердженнями та швидкою остаточністю на L1.Комісії за транзакції надзвичайно низькі для вартості основної мережі для токенів ERC20 і переказів ETH.Платежі на існуючі адреси Ethereum (включаючи смарт-контракти) можна зручно оплачувати за допомогою токена, що передається.Основні моменти ери zkSyncБезпека, подібна до мережі Mainnet, з нульовою залежністю від третіх сторін.Смарт-контракти, сумісні з EVM без дозволу.Стандартний API Web3.Збереження ключових функцій EVM, таких як можливість складання смарт-контрактів.Введення нових функцій, таких як абстракція облікового запису.Як почати?Почніть зі створення dApp у розділі швидкого запуску. Перегляньте інформацію про вузли RPC, гаманець і провідник блоків на сторінці важливих посилань. Website | Twitter | Discord | Telegram | Medium | Prepared the articleDiscord: Kristos#6419 Twitter: @CiBzrpr0HGjysFN ## Publication Information - [Kristos](https://paragraph.com/@kristos/): Publication homepage - [All Posts](https://paragraph.com/@kristos/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@kristos): Subscribe to updates