Subspace — це перший протокол, який повністю вирішує трилему блокчейну
без компромісів.
Консенсус Proof-of-Archival-Storage (PoAS) зберігає припущення чесної більшості та бездозвільний характер консенсусу Nakamoto без величезних витрат на електроенергію для майнінгу.
Відокремлене виконання робить фармінг легким та стійким до об’єднання, тоді як фармерська мережа зберігання дозволяє блокчейну масово «роздуватися» без централізації.
Розділення блоків і вибірка за наявністю даних дозволяють вертикальне масштабування, тоді як наше унікальне розділення консенсусу і обчислень забезпечує горизонтальне масштабування при log(n ) накладних витратах для операторів.
Трилема блокчейну — це термін, введений Віталіком Бутеріним для опису труднощів створення безпечного, масштабованого та децентралізованого блокчейну. Він стверджує, що на практиці блокчейн може досягти лише двох із трьох функцій.
Безпека означає збереження безпеки та живучості до половини протиборчої частки вузлів (чесне припущення більшості).
Децентралізація означає збереження обчислювальних ресурсів, сховища та мережевих ресурсів достатньо низькими, щоб кожен міг запустити вузол на своєму ноутбуці.
Масштабованість означає, що пропускна здатність транзакцій має збільшуватися, коли більше користувачів приєднуються до мережі та вдосконалюється апаратне забезпечення їхніх комп’ютерів.
PoW або "one-CPU-one-голос" є простим, безпечним, і допустимим але це спричиняє високу вартість електроенергії, яка не є екологічно стійкою і не призводить до централізованого або збентежено видобутку.
PoS або "one-coin-one-vote" використовує систему віртуального майнінгу на основі багатства людини. Незважаючи на те, що PoS є екологічно чистим, він не є справедливим або без дозволу, натомість заохочує систему, завдяки якій багаті стають лише багатшими.
PoC або "one-disk-one-vote" замінює майнінг на інтенсивне зберігання даних. Теоретично PoC є безпечним, екологічно чистим і чесним, але на практиці більшість проектів повертаються до моделей PoW або PoS.
Для початку фермери записують тисячі невеликих (1 Мб) фрагментів на свій вільний дисковий простір, згрупованих у сектори по 1 Гб. Кожен фрагмент маскується обмеженням пропускної здатності пам'яті на основі спеціальної реалізації Chia Proof-of-Space. На відміну від Chia, plotting не заповнює SSD випадковими даними, а створює унікальні часткові репліки історії для кожного фермера. На відміну від Filecoin, фермерам не потрібно ставити монети, пропорційні їх дисковому простору. Це дозволяє будь-кому в світі швидко і легко заставити свій вільний простір і взяти участь в консенсусі.
Наслідуючи c-Nakamoto PoS, ми створюємо безпечний маяк випадковості з самої історії блокчейну. У кожному слоті всі фермери частково сканують свої ділянки на наявність будь-якого 32-бітового фрагмента, достатньо близького до виклику, щоб задовольнити умовам складності. Потім вони можуть скомпілювати цей фрагмент, зобов'язання, що підтверджують, що він є частиною історії ланцюжка, і відповідний доказ простору в доказ реплікації (Proof-of-Replication, PoR) і створити наступний блок в ланцюжку. Після цього будь-хто може дешево перевірити доказ, виконавши 64 хеша і 2 перевірки KZG. Це дозволяє фермерству бути постійним і легким з точки зору необхідних витрат на зберігання і обчислення.
Щоб запобігти симуляційним атакам, ентропія з історії блокчейну повторно використовується протягом багатьох послідовних часових інтервалів. Щоб запобігти атакам подрібнення, ми відокремлюємо PoR від вмісту блоку, базуючи випадковість виключно на PoR. Щоб запобігти атакам стиснення, ми вимагаємо від фермерів надавати повне кодування для створення блоку і робимо декомпресію такою ж нездійсненною за час слоту, як і створення графіку. Для запобігання атакам на великі відстані, атакам з підкупом і атакам з використанням просторово-часового компромісу ми використовуємо просте підтвердження часу (PoT) на основі AES-128. Для формального аналізу безпеки читайте нашу дослідницьку статтю.
Фармери можуть вибирати між використанням свого сховища для або а) збереження стану та історії ланцюга або б) для максимізації своєї ділянки розмір і повернення інвестицій.
У міру зростання мережі фармери завжди обиратимуть останнє, у кращому випадку стаючи легкими клієнтами, а в гіршому – приєднуючись до фармерського пулу, яким керує надійний оператор.
Якщо ніхто не зберігає історію, вузли можуть синхронізуватися лише від централізованих постачальників. Якщо ніхто не підтримує стан, ми повинні покладатися на надійних третіх сторін для нашого балансу.
Щоб стимулювати фермерів зберігати історію, ми розширюємо консенсус щодо доказу простору до доказ зберігання історії самого блокчейну. Згідно з консенсусом доказу архівного зберігання (PoAS), кожен фермер зберігає стільки достовірно унікальних сегментів історії ланцюжка, скільки дозволяє його дисковий простір. Чим більше фрагментів історії зберігає фермер, тим більша ймовірність того, що він буде обраний для створення нового блоку. Щоб гарантувати, що фермери зберігають якомога більше унікальних фрагментів, ми запровадили правило, за яким кожен фермер може зберігати фрагменти, прив'язані до його ідентичності. Зміна ідентичності вимагатиме перепланування, щоб захиститися від атак Сибіли.
Фермери зберігають історію колективно, утворюючи розподілену мережу зберігання даних (DSN), яка гарантує, що історія завжди доступна для завантаження.
Щоб запобігти втраті історії, блоки кодуються стиранням як на вихідні, так і на парні частини.
Щоб забезпечити належне балансування навантаження і послідовну реплікацію, кожен фермер зберігає незакодовані частини, найближчі до його ідентифікатора, в гарячому кеші, що займає менше 1% від обіцяного обсягу пам'яті.
Щоб забезпечити ефективний пошук, вузол спочатку запитує фрагменти з гарячого кешу фермерів. Лише у рідкісних випадках відсутності кешу фермерів просять розшифрувати фрагменти з холодного сховища їх ділянок. Використовуючи властивості протоколу архівування та DSN, ми побудували унікальний механізм синхронізації ланцюжка, заснований на витягуванні фрагментів і реконструкції ланцюжка локально. Це дозволяє вузлам Subspace зберігати лише останні блоки та очищати архівну історію, зберігаючи вимоги до пам'яті для повних вузлів постійними, незалежно від того, наскільки довгим стає ланцюжок.
Щоб зняти з фермерів тягар підтримки стану і виконання надлишкових обчислень, ми застосовуємо класичну для розподілених систем техніку розділення консенсусу і обчислень. Фермери несуть повну відповідальність за замовлення транзакцій, в той час як окремий клас операторських вузлів підтримує стан і обчислює переходи для кожного нового блоку. Для того, щоб оператори несли відповідальність за свої дії, ми використовуємо систему стейкінгових депозитів, обчислення, які можна перевірити, і неінтерактивні докази шахрайства.
Одним із способів збільшення пропускної здатності є збільшення розміру блоку, але це призводить до довшого часу поширення та вищої швидкості чесного розгалуження, що знижує безпеку.
Ще одна техніка полягає в масштабуванні за допомогою кількох ланцюжків або шардів, але існуючі проекти незахищені від адаптивного супротивника, який може націлитися на один шард.
Обидва методи призводять до швидшого зростання стану та історії ланцюга, що призводить до роздуття блокчейну та централізації під кількома потужними вузлами.
Subspace адаптує пропозицію щодо масштабованості Prism для досягнення високої пропускної здатності обробка транзакцій без зниження безпеки. У поєднанні з вибіркою доступності даних і суперлегкими клієнтами фармерство може залишатися низькопропускним і децентралізованим.
Використовуючи віртуальний ланцюжок маячків, ми усуваємо вузьке місце одного основного ланцюжка і підтримуємо до 2^16 шардів. Фермери обертають осколки в кожному блоці, в той час як оператори можуть зробити ставку на будь-яку кількість різних осколків, які вони обирають, слідуючи принципу Free2Shard.
Subspace розширює протокол швидкого підтвердження Taiji для консенсусу PoC, дозволяючи фермерам досягти майже детермінованої фінальності протягом трьох блоків, скорочуючи затримку підтвердження нових транзакцій з хвилин до секунд, не покладаючись на операторів.
Майбутнє за кількома мережами, і очевидно, що користувачі віддають перевагу AMM централізованим біржам. Subspace забезпечує масштабованість першого рівня, необхідну для з’єднання численних ланцюжків, одночасно забезпечуючи надійний обмін активами з низькою затримкою та високою пропускною здатністю.
Оскільки історія може вирости далеко за межі сховища будь-якого окремого фармера, але все ще має ефективну ціну, Subspace унікально здатний забезпечити дешеве постійне зберігання dApp, водночас роблячи дані доступними для глобального рівня виконання.
Завдяки відокремленню виконання та зберігання, а потім масштабуванню кожного окремо, Subspace дозволяє створювати набагато ширший спектр конструкцій другого рівня, обмежений лише уявою розробників протоколу.