Джерело: Bitcoin Magazine; Переклад: Ву Чжу, Золота Фінансова
Останнім часом роллапи стали центром масштабування BTC, ставши першим, хто дійсно «вкрав шоу» у Lighting Network, з точки зору більш широкої уваги. Роллапи призначені для того, щоб бути позаблокчейном рівня 2, який не обмежений обмеженнями ліквідності ядра мережі освітлення, тобто кінцевому користувачеві потрібен хтось, хто виділить (або «позичить») кошти заздалегідь, щоб отримати гроші, або проміжним маршрутом Нода потрібен баланс каналу для полегшення повного потоку суми платежу від відправника до одержувача.
Ці системи спочатку працювали на блокчейні Ethereum та інших системах Повнота за Тюрінгом, але останнім часом увага переключилася на їх перенесення на базовий UTXO-блокчейн (наприклад, BTC). Ця стаття не має на меті обговорювати поточний стан реалізації на BTC, але говорити про функції ідеалізованого Rollup, якого довго прагнули люди, які залежать від функцій, які в даний час не підтримуються BTC, а саме прямої здатності перевірки ZKP на BTC.
Основна архітектура Roll виглядає наступним чином: окремий рахунок (UTXO в BTC) зберігає баланс всіх користувачів у Rollup. Цей UTXO містить зобов’язання, яке представлено у вигляді кореня Merkle-дерева, що містить всі поточні баланси рахунків у Rollup. Усі ці рахунки затверджуються парою Відкритий ключ/Закритий ключ, тому для витрати поза блокчейном користувачам все одно потрібно підписувати деякий вміст за допомогою Секретний ключ. Ця частина структури дозволяє користувачам в будь-який момент без дозволу вийти, зробивши транзакцію, що доводить, що їх рахунок є частиною Merkle-дерева, і вони можуть односторонньо вийти з Rollup без дозволу оператора.
Оператор Rollup повинен включити ZKP у транзакцію, щоб оновити кореневий меркл-дерева балансу рахунку у блокчейні під час завершення поза блокчейном транзакції. Без цього ZKP транзакція буде недійсною і не може бути включена у Блокчейн. Цей довід позволяє перевірити, чи всі зміни в балансі рахунку поза блокчейном отримали відповідну авторизацію власника рахунку та чи оператор не має зловмисних намірів оновлювати баланс, щоб викрасти кошти користувачів або нечесно перерозподіляти їх іншим користувачам.
Проблема полягає в тому, що якщо у блокчейні опубліковано лише корінь дерева Меркля, користувачі зможуть переглядати й отримувати до нього доступ, але як вони зможуть розмістити свої гілки в дереві, щоб мати змогу виходити з нього у потрібний момент без дозволу?
Підходящий Rollup
У відповідному Rollup, кожного разу, коли нова поза блокчейном транзакція підтверджується і стан Rollupрахунку змінюється, інформація безпосередньо вноситься до ланцюжка блоків. Не вся дерево, це було б абсурдно, але інформація, необхідна для перебудови дерева. У простій реалізації, усі рахунки в Rollup міститимуть зведену інформацію про баланси, і рахунок буде доданий лише в оновленнях транзакцій Rollup.
У більш просунутих реалізаціях використовуються дисперсії балансу. По суті, це підсумок того, який рахунок збільшився або зменшився в ході оновлення. Таким чином, кожне зведене оновлення містить лише ті зміни балансу, які відбуваються. Потім користувачі можуть просто просканувати ланцюжок і «обчислити» з початку зведення, щоб отримати поточний стан балансу рахунку, що дозволяє їм реконструювати дерево Меркла поточного балансу.
Це дозволяє заощадити велику кількість витрат та простір для Блоків (тим самим зекономивши кошти), при цьому все ще дозволяє користувачам забезпечити доступ до інформації, необхідної для одностороннього виходу. Згідно з правилами rollup, ці дані повинні бути включені в офіційний rollup, який надається користувачам за допомогою Блокчейну, тобто транзакції, які не містять резюме рахунку або різницю рахунку, вважаються недійсними.
Термін дії
Ще один спосіб вирішення проблеми доступності даних для вилучення користувачів полягає в розміщенні даних в іншому місці, окрім Блокчейну. Це вводить складні проблеми, оскільки rollup все ще потребує забезпечення доступності даних в інших місцях. Традиційно для цієї цілі використовувалися інші Блокчейни, спеціально розроблені як шар доступності даних для систем, таких як rollup.
Це створює таку ж саму складність у забезпеченні безпеки. Консенсусні правила можуть гарантувати абсолютну правильність даних, коли вони безпосередньо публікуються на ланцюжку BTC. Однак, коли вони публікуються в зовнішні системи, найкраще, що вони можуть зробити - це перевірити докази SPV, тобто те, що дані були опубліковані в іншій системі.
Це потребує підтвердження того, що дані існують в інших ланцюгах блоків, що нарешті є проблемою оракул-машина. Блокчейн BTC не може повністю підтвердити будь-які події, що відбуваються за межами свого власного блоку блокчейну, найкраще, що він може зробити - це підтвердити ZKP. Однак ZKP не може підтвердити, що дані rollup у блоках, згенерованих після їх створення, дійсно були публічно опубліковані. Воно не може підтвердити, що зовнішня інформація дійсно є доступною для всіх.
Це відкрило двері для атаки затримки даних, тобто створення обіцянок щодо опублікованих даних та їх використання для просування rollup, але фактично дані не доступні. Це призвело до того, що користувачі не можуть вилучити кошти. Єдиним справжнім рішенням є повне покладанняся на цінність та структуру стимулювання систем, які не пов’язані з BTC.
Вступ або вихід
Це створює складність для rollup. Коли розглядається проблема доступності даних, існує фактично дві дихотомії - публікація даних на блокчейні BTC або в іншому місці. Цей вибір має вагомий вплив на безпеку та суверенітет rollup, а також на його масштабованість.
З одного боку, використання BTC Блокчейну як шару доступності даних встановлює жорсткий ліміт масштабованості для rollup. Блокчейн обмежений простором, що встановлює верхню межу кількості rollup, які можуть існувати одночасно, а також загальної кількості угод, які можуть бути оброблені поза блокчейном. Кожне оновлення rollup потребує відповідної кількості блокчейн простору, пропорційної кількості облікових записів, у яких змінилися баланси з часу попереднього оновлення. Інформаційна теорія дозволяє лише певну ступінь стиснення даних, і на цьому етапі немає більшого потенціалу для масштабування.
З іншого боку, використання різних шарів для забезпечення доступності даних призводить до усунення жорсткої верхньої межі на масштабованість, але це також призводить до нових проблем безпеки та суверенітету. У Rollup, який використовує BTC для забезпечення доступності даних, стан Rollup не може змінюватися, якщо дані, які потрібно витягнути, не автоматично публікуються на ланцюжку блоків. Ця гарантія повністю залежить від здатності зовнішньої системи відбивати шахрайство та затаювання даних при використанні Validiums.
Тепер будь-який виробник Блоку на зовнішній системі доступності даних може викрасти кошти користувачів BTCRollup, створивши Блок замість того, щоб фактично транслювати його, роблячи дані доступними.
Так якщо ми дійсно здійснимо ідеальну реалізацію Rollup на BTC, яка дозволить односторонній вилучення коштів користувачем, як це буде виглядати?
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Bitcoin Magazine: З якими проблемами стикається Rollup?
Джерело: Bitcoin Magazine; Переклад: Ву Чжу, Золота Фінансова
Останнім часом роллапи стали центром масштабування BTC, ставши першим, хто дійсно «вкрав шоу» у Lighting Network, з точки зору більш широкої уваги. Роллапи призначені для того, щоб бути позаблокчейном рівня 2, який не обмежений обмеженнями ліквідності ядра мережі освітлення, тобто кінцевому користувачеві потрібен хтось, хто виділить (або «позичить») кошти заздалегідь, щоб отримати гроші, або проміжним маршрутом Нода потрібен баланс каналу для полегшення повного потоку суми платежу від відправника до одержувача.
Ці системи спочатку працювали на блокчейні Ethereum та інших системах Повнота за Тюрінгом, але останнім часом увага переключилася на їх перенесення на базовий UTXO-блокчейн (наприклад, BTC). Ця стаття не має на меті обговорювати поточний стан реалізації на BTC, але говорити про функції ідеалізованого Rollup, якого довго прагнули люди, які залежать від функцій, які в даний час не підтримуються BTC, а саме прямої здатності перевірки ZKP на BTC.
Основна архітектура Roll виглядає наступним чином: окремий рахунок (UTXO в BTC) зберігає баланс всіх користувачів у Rollup. Цей UTXO містить зобов’язання, яке представлено у вигляді кореня Merkle-дерева, що містить всі поточні баланси рахунків у Rollup. Усі ці рахунки затверджуються парою Відкритий ключ/Закритий ключ, тому для витрати поза блокчейном користувачам все одно потрібно підписувати деякий вміст за допомогою Секретний ключ. Ця частина структури дозволяє користувачам в будь-який момент без дозволу вийти, зробивши транзакцію, що доводить, що їх рахунок є частиною Merkle-дерева, і вони можуть односторонньо вийти з Rollup без дозволу оператора.
Оператор Rollup повинен включити ZKP у транзакцію, щоб оновити кореневий меркл-дерева балансу рахунку у блокчейні під час завершення поза блокчейном транзакції. Без цього ZKP транзакція буде недійсною і не може бути включена у Блокчейн. Цей довід позволяє перевірити, чи всі зміни в балансі рахунку поза блокчейном отримали відповідну авторизацію власника рахунку та чи оператор не має зловмисних намірів оновлювати баланс, щоб викрасти кошти користувачів або нечесно перерозподіляти їх іншим користувачам.
Проблема полягає в тому, що якщо у блокчейні опубліковано лише корінь дерева Меркля, користувачі зможуть переглядати й отримувати до нього доступ, але як вони зможуть розмістити свої гілки в дереві, щоб мати змогу виходити з нього у потрібний момент без дозволу?
Підходящий Rollup
У відповідному Rollup, кожного разу, коли нова поза блокчейном транзакція підтверджується і стан Rollupрахунку змінюється, інформація безпосередньо вноситься до ланцюжка блоків. Не вся дерево, це було б абсурдно, але інформація, необхідна для перебудови дерева. У простій реалізації, усі рахунки в Rollup міститимуть зведену інформацію про баланси, і рахунок буде доданий лише в оновленнях транзакцій Rollup.
У більш просунутих реалізаціях використовуються дисперсії балансу. По суті, це підсумок того, який рахунок збільшився або зменшився в ході оновлення. Таким чином, кожне зведене оновлення містить лише ті зміни балансу, які відбуваються. Потім користувачі можуть просто просканувати ланцюжок і «обчислити» з початку зведення, щоб отримати поточний стан балансу рахунку, що дозволяє їм реконструювати дерево Меркла поточного балансу.
Це дозволяє заощадити велику кількість витрат та простір для Блоків (тим самим зекономивши кошти), при цьому все ще дозволяє користувачам забезпечити доступ до інформації, необхідної для одностороннього виходу. Згідно з правилами rollup, ці дані повинні бути включені в офіційний rollup, який надається користувачам за допомогою Блокчейну, тобто транзакції, які не містять резюме рахунку або різницю рахунку, вважаються недійсними.
Термін дії
Ще один спосіб вирішення проблеми доступності даних для вилучення користувачів полягає в розміщенні даних в іншому місці, окрім Блокчейну. Це вводить складні проблеми, оскільки rollup все ще потребує забезпечення доступності даних в інших місцях. Традиційно для цієї цілі використовувалися інші Блокчейни, спеціально розроблені як шар доступності даних для систем, таких як rollup.
Це створює таку ж саму складність у забезпеченні безпеки. Консенсусні правила можуть гарантувати абсолютну правильність даних, коли вони безпосередньо публікуються на ланцюжку BTC. Однак, коли вони публікуються в зовнішні системи, найкраще, що вони можуть зробити - це перевірити докази SPV, тобто те, що дані були опубліковані в іншій системі.
Це потребує підтвердження того, що дані існують в інших ланцюгах блоків, що нарешті є проблемою оракул-машина. Блокчейн BTC не може повністю підтвердити будь-які події, що відбуваються за межами свого власного блоку блокчейну, найкраще, що він може зробити - це підтвердити ZKP. Однак ZKP не може підтвердити, що дані rollup у блоках, згенерованих після їх створення, дійсно були публічно опубліковані. Воно не може підтвердити, що зовнішня інформація дійсно є доступною для всіх.
Це відкрило двері для атаки затримки даних, тобто створення обіцянок щодо опублікованих даних та їх використання для просування rollup, але фактично дані не доступні. Це призвело до того, що користувачі не можуть вилучити кошти. Єдиним справжнім рішенням є повне покладанняся на цінність та структуру стимулювання систем, які не пов’язані з BTC.
Вступ або вихід
Це створює складність для rollup. Коли розглядається проблема доступності даних, існує фактично дві дихотомії - публікація даних на блокчейні BTC або в іншому місці. Цей вибір має вагомий вплив на безпеку та суверенітет rollup, а також на його масштабованість.
З одного боку, використання BTC Блокчейну як шару доступності даних встановлює жорсткий ліміт масштабованості для rollup. Блокчейн обмежений простором, що встановлює верхню межу кількості rollup, які можуть існувати одночасно, а також загальної кількості угод, які можуть бути оброблені поза блокчейном. Кожне оновлення rollup потребує відповідної кількості блокчейн простору, пропорційної кількості облікових записів, у яких змінилися баланси з часу попереднього оновлення. Інформаційна теорія дозволяє лише певну ступінь стиснення даних, і на цьому етапі немає більшого потенціалу для масштабування.
З іншого боку, використання різних шарів для забезпечення доступності даних призводить до усунення жорсткої верхньої межі на масштабованість, але це також призводить до нових проблем безпеки та суверенітету. У Rollup, який використовує BTC для забезпечення доступності даних, стан Rollup не може змінюватися, якщо дані, які потрібно витягнути, не автоматично публікуються на ланцюжку блоків. Ця гарантія повністю залежить від здатності зовнішньої системи відбивати шахрайство та затаювання даних при використанні Validiums.
Тепер будь-який виробник Блоку на зовнішній системі доступності даних може викрасти кошти користувачів BTCRollup, створивши Блок замість того, щоб фактично транслювати його, роблячи дані доступними.
Так якщо ми дійсно здійснимо ідеальну реалізацію Rollup на BTC, яка дозволить односторонній вилучення коштів користувачем, як це буде виглядати?