Вступ:
Ця стаття надає перспективне введення до досить нестандартної парадигми проектування інфраструктури Web3 на основі зберігання (SCP). Ця модель проектування значно відрізняється від основних модульних рішень блокчейн, таких як Ethereum Rollups у теорії. Однак вона демонструє високу реалізованість у термінах простоти в реалізації та інтеграції з платформами Web2. SCP не має наміру обмежувати себе вузьким шляхом реалізації, як Rollups. Замість цього вона спрямована на прийняття ширшого і більш відкритого каркасу для злиття платформ Web2 з інфраструктурою Web3. Цей підхід можна розглядати як дуже уявний та інноваційний.

Уявімо рішення масштабування громадського блокчейну з наступними характеристиками:
Він має швидкість, яка порівнюється з традиційними застосунками або обмінами Web2, що далеко перевершує будь-який громадський блокчейн, Layer 2 (L2), rollups, sidechains тощо.
Не існує жодних комісій за газ, а вартість використання практично дорівнює нулю.
Високий фінансовий захист, перевершуючи централізовані установи, такі як біржі, гірший за Rollups, але більший або рівний сайдчейнам.
Досвід користувача, ідентичний Web2, без потреби у знаннях про громадські та приватні ключі блокчейну, гаманці, інфраструктуру тощо.
Таке рішення дійсно дуже захоплююче: з одного боку, воно в суті досягло піку у плані масштабування; з іншого боку, воно закладає міцний фундамент для масового прийняття Web3, в суті зведенням мостів між користувацькими враженнями Web2 та Web3. Однак схоже, що у нас небагато комплексних рішень, подібних до цього, оскільки обговорення та практики в цьому напрямку дійсно занадто мало.
Ми використовуємо відому тему масштабування як вступ вище, але SCP не обмежується випадками використання масштабування. Його дизайн інспірується справді рішеннями масштабування і обговореннями спільноти громадських блокчейнів, таких як Bitcoin та Ethereum. Його візія та практичне застосування полягає в тому, щоб побудувати нове покоління ненадійної інфраструктури, навіть обчислювальні платформи, які не базуються на блокчейн структурах.
Шар доступності даних: Обробляється широко визнаною та добре протестованою громадською блокчейн-мережею або засобами зберігання, що служать як шар доступності даних, наприклад Ethereum, Arweave, Celestia, тощо.
Шар виконання: сервер, призначений для отримання транзакцій користувачів та їх виконання, а також пакетної відправки підписаних даних транзакцій на шар DA, схожий на послідовників у Rollups. Однак шар виконання не обов'язково повинен мати ланцюгову структуру у стилі блокчейну; він може бути цілком системою веб-бази даних + обчислювальна система, але вся обчислювальна система повинна бути відкритим джерелом з можливістю перевірки.
Шар консенсусу: Складається з групи вузлів, які витягують дані, надіслані до шару DA, виконавчим шаром і використовують той самий алгоритм, що і виконавчий шар, для обробки цих даних, підтверджуючи, чи правильний вивід виконавчого шару та може служити як резервна система аварійного відновлення для виконавчого шару. Користувачі також можуть читати дані, повернені вузлами шару консенсусу, щоб переконатися, що в виконавчому шарі немає шахрайства.
Шар розрахунків: Складається з групи вузлів та контрактів або адрес на інших ланцюгах, відповідальних за обробку внесків користувачів у SCP або виведення з SCP, до певної міри схожих на операцію міжланцюжкових мостів. Вузли шару розрахунків контролюють функцію виведення адреси депозиту через контракти з багато підписами або адреси на основі TSS. Для внесків користувачі переказують активи на визначену адресу на своєму ланцюжку; для виведення вони відправляють запит, і після того, як вузли шару розрахунків прочитають дані, вони звільняють активи через багато підписів або TSS. Рівень безпеки шару розрахунків залежить від використаного механізму міжланцюжкового взаємодії.


Ми можемо вигукнути такий слоган: «Наступне покоління інфраструктури, що не потребує довіри, не обов'язково має покладатися на протоколи консенсусу, але це має бути система з відкритим вихідним кодом із вузловою мережею Peer-to-Peer (P2P)». Початковий намір винаходу та використання блокчейну полягав у досягненні децентралізації, узгодженості реєстру, незмінності та відстежуваності, як прямо зазначено в технічному документі Bitcoin. Однак після Ethereum, будь то рішення для розширення старої публічної мережі, Rollup або модульні блокчейни, існувало фіксоване мислення: те, що ми створюємо, має бути або блокчейном (що складається з протоколів консенсусу вузлів), або чимось на кшталт Rollup (який, схоже, є ланцюжком зі структурами даних блокчейну, але без прямого обміну повідомленнями консенсусу між вузлами). Тепер, в рамках структури, заснованої на SCP (Stellar Consensus Protocol), очевидно, що навіть не будучи блокчейном, можна досягти децентралізації, узгодженості реєстру, незмінності та відстежуваності, за умови наявності більш чітких деталей реалізації.
Біржі. Використовуючи SCP, можна побудувати публічну, прозору біржу з високими швидкостями транзакцій на секунду (TPS), поєднуючи швидкі, безкоштовні функції Централізованої біржі (CEX) та децентралізацію Децентралізованої біржі (DEX). Тут розмита грань між CEX та DEX.
Платіжні мережі. Подібно до Alipay, PayPal тощо.
Віртуальні машини/блокчейни, що підтримують завантажувальні програми/контракти. Будь-який розробник може розгорнути будь-яку програму на ньому, ділитися усіма даними користувача з іншими програмами та працювати відповідно до інструкцій користувача.
Дизайн-шаблон SCP, який підтримує будь-яке середовище виконання, має свої унікальні переваги: немає потреби покладатися на компоненти з історичним багажем, особливо на такі концепції, як "абстракція рахунку", яка є унікальною для спільноти Ethereum. Для SCP концепція абстракції рахунку є внутрішньо непотрібною. У архітектурі SCP відсутня концепція абстракції рахунку - ви вільно можете використовувати стандартні облікові записи Web2 та облікові записи блокчейну і т. д. З цієї точки зору багато зрілих випадків використання Web2 не потребують переосмислення та перебудови, щоб бути безпосередньо застосовними до SCP. Цей аспект може бути тим, де SCP має перевагу перед Rollups.

