Какова максимальная пропускная способность транзакций в сети Биткойн?

Я видел разные упомянутые значения, но 3,3--7 транзакций в секунду, кажется, появляются часто. В Разделе 2 документа « О масштабировании децентрализованных блокчейнов» (позиционный документ) говорится следующее:

Есть два интересных сценария: первый сценарий — когда сеть Биткойн работает с максимальной пропускной способностью, а именно 3,3–7 транзакций в секунду . Эта максимальная пропускная способность в основном ограничена максимальным размером блока Биткойн в 1 МБ и переменным размером транзакции. Нижняя граница максимальной пропускной способности выводится из текущего среднего размера транзакции, около 500 байт, а верхняя граница основана на часто цитируемой оценке из [1], которая соответствует необычно малым (250 байт) транзакциям.

Максимальный размер блока составляет 1 000 000 согласно исходному коду . Мои расчеты дают мне следующие значения для средних размеров транзакций: 500 байт для нижней границы и 250 байт для верхней границы:

lower bound: 1,000,000 / 500 / 600 = 3.3333(3)
upper bound: 1,000,000 / 250 / 600 = 6.6666(6)

lower bound’: 1024*1024 / 500 / 600 = 3.4952533(3)
upper bound': 1024*1024 / 250 / 600 = 6.9905066(6)

Согласно моим расчетам, правильное округление максимальной пропускной способности сети Биткойн составляет 3,3–6,7 для приведенных выше средних значений транзакций. Мне интересно, не ошибся ли я. Авторы могли бы округлить только верхнюю границу, но это не имеет особого смысла.

Этот вопрос можно было бы задать авторам статьи, поскольку, по-видимому, они не показали свою математику. Кому-то еще трудно сказать, как они пришли к цифрам, которые они сделали. Я предполагаю, что это округление.
Я отредактировал заголовок, так как речь идет о сети Биткойн, а не о какой-то конкретной реализации.

Ответы (1)

Наименьшая транзакция, которая обычно происходит в дикой природе, — это транзакция P2PKH с одним входом и двумя выходами (сумма отправки и вывод сдачи). Ввод P2PKH имеет 148 байтов, вывод P2PKH имеет 34 байта, а служебные данные транзакции составляют 10 байтов, 148 bytes + 2*34 bytes + 10 bytes = 226 bytesв случае, когда не требуется вывод изменений, это может фактически быть 192 байта.

Предел размера блока — мегабайт, а не мебибайт, поэтому он составляет 1 000 000 байт.

Если бы все транзакции были только P2PKH с одним входом и двумя выходами, пропускная способность была бы 1,000,000 / 226 / 600 = 7.37 tps. Тем не менее, сочетание сильно отличается: гораздо больше транзакций в сети используют входные данные с мультиподписью или отправляются на множество разных адресов одновременно, а текущий средний размер транзакции составляет около 520 байт, что делает цифру 3 транзакций в секунду намного больше. точный.

Я не знаю, почему авторы округлили только верхнюю границу.