Що таке шардинг?

Початківець11/21/2022, 8:35:46 AM
Шардинг — це техніка розділення бази даних, яка допомагає блокчейнам створити масштабованість, дозволяючи паралельно обробляти транзакції кількома ланцюжками шардингу, щоб зменшити перевантаження мережі та збільшити кількість транзакцій за секунду (TPS).

Вступ

У звичайному блокчейні транзакції повинні бути підтверджені кожним вузлом у мережі, тоді як між вузлами має бути досягнуто консенсусу, перш ніж транзакції будуть упаковані для створення нового блоку. Безпека повністю гарантована, оскільки кожен вузол записує повну історію реєстру, що ускладнює хакерам таємне втручання в дані без виявлення.
Безпека та масштабованість несумісні
Однак висока безпека має свою ціну. Частота спілкування вузлів і обміну інформацією займає пропускну здатність мережі та сповільнює обробку транзакцій. Щоб запобігти зупинці всієї мережі через збій одного вузла, потрібно більше вузлів для посилення децентралізації та розподілення ризиків. Ці різні компроміси також відомі як «неможливий трикутник», що означає, що масштабованість, децентралізація та безпека мережі блокчейн не можуть бути досягнуті одночасно.


Джерело: блог Віталіка Бутеріна «Чому класний шардинг: демістифікація технічних властивостей»

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

Що таке шардинг?

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

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

Навіщо потрібен шардинг?

Додатки в ланцюжку більш різноманітні, а попит зростає експоненціально
Після значного збільшення розміру користувача, незалежно від типу системи, вона неминуче потребує масштабування, щоб відповідати зростаючому трафіку. Наприклад, якщо онлайн-гра настільки популярна, що кількість гравців збільшується від 100 000 до мільйона або навіть десяти мільйонів на день, необхідно налаштувати новий сервер, щоб перенаправити трафік і уникнути затримок. Подібну ситуацію можна спостерігати і в реальному житті. Під час відпустки туристи до визначних місць завжди страждають від жахливих пробок. Те, на що зазвичай потрібно лише дві години, щоб дістатися до пункту призначення, тепер займає набагато більше часу через різке зростання заторів. Альтернативні процедури є поширеним рішенням для ефективного полегшення заторів.
Масштабування стикається з вузькими місцями, шукає альтернативи
Блокчейн також зіткнувся з вузьким місцем масштабованості під час свого розвитку. У блокчейні P2P лише з 10 вузлами весь обмін даними може бути завершений після 10 9 зв’язків між вузлами; коли кількість вузлів досягає 100, це означає 100 99 разів зв’язку між вузлами, якщо немає оптимізації алгоритму. Загалом, P2P блокчейн-мережі з N вузлами, де кожен вузол обмінюється даними з іншими N-1 вузлами, можна припустити, що кількість часу та обчислень, витрачених на кожну транзакцію, зростатиме експоненціально після масштабування мереж блокчейну.

Через те, що біткойн та Ethereum є мейнстрімом, вони все ще застосовують застарілий механізм
Біткойн, на даний момент найбільша криптовалюта за ринковою капіталізацією, і попередньо оновлений Ethereum є низькошвидкісними: біткойн обробляє близько 7 транзакцій на секунду (TPS), а Ethereum трохи більше (15 TPS). Цього вже давно недостатньо, щоб задовольнити потреби великої кількості користувачів, і воно мало в порівнянні з централізованою системою, такою як провідна компанія кредитних карток VISA, яка обробляє до 24 000 транзакцій за секунду. Окрім перевантаження мережі, низька швидкість також збільшує витрати, і користувачам потрібно платити вищі комісії, щоб визначити пріоритет своїх транзакцій, що погіршує роботу користувача.


Джерело: Etherscan

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

Як шардинг працює в ETH 2.0?