Реєстрація облікового запису: Користувачі вводять ім'я користувача та пароль на сторінці реєстрації програми. Щоб захистити пароль користувача, сервер обробляє його за допомогою хеш-функції при отриманні. Для підвищення складності хеша та захисту від атак за допомогою рейнбоу-таблиць, до кожного паролю користувача зазвичай додається випадково згенерований рядок (відомий як "сіль"). Ім'я користувача, сіль та хеш зберігаються у відкритому вигляді в базі даних постачальника послуг і не робляться загальнодоступними. Тим не менш, соління та безпечна обробка необхідні для запобігання внутрішніх загроз та атак.
Увійти користувача: Користувачі вводять своє ім'я користувача та пароль у форму входу. Система порівнює оброблений хеш паролю збереженого хешу в базі даних. Якщо два хеші співпадають, це вказує на те, що користувач ввів правильний пароль, і процес входу продовжується.
Аутентифікація операції: після успішної перевірки входу система створює сеанс для користувача. Зазвичай інформація про сеанс зберігається на сервері, і сервер надсилає ідентифікатор (такий як куки або токен) до браузера або додатку користувача. Під час наступних операцій користувачам вже не потрібно повторно вводити своє ім'я користувача та пароль: браузер або додаток зберігає ідентифікатор куки та включає його в кожен запит, показуючи, що вони мають дозвіл сервера, пов'язаний з куки.
Увійти користувача: Використання блокчейну не потребує входу. Більшість додатків не мають процесу входу, але замість цього підключаються до гаманця. Деякі додатки після підключення до гаманця можуть вимагати від користувачів підписання верифікації, щоб переконатися, що вони дійсно володіють приватним ключем, а не просто надіслали адресу гаманця на фронтенд.
Аутентифікація операції: Користувачі безпосередньо надсилають підписані дані на вузли. Після перевірки вузли транслюють транзакцію на всю мережу блокчейну. Якщо операцію підтвердить консенсус мережі блокчейну, вона стає остаточною.
Відмінність між цими двома режимами викликана симетричними та асиметричними факторами. У архітектурі сервер-користувач обидві сторони мають однаковий секрет. У блокчейн-користувацькій архітектурі лише користувач має секрет. Хоча прошарок виконання SCP (Платформа Смарт-контрактів) може не бути блокчейном, всі дані повинні бути синхронізовані на публічно видимий шар DA (Доступність даних). Тому методи входу та перевірки операцій SCP повинні бути асиметричними. Однак, щоб уникнути незручних дій, таких як управління приватними ключами та використання гаманців, які можуть заважати широкому поширенню через поганий досвід користувача, існує великий попит на традиційні ID-паролі або OAuth сторонні аутентифікаційні входи в додатки, побудовані на SCP. Так як по асиметричній природі криптографії та доказів нуль-знань, я уявляю два можливих рішення:

Незалежно від використаного методу, обидва вони є більш дорогими з точки зору розробки та експлуатації, ніж традиційні методи, але це необхідна ціна, яку потрібно заплатити за децентралізацію. Звісно, якщо проект не вважає екстремальну децентралізацію необхідною, або має різні віхи на різних етапах розвитку, можна продовжити без цих конструкцій, оскільки децентралізація не є чорно-білою, а існує в сірій зоні.
Зробити міст свідків максимально децентралізованим є темою дослідження для багатьох кросчейн-мостів. У зв'язку з обмеженим простором, це не буде детально описано тут. Добре спроектована платформа SCP на практиці також повинна мати авторитетних партнерів з децентралізованого мосту з мультипідписом. Хтось може запитати, чому SCP не використовує ланцюжок зі смарт-контрактами як рівень DA? Це дозволило б створити безнадійні рівні розрахунків на основі контрактів. У довгостроковій перспективі, долаючи деякі технічні труднощі, якщо рівень DA розмістити на Ethereum або інших рівнях DA з підтримкою контрактів і можна побудувати відповідні контракти на верифікацію, SCP також може досягти такої ж безпеки розрахунків, як і Rollup, без необхідності мультипідпису.### На практиці це може бути не найкращим вибором:- Ethereum не спеціально розроблений для зберігання даних, і порівняно з блокчейнами, що присвячені виключно зберіганню даних, він досить дорогий. Для парадигми SCP важливим є достатньо низька або фіксована вартість зберігання. Тільки тоді він зможе підтримувати пропускну здатність рівня Web2.
Отже, рішення Rollup є лише більш практично доцільним в конкретних обставинах. Якщо ви плануєте реалізувати більш широку, відкриту систему, віддаляючись від каркасу EVM для інтеграції більше функцій Web2, то підхід Ethereum Rollup не підходить. SCP - це не просто план розширення для певного громадського блокчейну, але більш широка архітектура платформи обчислень Web3. Тому очевидно, що вона не потребує дотримуватися підходу Ethereum Layer2.






