Вибіркова доступність даних (1): Чому потрібен DAS?

Середній1/7/2024, 6:44:02 AM
Ця стаття пояснює переваги технології вибіркового доступу до даних (DAS) та чому потрібна ця технологія.

Які переваги технології вибіркової доступності даних? Чому нам це потрібно?

Фото з@testalizeme?utm_source=medium&utm_medium=referral">Testalize.me на Unsplash

Необхідні знання:

  • Мати базове розуміння операцій консенсусу Ethereum
  • Знайте різницю між повноцінним вузлом та легким вузлом
  • Знайте проблеми Rollup та публікації даних (доступність даних)

Наступне буде Оприлюднення даних називатися Доступність даних, але деякі терміни, пов'язані з Доступністю даних, такі як DAS та DAC, залишаться в оригіналі, щоб читачі могли зв'язатися з оригінальним англійським текстом. Для ознайомлення з назвою Оприлюднення даних, див.:

Перейменування доступності даних: Публікація даних заміняє доступність даних

Нещодавно деякі люди запропонували використовувати "Публікацію даних" замість "Доступності даних", щоб уникнути плутанини, спричиненої терміном DA. Ця стаття розкриє плутанину, спричинену словом DA та чому слід використовувати термін Публікація даних замість Даних…

medium.com

Ця серія статей ознайомить з механізмом роботи DAS через Danksharding, а також схожостями та відмінностями між Celestia, EigenDA та AvailDA. Перша стаття розповість, чому нам потрібен DAS та переваги, які приносить DAS.

Підсумок: Чому обговорюється питання випуску даних?

На даний момент найбільш поширеною ситуацією, в якій обговорюється випуск даних в екосистемі Ethereum, є обговорення дизайну L2: L2 сам по собі є ланцюгом, тому в ньому також є власні блоки та дані транзакцій, тому куди слід помістити ці дані? Тому що користувачам потрібна ця інформація для забезпечення безпеки.

  • Якщо це Rollup, він завантажить свої транзакційні дані на L1, такі як Ethereum, використовуючи Ethereum як місце для зберігання даних.
  • Якщо це не Rollup, дані будуть розміщені в іншому місці, наприклад, групою довірених учасників. Такий кастодіан називається Комітет доступності даних (DAC).

Для отримання додаткової інформації про відносини між Rollup та випуском даних, будь ласка, звертайтеся до:

Rollup та доступність даних

Ця стаття розкриє взаємозв'язок між доступністю даних та Rollup, та те, як Rollup може зробити деякі жертви в доступності даних на користь зниження вартості транзакцій.

medium.com

Але насправді це не просто L2, сам ланцюг Ethereum також зіткнеться з проблемою випуску даних, оскільки легкі вузли не будуть завантажувати повні дані блоку, як повні вузли, тому легким вузлам потрібно вірити, що «коли з'являється новий блок, фактично були випущені повні дані блоку». Коли легкий вузол обманюється і вірить, що «неповний» блок, вплив такий же, якщо він обманюється і вірить, що «неправильний» блок - він підключений до ланки, якою не користуються інші. Визнані відгалужені ланцюги.

Повні вузли не будуть вірити неповним блокам, але легкі вузли так

Так кому довіряє поточний легкий вузол Ethereum, щоб забезпечити, що дані нового блоку повністю оприлюднені? Відповідь - «Валідатори». Коли легкий вузол отримує новий блок, він не завантажуватиме повних даних блоку, але побачить, скільки валідаторів проголосували за блок. Коли достатньо валідаторів голосує за цей блок, він повірить, що повна інформація про цей блок дійсно була опублікована. Це припущення належить Чесній Більшості, яка є вірою в те, що більшість валідаторів - хороші люди.

Коли достатньо валідаторів підписують блок, легкий вузол повірить, що блок був повністю випущений.

Примітка: На даний момент легкі вузли Ethereum фактично не збирають голоси сотень тисяч валідаторів для обчислення, оскільки їх кількість занадто велика, а обчислення забирають занадто багато ресурсів. Замість цього, інша група Синхронного Комітету з набагато меншою кількістю призначається, в якій є підпис валідатора, що слугує гарантією для легкого вузла. Це вважається перехідним підходом, який очікує більш повного і зрілого дизайну для заміни його у майбутньому.

Вибіркова доступність даних