Механізм консенсусу Ethereum буде перетворено з Proof of Work (PoW) на Proof of Stake (PoS) в ETH 2.0, а оригінальну основну мережу Ethereum буде об’єднано в Beacon Chain. Як наслідок, для створення нових блоків вузлам Ethereum більше не потрібна величезна обчислювальна потужність. Натомість вони ставлять свій ETH у смарт-контракти, щоб стати валідаторами, щоб отримати право отримувати комісію за транзакції під час надсилання нових блоків.
У ETH 2.0 для покращення масштабованості буде створено 64 шарди, один із яких називається Beacon Chain. Він відіграє основну роль в оновленнях сегментів Ethereum і відповідає за координацію та обмін інформацією між різними сегментами. Усі вузли ETH 2.0 також розміщуватимуть ETH у ланцюгах шардів і оброблятимуть транзакції на різних шардах відповідно до інструкцій, а блоки в ланцюгах сегментів будуть дійсними лише за схвалення Beacon Chain.

Джерело: Hsiao-wei Wang
Шардинг перевіряє незавершені транзакції шляхом сортування
Коли ETH 2.0 приймає шардування, алгоритм випадкової вибірки призначатиме випадкову кількість вузлів для кожного шарду для перевірки транзакцій і визначення порядку та дійсності транзакцій у ланцюжку сегментів шляхом голосування, а потім інформацію про нові згенеровані блоки сегментів буде додано в Beacon Chain. Новий блок має бути схвалений більш ніж двома третинами вузлів у ланцюжку фрагментів.
Як показано на малюнку нижче, кожному вузлу присвоюється номер (1~100) у послідовності наборів вузлів перевірки; алгоритм випадкової вибірки порушить порядок призначення вузлів, у результаті чого буде створено новий набір вузлів без фіксованого порядку; нові згенеровані перші 1~10 вузлів можуть бути призначені як перший комітет для обробки транзакцій у першому ланцюжку сегментів, тоді як 11-20-й є другим комітетом для обробки другого ланцюжка сегментів тощо.


Джерело: блог Віталіка Бутеріна «Чому класний шардинг: демістифікація технічних властивостей»
Вузол валідатора не призначено постійно для обробки транзакцій у певному ланцюжку сегментів, оскільки алгоритм випадкової вибірки повторно порушить порядок вузлів на певний період часу. Таким чином, члени комітету, відповідальні за кожен ланцюжок сегментів, не є постійними, що дозволяє уникнути ризику централізації, спричиненого певним вузлом, який перевіряє ланцюг сегментів протягом тривалого часу, і збільшує складність атаки.
Оскільки шардинг значно збільшить пропускну здатність ETH 2.0, для всіх вузлів стає неможливо синхронно оновлювати повні дані транзакцій у різних ланцюгах сегментів, заголовок зіставлення, який схожий на заголовок блоку в PoW, стає середовищем для обміну інформацією. . Як випливає з назви, заголовок зіставлення містить метадані про інформацію всередині зіставлення, наприклад:

  1. Один шард, до якого належить зіставлення
  2. Кореневий хеш батьківського зіставлення
  3. Корінь Merkle усіх транзакцій у зіставленні
  4. Додержавний корінь і післядержавний корінь
  5. Підписи нотаріусів


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

Плюси і мінуси шардингу

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

Джерело: Genesis Block

Зменште перевантаження мережі та знизите витрати
У передоновленому Ethereum вузли майнера пакетують транзакції залежно від того, скільки користувачі готові платити, при цьому вищі комісії обробляються швидше, а нижчі комісії обробляються повільніше, що призводить до патологічного призначення комісій, коли користувачі іноді платять більше 50 доларів США за одну транзакцію. . Шардинг дозволяє блокчейну працювати більш плавно та зменшує потребу в комісійних ставках, і користувачі можуть звернутися до іншого, якщо на одному шарді виникає перевантаження.

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

Хоча шардинг висвітлює список переваг, він також представляє ряд нових проблем:

