Допис
Діліться своїми знаннями.

Як працюють транзакції в Sui
Одна з цікавих речей, яка привернула мене до ланцюжка SUI, - це манера роботи транзакцій, тому в цій статті ми збираємося отримати деякі знання про те, як працюють транзакції в блокчейні SUI. Кожна транзакція в Sui чітко перераховує, які об'єкти вона буде читати або змінювати. Оскільки кожен об'єкт є незалежним, валідатори Sui можуть легко перевіряти список об'єктів для кожної вхідної транзакції. Це допомагає системі вирішити, які транзакції можуть запускатися одночасно:
- Незалежні транзакції (без об'єктів, що перекриваються): Якщо дві транзакції стосуються абсолютно різних об'єктів, вони не конфліктують один з одним. Суй знає, що це не завадить, тому він може виконувати їх одночасно паралельно. Наприклад, одна транзакція може оновити об'єкт монети Аліси, а інша може перенести об'єкт NFT Боба — оскільки це окремі об'єкти, не потрібно чекати одного, перш ніж робити інший.
- Конфліктні транзакції (спільні об'єкти): Якщо дві транзакції намагаються використовувати один і той же об'єкт, вони конфліктують і не можуть бути виконані в один і той же момент. Sui впорається з цим, замовляючи та виконуючи ці конкретні операції одна за одною, щоб уникнути плутанини або подвійних витрат. У цьому випадку механізм консенсусу мережі вступає в дію, щоб вирішити справедливий порядок транзакцій, які стосуються тих самих даних. Замовляються лише операції, які конфліктують; всі інші незалежні операції можуть протікати паралельно, не чекаючи.
По суті, модель транзакцій Суй відокремлює «прості» транзакції від «залежних». Прості транзакції, які впливають лише на об'єкти одного власника, часто можуть бути оброблені дуже швидко, не залучаючи всю мережу до важкої координації. Більш складні транзакції (наприклад, транзакції, які взаємодіють із спільним об'єктом смарт-контракту, який можуть використовувати багато користувачів) проходять традиційний процес замовлення (консенсус), щоб гарантувати, що вони не конфліктують між собою. Таким чином, Sui використовує глобальний консенсус лише тоді, коли це дійсно потрібно, і він може дозволити більшості транзакцій проходити одночасно, коли в даних, до яких вони торкаються, немає перекриттів.
Паралельне виконання в Sui проти традиційних блокчейнів
У традиційних блокчейнів, таких як Bitcoin або Ethereum, транзакції обробляються послідовно (одна за одною). Навіть якщо дві транзакції не мають нічого спільного між собою, послідовна система все одно поставить одну в чергу за іншою, створюючи непотрібне очікування. Це схоже на наявність єдиного каси в магазині - навіть клієнти, які купують різні товари, повинні стояти в одній черзі. Це викликає заторів і уповільнює роботу в напружені періоди. Sui використовує інший підхід, дозволяючи паралельне виконання транзакцій. Це аналогічно тому, що багато касових лічильників відкритих: кілька транзакцій можна обробляти одночасно, якщо вони незалежні, що значно покращує пропускну здатність та ефективність. Через об'єктно-орієнтовану конструкцію Суї операції над одним об'єктом не впливають і не затримують операції на іншому об'єкті . Валідатори в мережі Sui можуть використовувати кілька ядер і потоків процесора для виконання декількох транзакцій одночасно, подібно до паралельної обробки декількох завдань на комп'ютері. Результатом є значне підвищення масштабованості - Sui може обробляти велику кількість транзакцій в секунду, не потіваючи. Тести продемонстрували, що підхід Суї може підтримувати величезну пропускну здатність (близько сотень тисяч транзакцій в секунду) завдяки цьому паралелі��му. Не менш важливо, що паралельне виконання зменшує затримку для окремих транзакцій, тобто користувачі бачать, що свої транзакції підтверджуються швидше, оскільки вони не застрягли в очікуванні непов'язаних транзакцій. Загалом, модель паралельного виконання Sui усуває вузькі місця, які вражають однопотокові (послідовні) блокчейни, дозволяючи мережі масштабувати та обробляти робочі навантаження, які б переповнили традиційні конструкції.
Кінцевість та швидкість підтвердження
Остаточність відноситься до того, як швидко транзакція підтверджується незворотно (тобто після підтвердження вона не буде повернена). Sui призначений для швидкої остаточності, часто досягаючи підтвердження за частку секунди. На практиці типову транзакцію Sui можна підтвердити приблизно за 300-500 мілісекунд (значно менше однієї секунди) після її обробки - по суті майже миттєво для користувача. Це набагато швидше, ніж багато старих блокчейнів.
Для порівняння, мережі Ethereum зазвичай потрібно від декількох секунд до хвилин, щоб дійсно завершити транзакцію (блоки Ethereum знаходяться приблизно в ~ 12 секунд, і для високої впевненості може знадобитися кілька блоків або більше), тоді як біткойн може потребувати десятків хвилин (через 10-хвилинний час блокування та кілька підтверджень), щоб транзакція вважалася остаточною.
Сучасний консенсус і паралельне виконання Sui надають йому велику перевагу в швидкості: транзакції на Sui підтверджуються майже відразу після того, як ви їх відправляєте. Не потрібно довго чекати, поки новий блок включить транзакцію або кілька підтверджень. Коротше кажучи, Sui з��безпечує кінцевість на півсекунди, що означає, що користувачі можуть надіслати транзакцію та побачити її остаточно врегульовану негайно.
Це швидке підтвердження особливо корисно для таких програм, як ігри, фінанси в режимі реального часу або роздрібні платежі, де очікування навіть десятків секунд може бути занадто повільним. Sui швидко надає користувачеві впевненість, завдяки чому блокчейн відчуває себе набагато більш чуйним порівняно з традиційними ланцюгами.
- Sui
- Architecture
- Transaction Processing
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.