“Вірити, що більшість валідаторів - хороші люди” звучить розумно та гарним вибором, але що, якщо ми зможемо зробити краще? Що, якщо одного дня справді відбудеться те, що більшість валідаторів захочуть об'єднатися, щоб обдурити нас, кажучи, що вони мають повні дані блоку, а насправді це не так, але якщо в п2п мережі є кілька хороших людей, ми можемо уникнути обману?

Такі великі можливості точно не виникнуть з нізвідки. Щоб мати цю можливість, вам потрібно побудувати достатньо стабільну мережу p2p, мати достатню кількість користувачів і навіть додати функції конфіденційності до мережевого рівня. Ця можливість є фокусом цього циклу статей - Вибіркове забезпечення доступності даних (DAS).

У блокчейні з DAS легкі вузли не лише пасивно отримують нові дані блоків, але також спільно беруть участь у роботі DAS: кожен легкий вузол повинен звертатися до мережі p2p для кожного блоку. По дорозі він шукає кілька шматків даних на блоку та зберігає ці дані, а також ділиться ними з іншими вузлами, коли ті запитують дані. Точно так само, як у децентралізованому протоколі обміну файлами BitTorrent, вузли у мережі зберігають та діляться даними, які їх цікавлять, разом, замість того, щоб покладатися на централізований сервер.

Легкі вузли співпрацюють для отримання та обміну даними фрагментів блоків через мережу p2p

Примітка: У ідеальному сценарії користувачі блокчейну всі б використовували легкі вузли, брали участь в операціях DAS та забезпечували разом безпеку, замість повної довіри до інших вузлів, як зараз.

Кожен легкий вузол не може повірити, що дані блоку були повністю звільнені, поки він не отримає всі дані, які він запитує. Однак, як тільки кожен фрагмент запитуваних даних отриманий, він може сміливо вважати, що дані блоку були звільнені. Інформація оприлюднена в повному обсязі. Але чому легкі ноди можуть з упевненістю вважати, що повні дані блоку були оприлюднені, навіть якщо вони мають лише фрагментовані дані? Це пов'язано з тим, що інші легкі вузли в мережі також зберігатимуть фрагментні дані окремо, тому, коли це необхідно, кожен зможе працювати разом, щоб зібрати докупи повні дані з фрагментних даних один одного, і ще одна магічна здатність DAS полягає в тому, що дані, збережені легкими вузлами, не повинні покривати повні дані блоку. Легкі вузли можуть відновити 100% даних, якщо вони отримують 50% даних.

Доти, поки легкі вузли мають більше 50% фрагментованих даних, вони можуть відновити повні дані блоку.

Примітка: Це не обов'язково 50%, воно може бути вище, в залежності від налаштування DAS, але точно буде менше 100%.

Отже, в DAS, навіть якщо більшість валідаторів голосують за певний блок, легкі вузли не легко повірять блоку. Легкий вузол буде виконувати вибіркове відбирання (вибіркове відбір), тобто запитувати фрагменти даних блоку. Коли всі запитані фрагменти отримано, буде вважатися, що дані блоку було повністю опубліковано.

Чесний більшість -> Чесний меншість

Порівняно з Ethereum, яка наразі не має DAS, легкі вузли повинні покладатися на "більшість валідаторів - це хороші люди", що є припущенням про чесну більшість; після приєднання Ethereum до DAS, легкі вузли покладаються на "невелику кількість вузлів, які є (візьмуть вибірково і "Хороша людина, яка зберігає інформацію" - це припущення про чесну меншість.

Примітка: "Кілька" вказує на те, що кількість легких вузлів, які потрібно вибрати та зберегти для відновлення повних даних, є відносно невеликою порівняно з усіма (дуже багатьма) легкими вузлами в мережі.

імовірнісне забезпечення

Як зазначено раніше, коли легкий вузол отримує всі дані фрагменту, які він запитав, він повірить, що дані блоку були повністю випущені, і легкі вузли в мережі можуть працювати разом, щоб позичати його, коли це потрібно. Повні дані можна відновити з фрагментованих даних, але... що, якщо людина, яка виробила блок, є злоякісною, і вона спочатку не випустила достатньо даних блоку? Що, якщо вона націлена на певний легкий вузол і більше не надає жодних даних після надання необхідних фрагментних даних цьому легкому вузлу?

Аліса успішно отримала запитану інформацію, тому вона вважає, що інформація про блок була повністю випущена, і вона врешті-решт забере блок, який був відкинутий іншими вузлами.

