Поглиблений діалог із головним науковцем Mysten Labs: від теорії до практики, як Суї вирішує проблему масштабованості мережі?

Нещодавно ми взяли інтерв’ю у Джорджа Данезіса, щоб обговорити складність і масштабованість інфраструктури Sui, а також те, як система обробки транзакцій Sui забезпечує високопродуктивну мережу. Джордж Данезіс є співзасновником і головним науковим співробітником Mysten Labs (і першим учасником Sui), а також професором у галузі безпеки та інженерії конфіденційності в UCL.

Ось зміст цього інтерв’ю:

**Q1: Ви з академічної сфери, чи можете ви представити свою наукову спрямованість? **

Я професор Університетського коледжу Лондона (UCL), і мої дослідження зосереджені на безпеці та конфіденційності в широкому сенсі. На початку 20 століття я провів чимало досліджень однорангових і анонімних систем, багато з яких були великими розподіленими системами з упором на зберігання. Коли весь блокчейн став більш орієнтованим на виконання, особливо представлений Ethereum, я зацікавився розподіленими книгами та блокчейном, а також тим, як виконувати смарт-контракти. Його характер без дозволу знайомий мені з моєї роботи над ранніми одноранговими системами. Тож моя дослідницька група в UCL вирішила з’ясувати, як створювати високопродуктивні системи. Ми заснували Chainspace, щоб комерціалізувати деякі з наших ідей, і команда була придбана Facebook. Тоді ми допомогли Facebook знайти рішення для масштабування блокчейну Libra/Diem. Але коли ця пропозиція не просунулася, я пішов і продовжив шукати інші можливості для реалізації концепції високопродуктивного блокчейну.

**Q2: Ви все ще професор, тож яка, на вашу думку, різниця між заявою та дослідженням? **

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

**Q3: Переходячи від теорії до практичного застосування, як ви визначаєте, які проблеми вирішувати? **

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

**Q4: Мережа L2 – це спосіб, запропонований людьми для вирішення проблеми масштабування. У чому різниця та переваги створення нової мережі L1, як Sui? **

L2 — це рішення для масштабування в екосистемі Ethereum. Але для розробників додатків робота з мережами L2 трохи складна. Коли мережа L2 намагається взаємодіяти з Ethereum, має відбуватися перехідна активність, хоча це справедливо для будь-якого зв’язку L2/L1. Стан, що представляє монету, актив або інший вміст у L1, має бути віддзеркалено в L2, і навпаки. Крім того, L2 повинен мати певний механізм, щоб L1 міг перевірити все, що в ньому відбувається. Але це лише перша частина, будь-який актив, який існує на L1, потрібно перенести на L2, певна діяльність має відбутися на L2, а потім якимось чином передати актив назад на L1. Це дуже клопітно.

Для взаємозамінних активів, таких як токени, ця перехідна діяльність проходить відносно гладко, оскільки люди мають два облікові записи та проміжне програмне забезпечення. Але для більш загальних активів це не працює так добре. Щоб фактично використовувати мережу L2 на Ethereum для розробки більш складних програм, ніж токени, вам потрібно мати смарт-контракти з обох сторін, один для карбування (mint), а інший для запису (burn). Їм доводиться переміщатися між двома різними екосистемами, що є індивідуальною діяльністю для кожного контракту. Ви не можете просто сказати, що я створю мережу L2 і заберу всі активи, зроблю те, що хочу, і поверну їх назад, такої концепції немає. Це ручний процес і дуже схильний до помилок. Тож це не чудовий досвід. Уявіть, що у вас є активи в кількох різних мережах L2, і у вас є спеціальні смарт-контракти в різних мережах L2. Кожного разу, коли ви хочете працювати в якомусь стані, який знаходиться в іншій мережі L2, ви повинні перемикати весь шлях назад до L1, а потім назад до L2. Ви не можете легко сказати, що я щойно зробив щось на цьому блокчейні, а потім я збираюся зробити щось інше на іншому блокчейні, і мені не потрібно думати про те, на якому L1 чи L2 це знаходиться. Це все тут, і я зараз у своїх руках, готовий робити більше транзакцій у будь-якому штаті, який я хочу відвідати. Ось чому поширення стану в мережі L2 є поганим досвідом. Переміщення активів між різними ланцюгами є складним і очевидним для користувачів. Ось чому мережа L2 ніколи не викликала мого інтересу.

