Джерело: Журнал Bitcoin; Переклад: Вуцзи, Золота фінансова
Роллапи останнім часом стали фокусом розширення Біткойн, ставши першим дійсно конкурентоспроможним рішенням порівняно з Lighting Network, з точки зору широкого загального інтересу. Роллапи прагнуть стати поза блокчейном другим рівнем, який не обмежується обмеженнями Ліквідності як основного обмеження Lighting Network, тобто кінцевий користувач повинен мати заздалегідь виділені (або «позичені») кошти, щоб отримати гроші, або проміжні Ноди повинні мати баланс каналу, щоб забезпечити повний потік платежу від відправника до одержувача.
Ці системи спочатку працювали на 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, тобто те, що дані були опубліковані в іншій системі.
Це потребує підтвердження доказу, що дані існують на Оракул-машина іншому у блокчейні, що нарешті є проблема Оракул-машина. Блокчейн Біткойн не може повністю підтвердити ніщо, крім того, що відбувається в його власному блоку у блокчейні. Найкраще, що він може зробити, - це підтвердити ZKP. Однак, ZKP не може підтвердити, чи були дані Блоку, що містить дані rollup, дійсно опубліковані після його створення. Він не може підтвердити, чи була зовнішня інформація дійсно доступна всім.
Це відкрило двері для атаки затримки даних, а саме створення обіцянки щодо публікації даних та їх використання для просування роллапу, але фактично дані недоступні. Це призводить до того, що користувачі не можуть вивести кошти. Єдиним справжнім рішенням є повна залежність від цінності та структури стимулів, крім BTC.
В глухой тупик
Це створило ділему для rollup. Коли мова йде про питання доступності даних, існує фактично двохвибіркове рішення щодо того, чи публікувати дані на блокчейні BTC, чи десь інде. Цей вибір має значний вплив на безпеку та суверенітет rollup, а також на його масштабованість.
З одного боку, використання Біткойн Блокчейн як шару доступності даних обмежує масштабованість rollup. Блоки обмежені, що накладає максимальну кількість rollup, які можуть існувати одночасно, а також загальну кількість транзакцій, які можуть бути оброблені поза блокчейном, для всіх rollup. Кожне оновлення rollup потребує блоків, пропорційних кількості рахунків, які змінили свій баланс з моменту останнього оновлення. Теорія інформації дозволяє стиснення даних лише до певної міри, після чого немає більше потенціалу для масштабування.
З іншого боку, використання різних шарів для досягнення доступності даних призведе до усунення жорсткого верхнього обмеження на масштабованість, але також виникнуть нові питання щодо безпеки та суверенітету. У випадку Rollup, який використовує BTC для досягнення доступності даних, якщо дані, які потрібно видобути, не автоматично публікуються на блокчейні, стан Rollup не може змінитися. Використання Validiums цілком залежить від здатності зовнішньої системи відстоюватися від обману та приховування даних.
Тепер будь-який Блок-продюсер системи доступності зовнішніх даних може викравати кошти користувачів BTCRollup, виробляючи Блок, а не фактично розповсюджуючи його.
Тоді якщо ми дійсно здійснимо ідеальну реалізацію Rollup на BTC та досягнемо одностороннього зняття коштів користувачем, як це буде?
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Bitcoin Magazine: З якими проблемами стикається Rollup?
Джерело: Журнал Bitcoin; Переклад: Вуцзи, Золота фінансова
Роллапи останнім часом стали фокусом розширення Біткойн, ставши першим дійсно конкурентоспроможним рішенням порівняно з Lighting Network, з точки зору широкого загального інтересу. Роллапи прагнуть стати поза блокчейном другим рівнем, який не обмежується обмеженнями Ліквідності як основного обмеження Lighting Network, тобто кінцевий користувач повинен мати заздалегідь виділені (або «позичені») кошти, щоб отримати гроші, або проміжні Ноди повинні мати баланс каналу, щоб забезпечити повний потік платежу від відправника до одержувача.
Ці системи спочатку працювали на 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, тобто те, що дані були опубліковані в іншій системі.
Це потребує підтвердження доказу, що дані існують на Оракул-машина іншому у блокчейні, що нарешті є проблема Оракул-машина. Блокчейн Біткойн не може повністю підтвердити ніщо, крім того, що відбувається в його власному блоку у блокчейні. Найкраще, що він може зробити, - це підтвердити ZKP. Однак, ZKP не може підтвердити, чи були дані Блоку, що містить дані rollup, дійсно опубліковані після його створення. Він не може підтвердити, чи була зовнішня інформація дійсно доступна всім.
Це відкрило двері для атаки затримки даних, а саме створення обіцянки щодо публікації даних та їх використання для просування роллапу, але фактично дані недоступні. Це призводить до того, що користувачі не можуть вивести кошти. Єдиним справжнім рішенням є повна залежність від цінності та структури стимулів, крім BTC.
В глухой тупик
Це створило ділему для rollup. Коли мова йде про питання доступності даних, існує фактично двохвибіркове рішення щодо того, чи публікувати дані на блокчейні BTC, чи десь інде. Цей вибір має значний вплив на безпеку та суверенітет rollup, а також на його масштабованість.
З одного боку, використання Біткойн Блокчейн як шару доступності даних обмежує масштабованість rollup. Блоки обмежені, що накладає максимальну кількість rollup, які можуть існувати одночасно, а також загальну кількість транзакцій, які можуть бути оброблені поза блокчейном, для всіх rollup. Кожне оновлення rollup потребує блоків, пропорційних кількості рахунків, які змінили свій баланс з моменту останнього оновлення. Теорія інформації дозволяє стиснення даних лише до певної міри, після чого немає більше потенціалу для масштабування.
З іншого боку, використання різних шарів для досягнення доступності даних призведе до усунення жорсткого верхнього обмеження на масштабованість, але також виникнуть нові питання щодо безпеки та суверенітету. У випадку Rollup, який використовує BTC для досягнення доступності даних, якщо дані, які потрібно видобути, не автоматично публікуються на блокчейні, стан Rollup не може змінитися. Використання Validiums цілком залежить від здатності зовнішньої системи відстоюватися від обману та приховування даних.
Тепер будь-який Блок-продюсер системи доступності зовнішніх даних може викравати кошти користувачів BTCRollup, виробляючи Блок, а не фактично розповсюджуючи його.
Тоді якщо ми дійсно здійснимо ідеальну реалізацію Rollup на BTC та досягнемо одностороннього зняття коштів користувачем, як це буде?