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