Можливість атаки 1%.
Блокчейн вразливий до 51% атак, що означає, що зловмисник може довільно втручатися в дані транзакцій або навіть контролювати всю мережу блокчейну, якщо він контролює 51% обчислювальної потужності вузлів. У великих блокчейн-мережах, таких як Bitcoin і Ethereum перед оновленням, вартість 51% атаки є занадто високою, що робить її неможливим для впровадження.
Однак із запровадженням шардингу кількість вузлів, які обробляють кожен шард, різко зменшується, і зловмисникам стає набагато легше скомпрометувати, якщо він атакує один із шардів і успішно підробляє транзакції, а не атакує всю мережу. Точніше кажучи, для блокчейн-мережі, яка містить 1000 вузлів з однаковою обчислювальною потужністю, хакер повинен контролювати понад 500 вузлів, щоб атакувати всю мережу. Але коли ці 1000 вузлів розподіляються на 100 сегментів, хакеру достатньо контролювати понад 5 вузлів в одному з шардів, щоб підробити дані.

Джерело: Genesis Block

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

Змова між членами комісії
Хоча шардинг використовує алгоритм випадкової вибірки, щоб уникнути присвоєння ідентичних вузлів фіксованому ланцюжку сегментів, все ще існує ймовірність того, що повторювані комбінації ідентичних вузлів можуть спільно перевіряти транзакції через досить тривалий період часу, а члени комітету перевіряють ланцюжок сегментів. також можливо вступити в змову один з одним і передати зловмисну транзакцію в ланцюг.
Дисбаланс навантаження
Передумовою для покращення продуктивності мережі за допомогою сегментування є те, що «шардинг» успішно приносить «відволікання». Проте коли блокчейн оптимізовано за допомогою 100 ланцюжків сегментів, усі користувачі все ще використовують певний ланцюжок сегментів, тоді шардинг не вдається, а масштабованість не покращилась. Це також є потенційною проблемою для ETH 2.0, оскільки можливість виконувати операції смарт-контракту для кожного ланцюжка сегментів не включена в початкове планування.
Більш складні блокчейн дослідники
Покращення масштабованості завдяки шардингу досягається шляхом додавання більшої кількості алгоритмів і даних до всієї мережі; для дослідників блокчейну потрібна більша потужність обробки, щоб ефективно отримувати інформацію з блокчейну.

Інші блокчейни, що використовують шардинг

Елронд:

Elrond — це децентралізований публічний блокчейн, спрямований на покращення масштабованості, швидкості та безпеки шляхом розробки трьох ключових технологій, зокрема Adaptive State Sharding із технологією масштабування блокчейну, Secure Proof of Stake (SPoS), яка визначає вибір валідаторів для прискорення перевірки, і Elrond Virtual Машина, яка підтримує кілька мов програмування та сумісна з Ethereum VM.

Унікальний Adaptive State Sharding від Elrond поєднує три форми шардингу:

  1. Мережне шардинг являє собою процес групування вузлів у сегменти.
  2. Transaction Sharding виводить складність на наступний рівень і має справу з розподілом транзакцій між різними сегментами, але всі вузли зберігають увесь блокчейн у своєму стані.
  3. Шардинг стану є найскладнішою частиною та описується як механізм, який дозволяє різним шардам мати справу лише з частиною стану без реплікації даних між вузлами з різних сегментів.

Наразі Elrond може досягати 15 000 TPS, утримуючи комісію на рівні 0,001 долара, що є розумною перевагою перед Ethereum.

Біля:

Near — це блоковий загальнодоступний ланцюжок, заснований на шардингу повного стану, спрощених додатках для розробки та механізмі підтвердження частки. Він ставить за мету збільшити масштабованість для децентралізованої розробки додатків і відкрити двері технології блокчейн для всіх. Його механізм консенсусу Doomslug, який використовує алгоритм Nightshade, здатний масштабувати TPS до 100 000. Технічна архітектура Near відрізняється від інших сегментованих загальнодоступних ланцюжків, таких як Beacon Chain, який складається з одного ланцюга та кількох ланцюжків сегментів, він розділений на окремі блоки, а між цими блоками виконується шардинг. Блок містить усі транзакції всіх сегментів, у той час як стан сегмента розділено, а валідатори випадковим чином призначаються для перевірки відповідного стану сегмента транзакції, тим самим покращуючи безпеку.

Zilliqa:

Zilliqa є досить ранньою пташкою в блокчейнах. Він був запущений, щоб вирішити проблему поганої масштабованості блокчейну в той час за допомогою шардингу мережі та транзакцій, а також PoW і візантійського відмовостійкого алгоритму консенсусу (PBFT) зі спрощеною складністю для прискорення консенсусу в шардах. Він все ще може працювати швидко з понад 600 вузлами, а постійне масштабування дозволяє Zilliqa підвищити TPS від 2400 до 3600 TPS.

Гармонія:

Harmony — це загальнодоступний ланцюжок, заснований на шардингу станів, який структурований Beacon Chain і кількома ланцюжками шардингу та супроводжується візантійським відмовостійким алгоритмом консенсусу (PBFT), щоб досягти глибоко оптимізованого консенсусу, одночасно прискорюючи підписи BLS для об’єднання кількох підписів. в одну. У сегментованому загальнодоступному ланцюжку 1% обчислювальної потужності можна використовувати для атак подвійного витрачання, зважаючи на це, Harmony використовує EPoS (ефективне підтвердження частки) і випадкове шардинг для розподілу великомасштабних маркерів ставок і випадкового розподілу їх між кілька шардів, щоб зменшити ризик атаки та підвищити безпеку шардів. Він також використовує Kademlia Cross-shard Communication для контролю мережевих витрат, одночасно використовуючи переваги Erasure Code, який дозволяє відновлювати дані, щоб оптимізувати процес блокової трансляції для ефективного горизонтального масштабування сегментування.

Висновок

У зв’язку зі стрімким зростанням використання криптовалюти та розповсюдженням dAPP деякі традиційні блокчейни перевантажені та не можуть задовольнити зростаючий попит ринку. Як покращити масштабованість, не відмовляючись від децентралізації та безпеки, стало головною проблемою для поточної індустрії блокчейнів.

Шардинг ефективно відволікає потреби в мережі та покращує ефективність доступу

Шардинг — це технологія оптимізації, яка покращує ефективність доступу до бази даних, розділяючи дані транзакцій у ланцюжку та синхронно обробляючи їх різними вузлами, таким чином досягається перенаправлення трафіку та збільшення швидкості. Будучи довгоочікуваним рішенням для масштабування рівня 1, якщо сегментування успішно реалізовано після подолання технічних труднощів високого рівня, його потенційні переваги досить великі. Шардинг був прийнятий у деяких блокчейнах, і в майбутньому ETH 2.0 він також буде прийнятий з надією значно покращити продуктивність мережі.

Шардингу надзвичайно важко досягти через багато невирішених проблем, але зрештою неможливий трикутник буде подолано

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

Автор: Piccolo Перекладач: Юлей
Рецензент(и): Х'юго, Едвард
Відмова від відповідальності:

  • Ця стаття представляє лише погляди спостерігачів і не містить інвестиційних пропозицій.
    *Gate.io залишає за собою всі права на цю статтю. Повторне розміщення статті буде дозволено за умови посилання на Gate.io. У всіх інших випадках через порушення авторських прав буде вжито судовий позов.
Автор: Piccolo
Перекладач: Yuler
Рецензент(-и): Hugo, Edward, Cecilia, Ashley
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.io.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate.io. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.

Що таке шардинг?

