Роллапи останнім часом стали центром уваги щодо розширення BTC, ставши першим справжнім роллапом, який взяв лідерство від Системи освітлення, в більш широкому контексті уваги. Роллапи призначені стати другим рівнем поза блокчейном, який не обмежується обмеженнями або обмеженнями основної Ліквідності Системи освітлення, тобто кінцевим користувачам потрібно, щоб хтось передчасно виділив (або «позичив») кошти, щоб отримати гроші, або проміжні Ноди повинні мати баланс каналу, щоб забезпечити повний потік платежів від відправника до отримувача.
Ці системи спочатку працювали на Ethereum та інших системах, Повнота за Тюрінгом, але останнім часом основна увага переключилася на їхнє портовання на базовану на UTXO блокчейн (наприклад, BTC). Ця стаття не ставить своєю метою обговорення поточного стану реалізації на BTC, але розглядає функції ідеального Rollup, які люди довго переслідували, що залежить від функцій, які зараз не підтримуються BTC, а саме, можливості прямої перевірки Доказ із нульовим розголошенням (ZKP) на BTC.
Основна структура Roll виглядає наступним чином: окремий рахунок (в BTC це UTXO) зберігає баланси всіх користувачів у Rollup. Цей UTXO містить зобов’язання у вигляді кореня Меркла, яке представляє собою всі поточні залишки рахунку у Rollup. Усі ці рахунки авторизуються за допомогою відкритого/закритого ключа, тому для здійснення витрат поза блокчейном користувачам все ще потрібно підписати деякий вміст за допомогою секретного ключа. Ця частина структури дозволяє користувачам в будь-який момент без дозволу виходити, просто доводячи транзакцію, що їх рахунок є частиною дерева Меркла, вони можуть вийти з Rollup односторонньо, не потребуючи дозволу оператора.
Оператор Rollup повинен включити ZKP у справі для оновлення кореня merkle балансу рахунку на у блокчейні під час процесу завершення у блокчейні поза блокчейном. Якщо немає цього ZKP, то угода буде недійсною і не може бути включена до Блокчейну. Цей доказ дозволяє перевірити, чи всі зміни до балансу рахунку поза блокчейном отримали відповідну авторизацію від власника рахунку, а також, чи оператор не має зловживати оновленням балансу для крадіжки коштів користувачів або нечесного розподілу їх іншим користувачам.
Проблема в тому, що якщо лише корінь дерева Меркла публікується у блокчейні, користувачі можуть переглядати його та отримувати доступ до нього, але як вони можуть розмістити свої гілки в дереві, щоб мати змогу без дозволу вийти в будь-який час, коли цього побажають?
Підходящий Rollup
У відповідному Rollup, кожного разу, коли підтверджується нова транзакція поза блокчейном і стан рахунку 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, ставши першим справжнім роллапом, який взяв лідерство від Системи освітлення, в більш широкому контексті уваги. Роллапи призначені стати другим рівнем поза блокчейном, який не обмежується обмеженнями або обмеженнями основної Ліквідності Системи освітлення, тобто кінцевим користувачам потрібно, щоб хтось передчасно виділив (або «позичив») кошти, щоб отримати гроші, або проміжні Ноди повинні мати баланс каналу, щоб забезпечити повний потік платежів від відправника до отримувача.
Ці системи спочатку працювали на Ethereum та інших системах, Повнота за Тюрінгом, але останнім часом основна увага переключилася на їхнє портовання на базовану на UTXO блокчейн (наприклад, BTC). Ця стаття не ставить своєю метою обговорення поточного стану реалізації на BTC, але розглядає функції ідеального Rollup, які люди довго переслідували, що залежить від функцій, які зараз не підтримуються BTC, а саме, можливості прямої перевірки Доказ із нульовим розголошенням (ZKP) на BTC.
Основна структура Roll виглядає наступним чином: окремий рахунок (в BTC це UTXO) зберігає баланси всіх користувачів у Rollup. Цей UTXO містить зобов’язання у вигляді кореня Меркла, яке представляє собою всі поточні залишки рахунку у Rollup. Усі ці рахунки авторизуються за допомогою відкритого/закритого ключа, тому для здійснення витрат поза блокчейном користувачам все ще потрібно підписати деякий вміст за допомогою секретного ключа. Ця частина структури дозволяє користувачам в будь-який момент без дозволу виходити, просто доводячи транзакцію, що їх рахунок є частиною дерева Меркла, вони можуть вийти з Rollup односторонньо, не потребуючи дозволу оператора.
Оператор Rollup повинен включити ZKP у справі для оновлення кореня merkle балансу рахунку на у блокчейні під час процесу завершення у блокчейні поза блокчейном. Якщо немає цього ZKP, то угода буде недійсною і не може бути включена до Блокчейну. Цей доказ дозволяє перевірити, чи всі зміни до балансу рахунку поза блокчейном отримали відповідну авторизацію від власника рахунку, а також, чи оператор не має зловживати оновленням балансу для крадіжки коштів користувачів або нечесного розподілу їх іншим користувачам.
Проблема в тому, що якщо лише корінь дерева Меркла публікується у блокчейні, користувачі можуть переглядати його та отримувати доступ до нього, але як вони можуть розмістити свої гілки в дереві, щоб мати змогу без дозволу вийти в будь-який час, коли цього побажають?
Підходящий Rollup
У відповідному Rollup, кожного разу, коли підтверджується нова транзакція поза блокчейном і стан рахунку 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 та дійсно забезпечимо виведення коштів користувачем з одного боку, як це буде?