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