Початківець11/21/2022, 8:35:46 AM
Шардинг — це техніка розділення бази даних, яка допомагає блокчейнам створити масштабованість, дозволяючи паралельно обробляти транзакції кількома ланцюжками шардингу, щоб зменшити перевантаження мережі та збільшити кількість транзакцій за секунду (TPS).

Вступ

У звичайному блокчейні транзакції повинні бути підтверджені кожним вузлом у мережі, тоді як між вузлами має бути досягнуто консенсусу, перш ніж транзакції будуть упаковані для створення нового блоку. Безпека повністю гарантована, оскільки кожен вузол записує повну історію реєстру, що ускладнює хакерам таємне втручання в дані без виявлення.
Безпека та масштабованість несумісні
Однак висока безпека має свою ціну. Частота спілкування вузлів і обміну інформацією займає пропускну здатність мережі та сповільнює обробку транзакцій. Щоб запобігти зупинці всієї мережі через збій одного вузла, потрібно більше вузлів для посилення децентралізації та розподілення ризиків. Ці різні компроміси також відомі як «неможливий трикутник», що означає, що масштабованість, децентралізація та безпека мережі блокчейн не можуть бути досягнуті одночасно.


Джерело: блог Віталіка Бутеріна «Чому класний шардинг: демістифікація технічних властивостей»

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

Що таке шардинг?

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

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

Навіщо потрібен шардинг?

Додатки в ланцюжку більш різноманітні, а попит зростає експоненціально
Після значного збільшення розміру користувача, незалежно від типу системи, вона неминуче потребує масштабування, щоб відповідати зростаючому трафіку. Наприклад, якщо онлайн-гра настільки популярна, що кількість гравців збільшується від 100 000 до мільйона або навіть десяти мільйонів на день, необхідно налаштувати новий сервер, щоб перенаправити трафік і уникнути затримок. Подібну ситуацію можна спостерігати і в реальному житті. Під час відпустки туристи до визначних місць завжди страждають від жахливих пробок. Те, на що зазвичай потрібно лише дві години, щоб дістатися до пункту призначення, тепер займає набагато більше часу через різке зростання заторів. Альтернативні процедури є поширеним рішенням для ефективного полегшення заторів.
Масштабування стикається з вузькими місцями, шукає альтернативи
Блокчейн також зіткнувся з вузьким місцем масштабованості під час свого розвитку. У блокчейні P2P лише з 10 вузлами весь обмін даними може бути завершений після 10 9 зв’язків між вузлами; коли кількість вузлів досягає 100, це означає 100 99 разів зв’язку між вузлами, якщо немає оптимізації алгоритму. Загалом, P2P блокчейн-мережі з N вузлами, де кожен вузол обмінюється даними з іншими N-1 вузлами, можна припустити, що кількість часу та обчислень, витрачених на кожну транзакцію, зростатиме експоненціально після масштабування мереж блокчейну.

Через те, що біткойн та Ethereum є мейнстрімом, вони все ще застосовують застарілий механізм
Біткойн, на даний момент найбільша криптовалюта за ринковою капіталізацією, і попередньо оновлений Ethereum є низькошвидкісними: біткойн обробляє близько 7 транзакцій на секунду (TPS), а Ethereum трохи більше (15 TPS). Цього вже давно недостатньо, щоб задовольнити потреби великої кількості користувачів, і воно мало в порівнянні з централізованою системою, такою як провідна компанія кредитних карток VISA, яка обробляє до 24 000 транзакцій за секунду. Окрім перевантаження мережі, низька швидкість також збільшує витрати, і користувачам потрібно платити вищі комісії, щоб визначити пріоритет своїх транзакцій, що погіршує роботу користувача.


Джерело: Etherscan

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

Як шардинг працює в ETH 2.0?