Тоді цей бідний легкий вузол доведеться обманути, і це також обмеження і компроміс DAS: гарантія «повного вивільнення даних», надана DAS, є гарантією ймовірності, а не гарантією на 100% і категоричною гарантією, але це все одно краще, ніж повністю довіряти більшості валідаторів. Якщо ви вважаєте, що гарантія ймовірності не є достатньо безпечною і хочете бути впевненими на 100%, чи були дані блоку повністю вивільнені, то вибачте, ви можете лише запустити повний вузол самостійно, щоб завантажити повністю дані блоку.

Примітка: Програма, що запускає легкий вузол, не має способу дізнатися, що її обманули. Для програми, якщо вона отримує всі запитані дані, вона буде вважати, що блок був повністю опублікований. Користувачі можуть дізнатися лише через свої власні соціальні канали, що певний блок фактично не був повністю випущений, і швидко наказати своїм легким вузлам позначити блок як неповні дані.

Важливість онлайн конфіденційності

Якщо людина, яка створила блок, є зловмисником і хоче обманути деякі легкі вузли, то, на жаль, вона зможе обдурити ці легкі вузли. Проте буде встановлено верхній ліміт кількості обманників. Після всього атакувальник не може випускати занадто багато блоків, щоб легкі вузли дійсно могли співпрацювати для відновлення повних даних.

У цей час ви можете хвилюватися, чи може ваша безпека ґрунтуватися лише на «відсутності ворожнечі з особою, яка створила блокування» або «зловмисник не знає, хто я, тому він не буде націлюватися на мене»? Так, але саме тому раніше згадувалося, що DAS потребує функції конфіденційності мережевого рівня, тому що якщо зловмисник може знати, «хто» запитує дані фрагмента, або знає, що три фрагменти A, B і C є «однією і тією ж «особою», то він, природно, може легко націлитися на цільову жертву і надати інформацію іншій стороні. Якщо сучасний мережевий рівень має функцію конфіденційності, то зловмисник не матиме можливості дізнатися, хто запитує цю інформацію. Природно, обдурити ціль не вийде, а ефективність атаки зловмисника сильно знизиться: у нього немає можливості методу визначити, чи була обдурена жертва, або навіть будь-який легкий вузол.

Якщо атакувальник не знає, хто запитує інформацію, буде дуже важко обманути легкі вузли.

Базовий захист для DAS

Щоб DAS був безпечним, він потребує:

  1. Блокові дані забезпечують надійність даних за допомогою кодування стирання. Наприклад, вузли можуть відновити оригінальні 100% даних, просто передаючи будь-які 50% даних.
  2. Світлові вузли спільно працюють, щоб вибрати та зберегти достатньо фрагментованих даних, щоб забезпечити можливість відновлення повних даних, а також
  3. Надійна мережа p2p дозволяє вузлам ділитися фрагментами даних.

1. Збільшити надійність даних блоку за допомогою кодування стирання

Яка буде проблема, якщо блоки не кодуються за допомогою кодування стійкі до видалення, але дозволяється легким вузлам безпосередньо вибирати вихідний вміст блоку? Відповідь полягає в тому, що фрагменти даних, вибрані легкими вузлами, повинні досягти 100% покриття, щоб забезпечити цілісність даних. Навіть якщо легкі вузли працюють разом, щоб відібрати 99% даних блоку, цей блок все одно буде неповним і не визнаним.

Без стирання коду, якщо трохи блоку відсутнє, це означає, що блок не був повністю звільнений.

Якщо блок кодується кодуванням виправлення помилок, то 100% даних можна відновити за допомогою будь-яких, наприклад, 50% даних. Це означає, що легкі вузли можуть забезпечити можливість відновлення даних, поки фрагментні дані, взяті разом, досягають 50% покриття. Повна інформація про блок. Порівняно з охопленням на 100%, вимога до охоплення на 50% є набагато простішою. Для зловмисних виробників блоків буде набагато складніше приховати деяку інформацію, щоб обдурити легкі вузли.

Примітка: 50% - лише приклад. Різні потреби вимагатимуть різного % для відновлення.

2. Легкі вузли зберігають достатньо фрагментів даних

