Ми раді оголосити про вихід другої фази Aleo Testnet 3! У цьому випуску ми розкриємо багато ключових функцій, описаних у нашій початковій дорожній карті для Testnet 3, такі як розгортання та виконання програм користувача, а також завдання для стимулювання розробки апаратного забезпечення доказу zkSNARK.
Що таке Алео?
Aleo - це новий блокчейн рівня L1, який використовує криптографію, засновану на доказі з нульовим розголошенням, для створення масштабованих та приватних децентралізованих додатків. У нашій архітектурі програми не виконуються в ланцюжку; скоріше, користувачі виконують програму поза мережею і публікують у ланцюжку короткі докази з нульовим розголошенням (zkSNARK), які підтверджують правильність виконання із збереженням конфіденційності. Потім ланцюжок перевіряє ці короткі докази в часі, незалежному від часу роботи програми.
Це добре працюючий план, крім однієї затримки: створення докази правильного виконання програми з нульовим розголошенням може бути сильно дорожче, ніж просто безпосереднє виконання програми. Для багатьох корисних програм (наприклад, платежів) ці накладні витрати можна контролювати навіть під час перевірки на стандартному пристрої, такому як мобільний телефон або ноутбук. Однак для інших, більш ресурсомістких додатків, таких як машинне навчання, ігри або автентифікація, накладні витрати на перевірку, що виконується на стандартних пристроях, можуть бути непомірно високими, що, мабуть, робить ці варіанти використання недосяжними.
Проте дизайн Aleo дозволяє клієнтам вибирати, чи передавати створення доказів сторонній «службі перевірки», яка, у разі важких обчислень, для допомоги у вирішенні zkSNARK може мати більше ресурсів, таких як: багатоядерні процесори, великі обсяги оперативної пам'яті або навіть спеціальне обладнання для випробувань Тоді ця проблема стає проблемою стимулювання розробки найкращих архітектур доведення. Вирішення цієї проблеми — це один із ключових мотивів розробки нового алгоритму консенсусу Aleo, AleoBFT. За великим рахунком AleoBFT є гібридною архітектурою, яка використовує доказ proof-of-stake(PoS) для досягнення миттєвого завершення підтвердження блоку та використовує “coinbase puzzle” типу proof-of-work(PoW), яка винагороджує розробку більш швидких методів для генерації доказів. У цьому пості ми заглибимося в деталі цієї Puzzle.
Coinbase Puzzle Coinbase Puzzle - це завдання типу proof-of-work (PoW), яке призначене для стимулювання розробки більш швидкого програмного та апаратного забезпечення для створення доказів з нульовим розголошенням. Щоб досягти цього, Coinbase Puzzle має дві унікальні особливості:
Криптографічна: на відміну від традиційного PoW, який ви знайдете у Bitcoin або Ethereum, Coinbase Puzzle вимагає створення ефективних процедур для «корисних» алгоритмів основних підкомпонентів перевірки zkSNARK.
Економічна: на відміну від традиційного PoW, де кожен блок може містити тільки одне дійсне рішення задачі, а Coinbase Puzzle приймає кілька дійсних рішень на блок, запобігаючи ситуації, коли переможець отримує все (winner-takes-all) та призводячи до ширшого розподілу винагород за доказ.
Давайте заглибимося в Структуру Puzzle, почавши з криптографічної частини:
Структура Puzzle Короткий посібник з дизайну zkSNARK: час створення доказу в сучасних zkSNARK визначається часом доказу двох підкомпонентів: поліноміального IOP та поліноміальної схеми розміщення. Наш coinbase puzzle ефективно стимулює прискорення саме цих підкомпонентів. Давайте подивимося, як вона це робить, глянувши на алгоритм протоколу, який складається з двох кроків:
Генерація рішень-кандидатів (доказ) Щоб згенерувати рішення-кандидат, Прувер генерує (з одноразового номера) та множить випадковий поліном, а потім фіксує отриманий поліном твори за допомогою схеми поліноміальних зобов'язань (схема KZG10, у нашому випадку). Отримане в результаті зобов'язання хешується, і якщо цей хеш відповідає цільовій складності, це дійсне рішення, яке можна відправити агрегатору (разом з підтвердженням оцінки для забезпечення ефективного агрегування). Отримана задача складається з 2 групових елементів та 1 елемента поля, адреси та одноразового номера, і її можна перевірити за допомогою D множень полів та пари, де D – ступінь згенерованого полінома.
Агрегування правильних рішень (BFT Leader) Хоча правильне рішення задачі може бути перевірене будь-ким, додавання кожного рішення задачі в ланцюжок призведе до роздмухування стану. Щоб уникнути цього, Coinbase Puzzle дозволяє BFT Leader поєднувати дійсні рішення. Ми не вдаватимемося в подробиці того, як це робиться, але загальний результат полягає в тому, що в сховищі ланцюжка переважає вартість (n + 1) елементів групи, а один елемент поля є суттєвим поліпшенням. Як додаткова перевага перевірка завдання виконується швидше.
Висновок AleoBFT - це новий механізм консенсусу, який поєднує в собі завершеність proof-of-stake (PoS) з потужним механізмом стимулювання proof-of-work (PoW). У нашому випадку, Coinbase Puzzle стимулює прискорення перевірки zkSNARK. Ця робота корисна, тому що вона переноситься безпосередньо на виконання будь-якої іншої програми в Aleo. За допомогою цього механізму ми сподіваємося стимулювати сильну екосистему, що доводить, (proving ecosystem), яка приносить користь користувачам Aleo за рахунок зниження витрат і зменшення затримки виконання програми.
І останнє зауваження: цей етап тестової мережі стимулюватиметься. Однак, публікація цього повідомлення в блозі не означає початок програми заохочення. Приєднуйтесь до нашої спільноти в Discord і слідкуйте за нами у Twitter, щоб отримувати останні оновлення про графік заохочень.
Оригінал статті: https://www.aleo.org/post/launching-testnet-3-2-provers