Іншим прикладом є Cosmos, який має дуже цікаву екосистему, яка використовує інший підхід до масштабування, використовуючи різні блокчейни для різних програм. Ми можемо мати різну швидкість транзакцій у різних ланцюгах і з’єднувати ресурси між ланцюгами, коли нам потрібно працювати між різними програмами, але це також стикається з тією самою проблемою. Кожного разу, коли ви хочете використовувати іншу програму, ви спочатку повинні виконати операцію моста, яка є тонкою та очевидною для користувача, а потім ви можете використовувати цю програму та повернутися. Ви витратите більше часу на переміщення активів з одного ланцюга в інший, ніж на те, що справді хочете робити.

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

**Q5: Sui Lutris є основою протоколу Sui. Які його ключові нововведення, що дозволяють Sui мати високу пропускну здатність і низьку затримку? **

Sui Lutris складається з двох ключових ідей: (1) для багатьох операцій у блокчейні консенсус насправді не потрібен; (2) коли вам потрібен консенсус, існує дуже високопродуктивний метод, який поєднає ці два методи. Sui Lutris є ядром розподіленої системи Sui, гарантуючи, що два різні верифікаційні вузли, які слідують протоколу, ніколи не будуть у неузгодженому стані під час проведення транзакцій у розподіленій мережі. Немає ситуації, коли один валідатор вважає, що ви витратили монету та надіслали її Алісі, тоді як інший валідатор вважає, що ту саму монету насправді було надіслано Бобу.

🌟 Самовидра:

Два різні шляхи: один, який не вимагає консенсусу (швидкий шлях), і інший, який вимагає консенсусу (консенсусний шлях). Коли об’єкт, яким ви хочете маніпулювати, належить лише вам, наприклад ваш власний NFT-персонаж і капелюх, який ви хочете об’єднати, щоб ваш персонаж міг носити капелюх, теоретично ніхто інший не зможе ними маніпулювати. У цих випадках Sui використовує швидкий шлях, що означає, що ви можете маніпулювати своїми власними об’єктами, ви отримуєте завершеність транзакції, не чекаючи консенсусу, транзакція гарантовано відбудеться, і капелюх на вашій голові NFT.

Але в деяких випадках транзакції стосуються не лише об’єктів, які належать вам, вони є спільними для багатьох людей. Наприклад, якщо існує аукціон, на якому продаються маленькі капелюхи, цей тип аукціону буде представлено в Sui як спільний об’єкт. Люди можуть робити ставки, і той, хто запропонує найбільшу ставку, виграє капелюх. Цей вид аукціону є об’єктом, який не належить одній особі. Кожен повинен мати можливість робити ставки, ділитися та оновлювати стан останніх ставок. Ці типи операцій вимагають додаткового консенсусу. Sui Lutris дозволяє вам володіти спільними об’єктами та виконувати з ними транзакції, дозволяючи вам володіти іншими об’єктами, змінювати стан спільних об’єктів або створювати нові спільні об’єкти. Це дозволяє обидва шляхи співіснувати та взаємодіяти між ексклюзивними об’єктами, що належать певній особі, або спільними об’єктами, спільними для кількох людей.

Ці два різні шляхи мають різні переваги. Швидкий шлях для ексклюзивних об’єктів має надзвичайно низьку затримку, займає менше секунди, є дуже швидким і широко масштабується. Консенсусний шлях має вищу затримку, як правило, більше секунди, і досить високу пропускну здатність, однак його важче масштабувати, ніж перший шлях. На Sui ті, хто справді керують мережевими додатками з мільйонами транзакцій на день, зазвичай використовують перший шлях і структурують свої додатки значною мірою так, щоб мати найбільше транзакцій переважно на ексклюзивних об’єктах, а не угоду про акції. З іншого боку, протоколи, які виконують складну роботу (такі як DeFi), часто практикують другий тип транзакцій, оскільки вони повинні поєднувати пропозиції або ліквідність від багатьох різних людей для виконання операцій.

**Q6: Чи можуть розробники додатків на Sui створювати свої додатки так, щоб скористатися перевагами швидкого шляху? **