Якщо легкий вузол не зберігає достатньо фрагментів даних, навіть якщо дані блоку кодуються за допомогою кодування пошкоджень, 100% даних не можуть бути відновлені. Наприклад, якщо легкі вузли зберігають лише 40% усіх фрагментів даних, і вони не можуть відновити 100% даних разом, то ці вузли всі будуть обмануті і повірять, що дані блоку були повністю випущені.

Як забезпечити достатню кількість даних зберігання для легких вузлів? Нам потрібно мати достатню кількість легких вузлів або достатню кількість вибірок для кожного легкого вузла. Якщо є достатньо легких вузлів, кількість разів вибірки для кожного легкого вузла не потрібно бути високою; але якщо легких вузлів недостатньо, то кількість разів вибірки для кожного легкого вузла повинна бути достатньою, щоб забезпечити спільну роботу легких вузлів для збереження достатньої кількості даних.

Зауваження: Якщо кількість легких вузлів продовжує зростати, обсяг даних, які вони можуть зберігати разом, фактично може збільшуватися, якщо кількість вибірок залишається незмінною. Наприклад, Селестія, про яку буде розповідатися в цьому циклі статей, може підтримувати гнучкі розміри блоків. Блокчейн: розмір блоку Селестії може бути налаштований в залежності від кількості легких вузлів в мережі.

3. Звукова мережа p2p

Легким вузлам потрібно спільно використовувати фрагментовані дані через мережу p2p, щоб повні дані блоку можна було відновити за необхідності. Якщо мережа p2p нестійка і не може обробляти велику кількість запитів на дані, вузли можуть не мати можливості отримати певні фрагменти даних. Крім того, необхідно також запобігати тому, щоб всі фрагменти даних циркулювали в одній мережі p2p, що призводить до перевантаження мережевої пропускної здатності. З ідеальної точки зору, легкий вузол повинен мати змогу отримувати лише дані, які він запитує, а не всі інші неспільні дані. Потік через його руки через мережі p2p.

Крім того, мережевий рівень також повинен мати функції конфіденційності, інакше світловий вузол буде ідентифікований зловмисником. Зловмисник не опублікує більше 50% даних, але надасть фрагментовані дані, запитувані легким вузлом, який він блокує. Щоб ввести в оману світловий вузол, змусивши його повірити, що дані блоку повністю звільнені.

Деталі цих трьох частин будуть докладно представлені в цьому серії статей.

Узагальнити

  • Проблему публікації даних L2 можна вирішити за допомогою L1 або DAC, але сама L1 також зіткнеться з проблемами публікації даних - через те, що легкі вузли не завантажують повні блоки
  • Беручи Ethereum як приклад, доки більшість валідаторів підписує блок, легкі вузли повірять, що інформація в цьому блоку була повністю опублікована. На даний момент в дизайні, фактично, доки більшість учасників Комітету синхронізації мають підписи, легкі вузли вірять в це.
  • Легкі вузли обманюються в довірі до блоку з неповною опублікованою інформацією, що еквівалентно довірі до нелегального блоку, тобто до довіри до відгалуженого ланцюжка, який не визнаний іншими.
  • Якщо легкі вузли мають забезпечити безпеку без покладанняся на припущення, що "більшість валідаторів - хороші люди", буде потрібно DAS
  • У DAS легкі вузли співпрацюють для збереження фрагментованих даних блоків, і за допомогою кодування стирання, якщо легкі вузли зберігають більше ніж певний відсоток (наприклад, 50%) даних, 100% повних даних можуть бути відновлені
  • Проте слід зауважити, що безпеку, надану DAS, характеризує ймовірнісна безпека. Атакувальник все ще може зманіпулювати деякі легкі вузли, щоб вони вважали, що дані було повністю викладено. Якщо користувач хоче бути на 100% впевненим, що блок повністю викладено, він може лише завантажити повні дані блоку самостійно.
  • Функція конфіденційності мережі також є одним із інструментів, який значно зменшує ефективність атаки зловмисника. Якщо зловмисник не може ідентифікувати, хто запитує цей фрагмент даних, буде складніше заблокувати конкретний легкий вузол, або це навіть можливо не буде. Способи блокування будь-якого легкого вузла

Довідкові матеріали та рекомендована додаткова література

Застереження:

  1. Ця стаття розміщена з [ середній]. Усі авторські права належать оригінальному авторові [NIC Лін]. Якщо є зауваження до цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно займуться цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими автора і не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.

Вибіркова доступність даних (1): Чому потрібен DAS?

