- 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.