Механізм консенсусу Ethereum буде перетворено з Proof of Work (PoW) на Proof of Stake (PoS) в ETH 2.0, а оригінальну основну мережу Ethereum буде об’єднано в Beacon Chain. Як наслідок, для створення нових блоків вузлам Ethereum більше не потрібна величезна обчислювальна потужність. Натомість вони ставлять свій ETH у смарт-контракти, щоб стати валідаторами, щоб отримати право отримувати комісію за транзакції під час надсилання нових блоків.
У ETH 2.0 для покращення масштабованості буде створено 64 шарди, один із яких називається Beacon Chain. Він відіграє основну роль в оновленнях сегментів Ethereum і відповідає за координацію та обмін інформацією між різними сегментами. Усі вузли ETH 2.0 також розміщуватимуть ETH у ланцюгах шардів і оброблятимуть транзакції на різних шардах відповідно до інструкцій, а блоки в ланцюгах сегментів будуть дійсними лише за схвалення Beacon Chain.

Джерело: Hsiao-wei Wang
Шардинг перевіряє незавершені транзакції шляхом сортування
Коли ETH 2.0 приймає шардування, алгоритм випадкової вибірки призначатиме випадкову кількість вузлів для кожного шарду для перевірки транзакцій і визначення порядку та дійсності транзакцій у ланцюжку сегментів шляхом голосування, а потім інформацію про нові згенеровані блоки сегментів буде додано в Beacon Chain. Новий блок має бути схвалений більш ніж двома третинами вузлів у ланцюжку фрагментів.
Як показано на малюнку нижче, кожному вузлу присвоюється номер (1~100) у послідовності наборів вузлів перевірки; алгоритм випадкової вибірки порушить порядок призначення вузлів, у результаті чого буде створено новий набір вузлів без фіксованого порядку; нові згенеровані перші 1~10 вузлів можуть бути призначені як перший комітет для обробки транзакцій у першому ланцюжку сегментів, тоді як 11-20-й є другим комітетом для обробки другого ланцюжка сегментів тощо.


Джерело: блог Віталіка Бутеріна «Чому класний шардинг: демістифікація технічних властивостей»
Вузол валідатора не призначено постійно для обробки транзакцій у певному ланцюжку сегментів, оскільки алгоритм випадкової вибірки повторно порушить порядок вузлів на певний період часу. Таким чином, члени комітету, відповідальні за кожен ланцюжок сегментів, не є постійними, що дозволяє уникнути ризику централізації, спричиненого певним вузлом, який перевіряє ланцюг сегментів протягом тривалого часу, і збільшує складність атаки.
Оскільки шардинг значно збільшить пропускну здатність ETH 2.0, для всіх вузлів стає неможливо синхронно оновлювати повні дані транзакцій у різних ланцюгах сегментів, заголовок зіставлення, який схожий на заголовок блоку в PoW, стає середовищем для обміну інформацією. . Як випливає з назви, заголовок зіставлення містить метадані про інформацію всередині зіставлення, наприклад:

  1. Один шард, до якого належить зіставлення
  2. Кореневий хеш батьківського зіставлення
  3. Корінь Merkle усіх транзакцій у зіставленні
  4. Додержавний корінь і післядержавний корінь
  5. Підписи нотаріусів


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

Плюси і мінуси шардингу

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

Джерело: Genesis Block

Зменште перевантаження мережі та знизите витрати
У передоновленому Ethereum вузли майнера пакетують транзакції залежно від того, скільки користувачі готові платити, при цьому вищі комісії обробляються швидше, а нижчі комісії обробляються повільніше, що призводить до патологічного призначення комісій, коли користувачі іноді платять більше 50 доларів США за одну транзакцію. . Шардинг дозволяє блокчейну працювати більш плавно та зменшує потребу в комісійних ставках, і користувачі можуть звернутися до іншого, якщо на одному шарді виникає перевантаження.

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

Хоча шардинг висвітлює список переваг, він також представляє ряд нових проблем:

Можливість атаки 1%.
Блокчейн вразливий до 51% атак, що означає, що зловмисник може довільно втручатися в дані транзакцій або навіть контролювати всю мережу блокчейну, якщо він контролює 51% обчислювальної потужності вузлів. У великих блокчейн-мережах, таких як Bitcoin і Ethereum перед оновленням, вартість 51% атаки є занадто високою, що робить її неможливим для впровадження.
Однак із запровадженням шардингу кількість вузлів, які обробляють кожен шард, різко зменшується, і зловмисникам стає набагато легше скомпрометувати, якщо він атакує один із шардів і успішно підробляє транзакції, а не атакує всю мережу. Точніше кажучи, для блокчейн-мережі, яка містить 1000 вузлів з однаковою обчислювальною потужністю, хакер повинен контролювати понад 500 вузлів, щоб атакувати всю мережу. Але коли ці 1000 вузлів розподіляються на 100 сегментів, хакеру достатньо контролювати понад 5 вузлів в одному з шардів, щоб підробити дані.

Джерело: Genesis Block

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

Змова між членами комісії
Хоча шардинг використовує алгоритм випадкової вибірки, щоб уникнути присвоєння ідентичних вузлів фіксованому ланцюжку сегментів, все ще існує ймовірність того, що повторювані комбінації ідентичних вузлів можуть спільно перевіряти транзакції через досить тривалий період часу, а члени комітету перевіряють ланцюжок сегментів. також можливо вступити в змову один з одним і передати зловмисну транзакцію в ланцюг.
Дисбаланс навантаження
Передумовою для покращення продуктивності мережі за допомогою сегментування є те, що «шардинг» успішно приносить «відволікання». Проте коли блокчейн оптимізовано за допомогою 100 ланцюжків сегментів, усі користувачі все ще використовують певний ланцюжок сегментів, тоді шардинг не вдається, а масштабованість не покращилась. Це також є потенційною проблемою для ETH 2.0, оскільки можливість виконувати операції смарт-контракту для кожного ланцюжка сегментів не включена в початкове планування.
Більш складні блокчейн дослідники
Покращення масштабованості завдяки шардингу досягається шляхом додавання більшої кількості алгоритмів і даних до всієї мережі; для дослідників блокчейну потрібна більша потужність обробки, щоб ефективно отримувати інформацію з блокчейну.

Інші блокчейни, що використовують шардинг

Елронд:

Elrond — це децентралізований публічний блокчейн, спрямований на покращення масштабованості, швидкості та безпеки шляхом розробки трьох ключових технологій, зокрема Adaptive State Sharding із технологією масштабування блокчейну, Secure Proof of Stake (SPoS), яка визначає вибір валідаторів для прискорення перевірки, і Elrond Virtual Машина, яка підтримує кілька мов програмування та сумісна з Ethereum VM.

Унікальний Adaptive State Sharding від Elrond поєднує три форми шардингу:

  1. Мережне шардинг являє собою процес групування вузлів у сегменти.
  2. Transaction Sharding виводить складність на наступний рівень і має справу з розподілом транзакцій між різними сегментами, але всі вузли зберігають увесь блокчейн у своєму стані.
  3. Шардинг стану є найскладнішою частиною та описується як механізм, який дозволяє різним шардам мати справу лише з частиною стану без реплікації даних між вузлами з різних сегментів.

Наразі Elrond може досягати 15 000 TPS, утримуючи комісію на рівні 0,001 долара, що є розумною перевагою перед Ethereum.

Біля:

Near — це блоковий загальнодоступний ланцюжок, заснований на шардингу повного стану, спрощених додатках для розробки та механізмі підтвердження частки. Він ставить за мету збільшити масштабованість для децентралізованої розробки додатків і відкрити двері технології блокчейн для всіх. Його механізм консенсусу Doomslug, який використовує алгоритм Nightshade, здатний масштабувати TPS до 100 000. Технічна архітектура Near відрізняється від інших сегментованих загальнодоступних ланцюжків, таких як Beacon Chain, який складається з одного ланцюга та кількох ланцюжків сегментів, він розділений на окремі блоки, а між цими блоками виконується шардинг. Блок містить усі транзакції всіх сегментів, у той час як стан сегмента розділено, а валідатори випадковим чином призначаються для перевірки відповідного стану сегмента транзакції, тим самим покращуючи безпеку.