Середній1/7/2024, 6:44:02 AM
Ця стаття пояснює переваги технології вибіркового доступу до даних (DAS) та чому потрібна ця технологія.

Які переваги технології вибіркової доступності даних? Чому нам це потрібно?

Фото з@testalizeme?utm_source=medium&utm_medium=referral">Testalize.me на Unsplash

Необхідні знання:

  • Мати базове розуміння операцій консенсусу Ethereum
  • Знайте різницю між повноцінним вузлом та легким вузлом
  • Знайте проблеми Rollup та публікації даних (доступність даних)

Наступне буде Оприлюднення даних називатися Доступність даних, але деякі терміни, пов'язані з Доступністю даних, такі як DAS та DAC, залишаться в оригіналі, щоб читачі могли зв'язатися з оригінальним англійським текстом. Для ознайомлення з назвою Оприлюднення даних, див.:

Перейменування доступності даних: Публікація даних заміняє доступність даних

Нещодавно деякі люди запропонували використовувати "Публікацію даних" замість "Доступності даних", щоб уникнути плутанини, спричиненої терміном DA. Ця стаття розкриє плутанину, спричинену словом DA та чому слід використовувати термін Публікація даних замість Даних…

medium.com

Ця серія статей ознайомить з механізмом роботи DAS через Danksharding, а також схожостями та відмінностями між Celestia, EigenDA та AvailDA. Перша стаття розповість, чому нам потрібен DAS та переваги, які приносить DAS.

Підсумок: Чому обговорюється питання випуску даних?

На даний момент найбільш поширеною ситуацією, в якій обговорюється випуск даних в екосистемі Ethereum, є обговорення дизайну L2: L2 сам по собі є ланцюгом, тому в ньому також є власні блоки та дані транзакцій, тому куди слід помістити ці дані? Тому що користувачам потрібна ця інформація для забезпечення безпеки.

  • Якщо це Rollup, він завантажить свої транзакційні дані на L1, такі як Ethereum, використовуючи Ethereum як місце для зберігання даних.
  • Якщо це не Rollup, дані будуть розміщені в іншому місці, наприклад, групою довірених учасників. Такий кастодіан називається Комітет доступності даних (DAC).

Для отримання додаткової інформації про відносини між Rollup та випуском даних, будь ласка, звертайтеся до:

Rollup та доступність даних

Ця стаття розкриє взаємозв'язок між доступністю даних та Rollup, та те, як Rollup може зробити деякі жертви в доступності даних на користь зниження вартості транзакцій.

medium.com

Але насправді це не просто L2, сам ланцюг Ethereum також зіткнеться з проблемою випуску даних, оскільки легкі вузли не будуть завантажувати повні дані блоку, як повні вузли, тому легким вузлам потрібно вірити, що «коли з'являється новий блок, фактично були випущені повні дані блоку». Коли легкий вузол обманюється і вірить, що «неповний» блок, вплив такий же, якщо він обманюється і вірить, що «неправильний» блок - він підключений до ланки, якою не користуються інші. Визнані відгалужені ланцюги.

Повні вузли не будуть вірити неповним блокам, але легкі вузли так

Так кому довіряє поточний легкий вузол Ethereum, щоб забезпечити, що дані нового блоку повністю оприлюднені? Відповідь - «Валідатори». Коли легкий вузол отримує новий блок, він не завантажуватиме повних даних блоку, але побачить, скільки валідаторів проголосували за блок. Коли достатньо валідаторів голосує за цей блок, він повірить, що повна інформація про цей блок дійсно була опублікована. Це припущення належить Чесній Більшості, яка є вірою в те, що більшість валідаторів - хороші люди.

Коли достатньо валідаторів підписують блок, легкий вузол повірить, що блок був повністю випущений.

Примітка: На даний момент легкі вузли Ethereum фактично не збирають голоси сотень тисяч валідаторів для обчислення, оскільки їх кількість занадто велика, а обчислення забирають занадто багато ресурсів. Замість цього, інша група Синхронного Комітету з набагато меншою кількістю призначається, в якій є підпис валідатора, що слугує гарантією для легкого вузла. Це вважається перехідним підходом, який очікує більш повного і зрілого дизайну для заміни його у майбутньому.

Вибіркова доступність даних

