Останнім часом роллапи стали центром масштабування BTC, ставши першим, хто дійсно «вкрав шоу» у Lighting Network, з точки зору більш широкої уваги. Роллапи призначені для того, щоб бути позаблокчейном рівня 2, який не обмежений обмеженнями ліквідності ядра мережі освітлення, тобто кінцевому користувачеві потрібен хтось, хто виділить (або «позичить») кошти заздалегідь, щоб отримати гроші, або проміжним маршрутом Нода потрібен баланс каналу для полегшення повного потоку суми платежу від відправника до одержувача.
Ці системи спочатку працювали на блокчейні Ethereum та інших системах Повнота за Тюрінгом, але останнім часом увага переключилася на їхнє перенесення на блокчейн, заснований на UTXO (наприклад, BTC). Ця стаття не має на меті обговорення поточного стану реалізації цього на BTC, але розглядає функції ідеального Rollup, які довго переслідувалися людьми, які залежать від функцій, які наразі не підтримуються в BTC, а саме можливості прямої перевірки ЗП з нульовим розголошенням (ZKP) на BTC.
Основна структура Roll виглядає наступним чином: окремий рахунок (в BTC - UTXO) зберігає залишки всіх користувачів у Rollup. Цей UTXO містить зобов’язання у вигляді кореня Merkle-дерева, що містить всі поточні залишки рахунків у Rollup. Усі ці рахунки авторизовані за допомогою відкритого ключа/закритого ключа, тому для здійснення витрат поза блокчейном користувачам все ще потрібно підписати деякий вміст за допомогою секретного ключа. Ця частина структури дозволяє користувачам в будь-який момент виходити без дозволу, просто пред’явивши доказ транзакції, що вони є частиною Merkle-дерева, вони можуть односторонньо вийти з Rollup без дозволу оператора.
Оператор Rollup повинен включити ZKP в операції, щоб оновити баланс рахунку у блокчейні під час завершення поза блокчейном транзакції за допомогою кореня merkle, якщо такого ZKP немає, то операція буде недійсною і не може бути включена до Блокчейну. Це доказ дозволяє людям перевірити, чи всі зміни балансу поза блокчейном отримали належну авторизацію власника рахунку, а також чи оператор не має злочинних намірів щодо оновлення балансу для крадіжки коштів користувачів або недобросовісного його перерозподілу іншим користувачам.
Проблема полягає в тому, що якщо лише корінь дерева Меркла опублікований у блокчейні, користувачі можуть переглядати та отримувати до нього доступ, то як вони можуть розмістити свої гілки в дереві, щоб мати змогу виходити в будь-який час без дозволу?
Підходящий Rollup
У відповідному Rollup кожен раз, коли підтверджується нова угода поза блокчейном і змінюється стан рахунку Rollup, інформація безпосередньо вноситься в ланцюжок блоків. Це не вся деревина, це було б абсурдно, це тільки інформація, необхідна для відтворення дерева. У простому втіленні усі сумісні рахунки Rollup будуть містити витяг, який включатиме баланс, а рахунок буде додаватися тільки в угоді Rollup.
У більш високорівневій реалізації використовується різниця в балансі. Зазвичай це стосується того, які рахунки змінилися під час оновлення, збільшилися або зменшилися. Це дозволяє кожному оновленню Rollup містити лише зміни в балансі рахунків. Після цього користувач може просто просканувати ланцюг та “провести обчислення” від початку Rollup, щоб отримати поточний стан балансу рахунків, що дозволяє їм відновити поточний баланс дерева Меркля.
Це дозволяє заощадити значні витрати та Блок-простір (тим самим зекономити кошти), дозволяючи користувачам забезпечити доступ до інформації, необхідної для одностороннього виходу. Правила rollup вимагають включення цих даних в офіційний rollup, який надається користувачам за допомогою Блок-ланцюга, тобто транзакції, які не містять рахунок-суму або рахунок-різницю, вважаються недійсними.
Термін дії
Ще один спосіб вирішення проблеми доступності даних для вилучення користувача - це розміщення даних в іншому місці, поза Блокчейном. Це вносить деяку складність, оскільки rollup все ще потребує забезпечення доступності даних в іншому місці. Традиційно для цієї цілі використовувалися інші Блокчейни, спеціально розроблені як шар доступності даних для систем, таких як rollup.
Це призводить до того, що виникає така ж складна ситуація забезпечення безпеки. Коли дані безпосередньо публікуються в ланцюжок блоків Біткойн, правила Консенсус можуть гарантувати їх абсолютну правильність. Однак коли вони публікуються в зовнішній системі, найкраще, що вони можуть зробити, - це перевірити доказ 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 виглядає наступним чином: окремий рахунок (в BTC - UTXO) зберігає залишки всіх користувачів у Rollup. Цей UTXO містить зобов’язання у вигляді кореня Merkle-дерева, що містить всі поточні залишки рахунків у Rollup. Усі ці рахунки авторизовані за допомогою відкритого ключа/закритого ключа, тому для здійснення витрат поза блокчейном користувачам все ще потрібно підписати деякий вміст за допомогою секретного ключа. Ця частина структури дозволяє користувачам в будь-який момент виходити без дозволу, просто пред’явивши доказ транзакції, що вони є частиною Merkle-дерева, вони можуть односторонньо вийти з Rollup без дозволу оператора.
Оператор Rollup повинен включити ZKP в операції, щоб оновити баланс рахунку у блокчейні під час завершення поза блокчейном транзакції за допомогою кореня merkle, якщо такого ZKP немає, то операція буде недійсною і не може бути включена до Блокчейну. Це доказ дозволяє людям перевірити, чи всі зміни балансу поза блокчейном отримали належну авторизацію власника рахунку, а також чи оператор не має злочинних намірів щодо оновлення балансу для крадіжки коштів користувачів або недобросовісного його перерозподілу іншим користувачам.
Проблема полягає в тому, що якщо лише корінь дерева Меркла опублікований у блокчейні, користувачі можуть переглядати та отримувати до нього доступ, то як вони можуть розмістити свої гілки в дереві, щоб мати змогу виходити в будь-який час без дозволу?
Підходящий Rollup
У відповідному Rollup кожен раз, коли підтверджується нова угода поза блокчейном і змінюється стан рахунку Rollup, інформація безпосередньо вноситься в ланцюжок блоків. Це не вся деревина, це було б абсурдно, це тільки інформація, необхідна для відтворення дерева. У простому втіленні усі сумісні рахунки Rollup будуть містити витяг, який включатиме баланс, а рахунок буде додаватися тільки в угоді Rollup.
У більш високорівневій реалізації використовується різниця в балансі. Зазвичай це стосується того, які рахунки змінилися під час оновлення, збільшилися або зменшилися. Це дозволяє кожному оновленню Rollup містити лише зміни в балансі рахунків. Після цього користувач може просто просканувати ланцюг та “провести обчислення” від початку Rollup, щоб отримати поточний стан балансу рахунків, що дозволяє їм відновити поточний баланс дерева Меркля.
Це дозволяє заощадити значні витрати та Блок-простір (тим самим зекономити кошти), дозволяючи користувачам забезпечити доступ до інформації, необхідної для одностороннього виходу. Правила rollup вимагають включення цих даних в офіційний rollup, який надається користувачам за допомогою Блок-ланцюга, тобто транзакції, які не містять рахунок-суму або рахунок-різницю, вважаються недійсними.
Термін дії
Ще один спосіб вирішення проблеми доступності даних для вилучення користувача - це розміщення даних в іншому місці, поза Блокчейном. Це вносить деяку складність, оскільки rollup все ще потребує забезпечення доступності даних в іншому місці. Традиційно для цієї цілі використовувалися інші Блокчейни, спеціально розроблені як шар доступності даних для систем, таких як rollup.
Це призводить до того, що виникає така ж складна ситуація забезпечення безпеки. Коли дані безпосередньо публікуються в ланцюжок блоків Біткойн, правила Консенсус можуть гарантувати їх абсолютну правильність. Однак коли вони публікуються в зовнішній системі, найкраще, що вони можуть зробити, - це перевірити доказ SPV, тобто те, що дані були опубліковані в іншій системі.
Це потребує підтвердження доказів, що дані існують у Блоках у блокчейні, що є нарешті проблемою Оракул-машина. Блокчейн BTC не може повністю підтвердити нічого, крім того, що відбувається у власному Блоці блокчейні, найкраще, що він може зробити - це підтвердити ZKP. Однак ZKP не може підтвердити, чи було дійсно публічно опубліковано Блок, що містить дані про rollup, після його створення. Він не може підтвердити, що зовнішня інформація дійсно доступна для всіх.
Це відкрило шлях для атак затримки даних, тобто створення обіцянки щодо публікації даних та їх використання для просування rollup, але фактично дані недоступні. Це призводить до того, що користувачі не можуть виводити кошти. Єдиним справжнім рішенням є повна залежність від вартості та структури стимулювання систем поза BTC.
На межі виходу
Це створює складність для rollup. Коли мова йде про проблеми доступності даних, фактично є дві бінарні опції: публікація даних на блокчейні BTC або в іншому місці. Цей вибір має суттєвий вплив на безпеку та суверенітет rollup, а також на його масштабованість.
З одного боку, використання BTCБлокчейн як шару доступності даних встановить жорсткий верхній ліміт масштабованості для rollup. Блокчейн Блок є обмеженим, що встановлює верхній ліміт кількості rollup, які можуть існувати одночасно, а також загальну кількість угод, які можна обробити поза блокчейном. Кожне оновлення rollup потребує пропорційної кількості рахунків, які змінилися з моменту попереднього оновлення, у Блокчейн Блок просторі. За інформаційною теорією дані можуть бути стиснуті лише до певного рівня, тому немає більше потенціалу для розширення.
З іншого боку, використання різних шарів для досягнення доступності даних усуває жорстку верхню межу масштабовності, але це також викликає нові питання з безпеки та суверенітету. У Rollup, який використовує BTC для досягнення доступності даних, стан Rollup не може змінитися, якщо дані, які користувач має видобути, не автоматично публікуються на блокчейні. При використанні Validiums ця гарантія повністю залежить від здатності зовнішньої системи відстоюватися від обману та приховування даних.
Зараз будь-який Блок виробник на системі доступності зовнішніх даних може захопити кошти користувачів BTCRollup, виробляючи Блоки замість фактичного їх трансляції, щоб зробити дані доступними.
Отже, якщо ми дійсно реалізуємо ідеальну реалізацію Rollup на BTC та дійсно забезпечимо одностороннє зняття коштів користувачами, як це буде виглядати?