Перевод статьи https://cexplorer.io/article/cardano-makes-tps-metric-obsolete
TPS (Транзакции в секунду) - это показатель количества транзакций, которые сеть может обработать за одну секунду. TPS может сказать нам, сколько людей используют или могут использовать сеть в любой конкретный момент времени. Показатель TPS предполагает, что одна транзакция передает значение между одним отправителем и одним получателем. Однако в этом есть одна загвоздка. Это предположение неверно для блокчейн индустрии. Cardano и многие другие сети могут отправлять несколько активов нескольким получателям за одну транзакцию. Такие транзакции обычно можно увидеть, например, в DEXs. Централизованные биржи могут отправлять единую транзакцию для всех операций вывода средств в данный момент времени. Давайте объясним, почему метрику TPS следует использовать очень осторожно и ее скорее следует заменить в случае блокчейн сетей.
TLDR
- Транзакции, состоящие из множества финансовых операций, дешевле и меньше по размеру.
- Показатель TPS не может предоставить данные о количестве получателей, которые получили средства посредством транзакции.
- Было бы лучше измерять что-то вроде количества адресов получателей в секунду.
- В будущем для блокчейн сетей будет более эффективно передавать большие транзакции с несколькими операциями, чем одиночные транзакции.
Почему TPS является неточным показателем?
TPS обычно используется для оценки производительности и масштабируемости компьютерных систем, особенно тех, которые обрабатывают большие объемы финансовых транзакций, таких как платежные системы, биржи и банки. TPS подходит для основных финансовых систем, поскольку транзакции обычно осуществляются между двумя участниками с банковским счетом.
Как мы уже говорили во введении, блокчейн сети позволяют отправлять средства нескольким получателям за одну транзакцию. Причина в более высокой эффективности. Пространство в блоке стоит дорого, и экономически выгодно объединять несколько финансовых операций в одну крупную транзакцию.
Давайте возьмем пример. Обычная простая транзакция Cardano может иметь размер, скажем, от 0,2 КБ до 0,5 кБ, а общая комиссия составляет 0,17 ADA. Это зависит от количества входов и выходов. В одной из наших статей мы писали о крупной транзакции, которая выглядела следующим образом. Одна транзакция Cardano для нескольких пользователей содержала средства для 220 пользователей. Ее размер составлял 14 КБ (занимал 17% блока), а плата составляла 0,8 ADA. Представьте, если бы отправитель отправил 220 обычных транзакций вместо одной крупной. Вполне возможно, что транзакции заняли бы более половины блока, и отправитель заплатил бы 40 ADA.
Как вы сами можете видеть, для отправителя экономически выгоднее создать одну большую транзакцию с несколькими получателями, чем создавать несколько простых транзакций. Это также выгодно с точки зрения масштабируемости сети Cardano, поскольку одна крупная транзакция экономит место для других транзакций в блоке. Теоретически, одна транзакция, занимающая весь блок, может отправить средства целых 1300 получателям. Однако было бы несправедливо, если бы один отправитель занимал весь блок.
Предположим, кто-то захотел измерить пропускную способность сети Cardano вслепую на основе TPS и увидел бы в среднем 20 транзакций в блоках. Cardano создает блоки с интервалом в 20 секунд. Наблюдатель мог бы заявить, что Cardano делает 1 TPS. Реально, почти в каждом блоке вы найдете транзакции, содержащие несколько финансовых операций. Показатель TPS терпит неудачу, потому что число людей, получивших средства, намного выше. Мы покажем это на примере ниже.
Для блокчейн индустрии должна появиться другая метрика
TPS не является подходящей метрикой для блокчейн индустрии и должна быть заменена чем-то другим. TPS подходит только для систем, в которых одна транзакция содержит один актив и передается от одного отправителя к одному получателю.
Cardano позволяет отправлять несколько активов в рамках одной транзакции. Если отправитель хочет отправить ADA, HOSKY и NFT получателю, достаточно одной транзакции. Обычной финансовой системе, вероятно, потребовалось бы несколько транзакций в разных системах, чтобы сделать что-то подобное.
Как мы уже описывали, Cardano позволяет вам создавать транзакции с несколькими получателями. Получатели могут получать несколько активов. Если цель состоит в том, чтобы измерить пропускную способность сети, т.е. количество обслуживаемых пользователей, это необходимо учитывать.
Если вы проанализируете блок Cardano, вы обнаружите, что очень часто количество переводов ценностей из кошельков на кошельки превышает количество транзакций. Другими словами, количество отправителей может быть значительно меньше, чем количество получателей. Количество получателей важнее, чем количество транзакций.
Было бы лучше измерить что-то вроде количества адресов получателей в секунду. Или попробуйте проанализировать адреса получателей, чтобы узнать, на сколько уникальных кошельков транзакция переводит средства. Это было бы гораздо точнее, поскольку можно предположить, что получатель актива не предоставил отправителю 2 адреса для одного и того же актива. В идеале можно было бы получить информацию об активах. Если получатель получил ADA, HOSKY и NFT, это можно было бы считать 3 финансовыми транзакциями.
На изображении ниже вы можете видеть, что блок содержал 32 транзакции. Показатель TPS равен 1,6. Обратите внимание на цифру “Переводы с иностранного счета”, содержащую значение 62. Это количество получателей. Таким образом, скорректированный TPS должен составлять 3.1.
Масштабируемость блокчейн сетей
Блокчейн сети никогда не смогут хорошо масштабироваться. Эксперты сходятся во мнении, что первые слои будут служить основным расчетным слоем. Большинство транзакций с криптоактивами будут проходить в других сетях, которые будут обрабатывать транзакции параллельно с основной сетью. С более широким принятием спрос на пространство в блоке значительно вырастет.
Команды блокчейн проектов однажды столкнутся с вопросом о том, как максимально эффективно использовать пространство блоков. Обычные транзакции между одним отправителем и одним получателем могут рассматриваться как пустая трата драгоценного пространства блока. Как только требование пользователей отправить одну транзакцию превышает возможности блокчейна, необходимо отложить обработку некоторых транзакций на более поздний срок или даже отказаться от некоторых из них.
Итак, как максимально эффективно использовать пространство в блоке?
Представьте себе 10-километровое шоссе, по которому могут ездить только такси и автобусы. Это будет аналогично размеру блока, а также одиночным и множественным транзакциям. Все должны поддерживать одинаковую скорость. Это аналогично времени создания блока. Для простоты давайте предположим, что автобусы всегда полны пассажиров. Как доставить наибольшее количество людей из одного конца шоссе в другой?
В нашем примере такси может перевозить только одного человека. Автобус вмещает 50 человек. Автобус в 4 раза больше, чем такси. Шоссе может одновременно пропускать либо 1000 такси, либо 250 автобусов. Возможна комбинация такси и автобусов.
Если по шоссе ездят только такси, то одновременно могут путешествовать только 1000 человек. Однако, если бы по нему ходили только автобусы, там могло бы находиться до 12 500 человек. Если бы на шоссе было 500 такси и 125 автобусов, по нему путешествовали бы 6750 человек.
Как вы можете видеть, с точки зрения эффективности лучше иметь автобусы на шоссе и минимум такси. То же самое можно сказать и о транзакциях на блокчейне. Более эффективно использовать несколько транзакций (автобусы), чем одиночные транзакции (такси).
Давайте вернемся к метрике TPS. Если бы наблюдателю было поручено измерить количество транспортных средств на шоссе, он мог бы подсчитать среднее число, равное 500. Если бы он не проводил различия между такси и автобусами, он мог бы ошибочно полагать, что в среднем по шоссе перевозится всего 500 человек. Это могло бы быть правдой только в том случае, если бы только такси перевозили людей по автостраде. Если бы в среднем 150 автобусов и 350 такси перевозили людей по шоссе, то по шоссе путешествовало бы в среднем 7 850 человек.
Вывод
Существуют блокчейн транзакции, которые используются для иных целей, чем передача ценностей между пользователями. Некоторые сети используют большое количество таких транзакций для какой-то синхронизации. Если аналитические компании хотят надлежащим образом измерить пропускную способность сети и ее использование, им необходимо более глубоко изучить содержание транзакций. TPS - это вводящий в заблуждение показатель для блокчейн индустрии и для Cardano в частности.
// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все только начинается!