Пост
Поделитесь своими знаниями.

Как работают транзакции в Sui
Одна из интересных вещей, которая привлекла меня в цепочке SUI, — это способ обработки транзакций, поэтому в этой статье мы познакомимся с тем, как транзакции работают в блокчейне SUI. Каждая транзакция в Sui четко указывает, какие объекты она будет считывать или изменять. Поскольку каждый объект независим, валидаторы Sui могут легко проверять список объектов для каждой входящей транзакции. Это помогает системе решить, какие транзакции можно выполнять одновременно:
- Независимые транзакции (без перекрывающихся объектов): если две транзакции касаются совершенно разных объектов, они не конфликтуют друг с другом. Компания Sui знает, что они не будут мешать друг другу, поэтому она может выполнять их одновременно и параллельно. Например, одна транзакция может обновить объект монеты Алисы, а другая — передать объект NFT Боба. Поскольку это отдельные объекты, нет необходимости ждать появления одного из них, прежде чем приступить к другой.
- Конфликтующие транзакции (общие объекты): если две транзакции пытаются использовать один и тот же объект, они конфликтуют и не могут быть выполнены в один и тот же момент. Sui решит эту проблему, заказывая и выполняя эти транзакции одну за другой, чтобы избежать путаницы или двойных расходов. В этом случае в действие вступает механизм консенсуса в сети, позволяющий определить справедливый порядок транзакций, затрагивающих одни и те же данные. Упорядочиваются только конфликтующие транзакции; все остальные независимые транзакции могут осуществляться параллельно без ожидания.
По сути, модель транзак��ий Суй отделяет «простые» транзакции от «зависимых». Простые транзакции, затрагивающие объекты только одного владельца, часто могут быть обработаны очень быстро без интенсивной координации всей сети. Более сложные транзакции (например, взаимодействующие с общим объектом смарт-контракта, который могут использовать многие пользователи) проходят традиционную процедуру заказа (консенсус), чтобы избежать конфликтов друг с другом. Таким образом, компания Sui использует глобальный консенсус только тогда, когда это действительно необходимо, и позволяет проводить большинство транзакций одновременно, даже если данные, к которым они относятся, не совпадают.
Параллельное исполнение в Sui и традиционные блокчейны
В традиционных блокчейнах, таких как Bitcoin или Ethereum, транзакции обрабатываются последовательно (одна за другой). Даже если две транзакции не имеют ничего общего друг с другом, последовательная система все равно будет отставать друг от друга, что приведет к ненужному ожиданию. Это похоже на единую кассу в магазине: даже покупатели, покупающие разные товары, должны стоять в одной очереди. Это приводит к заторам и замедлению работы в периоды высокой загруженности. Sui использует другой подход, разрешая параллельное выполнение транзакций. Это аналогично открытию множества касс: можно обрабатывать несколько транзакций одновременно, если они независимы, что значительно повышает пропускную способность и эффективность. Благодаря объектно-ориентированной конструкции 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.