“Вірити, що більшість валідаторів - хороші люди” звучить розумно та гарним вибором, але що, якщо ми зможемо зробити краще? Що, якщо одного дня справді відбудеться те, що більшість валідаторів захочуть об'єднатися, щоб обдурити нас, кажучи, що вони мають повні дані блоку, а насправді це не так, але якщо в п2п мережі є кілька хороших людей, ми можемо уникнути обману?

Такі великі можливості точно не виникнуть з нізвідки. Щоб мати цю можливість, вам потрібно побудувати достатньо стабільну мережу p2p, мати достатню кількість користувачів і навіть додати функції конфіденційності до мережевого рівня. Ця можливість є фокусом цього циклу статей - Вибіркове забезпечення доступності даних (DAS).

У блокчейні з DAS легкі вузли не лише пасивно отримують нові дані блоків, але також спільно беруть участь у роботі DAS: кожен легкий вузол повинен звертатися до мережі p2p для кожного блоку. По дорозі він шукає кілька шматків даних на блоку та зберігає ці дані, а також ділиться ними з іншими вузлами, коли ті запитують дані. Точно так само, як у децентралізованому протоколі обміну файлами BitTorrent, вузли у мережі зберігають та діляться даними, які їх цікавлять, разом, замість того, щоб покладатися на централізований сервер.

Легкі вузли співпрацюють для отримання та обміну даними фрагментів блоків через мережу p2p

Примітка: У ідеальному сценарії користувачі блокчейну всі б використовували легкі вузли, брали участь в операціях DAS та забезпечували разом безпеку, замість повної довіри до інших вузлів, як зараз.

Кожен легкий вузол не може повірити, що дані блоку були повністю звільнені, поки він не отримає всі дані, які він запитує. Однак, як тільки кожен фрагмент запитуваних даних отриманий, він може сміливо вважати, що дані блоку були звільнені. Інформація оприлюднена в повному обсязі. Але чому легкі ноди можуть з упевненістю вважати, що повні дані блоку були оприлюднені, навіть якщо вони мають лише фрагментовані дані? Це пов'язано з тим, що інші легкі вузли в мережі також зберігатимуть фрагментні дані окремо, тому, коли це необхідно, кожен зможе працювати разом, щоб зібрати докупи повні дані з фрагментних даних один одного, і ще одна магічна здатність DAS полягає в тому, що дані, збережені легкими вузлами, не повинні покривати повні дані блоку. Легкі вузли можуть відновити 100% даних, якщо вони отримують 50% даних.

Доти, поки легкі вузли мають більше 50% фрагментованих даних, вони можуть відновити повні дані блоку.

Примітка: Це не обов'язково 50%, воно може бути вище, в залежності від налаштування DAS, але точно буде менше 100%.

Отже, в DAS, навіть якщо більшість валідаторів голосують за певний блок, легкі вузли не легко повірять блоку. Легкий вузол буде виконувати вибіркове відбирання (вибіркове відбір), тобто запитувати фрагменти даних блоку. Коли всі запитані фрагменти отримано, буде вважатися, що дані блоку було повністю опубліковано.

Чесний більшість -> Чесний меншість

Порівняно з Ethereum, яка наразі не має DAS, легкі вузли повинні покладатися на "більшість валідаторів - це хороші люди", що є припущенням про чесну більшість; після приєднання Ethereum до DAS, легкі вузли покладаються на "невелику кількість вузлів, які є (візьмуть вибірково і "Хороша людина, яка зберігає інформацію" - це припущення про чесну меншість.

Примітка: "Кілька" вказує на те, що кількість легких вузлів, які потрібно вибрати та зберегти для відновлення повних даних, є відносно невеликою порівняно з усіма (дуже багатьма) легкими вузлами в мережі.

імовірнісне забезпечення

Як зазначено раніше, коли легкий вузол отримує всі дані фрагменту, які він запитав, він повірить, що дані блоку були повністю випущені, і легкі вузли в мережі можуть працювати разом, щоб позичати його, коли це потрібно. Повні дані можна відновити з фрагментованих даних, але... що, якщо людина, яка виробила блок, є злоякісною, і вона спочатку не випустила достатньо даних блоку? Що, якщо вона націлена на певний легкий вузол і більше не надає жодних даних після надання необхідних фрагментних даних цьому легкому вузлу?

Аліса успішно отримала запитану інформацію, тому вона вважає, що інформація про блок була повністю випущена, і вона врешті-решт забере блок, який був відкинутий іншими вузлами.