Zilliqa:

Zilliqa є досить ранньою пташкою в блокчейнах. Він був запущений, щоб вирішити проблему поганої масштабованості блокчейну в той час за допомогою шардингу мережі та транзакцій, а також PoW і візантійського відмовостійкого алгоритму консенсусу (PBFT) зі спрощеною складністю для прискорення консенсусу в шардах. Він все ще може працювати швидко з понад 600 вузлами, а постійне масштабування дозволяє Zilliqa підвищити TPS від 2400 до 3600 TPS.

Гармонія:

Harmony — це загальнодоступний ланцюжок, заснований на шардингу станів, який структурований Beacon Chain і кількома ланцюжками шардингу та супроводжується візантійським відмовостійким алгоритмом консенсусу (PBFT), щоб досягти глибоко оптимізованого консенсусу, одночасно прискорюючи підписи BLS для об’єднання кількох підписів. в одну. У сегментованому загальнодоступному ланцюжку 1% обчислювальної потужності можна використовувати для атак подвійного витрачання, зважаючи на це, Harmony використовує EPoS (ефективне підтвердження частки) і випадкове шардинг для розподілу великомасштабних маркерів ставок і випадкового розподілу їх між кілька шардів, щоб зменшити ризик атаки та підвищити безпеку шардів. Він також використовує Kademlia Cross-shard Communication для контролю мережевих витрат, одночасно використовуючи переваги Erasure Code, який дозволяє відновлювати дані, щоб оптимізувати процес блокової трансляції для ефективного горизонтального масштабування сегментування.

Висновок

У зв’язку зі стрімким зростанням використання криптовалюти та розповсюдженням dAPP деякі традиційні блокчейни перевантажені та не можуть задовольнити зростаючий попит ринку. Як покращити масштабованість, не відмовляючись від децентралізації та безпеки, стало головною проблемою для поточної індустрії блокчейнів.

Шардинг ефективно відволікає потреби в мережі та покращує ефективність доступу

Шардинг — це технологія оптимізації, яка покращує ефективність доступу до бази даних, розділяючи дані транзакцій у ланцюжку та синхронно обробляючи їх різними вузлами, таким чином досягається перенаправлення трафіку та збільшення швидкості. Будучи довгоочікуваним рішенням для масштабування рівня 1, якщо сегментування успішно реалізовано після подолання технічних труднощів високого рівня, його потенційні переваги досить великі. Шардинг був прийнятий у деяких блокчейнах, і в майбутньому ETH 2.0 він також буде прийнятий з надією значно покращити продуктивність мережі.

Шардингу надзвичайно важко досягти через багато невирішених проблем, але зрештою неможливий трикутник буде подолано

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

Автор: Piccolo Перекладач: Юлей
Рецензент(и): Х'юго, Едвард
Відмова від відповідальності:

  • Ця стаття представляє лише погляди спостерігачів і не містить інвестиційних пропозицій.
    *Gate.io залишає за собою всі права на цю статтю. Повторне розміщення статті буде дозволено за умови посилання на Gate.io. У всіх інших випадках через порушення авторських прав буде вжито судовий позов.
Автор: Piccolo
Перекладач: Yuler
Рецензент(-и): Hugo, Edward, Cecilia, Ashley
* Ця інформація не є фінансовою порадою чи будь-якою іншою рекомендацією, запропонованою чи схваленою Gate.io.
* Цю статтю заборонено відтворювати, передавати чи копіювати без посилання на Gate.io. Порушення є порушенням Закону про авторське право і може бути предметом судового розгляду.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!