Так, точно. Я думаю, що це основна робота розробника програм розширення. Розробники розумних контрактів мають повний контроль над тим, чи є об’єкти, якими вони маніпулюють у межах контракту, ексклюзивними чи спільними об’єктами однієї сутності в будь-який момент часу. Один із способів масштабування вашої програми в Sui полягає в тому, щоб переконатися, що більшість операцій в основному виконуються над ексклюзивними об’єктами, тому що Sui може керувати будь-якою кількістю операцій із дуже низькою затримкою, і це приємно. Операції, необхідні для гри, слід виконувати в цій категорії, і їхня затримка є дуже низькою порівняно з операціями, які потрібно виконувати через спільний стан і спільні об’єкти. Після натискання транзакцію можна миттєво завершити в мережі.

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

**Q7: Яку роль у цьому відіграє програмований блок транзакцій? **

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

**Q8: Основна мережа була онлайн більше 100 днів. Чи підтвердила ефективність Sui вашу гіпотетичну теорію дослідження? Вас щось здивувало? **

Є кілька речей, які підтверджують дизайн Sui, але є також речі, які дають поживу для роздумів. Одна з них полягає в тому, що коли обсяг транзакцій особливо великий, навіть у особливий момент, щоденний обсяг транзакцій навіть перевищує 60 мільйонів, більшість із яких є швидкими. Sui Lutris дуже масштабований і має дуже низьку затримку. До того часу незрозуміло, чи буде хтось використовувати цей шлях, але коли потрібні великі обсяги транзакцій і низька затримка, він використовується, і він чудово працює! Це легко побачити, це метод. У ті часи Суї проводив більше транзакцій, ніж усі інші блокчейни разом узяті. Це цікаве підтвердження того, що дизайн Sui надійний.

Тим часом спільнота Sui визнала цей швидкий шлях трохи складним. Оскільки власники об’єктів мають певною мірою керувати порядком операцій над своїми об’єктами, іноді щось може піти не так. Іноді вони навіть можуть використовувати бібліотеку, яка їм не допомагає, а сама бібліотека виявляє помилки, тому іноді об’єкти блокуються. Зазвичай вони розблоковуються наприкінці дня, наприкінці епохи, але це не чудовий досвід. Люди, які розробляють смарт-контракти, можуть бути налякані цим, побоюючись, що можуть виникнути помилки, що заважає їм повністю скористатися перевагами низької затримки та можливостей масштабованості. Розробляється ціла низка технологій, які дозволяють тим, хто помилково заблокував об’єкти, швидко розблокувати їх за лічені секунди. Отже, якщо ви спробуєте використати швидкий шлях, станеться помилка, і ваш об’єкт заблоковано, ви можете негайно використати консенсусний шлях, щоб розблокувати його, не чекаючи, поки закінчиться епоха.

І, як не дивно, це не лише уникнення помилок, це дозволяє розробникам швидко виражати багато інших речей, є потенційні методи, де деякі об’єкти не належать лише одній стороні. Можливо, є об’єкт, яким ми з вами володіємо спільно, оскільки він є спільним, і зазвичай транзакції щодо цього об’єкта мають проходити консенсусним шляхом. Однак, якби Sui мав спосіб швидко розблокувати об’єкти, розробники могли б спробувати пришвидшити транзакції. У випадку, коли ми з вами виконуємо транзакцію з одним і тим же об’єктом точно в один і той самий час, система буде заблокована, не маючи змоги вирішити, яка транзакція відбудеться наступною, а потім Суї зможе розблокувати її та пройти консенсусним шляхом, зробити його спільним і вирішити його. Але цього не може статися, якщо люди свідомо не намагатимуться конкурувати. Після того, як у Sui з’явиться можливість розблокувати об’єкти, він зможе швидко переміщати об’єкти, що належать кільком людям. Це гра, яка намагається передати якомога більший обсяг транзакцій через швидкий шлях, який є одним із типів речей, які розробляються, щоб допомогти спільноті будівельників.

**Q9: Чи можете ви поділитися більш детальною інформацією про те, що зараз спричиняє блокування об’єктів? **