Тоді цей бідний легкий вузол доведеться обманути, і це також обмеження і компроміс DAS: гарантія «повного вивільнення даних», надана DAS, є гарантією ймовірності, а не гарантією на 100% і категоричною гарантією, але це все одно краще, ніж повністю довіряти більшості валідаторів. Якщо ви вважаєте, що гарантія ймовірності не є достатньо безпечною і хочете бути впевненими на 100%, чи були дані блоку повністю вивільнені, то вибачте, ви можете лише запустити повний вузол самостійно, щоб завантажити повністю дані блоку.

Примітка: Програма, що запускає легкий вузол, не має способу дізнатися, що її обманули. Для програми, якщо вона отримує всі запитані дані, вона буде вважати, що блок був повністю опублікований. Користувачі можуть дізнатися лише через свої власні соціальні канали, що певний блок фактично не був повністю випущений, і швидко наказати своїм легким вузлам позначити блок як неповні дані.

Важливість онлайн конфіденційності

Якщо людина, яка створила блок, є зловмисником і хоче обманути деякі легкі вузли, то, на жаль, вона зможе обдурити ці легкі вузли. Проте буде встановлено верхній ліміт кількості обманників. Після всього атакувальник не може випускати занадто багато блоків, щоб легкі вузли дійсно могли співпрацювати для відновлення повних даних.

У цей час ви можете хвилюватися, чи може ваша безпека ґрунтуватися лише на «відсутності ворожнечі з особою, яка створила блокування» або «зловмисник не знає, хто я, тому він не буде націлюватися на мене»? Так, але саме тому раніше згадувалося, що DAS потребує функції конфіденційності мережевого рівня, тому що якщо зловмисник може знати, «хто» запитує дані фрагмента, або знає, що три фрагменти A, B і C є «однією і тією ж «особою», то він, природно, може легко націлитися на цільову жертву і надати інформацію іншій стороні. Якщо сучасний мережевий рівень має функцію конфіденційності, то зловмисник не матиме можливості дізнатися, хто запитує цю інформацію. Природно, обдурити ціль не вийде, а ефективність атаки зловмисника сильно знизиться: у нього немає можливості методу визначити, чи була обдурена жертва, або навіть будь-який легкий вузол.

Якщо атакувальник не знає, хто запитує інформацію, буде дуже важко обманути легкі вузли.

Базовий захист для DAS

Щоб DAS був безпечним, він потребує:

  1. Блокові дані забезпечують надійність даних за допомогою кодування стирання. Наприклад, вузли можуть відновити оригінальні 100% даних, просто передаючи будь-які 50% даних.
  2. Світлові вузли спільно працюють, щоб вибрати та зберегти достатньо фрагментованих даних, щоб забезпечити можливість відновлення повних даних, а також
  3. Надійна мережа p2p дозволяє вузлам ділитися фрагментами даних.

1. Збільшити надійність даних блоку за допомогою кодування стирання

Яка буде проблема, якщо блоки не кодуються за допомогою кодування стійкі до видалення, але дозволяється легким вузлам безпосередньо вибирати вихідний вміст блоку? Відповідь полягає в тому, що фрагменти даних, вибрані легкими вузлами, повинні досягти 100% покриття, щоб забезпечити цілісність даних. Навіть якщо легкі вузли працюють разом, щоб відібрати 99% даних блоку, цей блок все одно буде неповним і не визнаним.

Без стирання коду, якщо трохи блоку відсутнє, це означає, що блок не був повністю звільнений.

Якщо блок кодується кодуванням виправлення помилок, то 100% даних можна відновити за допомогою будь-яких, наприклад, 50% даних. Це означає, що легкі вузли можуть забезпечити можливість відновлення даних, поки фрагментні дані, взяті разом, досягають 50% покриття. Повна інформація про блок. Порівняно з охопленням на 100%, вимога до охоплення на 50% є набагато простішою. Для зловмисних виробників блоків буде набагато складніше приховати деяку інформацію, щоб обдурити легкі вузли.

Примітка: 50% - лише приклад. Різні потреби вимагатимуть різного % для відновлення.

2. Легкі вузли зберігають достатньо фрагментів даних

Якщо легкий вузол не зберігає достатньо фрагментів даних, навіть якщо дані блоку кодуються за допомогою кодування пошкоджень, 100% даних не можуть бути відновлені. Наприклад, якщо легкі вузли зберігають лише 40% усіх фрагментів даних, і вони не можуть відновити 100% даних разом, то ці вузли всі будуть обмануті і повірять, що дані блоку були повністю випущені.

