• Project Thruput увеличил скорость выполнения платежей с 1,18 млн до 7,02 млн в секунду при переходе от одной машины к восьми.
  • Технология позволяет параллельно обрабатывать транзакции, даже если они изменяют одно и то же состояние блокчейна.
  • Проект доступен в тестовой сети FutureNet, а его разработчики приглашают сообщество проверить технологию.

Команда проекта Stellar представила Project Thruput — экспериментальную модель выполнения транзакций, которая должна устранить ограничения производительности блокчейнов при одновременном доступе к одним и тем же данным. По результатам первых тестов скорость выполнения платежей на одном валидаторе выросла с 1,18 млн до 7,02 млн в секунду после увеличения количества машин с одной до восьми.

Разработчики утверждают, что новая модель позволяет масштабировать вычисления за счет дополнительного оборудования без разделения блокчейна на шарды. Project Thruput уже доступен в сети FutureNet вместе с открытым исходным кодом, технической документацией и воспроизводимыми бенчмарками.

Как работает Project Thruput?

В Stellar пояснили, что во многих блокчейнах транзакции выполняются в едином порядке или могут обрабатываться параллельно только при отсутствии конфликтов при доступе к данным. Если несколько операций пытаются изменить один баланс или пул ликвидности, им часто приходится ждать друг друга.

Project Thruput использует другой подход: транзакции в рамках одного блока начинаются с одинакового снимка реестра и могут выполняться параллельно, даже если изменяют одно и то же состояние. Совместимые изменения объединяются при фиксации блока.

Например, вместо записи нового значения баланса транзакция может содержать операцию вычитания определенной суммы. Такие изменения можно объединять в разном порядке при условии соблюдения установленных ограничений. При этом система не позволяет двум платежам одновременно потратить одни и те же средства.

Разработчики также могут задавать правила для группы транзакций, в частности ограничивать общую сумму снятия средств за блок. Для этого используются типы хранилищ, которые определяют, какие изменения можно комбинировать и каких лимитов нужно придерживаться.

Во время тестов с высокой конкуренцией за данные, когда переводы происходили только между 100 аккаунтами, производительность росла с увеличением количества ядер и машин. В лучшем из приведенных результатов показатель повысился с 1,18 млн платежей в секунду на одной машине до 7,02 млн на восьми — почти в шесть раз.

Бенчмарки охватывали переводы RV32 ERC-20, выполнение транзакций, проверку подписей и весь процесс от открытия до фиксации блока в основном движке Project Thruput. В то же время они не измеряют сквозную пропускную способность сети. 

Транзакции без комиссий за газ

В Project Thruput не предусмотрена плата за отдельные транзакции. Это должно сделать возможными бесплатные микроплатежи и сложные вычисления, в частности расчет портфельного риска.

В то же время модель не предусматривает неограниченных вычислений. Газ по-прежнему измеряет и ограничивает объем выполнения каждой транзакции. Если спрос превышает доступную мощность, доля аккаунта в очереди планирования зависит от его разблокированного баланса нативных токенов. Эти токены не расходуются во время планирования, а транзакции не конкурируют за приоритет за счет повышенных комиссий.

Похожий механизм применяется к хранению данных: часть баланса блокируется на время их хранения и высвобождается после удаления.

Напомним, ранее мы сообщали, что Бермуды переведут госплатежи в ончейн на базе Stellar.

Сообщение Stellar представила Project Thruput для параллельного выполнения транзакций без комиссий появились сначала на INCRYPTED.