Будучи розподіленою книгою, блокчейн повинен зберігати історичні дані на всіх вузлах, щоб забезпечити безпеку та достатню децентралізацію зберігання даних. Оскільки правильність кожної зміни стану пов’язана з попереднім станом (джерелом транзакції), щоб забезпечити коректність транзакцій, блокчейн повинен, у принципі, зберігати всі історичні записи від першої транзакції до поточної транзакції. Якщо взяти Ethereum як приклад, навіть якщо середній розмір блоку оцінюється в 20 Кб, поточний загальний розмір блоків Ethereum досяг 370 ГБ. Окрім самого блоку, повний вузол також повинен записувати статус і квитанції про транзакції. Враховуючи цю частину, загальна ємність пам’яті одного вузла перевищила 1 ТБ, що зосереджує роботу вузла декільком людям.
Остання висота блоку Ethereum, джерело зображення: Etherscan
Порівняно з базами даних або структурами зберігання зв’язаних списків, непорівнянність блокчейна пояснюється здатністю перевіряти щойно згенеровані дані за допомогою історичних даних. Таким чином, забезпечення безпеки історичних даних є першим питанням, яке слід розглянути в сховищі рівня DA. Оцінюючи безпеку даних у системах блокчейн, ми часто аналізуємо її за кількістю надлишкових даних і методом перевірки доступності даних.
Виходячи з передумови забезпечення базової безпеки, наступною основною метою, яку має досягнути рівень DA, є скорочення витрат і підвищення ефективності. По-перше, це зменшити витрати на зберігання, незалежно від відмінностей у продуктивності апаратного забезпечення, тобто зменшити використання пам’яті, викликане зберіганням даних розміру одиниці. На цьому етапі основними способами зниження витрат на зберігання в блокчейні є впровадження технології шардингу та використання сховища на основі винагороди, щоб забезпечити ефективне зберігання даних і зменшити кількість резервних копій даних. Однак із наведених вище методів удосконалення неважко побачити, що між вартістю зберігання та безпекою даних існує взаємозв’язок. Зменшення зайнятості сховища часто означає зниження безпеки. Таким чином, відмінний рівень DA повинен досягти балансу між вартістю зберігання та безпекою даних. Крім того, якщо рівень DA є окремим загальнодоступним ланцюгом, йому необхідно знизити вартість шляхом мінімізації проміжного процесу обміну даними. У кожному процесі передачі дані індексу потрібно залишити для наступних викликів запиту. Таким чином, чим довший процес виклику, тим більше даних індексу залишиться, а вартість зберігання збільшиться. Нарешті, вартість зберігання даних безпосередньо пов’язана зі довговічністю даних. Взагалі кажучи, чим вища вартість зберігання даних, тим важче загальнодоступному ланцюжку постійно зберігати дані.
Після досягнення скорочення витрат наступним кроком є підвищення ефективності, яка є здатністю швидко викликати дані з рівня DA, коли їх потрібно використовувати. Цей процес складається з двох етапів. Перший — пошук вузлів, які зберігають дані. Цей процес в основному призначений для загальнодоступних мереж, які не досягли узгодженості даних у всій мережі. Якщо публічний ланцюг досягає синхронізації даних для вузлів у всій мережі, це можна проігнорувати. Витрата часу на процес. По-друге, у поточних основних блокчейн-системах, включаючи Bitcoin, Ethereum і Filecoin, методом зберігання вузлів є база даних Leveldb. У Leveldb дані зберігаються трьома способами. По-перше, дані, записані негайно, зберігатимуться у файлах типу Memtable. Коли сховище Memtable буде заповнено, тип файлу буде змінено з Memtable на Immutable Memtable. Обидва типи файлів зберігаються в пам’яті, але файли Immutable Memtable більше не можна змінити, з них можна лише зчитувати дані. Гаряче сховище, яке використовується в мережі IPFS, зберігає дані в цій частині. При його виклику його можна швидко прочитати з пам'яті. Однак мобільна пам'ять звичайного вузла часто становить ГБ, і записувати його легко повільно. Коли вузол аварійно завершує роботу або виникає інша ненормальна ситуація, дані в пам'яті буде остаточно втрачено. Якщо ви хочете, щоб дані зберігалися постійно, вам потрібно зберегти їх у формі файлу SST на твердотільному накопичувачі (SSD). Однак під час зчитування даних вам потрібно спочатку прочитати дані в пам’ять, що значно знижує швидкість індексації даних. Нарешті, для систем, які використовують спільне сховище, відновлення даних вимагає надсилання запитів на дані до кількох вузлів і їх відновлення. Цей процес також зменшить швидкість читання даних.
Метод зберігання даних Leveldb, джерело зображення: довідник Leveldb
З розвитком DeFi та різними проблемами з CEX вимоги користувачів до міжланцюжкових транзакцій децентралізованих активів також зростають. Незалежно від міжланцюжкового механізму блокування хешу, нотаріального чи релейного ланцюга, неможливо уникнути одночасного визначення історичних даних в обох ланцюгах. Ключ до цієї проблеми полягає в розділенні даних у двох ланцюгах, і прямий зв’язок не може бути досягнутий у різних децентралізованих системах. Тому на цьому етапі пропонується рішення шляхом зміни методу зберігання рівня DA, який не тільки зберігає історичні дані кількох публічних ланцюжків в одному довіреному загальнодоступному ланцюзі, але потребує лише виклику даних у цьому загальнодоступному ланцюзі під час перевірки. може Це вимагає, щоб рівень DA міг встановлювати безпечні методи зв’язку з різними типами публічних ланцюгів, що означає, що рівень DA має добру універсальність.
Спосіб зберігання даних після шардингу, джерело зображення: Kernel Ventures
Технологія DAS базується на подальшій оптимізації методів зберігання Sharding. Під час процесу шардингу через просте довільне зберігання вузлів певний Блок може бути втрачено. По-друге, для фрагментованих даних також дуже важливо підтвердити автентичність і цілісність даних під час процесу відновлення. У DAS ці дві проблеми вирішуються за допомогою коду Eraser і поліноміального зобов’язання KZG.
Перевірка даних гарантує, що дані, викликані з вузла, точні та повні. Для мінімізації обсягу даних і обчислювальних витрат, необхідних у процесі перевірки, рівень DA тепер використовує деревоподібну структуру як основний метод перевірки. Найпростішою формою є використання Merkle Tree для перевірки, яка використовує форму повних бінарних записів дерева, потрібно лише зберегти Merkle Root і хеш-значення піддерева на іншій стороні шляху вузла, можна перевірити, часова складність перевірки становить O(logN) рівня (logN за замовчуванням log2(N)). Незважаючи на те, що процес перевірки значно спростився, обсяг даних для процесу перевірки в цілому все ще зростає зі збільшенням даних. Щоб вирішити проблему збільшення обсягу перевірки, на цьому етапі пропонується інший метод перевірки, Verkle Tree, у якому кожен вузол у Verkle Tree не лише зберігає значення, але також додає векторне зобов’язання, яке може швидко підтвердити автентичність даних, використовуючи значення вихідного вузла та підтвердження зобов’язання, без необхідності викликати значення інших вузлів-сестерів, що робить обчислення кожної перевірки легшим і швидшим. Це робить кількість обчислень для кожної перевірки пов’язаною лише з глибиною дерева Веркле, яка є фіксованою константою, що значно прискорює швидкість перевірки. Однак обчислення Vector Commitment вимагає участі всіх сестринських вузлів на одному рівні, що значно збільшує вартість запису та зміни даних. Однак для таких даних, як історичні дані, які постійно зберігаються і не можуть бути підроблені, а також їх можна лише читати, але не записувати, дерево Веркле надзвичайно підходить. Крім того, дерево Merkle та саме дерево Verkle мають K-ічну форму варіантів, конкретна реалізація механізму схожа, просто змініть кількість піддерев під кожним вузлом, конкретне порівняння продуктивності можна побачити в наступній таблиці.
Порівняння часових характеристик методів перевірки даних, джерело зображення: Verkle Trees
Постійне розширення екосистеми блокчейнів призвело до постійного збільшення кількості публічних мереж. Завдяки перевагам і незамінності кожного публічного ланцюга у відповідних галузях, публічним ланцюгам рівня 1 майже неможливо об’єднатися за короткий час. Однак із розвитком DeFi та різними проблемами з CEX вимоги користувачів до активів децентралізованої міжланцюжкової торгівлі також зростають. Тому все більше уваги приділяється багатоланцюжковому сховищу даних на рівні DA, яке може усунути проблеми безпеки під час міжланцюгової взаємодії даних. Однак, щоб приймати історичні дані з різних загальнодоступних ланцюжків, рівень DA повинен забезпечити децентралізований протокол для стандартизованого зберігання та перевірки потоків даних. Наприклад, kvye, проміжне програмне забезпечення для зберігання на основі Arweave, активно захоплює дані з ланцюжка, і всі Дані в ланцюжку зберігаються в Arweave в стандартній формі, щоб мінімізувати відмінності в процесі передачі даних. Відносно кажучи, Layer2, який спеціально забезпечує зберігання даних рівня DA для певного публічного ланцюжка, взаємодіє з даними через внутрішні спільні вузли. Хоча це зменшує вартість взаємодії та покращує безпеку, воно має відносно великі обмеження та може надавати дані лише певним публічним мережам, які надають послуги.
Цей тип рішення для зберігання даних ще не має чіткої назви, і найвідомішим представником є DankSharding на Ethereum, тому в цій статті для позначення цього типу рішення використовується клас DankSharding. Цей тип рішення в основному використовує дві технології зберігання DA, згадані вище, Sharding і DAS. Спочатку дані поділяються на відповідні частки за допомогою шардингу, а потім кожен вузол витягує блок даних у формі DAS для зберігання. Якщо у всій мережі є достатня кількість вузлів, ми можемо вибрати більшу кількість шардів N, щоб навантаження на сховище кожного вузла становило лише 1/N вихідного, таким чином досягаючи N-кратного розширення загального простору для зберігання. У той же час, щоб запобігти надзвичайній ситуації, коли певний блок не зберігається в жодному блоці, DankSharding кодує дані за допомогою коду стирання, і лише половину даних можна повністю відновити. Останнім кроком є процес перевірки даних, який використовує деревовидну структуру Verkle та поліноміальне зобов’язання для досягнення швидкої перевірки.
Для DA основного ланцюга одним із найпростіших методів обробки даних є зберігання історичних даних у короткостроковій перспективі. По суті, блокчейн відіграє роль загальнодоступної книги, дозволяючи всій мережі спостерігати за змінами вмісту книги без необхідності постійного зберігання. Візьмемо Solana як приклад, хоча її історичні дані синхронізуються з Arweave, головний мережевий вузол зберігає лише дані транзакцій за останні два дні. У загальнодоступному ланцюжку, заснованому на записах облікових записів, історичні дані в кожен момент зберігають остаточний статус облікового запису в блокчейні, чого достатньо, щоб забезпечити базу перевірки для змін у наступний момент. Для проектів, які мають особливі потреби в даних до цього періоду, вони можуть зберігати їх самостійно в інших децентралізованих публічних ланцюжках або в довіреної третьої сторони. Іншими словами, ті, кому потрібні додаткові дані, повинні платити за зберігання історичних даних.
Контракт EthStorage, джерело зображення: Kernel Ventures
Метод зчитування даних Celestia, джерело зображення: Celestia Core
З точки зору технічних принципів основного ланцюга DA, багато технологій, подібних до шардингу, запозичені з публічного ланцюга зберігання. Серед сторонніх DA деякі напряму використовують публічний ланцюжок зберігання для виконання деяких завдань зберігання. Наприклад, конкретні дані транзакцій у Celestia розміщуються в мережі LL-IPFS. У сторонньому рішенні DA, окрім побудови окремого загальнодоступного ланцюжка для вирішення проблеми зберігання Layer1, більш прямим способом є пряме з’єднання загальнодоступного ланцюга зберігання з Layer1 для зберігання величезних історичних даних на Layer1. Для високопродуктивних блокчейнів обсяг історичних даних ще більший. Під час роботи на повній швидкості об’єм даних високопродуктивного публічного ланцюга Solana наближається до 4 PG, що повністю виходить за межі діапазону зберігання звичайних вузлів. Рішення, яке обрала Solana, полягає в тому, щоб зберігати історичні дані в децентралізованій мережі зберігання Arweave та зберігати лише 2 дні даних на основних вузлах мережі для перевірки. Щоб забезпечити безпеку збереженого процесу, Solana та Arweave Chain спеціально розробили протокол мосту зберігання даних Solar Bridge. Дані, перевірені вузлом Solana, будуть синхронізовані з Arweave, і буде повернено відповідний тег. Лише за допомогою цього тегу вузол Solana може переглядати історичні дані блокчейну Solana в будь-який час. У Arweave немає потреби, щоб усі вузли мережі підтримували узгодженість даних і використовували це як поріг для участі в мережевих операціях. Натомість використовується зберігання винагород. По-перше, Arweave не використовує традиційну структуру ланцюга для побудови блоків, а більше схожа на структуру графа. В Arweave новий блок не лише вказуватиме на попередній блок, а й випадковим чином вказуватиме на згенерований блок Recall Block. Конкретне розташування блоку відкликання визначається результатом хешування його попереднього блоку та його висотою блоку. Місцезнаходження блоку відкликання невідоме, доки не буде видобуто попередній блок. Однак у процесі генерації нового блоку вузол повинен мати дані Recall Block, щоб використовувати механізм POW для обчислення хешу вказаної складності. Тільки той майнер, який першим обчислить хеш, що відповідає складності, може отримати винагороду, що спонукає майнерів зберігати якомога більше. історичні дані. У той же час, чим менше людей зберігає певний історичний блок, тим менше конкурентів у вузлів буде при генеруванні одноразових номерів, які відповідають труднощам, заохочуючи майнерів зберігати менше блоків у мережі. Нарешті, щоб переконатися, що вузли постійно зберігають дані в Arweave, він запроваджує механізм оцінки вузлів WildFire. Вузли, як правило, спілкуються з вузлами, які можуть швидше надати більше історичних даних, тоді як вузли з нижчими рейтингами часто не можуть якнайшвидше отримати останні дані про блоки та транзакції, а отже, не можуть скористатися перевагами конкуренції військовополонених…
Метод побудови блоків Arweave, джерело зображення: Arweave Yellow-Paper
Далі ми порівняємо переваги та недоліки п’яти рішень для зберігання на основі чотирьох вимірів показників продуктивності DA.
Порівняння продуктивності рішення для зберігання, джерело зображення: Kernel Ventures
Поточний блокчейн трансформується з Crypto на більш інклюзивний Web3. Цей процес приносить не тільки багатство проектів на блокчейні. Щоб забезпечити одночасну роботу такої кількості проектів на рівні 1, забезпечуючи досвід проектів Gamefi та Socialfi, рівень 1, представлений Ethereum, застосував такі методи, як Rollup і Blobs для покращення TPS. Серед нових блокчейнів також зростає кількість високопродуктивних блокчейнів. Але вищий TPS означає не лише вищу продуктивність, але й більший тиск на зберігання в мережі. Для масивних історичних даних наразі пропонуються різні методи DA, засновані на основному ланцюзі та сторонніх розробниках, щоб адаптуватися до збільшення тиску на зберігання в ланцюзі. Кожен метод покращення має переваги та недоліки та має різну застосовність у різних ситуаціях.
Блокчейни, які зосереджені на платежах, мають надзвичайно високі вимоги до безпеки історичних даних і не прагнуть до особливо високого TPS. Якщо цей тип загальнодоступного ланцюга все ще знаходиться на стадії підготовки, можна застосувати метод зберігання, подібний до DankSharding, який може досягти значного збільшення ємності зберігання, забезпечуючи безпеку. Однак, якщо це публічний ланцюжок, такий як біткойн, який уже сформувався і має велику кількість вузлів, є величезні ризики в необдуманих покращеннях на рівні консенсусу. Таким чином, спеціалізований DA основного ланцюга з вищим рівнем безпеки в сховищі поза ланцюгом може бути використаний для збалансування питань безпеки та зберігання… Однак варто зазначити, що функції блокчейну не є статичними, а постійно змінюються. Наприклад, перші функції Ethereum були в основному обмежені платежами та простою автоматизованою обробкою активів і транзакцій за допомогою смарт-контрактів. Однак, оскільки ландшафт блокчейну продовжує розширюватися, різні проекти Socialfi та Defi поступово додаються до Ethereum. Змусити Ethereum розвиватися в більш комплексному напрямку. Нещодавно, у зв’язку з вибухом напису «Екологія» на біткойнах, комісія за транзакції в мережі біткойн зросла майже в 20 разів із серпня. Це свідчить про те, що швидкість транзакцій мережі біткойн на цьому етапі не може задовольнити попит на транзакції, і трейдери можуть лише підвищувати комісію, щоб транзакції оброблялися якомога швидше. Тепер біткойн-спільнота повинна прийняти компроміс: прийняти високі комісії та низьку швидкість транзакцій або знизити безпеку мережі, щоб збільшити швидкість транзакцій, але порушити початковий намір платіжної системи. Якщо біткойн-спільнота вибере останнє, то перед обличчям зростаючого тиску даних, відповідне рішення для зберігання також потрібно буде налаштувати.
Комісії за транзакції основної мережі Bitcoin коливаються, джерело зображення: OKLINK
Загальнодоступні ланцюги з комплексними функціями мають більшу гонитву за TPS, а зростання історичних даних ще більше. Важко адаптуватися до швидкого зростання TPS у довгостроковій перспективі, прийнявши рішення, подібне до DankSharding. Тому більш відповідним способом є перенесення даних на сторонній DA для зберігання. Серед них DA, специфічний для основного ланцюга, має найвищу сумісність і може мати більше переваг, якщо розглядати лише проблеми зберігання єдиного публічного ланцюга. Але сьогодні, коли публічні ланцюги рівня 1 процвітають, міжланцюгова передача активів і взаємодія даних стали звичайним заняттям спільноти блокчейнів. Якщо брати до уваги довгостроковий розвиток усієї екосистеми блокчейну, зберігання історичних даних різних публічних ланцюжків в одному публічному ланцюзі може усунути багато проблем безпеки в процесі обміну даними та перевірки. Таким чином, відмінність між модульним DA та загальнодоступним ланцюгом DA може бути кращим вибором. Відповідно до передумови максимальної універсальності, модульний DA зосереджується на наданні послуг рівня DA блокчейну, запроваджуючи більш точні історичні дані керування даними індексу, які можуть обґрунтовано класифікувати різні дані публічного ланцюга та зберігати дані публічного ланцюга. Має більше переваг, ніж. Однак наведене вище рішення не враховує вартість коригування рівня консенсусу в існуючому загальнодоступному ланцюжку. Цей процес надзвичайно ризикований. Якщо виникають проблеми, це може призвести до системної вразливості та спричинити втрату громадським ланцюгом консенсусу спільноти. Тому, якщо це перехідне рішення під час процесу розширення блокчейну, найпростіше тимчасове сховище основного ланцюга може бути більш придатним. Нарешті, наведене вище обговорення базується на продуктивності під час фактичної роботи. Однак, якщо метою певної громадської мережі є розвиток своєї екології та залучення більшої кількості сторін та учасників проекту, вона також може віддавати перевагу проектам, які підтримуються та фінансуються її фондом… Наприклад, коли загальна продуктивність еквівалентна або навіть трохи Нижче, ніж у публічних мережевих сховищах, спільнота Ethereum також буде прагнути до проектів рівня 2, які підтримує Ethereum Foundation, таких як EthStorage, щоб продовжувати розвивати екосистему Ethereum.
Загалом, функції сучасного блокчейну стають дедалі складнішими, що також призводить до більших вимог до місця для зберігання. Коли є достатньо вузлів верифікації рівня 1, не потрібно створювати резервні копії історичних даних усіма вузлами всієї мережі. Лише тоді, коли кількість резервних копій досягне певного значення, можна гарантувати відносну безпеку. Водночас розподіл праці в публічних ланцюгах також стає дедалі детальнішим., Рівень 1 відповідає за консенсус і виконання, Rollup відповідає за обчислення та перевірку, а окремий блокчейн використовується для зберігання даних. Кожна частина може зосереджуватися на певній функції, не обмежуючись виконанням інших частин. Однак, який конкретний обсяг пам’яті або яка частка вузлів має бути дозволена для зберігання історичних даних, може досягти балансу між безпекою та ефективністю, і як забезпечити безпечну взаємодію між різними блокчейнами, це питання, яке вимагає від розробників блокчейну подумати. і постійно вдосконалюватися. Інвестори, але зверніть увагу на основний ланцюжковий проект DA на Ethereum, тому що Ethereum вже має достатньо прихильників на цьому етапі, і йому не потрібно покладатися на інші спільноти, щоб розширити свій вплив. Що ще потрібно, так це вдосконалювати та розвивати свою спільноту та залучати більше проектів до екосистеми Ethereum. Однак для державних мереж, що наздоганяють, як-от Solana та Aptos, одна мережа сама по собі не має такої повної екології, тому вона може бути більш схильною об’єднати зусилля з іншими спільнотами для створення величезної міжланцюгової екології. розширити вплив. Таким чином, Layer1, загальний сторонній DA, заслуговує на більшу увагу.
Kernel Ventures — це крипто-венчурний фонд, керований дослідницьким співтовариством і розробником із понад 70 інвестиціями на ранніх стадіях, зосередженими на інфраструктурі, проміжному програмному забезпеченні, dApps, особливо ZK, Rollup, DEX, модульних блокчейнах і адаптаційних вертикальних зонах для мільярдів користувачів криптовалюти майбутнє, наприклад абстракція облікового запису, доступність даних, масштабованість тощо. Протягом останніх семи років ми підтримували розвиток основних спільнот розробників та університетських блокчейн-асоціацій у всьому світі.
Будучи розподіленою книгою, блокчейн повинен зберігати історичні дані на всіх вузлах, щоб забезпечити безпеку та достатню децентралізацію зберігання даних. Оскільки правильність кожної зміни стану пов’язана з попереднім станом (джерелом транзакції), щоб забезпечити коректність транзакцій, блокчейн повинен, у принципі, зберігати всі історичні записи від першої транзакції до поточної транзакції. Якщо взяти Ethereum як приклад, навіть якщо середній розмір блоку оцінюється в 20 Кб, поточний загальний розмір блоків Ethereum досяг 370 ГБ. Окрім самого блоку, повний вузол також повинен записувати статус і квитанції про транзакції. Враховуючи цю частину, загальна ємність пам’яті одного вузла перевищила 1 ТБ, що зосереджує роботу вузла декільком людям.
Остання висота блоку Ethereum, джерело зображення: Etherscan
Порівняно з базами даних або структурами зберігання зв’язаних списків, непорівнянність блокчейна пояснюється здатністю перевіряти щойно згенеровані дані за допомогою історичних даних. Таким чином, забезпечення безпеки історичних даних є першим питанням, яке слід розглянути в сховищі рівня DA. Оцінюючи безпеку даних у системах блокчейн, ми часто аналізуємо її за кількістю надлишкових даних і методом перевірки доступності даних.
Виходячи з передумови забезпечення базової безпеки, наступною основною метою, яку має досягнути рівень DA, є скорочення витрат і підвищення ефективності. По-перше, це зменшити витрати на зберігання, незалежно від відмінностей у продуктивності апаратного забезпечення, тобто зменшити використання пам’яті, викликане зберіганням даних розміру одиниці. На цьому етапі основними способами зниження витрат на зберігання в блокчейні є впровадження технології шардингу та використання сховища на основі винагороди, щоб забезпечити ефективне зберігання даних і зменшити кількість резервних копій даних. Однак із наведених вище методів удосконалення неважко побачити, що між вартістю зберігання та безпекою даних існує взаємозв’язок. Зменшення зайнятості сховища часто означає зниження безпеки. Таким чином, відмінний рівень DA повинен досягти балансу між вартістю зберігання та безпекою даних. Крім того, якщо рівень DA є окремим загальнодоступним ланцюгом, йому необхідно знизити вартість шляхом мінімізації проміжного процесу обміну даними. У кожному процесі передачі дані індексу потрібно залишити для наступних викликів запиту. Таким чином, чим довший процес виклику, тим більше даних індексу залишиться, а вартість зберігання збільшиться. Нарешті, вартість зберігання даних безпосередньо пов’язана зі довговічністю даних. Взагалі кажучи, чим вища вартість зберігання даних, тим важче загальнодоступному ланцюжку постійно зберігати дані.
Після досягнення скорочення витрат наступним кроком є підвищення ефективності, яка є здатністю швидко викликати дані з рівня DA, коли їх потрібно використовувати. Цей процес складається з двох етапів. Перший — пошук вузлів, які зберігають дані. Цей процес в основному призначений для загальнодоступних мереж, які не досягли узгодженості даних у всій мережі. Якщо публічний ланцюг досягає синхронізації даних для вузлів у всій мережі, це можна проігнорувати. Витрата часу на процес. По-друге, у поточних основних блокчейн-системах, включаючи Bitcoin, Ethereum і Filecoin, методом зберігання вузлів є база даних Leveldb. У Leveldb дані зберігаються трьома способами. По-перше, дані, записані негайно, зберігатимуться у файлах типу Memtable. Коли сховище Memtable буде заповнено, тип файлу буде змінено з Memtable на Immutable Memtable. Обидва типи файлів зберігаються в пам’яті, але файли Immutable Memtable більше не можна змінити, з них можна лише зчитувати дані. Гаряче сховище, яке використовується в мережі IPFS, зберігає дані в цій частині. При його виклику його можна швидко прочитати з пам'яті. Однак мобільна пам'ять звичайного вузла часто становить ГБ, і записувати його легко повільно. Коли вузол аварійно завершує роботу або виникає інша ненормальна ситуація, дані в пам'яті буде остаточно втрачено. Якщо ви хочете, щоб дані зберігалися постійно, вам потрібно зберегти їх у формі файлу SST на твердотільному накопичувачі (SSD). Однак під час зчитування даних вам потрібно спочатку прочитати дані в пам’ять, що значно знижує швидкість індексації даних. Нарешті, для систем, які використовують спільне сховище, відновлення даних вимагає надсилання запитів на дані до кількох вузлів і їх відновлення. Цей процес також зменшить швидкість читання даних.
Метод зберігання даних Leveldb, джерело зображення: довідник Leveldb
З розвитком DeFi та різними проблемами з CEX вимоги користувачів до міжланцюжкових транзакцій децентралізованих активів також зростають. Незалежно від міжланцюжкового механізму блокування хешу, нотаріального чи релейного ланцюга, неможливо уникнути одночасного визначення історичних даних в обох ланцюгах. Ключ до цієї проблеми полягає в розділенні даних у двох ланцюгах, і прямий зв’язок не може бути досягнутий у різних децентралізованих системах. Тому на цьому етапі пропонується рішення шляхом зміни методу зберігання рівня DA, який не тільки зберігає історичні дані кількох публічних ланцюжків в одному довіреному загальнодоступному ланцюзі, але потребує лише виклику даних у цьому загальнодоступному ланцюзі під час перевірки. може Це вимагає, щоб рівень DA міг встановлювати безпечні методи зв’язку з різними типами публічних ланцюгів, що означає, що рівень DA має добру універсальність.
Спосіб зберігання даних після шардингу, джерело зображення: Kernel Ventures
Технологія DAS базується на подальшій оптимізації методів зберігання Sharding. Під час процесу шардингу через просте довільне зберігання вузлів певний Блок може бути втрачено. По-друге, для фрагментованих даних також дуже важливо підтвердити автентичність і цілісність даних під час процесу відновлення. У DAS ці дві проблеми вирішуються за допомогою коду Eraser і поліноміального зобов’язання KZG.
Перевірка даних гарантує, що дані, викликані з вузла, точні та повні. Для мінімізації обсягу даних і обчислювальних витрат, необхідних у процесі перевірки, рівень DA тепер використовує деревоподібну структуру як основний метод перевірки. Найпростішою формою є використання Merkle Tree для перевірки, яка використовує форму повних бінарних записів дерева, потрібно лише зберегти Merkle Root і хеш-значення піддерева на іншій стороні шляху вузла, можна перевірити, часова складність перевірки становить O(logN) рівня (logN за замовчуванням log2(N)). Незважаючи на те, що процес перевірки значно спростився, обсяг даних для процесу перевірки в цілому все ще зростає зі збільшенням даних. Щоб вирішити проблему збільшення обсягу перевірки, на цьому етапі пропонується інший метод перевірки, Verkle Tree, у якому кожен вузол у Verkle Tree не лише зберігає значення, але також додає векторне зобов’язання, яке може швидко підтвердити автентичність даних, використовуючи значення вихідного вузла та підтвердження зобов’язання, без необхідності викликати значення інших вузлів-сестерів, що робить обчислення кожної перевірки легшим і швидшим. Це робить кількість обчислень для кожної перевірки пов’язаною лише з глибиною дерева Веркле, яка є фіксованою константою, що значно прискорює швидкість перевірки. Однак обчислення Vector Commitment вимагає участі всіх сестринських вузлів на одному рівні, що значно збільшує вартість запису та зміни даних. Однак для таких даних, як історичні дані, які постійно зберігаються і не можуть бути підроблені, а також їх можна лише читати, але не записувати, дерево Веркле надзвичайно підходить. Крім того, дерево Merkle та саме дерево Verkle мають K-ічну форму варіантів, конкретна реалізація механізму схожа, просто змініть кількість піддерев під кожним вузлом, конкретне порівняння продуктивності можна побачити в наступній таблиці.
Порівняння часових характеристик методів перевірки даних, джерело зображення: Verkle Trees
Постійне розширення екосистеми блокчейнів призвело до постійного збільшення кількості публічних мереж. Завдяки перевагам і незамінності кожного публічного ланцюга у відповідних галузях, публічним ланцюгам рівня 1 майже неможливо об’єднатися за короткий час. Однак із розвитком DeFi та різними проблемами з CEX вимоги користувачів до активів децентралізованої міжланцюжкової торгівлі також зростають. Тому все більше уваги приділяється багатоланцюжковому сховищу даних на рівні DA, яке може усунути проблеми безпеки під час міжланцюгової взаємодії даних. Однак, щоб приймати історичні дані з різних загальнодоступних ланцюжків, рівень DA повинен забезпечити децентралізований протокол для стандартизованого зберігання та перевірки потоків даних. Наприклад, kvye, проміжне програмне забезпечення для зберігання на основі Arweave, активно захоплює дані з ланцюжка, і всі Дані в ланцюжку зберігаються в Arweave в стандартній формі, щоб мінімізувати відмінності в процесі передачі даних. Відносно кажучи, Layer2, який спеціально забезпечує зберігання даних рівня DA для певного публічного ланцюжка, взаємодіє з даними через внутрішні спільні вузли. Хоча це зменшує вартість взаємодії та покращує безпеку, воно має відносно великі обмеження та може надавати дані лише певним публічним мережам, які надають послуги.
Цей тип рішення для зберігання даних ще не має чіткої назви, і найвідомішим представником є DankSharding на Ethereum, тому в цій статті для позначення цього типу рішення використовується клас DankSharding. Цей тип рішення в основному використовує дві технології зберігання DA, згадані вище, Sharding і DAS. Спочатку дані поділяються на відповідні частки за допомогою шардингу, а потім кожен вузол витягує блок даних у формі DAS для зберігання. Якщо у всій мережі є достатня кількість вузлів, ми можемо вибрати більшу кількість шардів N, щоб навантаження на сховище кожного вузла становило лише 1/N вихідного, таким чином досягаючи N-кратного розширення загального простору для зберігання. У той же час, щоб запобігти надзвичайній ситуації, коли певний блок не зберігається в жодному блоці, DankSharding кодує дані за допомогою коду стирання, і лише половину даних можна повністю відновити. Останнім кроком є процес перевірки даних, який використовує деревовидну структуру Verkle та поліноміальне зобов’язання для досягнення швидкої перевірки.
Для DA основного ланцюга одним із найпростіших методів обробки даних є зберігання історичних даних у короткостроковій перспективі. По суті, блокчейн відіграє роль загальнодоступної книги, дозволяючи всій мережі спостерігати за змінами вмісту книги без необхідності постійного зберігання. Візьмемо Solana як приклад, хоча її історичні дані синхронізуються з Arweave, головний мережевий вузол зберігає лише дані транзакцій за останні два дні. У загальнодоступному ланцюжку, заснованому на записах облікових записів, історичні дані в кожен момент зберігають остаточний статус облікового запису в блокчейні, чого достатньо, щоб забезпечити базу перевірки для змін у наступний момент. Для проектів, які мають особливі потреби в даних до цього періоду, вони можуть зберігати їх самостійно в інших децентралізованих публічних ланцюжках або в довіреної третьої сторони. Іншими словами, ті, кому потрібні додаткові дані, повинні платити за зберігання історичних даних.
Контракт EthStorage, джерело зображення: Kernel Ventures
Метод зчитування даних Celestia, джерело зображення: Celestia Core
З точки зору технічних принципів основного ланцюга DA, багато технологій, подібних до шардингу, запозичені з публічного ланцюга зберігання. Серед сторонніх DA деякі напряму використовують публічний ланцюжок зберігання для виконання деяких завдань зберігання. Наприклад, конкретні дані транзакцій у Celestia розміщуються в мережі LL-IPFS. У сторонньому рішенні DA, окрім побудови окремого загальнодоступного ланцюжка для вирішення проблеми зберігання Layer1, більш прямим способом є пряме з’єднання загальнодоступного ланцюга зберігання з Layer1 для зберігання величезних історичних даних на Layer1. Для високопродуктивних блокчейнів обсяг історичних даних ще більший. Під час роботи на повній швидкості об’єм даних високопродуктивного публічного ланцюга Solana наближається до 4 PG, що повністю виходить за межі діапазону зберігання звичайних вузлів. Рішення, яке обрала Solana, полягає в тому, щоб зберігати історичні дані в децентралізованій мережі зберігання Arweave та зберігати лише 2 дні даних на основних вузлах мережі для перевірки. Щоб забезпечити безпеку збереженого процесу, Solana та Arweave Chain спеціально розробили протокол мосту зберігання даних Solar Bridge. Дані, перевірені вузлом Solana, будуть синхронізовані з Arweave, і буде повернено відповідний тег. Лише за допомогою цього тегу вузол Solana може переглядати історичні дані блокчейну Solana в будь-який час. У Arweave немає потреби, щоб усі вузли мережі підтримували узгодженість даних і використовували це як поріг для участі в мережевих операціях. Натомість використовується зберігання винагород. По-перше, Arweave не використовує традиційну структуру ланцюга для побудови блоків, а більше схожа на структуру графа. В Arweave новий блок не лише вказуватиме на попередній блок, а й випадковим чином вказуватиме на згенерований блок Recall Block. Конкретне розташування блоку відкликання визначається результатом хешування його попереднього блоку та його висотою блоку. Місцезнаходження блоку відкликання невідоме, доки не буде видобуто попередній блок. Однак у процесі генерації нового блоку вузол повинен мати дані Recall Block, щоб використовувати механізм POW для обчислення хешу вказаної складності. Тільки той майнер, який першим обчислить хеш, що відповідає складності, може отримати винагороду, що спонукає майнерів зберігати якомога більше. історичні дані. У той же час, чим менше людей зберігає певний історичний блок, тим менше конкурентів у вузлів буде при генеруванні одноразових номерів, які відповідають труднощам, заохочуючи майнерів зберігати менше блоків у мережі. Нарешті, щоб переконатися, що вузли постійно зберігають дані в Arweave, він запроваджує механізм оцінки вузлів WildFire. Вузли, як правило, спілкуються з вузлами, які можуть швидше надати більше історичних даних, тоді як вузли з нижчими рейтингами часто не можуть якнайшвидше отримати останні дані про блоки та транзакції, а отже, не можуть скористатися перевагами конкуренції військовополонених…
Метод побудови блоків Arweave, джерело зображення: Arweave Yellow-Paper
Далі ми порівняємо переваги та недоліки п’яти рішень для зберігання на основі чотирьох вимірів показників продуктивності DA.
Порівняння продуктивності рішення для зберігання, джерело зображення: Kernel Ventures
Поточний блокчейн трансформується з Crypto на більш інклюзивний Web3. Цей процес приносить не тільки багатство проектів на блокчейні. Щоб забезпечити одночасну роботу такої кількості проектів на рівні 1, забезпечуючи досвід проектів Gamefi та Socialfi, рівень 1, представлений Ethereum, застосував такі методи, як Rollup і Blobs для покращення TPS. Серед нових блокчейнів також зростає кількість високопродуктивних блокчейнів. Але вищий TPS означає не лише вищу продуктивність, але й більший тиск на зберігання в мережі. Для масивних історичних даних наразі пропонуються різні методи DA, засновані на основному ланцюзі та сторонніх розробниках, щоб адаптуватися до збільшення тиску на зберігання в ланцюзі. Кожен метод покращення має переваги та недоліки та має різну застосовність у різних ситуаціях.
Блокчейни, які зосереджені на платежах, мають надзвичайно високі вимоги до безпеки історичних даних і не прагнуть до особливо високого TPS. Якщо цей тип загальнодоступного ланцюга все ще знаходиться на стадії підготовки, можна застосувати метод зберігання, подібний до DankSharding, який може досягти значного збільшення ємності зберігання, забезпечуючи безпеку. Однак, якщо це публічний ланцюжок, такий як біткойн, який уже сформувався і має велику кількість вузлів, є величезні ризики в необдуманих покращеннях на рівні консенсусу. Таким чином, спеціалізований DA основного ланцюга з вищим рівнем безпеки в сховищі поза ланцюгом може бути використаний для збалансування питань безпеки та зберігання… Однак варто зазначити, що функції блокчейну не є статичними, а постійно змінюються. Наприклад, перші функції Ethereum були в основному обмежені платежами та простою автоматизованою обробкою активів і транзакцій за допомогою смарт-контрактів. Однак, оскільки ландшафт блокчейну продовжує розширюватися, різні проекти Socialfi та Defi поступово додаються до Ethereum. Змусити Ethereum розвиватися в більш комплексному напрямку. Нещодавно, у зв’язку з вибухом напису «Екологія» на біткойнах, комісія за транзакції в мережі біткойн зросла майже в 20 разів із серпня. Це свідчить про те, що швидкість транзакцій мережі біткойн на цьому етапі не може задовольнити попит на транзакції, і трейдери можуть лише підвищувати комісію, щоб транзакції оброблялися якомога швидше. Тепер біткойн-спільнота повинна прийняти компроміс: прийняти високі комісії та низьку швидкість транзакцій або знизити безпеку мережі, щоб збільшити швидкість транзакцій, але порушити початковий намір платіжної системи. Якщо біткойн-спільнота вибере останнє, то перед обличчям зростаючого тиску даних, відповідне рішення для зберігання також потрібно буде налаштувати.
Комісії за транзакції основної мережі Bitcoin коливаються, джерело зображення: OKLINK
Загальнодоступні ланцюги з комплексними функціями мають більшу гонитву за TPS, а зростання історичних даних ще більше. Важко адаптуватися до швидкого зростання TPS у довгостроковій перспективі, прийнявши рішення, подібне до DankSharding. Тому більш відповідним способом є перенесення даних на сторонній DA для зберігання. Серед них DA, специфічний для основного ланцюга, має найвищу сумісність і може мати більше переваг, якщо розглядати лише проблеми зберігання єдиного публічного ланцюга. Але сьогодні, коли публічні ланцюги рівня 1 процвітають, міжланцюгова передача активів і взаємодія даних стали звичайним заняттям спільноти блокчейнів. Якщо брати до уваги довгостроковий розвиток усієї екосистеми блокчейну, зберігання історичних даних різних публічних ланцюжків в одному публічному ланцюзі може усунути багато проблем безпеки в процесі обміну даними та перевірки. Таким чином, відмінність між модульним DA та загальнодоступним ланцюгом DA може бути кращим вибором. Відповідно до передумови максимальної універсальності, модульний DA зосереджується на наданні послуг рівня DA блокчейну, запроваджуючи більш точні історичні дані керування даними індексу, які можуть обґрунтовано класифікувати різні дані публічного ланцюга та зберігати дані публічного ланцюга. Має більше переваг, ніж. Однак наведене вище рішення не враховує вартість коригування рівня консенсусу в існуючому загальнодоступному ланцюжку. Цей процес надзвичайно ризикований. Якщо виникають проблеми, це може призвести до системної вразливості та спричинити втрату громадським ланцюгом консенсусу спільноти. Тому, якщо це перехідне рішення під час процесу розширення блокчейну, найпростіше тимчасове сховище основного ланцюга може бути більш придатним. Нарешті, наведене вище обговорення базується на продуктивності під час фактичної роботи. Однак, якщо метою певної громадської мережі є розвиток своєї екології та залучення більшої кількості сторін та учасників проекту, вона також може віддавати перевагу проектам, які підтримуються та фінансуються її фондом… Наприклад, коли загальна продуктивність еквівалентна або навіть трохи Нижче, ніж у публічних мережевих сховищах, спільнота Ethereum також буде прагнути до проектів рівня 2, які підтримує Ethereum Foundation, таких як EthStorage, щоб продовжувати розвивати екосистему Ethereum.
Загалом, функції сучасного блокчейну стають дедалі складнішими, що також призводить до більших вимог до місця для зберігання. Коли є достатньо вузлів верифікації рівня 1, не потрібно створювати резервні копії історичних даних усіма вузлами всієї мережі. Лише тоді, коли кількість резервних копій досягне певного значення, можна гарантувати відносну безпеку. Водночас розподіл праці в публічних ланцюгах також стає дедалі детальнішим., Рівень 1 відповідає за консенсус і виконання, Rollup відповідає за обчислення та перевірку, а окремий блокчейн використовується для зберігання даних. Кожна частина може зосереджуватися на певній функції, не обмежуючись виконанням інших частин. Однак, який конкретний обсяг пам’яті або яка частка вузлів має бути дозволена для зберігання історичних даних, може досягти балансу між безпекою та ефективністю, і як забезпечити безпечну взаємодію між різними блокчейнами, це питання, яке вимагає від розробників блокчейну подумати. і постійно вдосконалюватися. Інвестори, але зверніть увагу на основний ланцюжковий проект DA на Ethereum, тому що Ethereum вже має достатньо прихильників на цьому етапі, і йому не потрібно покладатися на інші спільноти, щоб розширити свій вплив. Що ще потрібно, так це вдосконалювати та розвивати свою спільноту та залучати більше проектів до екосистеми Ethereum. Однак для державних мереж, що наздоганяють, як-от Solana та Aptos, одна мережа сама по собі не має такої повної екології, тому вона може бути більш схильною об’єднати зусилля з іншими спільнотами для створення величезної міжланцюгової екології. розширити вплив. Таким чином, Layer1, загальний сторонній DA, заслуговує на більшу увагу.
Kernel Ventures — це крипто-венчурний фонд, керований дослідницьким співтовариством і розробником із понад 70 інвестиціями на ранніх стадіях, зосередженими на інфраструктурі, проміжному програмному забезпеченні, dApps, особливо ZK, Rollup, DEX, модульних блокчейнах і адаптаційних вертикальних зонах для мільярдів користувачів криптовалюти майбутнє, наприклад абстракція облікового запису, доступність даних, масштабованість тощо. Протягом останніх семи років ми підтримували розвиток основних спільнот розробників та університетських блокчейн-асоціацій у всьому світі.