Як забезпечити достатню кількість даних зберігання для легких вузлів? Нам потрібно мати достатню кількість легких вузлів або достатню кількість вибірок для кожного легкого вузла. Якщо є достатньо легких вузлів, кількість разів вибірки для кожного легкого вузла не потрібно бути високою; але якщо легких вузлів недостатньо, то кількість разів вибірки для кожного легкого вузла повинна бути достатньою, щоб забезпечити спільну роботу легких вузлів для збереження достатньої кількості даних.

Зауваження: Якщо кількість легких вузлів продовжує зростати, обсяг даних, які вони можуть зберігати разом, фактично може збільшуватися, якщо кількість вибірок залишається незмінною. Наприклад, Селестія, про яку буде розповідатися в цьому циклі статей, може підтримувати гнучкі розміри блоків. Блокчейн: розмір блоку Селестії може бути налаштований в залежності від кількості легких вузлів в мережі.

3. Звукова мережа p2p

Легким вузлам потрібно спільно використовувати фрагментовані дані через мережу p2p, щоб повні дані блоку можна було відновити за необхідності. Якщо мережа p2p нестійка і не може обробляти велику кількість запитів на дані, вузли можуть не мати можливості отримати певні фрагменти даних. Крім того, необхідно також запобігати тому, щоб всі фрагменти даних циркулювали в одній мережі p2p, що призводить до перевантаження мережевої пропускної здатності. З ідеальної точки зору, легкий вузол повинен мати змогу отримувати лише дані, які він запитує, а не всі інші неспільні дані. Потік через його руки через мережі p2p.

Крім того, мережевий рівень також повинен мати функції конфіденційності, інакше світловий вузол буде ідентифікований зловмисником. Зловмисник не опублікує більше 50% даних, але надасть фрагментовані дані, запитувані легким вузлом, який він блокує. Щоб ввести в оману світловий вузол, змусивши його повірити, що дані блоку повністю звільнені.

Деталі цих трьох частин будуть докладно представлені в цьому серії статей.

Узагальнити

  • Проблему публікації даних L2 можна вирішити за допомогою L1 або DAC, але сама L1 також зіткнеться з проблемами публікації даних - через те, що легкі вузли не завантажують повні блоки
  • Беручи Ethereum як приклад, доки більшість валідаторів підписує блок, легкі вузли повірять, що інформація в цьому блоку була повністю опублікована. На даний момент в дизайні, фактично, доки більшість учасників Комітету синхронізації мають підписи, легкі вузли вірять в це.
  • Легкі вузли обманюються в довірі до блоку з неповною опублікованою інформацією, що еквівалентно довірі до нелегального блоку, тобто до довіри до відгалуженого ланцюжка, який не визнаний іншими.
  • Якщо легкі вузли мають забезпечити безпеку без покладанняся на припущення, що "більшість валідаторів - хороші люди", буде потрібно DAS
  • У DAS легкі вузли співпрацюють для збереження фрагментованих даних блоків, і за допомогою кодування стирання, якщо легкі вузли зберігають більше ніж певний відсоток (наприклад, 50%) даних, 100% повних даних можуть бути відновлені
  • Проте слід зауважити, що безпеку, надану DAS, характеризує ймовірнісна безпека. Атакувальник все ще може зманіпулювати деякі легкі вузли, щоб вони вважали, що дані було повністю викладено. Якщо користувач хоче бути на 100% впевненим, що блок повністю викладено, він може лише завантажити повні дані блоку самостійно.
  • Функція конфіденційності мережі також є одним із інструментів, який значно зменшує ефективність атаки зловмисника. Якщо зловмисник не може ідентифікувати, хто запитує цей фрагмент даних, буде складніше заблокувати конкретний легкий вузол, або це навіть можливо не буде. Способи блокування будь-якого легкого вузла

Довідкові матеріали та рекомендована додаткова література

Застереження:

  1. Ця стаття розміщена з [ середній]. Усі авторські права належать оригінальному авторові [NIC Лін]. Якщо є зауваження до цього перевидання, будь ласка, зв'яжіться з Gate Learnкоманда, і вони оперативно займуться цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими автора і не становлять жодної інвестиційної поради.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонено.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!