Майбутнє блокчейну — це грандіозне бачення: децентралізація, безпека та масштабованість; але зазвичай блокчейн може забезпечити лише дві з цих трьох характеристик, а задовольнити всі три вимоги називається проблемою неможливого трикутника блокчейну. Протягом багатьох років люди шукали способи вирішення цієї проблеми, як підвищити пропускну здатність та швидкість транзакцій блокчейну при забезпеченні децентралізації та безпеки, тобто вирішення проблеми масштабування є однією з актуальних тем обговорення в процесі розвитку блокчейну.
Давайте спочатку загально визначимо децентралізацію, безпеку та масштабованість блокчейну:
Децентралізація: будь-хто може стати вузлом і брати участь у виробництві та верифікації блокчейн-системи, чим більше вузлів, тим вищий рівень децентралізації, що забезпечує захист мережі від контролю з боку невеликої групи великих централізованих учасників.
Безпека: Чим вищі витрати на отримання контролю над системою блокчейн, тим вища безпека, тоді ланцюг може протистояти атакам значної частини учасників.
Масштабованість: здатність блокчейну обробляти велику кількість транзакцій.
Перше значне хард-форк мережі Біткойн виникло внаслідок проблеми з масштабуванням. Зі зростанням кількості користувачів Біткойна та обсягу транзакцій, мережа Біткойн з обмеженням у 1MB на блок почала стикатися з проблемами заторів; з 2015 року в спільноті Біткойна існували розбіжності з приводу масштабування: одна сторона, представлена Bitcoin ABC, підтримувала розширення блоку, тоді як інша сторона, представлена Bitcoin Core, вважала, що слід використовувати рішення Segwit для оптимізації структури основного ланцюга. 1 серпня 2017 року Bitcoin ABC самостійно розробила клієнтську систему до 8MB, що призвело до виникнення першого значного хард-форку в історії Біткойна, а також до народження нової монети BCH.
Тим самим, мережа Ethereum також вибрала пожертвувати частиною масштабованості, щоб забезпечити безпеку та децентралізацію мережі; хоча мережа Ethereum не обмежує обсяг транзакцій, як це робить мережа Bitcoin, шляхом обмеження розміру блоку, а скоріше перетворюється на встановлення ліміту на витрати пального, які може вмістити один блок, мета залишається досягненням Trustless Consensus і забезпеченням широкого розподілу вузлів ( незалежно від того, чи скасують або підвищать ліміт, це призведе до вимирання багатьох менших вузлів, які не мають достатньої пропускної здатності, пам'яті та обчислювальної потужності ).
Від CryptoKitties 2017 року, через літо DeFi, до пізніших застосувань GameFi та NFT, ринок постійно зростає в попиті на пропускну спроможність, але навіть Тьюрінг-повноцінний Ethereum може обробляти лише 15-45 транзакцій на секунду(TPS), що призводить до зростання вартості транзакцій, збільшення часу підтвердження, і більшість Dapps важко витримують витрати на експлуатацію. Вся мережа для користувачів стає повільною та дорогою, тому проблему масштабування блокчейна необхідно терміново вирішити. Ідеальний варіант масштабування: підвищити швидкість транзакцій у мережі блокчейна( коротший час фіналізації) та пропускну спроможність( без жертвування децентралізацією та безпекою.
![Тисячослівний звіт: всебічний аналіз позаблокчейнового масштабування])https://img-cdn.gateio.im/webp-social/moments-7d930821d982f99c43cf5400e4db2175.webp(
2. Категорії планів розширення
Ми розділили плани розширення на дві великі категорії: розширення на основі блокчейну та розширення поза блокчейном, керуючись критерієм "чи змінюється один рівень основної мережі".
2.1 Розширення в блокчейні
Основна концепція: рішення для розширення, яке досягається шляхом зміни одного з основних протоколів мережі, наразі основне рішення - це шардінг.
Розширення на блокчейні має кілька варіантів, у цій статті не будемо їх розглядати, нижче коротко наведемо два варіанти:
Варіант перший - розширити блок-простір, тобто збільшити кількість транзакцій, які пакуються в кожному блоці, але це підвищить вимоги до обладнання високопродуктивних вузлів, підвищить бар'єр для приєднання вузлів і знизить рівень "децентралізації".
Варіант два – це шардінг, який розділяє блокчейн-реєстр на кілька частин, більше не кожен вузол бере участь у всіх обліках, а різні шардінги, тобто різні вузли, відповідають за різні обліки, паралельні обчислення можуть одночасно обробляти кілька транзакцій; це може знизити обчислювальне навантаження на вузли та поріг входження, підвищити швидкість обробки транзакцій і рівень децентралізації; але це означає, що загальна обчислювальна потужність мережі буде розподілена, що знизить "безпеку" всієї мережі.
Зміна коду основного протоколу мережі може призвести до непередбачуваних негативних наслідків, оскільки будь-яка незначна вразливість безпеки на нижньому рівні може серйозно загрожувати безпеці всієї мережі, що може змусити мережу провести форк або призупинити оновлення для виправлення. Наприклад, інцидент з інфляційною вразливістю Zcash у 2018 році: код Zcash заснований на модифікованому коді версії Bitcoin 0.11.2, у 2018 році інженер виявив критичну вразливість у його базовому коді, а саме, що токени можуть бути безмежно випущені, після чого команда витратила 8 місяців на секретне виправлення, і лише після виправлення вразливості цей інцидент був оприлюднений.
2.2 поза блокчейном розширення
Основна концепція: рішення для розширення, яке не змінює існуючий протокол основної мережі рівня 1.
поза блокчейном розширення рішення можна також поділити на Layer2 та інші рішення:
![Тисячослівний звіт: всебічний аналіз позаблокчейн-розширення])https://img-cdn.gateio.im/webp-social/moments-087d35594a04d33375b8199b93eb355e.webp(
3. Поза блокчейном розширення плану
) 3.1 Державні канали
3.1.1 Огляд
Статеві канали передбачають, що користувачам потрібно взаємодіяти з основною мережею лише під час відкриття, закриття або вирішення спорів, а взаємодія між користувачами відбувається поза блокчейном, щоб знизити вартість і час транзакцій для користувачів, а також забезпечити необмежену кількість транзакцій.
Канали стану - це простий P2P протокол, підходящий для "заснованих на раундах застосунків", наприклад, для міжнародної гри в шахи для двох осіб. Кожен канал управляється мультипідписним смарт-контрактом, що працює в основній мережі, який контролює активи, внесені в канал, перевіряє оновлення стану та арбітражує суперечки між учасниками ### на основі доказу шахрайства з підписами та часовими мітками (. Учасники після розгортання контракту в блокчейн-мережі вносять кошти і блокують їх, і після підписання обома сторонами, канал офіційно відкривається. Канал дозволяє учасникам здійснювати необмежену кількість безкоштовних транзакцій поза блокчейном ), за умови, що їхня чиста вартість переказів не перевищує загальної суми внесених токенів (. Учасники по черзі надсилають оновлення стану один одному, чекаючи підтвердження підписом з боку іншого. Як тільки інша сторона підтверджує підписом, це оновлення стану вважається завершеним. У нормальних умовах, погоджені оновлення стану не завантажуються в основну мережу; тільки в разі виникнення суперечок або закриття каналу вони покладаються на підтвердження основної мережі. Коли потрібно закрити канал, будь-який учасник може подати запит на транзакцію в основній мережі, і якщо запит на вихід отримує одностайне схвалення підписом, то на ланцюзі негайно виконується, тобто смарт-контракт відповідно до остаточного стану каналу розподіляє залишкові заблоковані кошти кожному учаснику; якщо інші учасники не підписали схвалення, то всім потрібно почекати закінчення "періоду виклику" перш ніж отримати залишкові кошти.
Отже, рішення зі статусними каналами може значно зменшити обчислювальне навантаження основної мережі, підвищити швидкість транзакцій і знизити витрати на транзакції.
3.1.2 Хронологія
2015/02, Джозеф Пун та Тадеуш Дрія опублікували проект білого паперу мережі Lightning.
2015/11, Джефф Коулмен вперше системно узагальнив концепцію State Channel, запропонувавши, що Payment Channel біткоїна є підвипадком концепції State Channel.
2016/01, Джозеф Пун і Таддеус Дріджа офіційно опублікували білу книгу "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments", у якій було запропоновано схему масштабування мережі біткоїнів Payment Channel) платіжний канал(, яка використовується лише для обробки трансакцій на мережі біткоїнів.
2017/11, перші специфікації дизайну State Channel на основі Payment Channel, відомі як Sprites, були запропоновані.
2018/06, Counterfactual представив дуже детальний дизайн Generalized State Channels, це перший повністю пов'язаний з каналами стану дизайн.
У жовтні 2018 року в статті «Узагальнені державні мережі каналів» була запропонована концепція державних канальних мереж і віртуальних каналів.
2019/02, концепція статус-каналів розширена до N-Party Channels, Nitro є першим протоколом, побудованим на цій ідеї.
2019/10, Pisa для вирішення проблеми постійної онлайн-присутності всіх учасників розширила концепцію Watchtowers.
![Великий звіт: всебічний аналіз поза блокчейном розширення])https://img-cdn.gateio.im/webp-social/moments-ead28de03be9fc22dcfe3f679ee36bc5.webp(
3.1.3 Технічні принципи
Рисунок 1 демонструє традиційний робочий процес на блокчейні: Аліса і Боб взаємодіють зі смарт-контрактом, розгорнутим у головній мережі, користувачі змінюють стан смарт-контракту, надсилаючи транзакції на блокчейн. Недоліком є виникнення проблем з часом і витратами, про які говорилося вище.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз масштабування поза мережею])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(
Рисунок 2 демонструє загальний робочий процес, якому слідують більшість протоколів каналів стану: в оптимістичному випадку Аліса та Боб мають виконати ті ж самі дії, але цього разу вони використовують канал стану, а не взаємодіють з контрактом на блокчейні.
Перший крок, Аліса та Боб взаємодіють, вносячи кошти зі своїх особистих EOA на адресу смарт-контракту ), 1,2(, ці кошти блокуються в контракті до закриття каналу, після чого залишок повертається користувачам; після підписання підтвердження обидві сторони офіційно відкривають канал стану.
Другий крок, Аліса та Боб теоретично можуть здійснювати необмежену кількість транзакцій поза блокчейном через цей канал ) блакитна штрихова лінія (, учасники спілкуються один з одним через зашифровані підписані повідомлення ), а не з мережею блокчейну (. Обидва користувачі повинні підписати кожну транзакцію, щоб запобігти подвійним витратам. Через ці повідомлення вони пропонують оновлення стану своїх рахунків і приймають оновлення стану, запропоновані іншою стороною.
Третій крок, якщо Аліса хоче закрити канал і завершити транзакцію з Бобом, Аліса повинна подати остаточний стан свого рахунку ) взаємодія 3( до контракту. Якщо Боб підпише та затвердить, контракт звільнить заблоковані кошти відповідному користувачу відповідно до остаточного стану ) взаємодія 4,5(. Якщо Боб не відповість на підпис, контракт звільнить заблоковані кошти відповідному користувачу після закінчення періоду оскарження.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз масштабування поза мережею])https://img-cdn.gateio.im/webp-social/moments-815c5eb2bdba725e04eebe67b22d42aa.webp(
Рисунок 3 показує робочий процес каналу стану в песимістичному випадку: спочатку два учасники вносять кошти ) взаємодія 1, 2(, а потім починають обмінюватися оновленнями стану ) синя пунктирна лінія (. Припустимо, в якийсь момент часу Боб не відповідає на підписане оновлення стану від Аліси ) взаємодія 3(, в цей момент Аліса може ініціювати виклик, подавши до контракту своє останнє дійсне стан ) взаємодія 4(, це дійсне стан також містить підпис Боба, що доводить, що остання угода була схвалена Бобом, а фінальний стан був підтверджений Бобом. Потім контракт дозволяє Бобу протягом певного часу відповісти, подавши наступний стан до контракту; якщо Боб відповідає, то обидва можуть продовжити торгівлю в каналі стану; якщо Боб не відповідає протягом цього періоду, контракт автоматично закриває канал стану і повертає кошти Алісі ) взаємодія 5(.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз офчейн-експансії])https://img-cdn.gateio.im/webp-social/moments-010d7309e0cc697da400d07e6948a16e.webp(
3.1.4 Плюси та мінуси
Переваги:
Миттєве підтвердження транзакції
Висока пропускна здатність
Низькі комісії
Висока конфіденційність
Недоліки:
Потрібно заблокувати кошти
Користувачам потрібно часто входити в систему
Зростання складності
3.1.5 Застосування
Біткоїн Лайтнінг Мережа
Огляд:
Мережа Lightning є каналом малих платежів у мережі Bitcoin, її загальний технологічний розвиток пройшов: 2/2 мультипідпис для побудови одностороннього платіжного каналу, додавання RSMC.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
повна розшифровка рішень для розширення поза блокчейном: розвиток State Channels до Lighting Network
Глибина аналізу розширення поза блокчейном
Автори: Еллейн Сюй, Хетті Цзян, Чунь Ван, Уолон Лін, Іліу Лін
1. Необхідність розширення
Майбутнє блокчейну — це грандіозне бачення: децентралізація, безпека та масштабованість; але зазвичай блокчейн може забезпечити лише дві з цих трьох характеристик, а задовольнити всі три вимоги називається проблемою неможливого трикутника блокчейну. Протягом багатьох років люди шукали способи вирішення цієї проблеми, як підвищити пропускну здатність та швидкість транзакцій блокчейну при забезпеченні децентралізації та безпеки, тобто вирішення проблеми масштабування є однією з актуальних тем обговорення в процесі розвитку блокчейну.
Давайте спочатку загально визначимо децентралізацію, безпеку та масштабованість блокчейну:
Перше значне хард-форк мережі Біткойн виникло внаслідок проблеми з масштабуванням. Зі зростанням кількості користувачів Біткойна та обсягу транзакцій, мережа Біткойн з обмеженням у 1MB на блок почала стикатися з проблемами заторів; з 2015 року в спільноті Біткойна існували розбіжності з приводу масштабування: одна сторона, представлена Bitcoin ABC, підтримувала розширення блоку, тоді як інша сторона, представлена Bitcoin Core, вважала, що слід використовувати рішення Segwit для оптимізації структури основного ланцюга. 1 серпня 2017 року Bitcoin ABC самостійно розробила клієнтську систему до 8MB, що призвело до виникнення першого значного хард-форку в історії Біткойна, а також до народження нової монети BCH.
Тим самим, мережа Ethereum також вибрала пожертвувати частиною масштабованості, щоб забезпечити безпеку та децентралізацію мережі; хоча мережа Ethereum не обмежує обсяг транзакцій, як це робить мережа Bitcoin, шляхом обмеження розміру блоку, а скоріше перетворюється на встановлення ліміту на витрати пального, які може вмістити один блок, мета залишається досягненням Trustless Consensus і забезпеченням широкого розподілу вузлів ( незалежно від того, чи скасують або підвищать ліміт, це призведе до вимирання багатьох менших вузлів, які не мають достатньої пропускної здатності, пам'яті та обчислювальної потужності ).
Від CryptoKitties 2017 року, через літо DeFi, до пізніших застосувань GameFi та NFT, ринок постійно зростає в попиті на пропускну спроможність, але навіть Тьюрінг-повноцінний Ethereum може обробляти лише 15-45 транзакцій на секунду(TPS), що призводить до зростання вартості транзакцій, збільшення часу підтвердження, і більшість Dapps важко витримують витрати на експлуатацію. Вся мережа для користувачів стає повільною та дорогою, тому проблему масштабування блокчейна необхідно терміново вирішити. Ідеальний варіант масштабування: підвищити швидкість транзакцій у мережі блокчейна( коротший час фіналізації) та пропускну спроможність( без жертвування децентралізацією та безпекою.
![Тисячослівний звіт: всебічний аналіз позаблокчейнового масштабування])https://img-cdn.gateio.im/webp-social/moments-7d930821d982f99c43cf5400e4db2175.webp(
2. Категорії планів розширення
Ми розділили плани розширення на дві великі категорії: розширення на основі блокчейну та розширення поза блокчейном, керуючись критерієм "чи змінюється один рівень основної мережі".
2.1 Розширення в блокчейні
Основна концепція: рішення для розширення, яке досягається шляхом зміни одного з основних протоколів мережі, наразі основне рішення - це шардінг.
Розширення на блокчейні має кілька варіантів, у цій статті не будемо їх розглядати, нижче коротко наведемо два варіанти:
Зміна коду основного протоколу мережі може призвести до непередбачуваних негативних наслідків, оскільки будь-яка незначна вразливість безпеки на нижньому рівні може серйозно загрожувати безпеці всієї мережі, що може змусити мережу провести форк або призупинити оновлення для виправлення. Наприклад, інцидент з інфляційною вразливістю Zcash у 2018 році: код Zcash заснований на модифікованому коді версії Bitcoin 0.11.2, у 2018 році інженер виявив критичну вразливість у його базовому коді, а саме, що токени можуть бути безмежно випущені, після чого команда витратила 8 місяців на секретне виправлення, і лише після виправлення вразливості цей інцидент був оприлюднений.
2.2 поза блокчейном розширення
Основна концепція: рішення для розширення, яке не змінює існуючий протокол основної мережі рівня 1.
поза блокчейном розширення рішення можна також поділити на Layer2 та інші рішення:
![Тисячослівний звіт: всебічний аналіз позаблокчейн-розширення])https://img-cdn.gateio.im/webp-social/moments-087d35594a04d33375b8199b93eb355e.webp(
3. Поза блокчейном розширення плану
) 3.1 Державні канали
3.1.1 Огляд
Статеві канали передбачають, що користувачам потрібно взаємодіяти з основною мережею лише під час відкриття, закриття або вирішення спорів, а взаємодія між користувачами відбувається поза блокчейном, щоб знизити вартість і час транзакцій для користувачів, а також забезпечити необмежену кількість транзакцій.
Канали стану - це простий P2P протокол, підходящий для "заснованих на раундах застосунків", наприклад, для міжнародної гри в шахи для двох осіб. Кожен канал управляється мультипідписним смарт-контрактом, що працює в основній мережі, який контролює активи, внесені в канал, перевіряє оновлення стану та арбітражує суперечки між учасниками ### на основі доказу шахрайства з підписами та часовими мітками (. Учасники після розгортання контракту в блокчейн-мережі вносять кошти і блокують їх, і після підписання обома сторонами, канал офіційно відкривається. Канал дозволяє учасникам здійснювати необмежену кількість безкоштовних транзакцій поза блокчейном ), за умови, що їхня чиста вартість переказів не перевищує загальної суми внесених токенів (. Учасники по черзі надсилають оновлення стану один одному, чекаючи підтвердження підписом з боку іншого. Як тільки інша сторона підтверджує підписом, це оновлення стану вважається завершеним. У нормальних умовах, погоджені оновлення стану не завантажуються в основну мережу; тільки в разі виникнення суперечок або закриття каналу вони покладаються на підтвердження основної мережі. Коли потрібно закрити канал, будь-який учасник може подати запит на транзакцію в основній мережі, і якщо запит на вихід отримує одностайне схвалення підписом, то на ланцюзі негайно виконується, тобто смарт-контракт відповідно до остаточного стану каналу розподіляє залишкові заблоковані кошти кожному учаснику; якщо інші учасники не підписали схвалення, то всім потрібно почекати закінчення "періоду виклику" перш ніж отримати залишкові кошти.
Отже, рішення зі статусними каналами може значно зменшити обчислювальне навантаження основної мережі, підвищити швидкість транзакцій і знизити витрати на транзакції.
3.1.2 Хронологія
![Великий звіт: всебічний аналіз поза блокчейном розширення])https://img-cdn.gateio.im/webp-social/moments-ead28de03be9fc22dcfe3f679ee36bc5.webp(
3.1.3 Технічні принципи
Рисунок 1 демонструє традиційний робочий процес на блокчейні: Аліса і Боб взаємодіють зі смарт-контрактом, розгорнутим у головній мережі, користувачі змінюють стан смарт-контракту, надсилаючи транзакції на блокчейн. Недоліком є виникнення проблем з часом і витратами, про які говорилося вище.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз масштабування поза мережею])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(
Рисунок 2 демонструє загальний робочий процес, якому слідують більшість протоколів каналів стану: в оптимістичному випадку Аліса та Боб мають виконати ті ж самі дії, але цього разу вони використовують канал стану, а не взаємодіють з контрактом на блокчейні.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз масштабування поза мережею])https://img-cdn.gateio.im/webp-social/moments-815c5eb2bdba725e04eebe67b22d42aa.webp(
Рисунок 3 показує робочий процес каналу стану в песимістичному випадку: спочатку два учасники вносять кошти ) взаємодія 1, 2(, а потім починають обмінюватися оновленнями стану ) синя пунктирна лінія (. Припустимо, в якийсь момент часу Боб не відповідає на підписане оновлення стану від Аліси ) взаємодія 3(, в цей момент Аліса може ініціювати виклик, подавши до контракту своє останнє дійсне стан ) взаємодія 4(, це дійсне стан також містить підпис Боба, що доводить, що остання угода була схвалена Бобом, а фінальний стан був підтверджений Бобом. Потім контракт дозволяє Бобу протягом певного часу відповісти, подавши наступний стан до контракту; якщо Боб відповідає, то обидва можуть продовжити торгівлю в каналі стану; якщо Боб не відповідає протягом цього періоду, контракт автоматично закриває канал стану і повертає кошти Алісі ) взаємодія 5(.
! [Глибокий звіт про дослідження на 10 000 слів: комплексний аналіз офчейн-експансії])https://img-cdn.gateio.im/webp-social/moments-010d7309e0cc697da400d07e6948a16e.webp(
3.1.4 Плюси та мінуси
Переваги:
Недоліки:
3.1.5 Застосування
Біткоїн Лайтнінг Мережа
Огляд:
Мережа Lightning є каналом малих платежів у мережі Bitcoin, її загальний технологічний розвиток пройшов: 2/2 мультипідпис для побудови одностороннього платіжного каналу, додавання RSMC.