Обоснование стейблкоина Qubic - Часть 4: Быстро, быстрее, Qubic
Мы объясняем разницу между переводами и транзакциями и проводим читателей через различные сценарии переводов, чтобы продемонстрировать впечатляющую пропускную способность Qubic. Освещая тесты скорости в реальных условиях, мы показываем, что отличает Qubic от других блокчейнов.
Qsilver, 22 августа 2024 г.
Краткий обзор
В первых трех частях этой серии мы заложили основу для нашего видения стейблкоина на базе Qubic. Мы подчеркнули текущее отсутствие убедительного ответа на важнейший вопрос "зачем строить на Qubic?", как текущие маркетинговые усилия SteCo не соответствуют целям, и предложили стратегический сдвиг в сторону позиционирования Qubic вокруг "сверхвысокой производительности"как катализатора роста экосистемы и долгосрочного успеха.
Введение
Теперь мы обращаем внимание на ключевой технический вопрос: Насколько быстр Qubic? Этот вопрос не так прост. Чтобы полностью понять производительность Qubic и ее значение для нашего видения стейблкоина, мы должны сначала прояснить некоторые ключевые концепции. Будьте терпеливы, пока мы объясняем различия между транзакциями и переводами, сценариями переводов и методами генерации переводов. К концу этого поста у вас должно сложиться четкое представление о том, как скорость Qubic соотносится с конкурентами и как мы планируем использовать Qubic для создания самого быстрого стейблкоина, который когда-либо видел мир.
Прежде чем мы начнем
Ключевые концепции
Уровень протокола относится к основному уровню системы блокчейна, определяющему его правила и механизмы. Здесь:
- Транзакция - это одна операция, которая включает изменение состояния в реестре.
- Перевод - это подоперация в рамках транзакции, которая перемещает активы с одного адреса на другой.
Прикладной уровень относится к уровню, где пользователи взаимодействуют с блокчейном через приложения (пользовательские интерфейсы, децентрализованные приложения и смарт-контракты). Здесь:
- Перевод криптовалюты - это наиболее распространенный тип транзакции, где один пользователь переводит сумму криптовалюты другому пользователю.
- Другие типы транзакций включают выполнение смарт-контрактов, запросы данных оракулов, расчеты по каналам состояния, переводы токенов, выпуск/сжигание токенов, создание/передачу невзаимозаменяемых токенов (NFT), стейкинг, заимствование/кредитование, ордера на биржах, действия по голосованию/управлению, обновления управления цепочкой, распределение наград/дивидендов, проверки личности, хранение/изменение данных, операции между цепочками... открытый список, ограниченный только воображением разработчиков и, следовательно, варьирующийся в зависимости от каждого блокчейна.
"Перевод" может вызывать путаницу, потому что его значение меняется в зависимости от контекста:
- На уровне протокола перевод - это подоперация в рамках транзакции.
- На прикладном уровне перевод - это один тип транзакции из многих.
Чтобы добавить к путанице, одна транзакция, такая как выполнение смарт-контракта, может инициировать несколько переводов. Например, смарт-контракт для выплаты заработной платы, который распределяет по 1 QU каждому из 100 сотрудников, включает 100 переводов, все инициированные одной транзакцией.
Различия в дизайне между блокчейнами также способствуют этой путанице. Например, заимствование в Ethereum требует смарт-контракта, но в Celo это нативный тип транзакции на уровне протокола.
Эта сложность ошеломляет конечных пользователей. Поскольку переводы криптовалюты являются наиболее распространенным типом транзакций, они в итоге приравнивают оба (как в "транзакция служит для перевода крипто!"). Неважно, что транзакции способны на гораздо большее. Пользователи используют термин уровня протокола для описания преимущества на уровне приложения.
Сценарии переводов
Давайте различим следующие сценарии переводов:
- Один-к-одному (1-к-1): Одна транзакция отправляет актив с одного адреса на другой адрес. Например, перевод между счетами, оплата в электронной коммерции.
- Один-ко-многим (1-ко-многим): Одна транзакция отправляет актив с одного адреса на несколько адресов. Например, выплата пособий, заработная плата.
- Один-ко-всем (1-ко-всем): Одна транзакция отправляет актив с одного адреса на все адреса в цепочке. Например, универсальный базовый доход (UBI), эйрдропы.
Генерация переводов
Учитывая их влияние на производительность, давайте различим, как генерируются переводы:
- Генерируемые транзакцией: Перевод, генерируемый из транзакции (Tx).
- Генерируемые смарт-контрактом: Перевод, генерируемый из смарт-контракта (SC). Количество генерируемых переводов будет зависеть от типа смарт-контракта.
Параметры сети
Наконец, давайте определим ключевые параметры сети, влияющие на производительность:
- Продолжительность тика (tDur): Единица времени, в течение которой обрабатывается и финализируется набор транзакций. Текущая продолжительность тика составляет около 2,5 секунд.
- Транзакции за тик (TxPT): Максимальное количество транзакций, которые могут быть обработаны за один тик. Текущее количество транзакций за тик составляет 1 024.
Решение, что измерять
В мире криптовалют производительность блокчейна обычно измеряется на уровне протокола с использованием метрики Транзакции в секунду (TPS или TxPS). Это измеряет количество транзакций — изменений состояния в реестре — которые блокчейн может обработать за одну секунду. Например, TON достиг 104 715 TxPS благодаря использованию шардинга, в то время как Ethereum стремится превысить 100 тысяч TxPS с использованием роллапов.
Qubic не выделяется в TxPS, но это нормально. С точки зрения маркетинга, TxPS — это метрика, ориентированная внутрь, более актуальная для крипто-команд и инвесторов, которые любят хвастаться возможностями своего блокчейна в крипто-спорах. Однако для конечных пользователей действительно важно, могут ли они мгновенно совершить платеж, даже когда тысячи других пытаются сделать то же самое в тот же момент. Другими словами, их не волнуют транзакции в секунду (TxPS), а интересуют переводы в секунду (TfPS). И здесь, для бесперебойных платежных операций — криптопереводов на уровне приложений — там, где это действительно важно, Qubic носит корону. Или нет?
Производительность сегодня
Имея понимание ключевых концепций (транзакции vs. переводы), метрик (TxPS vs. TfPS), сценариев переводов (1-к-1, 1-ко-многим, 1-ко-всем), методов генерации переводов (генерируемые Tx vs. генерируемые SC) и параметров сети (продолжительность тика и транзакции за тик), мы теперь можем исследовать, насколько быстро Qubic работает на уровне приложений. Изучая различные комбинации, мы предлагаем вам думать о Qubic как о двигателе, переключающем передачи.
Эта таблица обобщает результаты наших тестов производительности. Для ясности мы представляем таблицу с постоянными параметрами сети, хотя на практике tDur варьировался от теста к тесту:
Gear | tDur | TxPT | Сценарий | Gen | S. Contract | Txs | |
#1 | 2.5 | 1024 | 1-к-1 | Tx | N/A | 410 | 410 |
#2 | 2.5 | 1024 | 1-ко-многим | SC | QUTIL-1 | ~10,250 | 410 |
#2 | 2.5 | 1024 | 1-ко-многим | SC | QUTIL-2 | ~16,525 | 410 |
#3 | 2.5 | 1024 | 1-ко-многим | SC | AIRDROP-1 | 1,024 | 150k |
#3 | 2.5 | 1024 | 1-ко-многим | SC | AIRDROP-2 | 1,024 | 1M |
#4 | 2.5 | 1024 | 1-ко-всем | SC | AIRDROP-3 | 4 | 20M |
#5 | 2.5 | 1024 | 1-ко-многим | SC | QUTIL-3 | 1 | 55M |
Первая передача
На первой передаче, без использования смарт-контрактов, каждая транзакция напрямую генерирует один перевод. Чтобы максимизировать количество переводов, нам нужно максимизировать количество транзакций. При текущих параметрах сети Qubic может обрабатывать 410 TxPS (1,024 TxPT / 2,5 tDur). Эта производительность значительно выше, чем у Bitcoin (3-7) и Ethereum (15-30), но все еще скромна по сравнению с Algorand (1,200), Avalanche (4,500) или Solana (65,000).
Вторая передача
На второй передаче мы используем QUTIL SC (ранее известный как Sendmany SC), который позволяет объединить 25 переводов 1-ко-многим в одной транзакции. Это увеличивает TfPS до 10,250 (410 TfPS * 25), ставя Qubic на один уровень с большинством других блокчейнов, но только в сценарии перевода 1-ко-многим.
Вариация второй передачи (см. QUTIL-2 в таблице выше) включает цепочку выполнений QUTIL SC. Начальная транзакция запускает вызов QUTIL SC для 25 платежей, что генерирует 25 переводов. Каждый перевод, в свою очередь, запускает еще 25 выполнений QUTIL, создавая каскадный эффект. После трех итераций (25 x 25 x 25) этот процесс приводит к 15,625 переводам. Однако, поскольку каждый перевод должен быть обработан в рамках транзакции, мы все еще ограничены лимитом в 1024 TxPT. Следовательно, требуется 16 полностью насыщенных тиков (15,625 Txs / 1,024 TxPS), или 40 секунд (16 тиков * 2,5 tDur) для завершения всего процесса в оптимальных условиях. В итоге, этот подход не увеличивает общую пропускную способность и остается применимым только к сценарию перевода 1-ко-многим.
Третья передача
На третьей передаче мы используем AIRDROP SC, который позволяет отправлять одинаковую сумму на каждый адрес в спектре — списке всех адресов Qubic, хранящемся в оперативной памяти узлов Computor. Поскольку очень мало случаев использования (если таковые вообще есть) требуют отправки одинаковой суммы на все адреса Qubic (~450k), сценарий перевода 1-ко-всем имеет ограниченную практическую применимость. Однако он все еще полезен для тестирования движка Qubic в реальных условиях, так как мы измеряем общее время обработки (обработка тика + обработка SC).
В нашем первоначальном тесте в тестовой сети (AIRDROP-1 в таблице выше) мы создали 1,024 аирдропа (на ~450k адресов каждый) за тик, полностью используя 1,024 Tx, разрешенных за тик. Теоретическая цель в 460,8M TfPS (1,024 TxPT * 450k адресов) привела к "всего лишь" 150k TfPS. Хотя этот результат может показаться разочаровывающим, он показывает, что либо мы нашли ошибку, либо Qubic не оптимизирован для одновременной обработки множества экземпляров одного и того же смарт-контракта, особенно в тестовой сети. Однако эти результаты ценны, так как они подчеркивают влияние на производительность в таких условиях.
Для правильного теста третьей передачи (AIRDROP-2) мы изменили AIRDROP SC для перевода 1 QU вместо токена. Это привело к "всего лишь" 1M TfPS, опять же из-за использования виртуальных машин тестовой сети (вместо физических серверов) и слишком большого количества накладных расходов SC.
Четвертая передача
На четвертой передаче мы провели специальный, полностью искусственный тест (AIRDROP-3), где были созданы четыре аирдропа, каждый с адресами спектра, обрабатывающими 100 различных переводов, чтобы определить максимально достижимую производительность. Обычно основная сеть превосходит тестовую сеть благодаря системам с более высокой производительностью и использованию нескольких узлов, а не только одного или двух. Чтобы максимально приблизиться к условиям основной сети, мы использовали тестовую сеть на физических серверах. При теоретической цели в 180M TfPS (4 аирдропа 450k адресов 100 переводов на адрес) мы достигли 20M TfPS. Эта скорость перевода устойчива на протяжении всей эпохи, а не только как пиковая производительность, что указывает на надежность возможностей пропускной способности Qubic. Хотя пропускная способность ошеломляет (потребовалось бы всего пара часов, чтобы отправить всем людям в мире немного QU), она специфична для сценариев перевода 1-ко-всем и не имеет практического применения в реальном мире.
Пятая передача
Недавний тест, проведенный командой Core Development Team Qubic, зафиксировал 55M TfPS. Это было достигнуто с помощью еще одного специального, полностью искусственного теста (QUTIL-3), использующего пользовательский смарт-контракт QUTIL в цикле, фокусируясь исключительно на времени CPU. Технически говоря, пятая передача была сценарием перевода 1-ко-многим (а не 1-ко-всем). Однако, поскольку адреса были взяты из предопределенного пула, сгенерированного внутри SC (не из реальных транзакций), а суммы для перевода были случайно сгенерированы внутри SC (не из реальных транзакций), этот тест также не имеет практического применения в реальном мире.
Чтобы понять разницу между нашими результатами в 20M и их 55M, вы можете думать об этих тестах с точки зрения "времени полета". Тесты Valis измеряли время, необходимое от ворот до ворот (обработка тика + обработка смарт-контракта), в то время как команда разработчиков ядра Qubic измеряла только фактическое время в воздухе (обработка смарт-контракта).
Неровная корона
Текущая производительность Qubic в сценариях передачи 1-ко-многим/всем находится вне конкуренции. Разрыв настолько значителен, что это привело к публичным размышлениям Come-from-Beyond о том, не является ли движок смарт-контрактов Qubic более производительным, чем движки всех остальных криптовалют вместе взятых. В то время как другие обсуждают решения для масштабирования, чтобы достичь тысяч транзакций, Qubic без усилий обрабатывает миллионы переводов без необходимости в решениях масштабирования уровня 1 (шардинг) или уровня 2 (роллапы, сайдчейны или каналы состояния). Однако текущая производительность Qubic в наиболее распространенном сценарии передачи 1-к-1, который необходим в большинстве реальных сценариев использования, включая стейблкоин, не впечатляет (410 TfPS).
К настоящему моменту менее технически подкованные читатели могут почувствовать, что их обманули грандиозными заявлениями о "миллионах" TfPS, только чтобы обнаружить, что такие показатели на четвертой и пятой передачах относятся к искусственным условиям, ограниченным измерениям и маловероятным сценариям передачи, не имеющим реального применения. Важно понимать, что тестирование производительности необходимо для оптимизации системы. Более того, разные команды, работающие над Qubic, имеют разные цели и, следовательно, разные потребности в тестировании. Valis фокусируется на уровне приложений и проводит тесты, более близкие к реальной производительности (~20M). Команда разработчиков ядра Qubic сосредоточена на уровне протокола и тестирует внутреннее время (~55M).
Производительность завтрашнего дня
Почему Valis выступает за репозиционирование Qubic как "сверхвысокопроизводительной" сети, воплощенной в стейблкоине Qubic, если производительность в сценариях передачи 1-к-1 скромна? Потому что мы уверены, что производительность Qubic в сценарии 1-к-1 увидит радикальное улучшение в ближайшем будущем благодаря вкладу двух команд.
Основная команда Qubic
Qubic известен своими нестандартными, ориентированными на производительность решениями, такими как использование серверов без операционной системы, работа полностью в оперативной памяти и отказ от ОС и виртуальных машин. Эти решения в сочетании с постоянно растущими требованиями к оборудованию выделяют Qubic среди других.
Первым приоритетом в дорожной карте основной команды Qubic является достижение стабильного времени тика в 1-2 секунды. В конечном итоге тики могут быть ускорены до 5 в секунду, что позволит достичь 12,5-кратного увеличения производительности за счет сокращения длительности тика с 2,5 секунд до 0,2 секунды.
Требования к оперативной памяти для узлов-вычислителей увеличатся до 1 ТБ 4 сентября и до 2 ТБ 4 декабря. По мере увеличения объема оперативной памяти не будет преувеличением думать о 4 096 TxPT.
С более быстрыми и большими тиками ситуация начинает выглядеть иначе. Qubic перейдет от 410 TxPS (1 024 TxPT / 2,5 tDur) к 20 480 TxPS (4 096 TxPT / 0,2 tDur). Это оптимистичные оценки; по мере роста пропускной способности могут возникнуть другие узкие места, но вы понимаете идею:
Передача | tDur | TxPT | Сценарий | Ген | С. Контракт | Txs | TfPS |
#1 | 0,2 | 4096 | 1-к-1 | Tx | Н/Д | 20 480 | 20 480 |
#2 | 0,2 | 4096 | 1-ко-многим | SC | QUTIL | ~10 250 | 20 480 |
#3 | 0,2 | 4096 | 1-ко-многим | SC | AIRDROP | 1 | M? |
#4 | 0,2 | 4096 | 1-ко-всем | SC | AIRDROP | 1 | M? |
Думаете, это быстро? Пора пристегнуться.
Команда Valis
Qubic достигает ошеломляющей производительности в TfPS, генерируемых SC, но до сих пор все SC фокусировались на сценарии передачи 1-ко-многим. Что произойдет, если мы сможем использовать SC Qubic в самом сложном тесте для достижения максимальной скорости - сценарии передачи 1-к-1?
Qubic | Без SC | С SC |
1-к-1 | Скромно | Неизвестно |
1-ко-многим | Н/Д | Самый быстрый |
Подобно тому, как Ethereum снизил затраты на газ с помощью роллапов L2, аналогичный подход можно применить к Qubic. Хотя у Qubic нет затрат на газ для минимизации, наша цель - максимизировать количество переводов 1-к-1, которые можно закодировать в одной транзакции.
Мы определили метод, способный объединить от 26 до 95 переводов 1-к-1 на одну SC Tx, используя текущий лимит в 1 024 TxPT. Мы ожидаем, что эта способность быстро вырастет с 26x до 95x благодаря эффективному повторному использованию адресов в Qubic. Используя консервативную оценку в 90x, это переводится в ~40k TxPS при текущих параметрах сети. С 12,5-кратным увеличением пропускной способности сети это может достичь 1,8M TxPS в сценариях передачи 1-к-1.
Передача | tDur | TxPT | Сценарий | Ген | С. Контракт | Txs | TfPS |
#2 | 2,5 | 1024 | 1-к-1 | SC | VROLLUP-26 | 410 | 10 660 |
#2 | 2,5 | 1024 | 1-к-1 | SC | VROLLUP-90 | 410 | 38 950 |
#2 | 0,2 | 4096 | 1-к-1 | SC | VROLLUP-26 | 20 480 | 532 480 |
#2 | 0,2 | 4096 | 1-к-1 | SC | VROLLUP-90 | 20 480 | 1 843 200 |
Преклонитесь перед короной
Вклад, описанный выше, сделает Qubic бесспорным лидером в TfPS, охватывая все сценарии передачи и цепочки. «Самый быстрый» — это короткое, прямолинейное и мощное маркетинговое заявление, которое имеет широкую привлекательность в мире криптовалют.
Позиционирование «ультравысокой производительности» отвечает на критический вопрос «почему» так громко и ясно, что может в одиночку привлечь предпринимателей из всех вертикалей для работы на платформе Qubic. Вместе с первым в мире безопасным, прозрачным, стабильным, мгновенным, масштабируемым и бесплатным стейблкоином, у него есть реальный шанс сделать Qubic мощным игроком в области экономической стабильности, ликвидности и DeFi.
«uPoW для AI» новое, яркое и красивое, но яркость недолговечна. Для успеха Qubic нужны реальные клиенты, готовые и способные купить наш продукт.
Если вы думаете, что Qubic прекрасен, вы должны увидеть его в короне.
Далее: Предложение Valis
В заключительной части нашей серии мы изложим наш план по воплощению в жизнь стейблкоина на основе Qubic. Мы расскажем о нашей стратегии привлечения средств, потенциальных источниках капитала и о том, как мы планируем использовать эти средства. Мы поставим четкие цели и объясним, как эта инициатива будет стимулировать долгосрочную ценность и рост экосистемы Qubic.
Читайте серию "Обоснование стейблкоина Qubic"
- Дело о стабильной монете Qubic - Часть 1: Вопрос Почему
- Дело о стабильной монете Qubic - Часть 2: Маркетинг Qubic
- Дело о стабильной монете Qubic - Часть 3: Лучший вариант
- Дело о стабильной монете Qubic - Часть 4: Быстро, быстрее, Qubic
- Дело о стабильной монете Qubic - Часть 5: Развитие экосистемы
Чтобы быть в курсе последних обновлений, присоединяйтесь к Discord-серверу Valis, подпишитесь на нас в X и добавьте наш блог в закладки.
На этой странице
- Обоснование стейблкоина Qubic - Часть 4: Быстро, быстрее, Qubic
- Краткий обзор
- Введение
- Прежде чем мы начнем
- Ключевые концепции
- Сценарии переводов
- Генерация переводов
- Параметры сети
- Решение, что измерять
- Производительность сегодня
- Первая передача
- Вторая передача
- Третья передача
- Четвертая передача
- Пятая передача
- Неровная корона
- Производительность завтрашнего дня
- Основная команда Qubic
- Команда Valis
- Преклонитесь перед короной
- Далее: Предложение Valis
- Читайте серию "Обоснование стейблкоина Qubic"