Причина, чому йому не потрібно проходити консенсус, щоб повідомити Sui послідовність операцій, які мають відбуватися, коли об’єкт належить вам, полягає в тому, що ніхто інший не може оперувати вашим об’єктом. Sui покладається на те, що ви повідомляєте системі, що дія A відбудеться першою, дія B — наступною, а дія C — останньою. Система ще має перевірити, чи бачать ABC усі в однаковому порядку. Система реалізована через розподілений протокол, який лише перевіряє, чи всі ми бачили ABC по черзі. Питання в тому, чи помиляєтеся ви чи ваше програмне забезпечення. Наприклад, якщо ваш телефон контролює ваші активи, а ваш комп’ютер контролює ваші активи, ваш телефон повідомляє, що A відбулося першим, а ваш комп’ютер каже, що B відбулося першим. Ви неправильно сортуєте дві різні речі. Це протиріччя. У цьому випадку Суї сказала б: «Ну, людина, якій я доручив розповісти мені послідовність, здається, дав мені дві суперечливі речі, тому я не знаю, що робити. Я не знаю, як це виправити». Тому що Sui Ця проблема зазвичай вирішується шляхом консенсусу. Але тут ви намагаєтеся скористатися швидким шляхом. Тому Суї підняла руку й сказала: «Добре, тут сталася помилка».

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

Тож тепер Суї потрібно розвиватися, щоб правильно діяти, коли щось заблоковано. Якщо суб’єкт, якому доручено надавати правильний наказ, дає неоднозначний наказ, Sui вирішить всю ситуацію шляхом консенсусу. Це станеться за лічені секунди, а не в кінці епохи.

**Q10: Велика частина ваших досліджень стосується конфіденційності. Що ви думаєте про те, як публічні блокчейни можуть найкраще збалансувати прозорість, відстежуваність і конфіденційність? **

У загальнодоступному ланцюжку питання, як збалансувати прозорість, відстежуваність і конфіденційність, дуже пов’язане з програмою, і моя точка зору на конфіденційність полягає в тому, що те, що має бути конфіденційним, значною мірою залежить від самої програми. Наприклад, для Sui розробникам додатків має сенс розробляти контракти, які захищають конфіденційність їхніх користувачів. Оскільки деякі люди просто хочуть розробляти ігри, можливо, проблеми конфіденційності не такі вже й серйозні. Деякі люди хочуть здійснювати фінансові транзакції в блокчейні, і конфіденційність може викликати більше занепокоєння, але в той же час існують інші нормативні питання. Таким чином, Суї вважає, що ми надамо вам хорошу платформу, і вам потрібно створити конфіденційність на цій платформі.

Щоб допомогти людям створити конфіденційність, Sui надає певну криптографічну підтримку, яка може бути корисною для них під час розробки смарт-контрактів. Одним із найважливіших із них є можливість перевіряти докази з нульовим знанням на Sui. Існує нативна функція, яка перевіряє одну з найбільш широко використовуваних і зрозумілих схем, схему Groth16, розроблену моїм колегою Йенсом Гротом. Це означає, що, по суті, розробники додатків можуть перевіряти певні події поза мережею, не розкриваючи, що це за події. Це фундаментальний будівельний блок для побудови цілого класу конфіденційних програм, які зберігають певний стан поза мережею, але в ланцюзі ви можете перевірити, чи все, що відбувається поза мережею, є правильним.

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

**Q11: Чи є на Sui більше вбудованої підтримки конфіденційності? **

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

**Q12: Як, на вашу думку, розвиватиметься Sui протягом наступних 6-12 місяців? **

Це залежить від того, які програми люди створюють на Sui, і в короткостроковій перспективі багато покращень стосуватимуться програм, які люди насправді створюють. З дуже довгострокової точки зору, відповідно до стандартів блокчейну, від 6 до 12 місяців можна вважати дуже довгим періодом. Ми вдосконалимо протокол Sui Lutris, щоб досягти меншої затримки, спростити протоколи та покращити масштабування Sui. Крім того, це зробить економіку більш ефективною, дозволяючи вузлам перевірки працювати на більш обмеженому апаратному забезпеченні та використовувати існуюче обладнання для фактичного виконання транзакцій замість того, щоб виконувати криптографію чи інші витрати на блокчейн. Це те, що ми очікуємо побачити.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити