Bitcoin Forum
November 21, 2017, 10:12:28 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Aнaлиз BTC-ceти, чacть 5: aнaлиз нaгрyзoчнoгo тecтирoвaния  (Read 275 times)
web.master
Legendary
*
Offline Offline

Activity: 1008



View Profile
June 25, 2015, 10:03:43 AM
 #1

Анализ биткойн-сети, часть 5: анализ нагрузочного тестирования

•  2015/06/25


Предлагаем вашему вниманию пятую статью из серии об увеличении размера блоков и его значении для дальнейшего роста биткойн-сети.

Анализ результатов нагрузочного тестирования

29 и 30 мая отдельные участники биткойн-сообщества совместными усилиями протестировали пропускную способность сети, отправив в нее за короткое время десятки тысяч транзакций. Нагрузочное тестирование начало сказываться на работе пула транзакций в памяти узлов поздним вечером (по времени UTC) 29 мая и продолжалось до раннего утра 30 мая (см. диаграмму ниже). Ради целей данного анализа мы определяем интервал тестирования как период между блоками 358 596 (23:39 по UTC) и 358 625 (6:54 по UTC). С помощью инструментов TradeBlock мы проанализировали данные этого тестирования и получили несколько интересных результатов.

Чтобы смоделировать высокую нагрузку на сеть, участники тестирования программно сгенерировали тысячи транзакций с небольшой комиссией. При максимальной нагрузке в пуле транзакций находилось 26 тысяч транзакций (в обычном режиме их количество составляет от 1 до 4 тысяч).





Определение приоритета транзакций

Столкнувшись с необходимостью обработать 135 тысяч транзакций за сутки, майнеры были вынуждены выбирать, какие транзакции им включать в каждый очередной блок. Чтобы сравнить обработку транзакций в обычном режиме и при нагрузочном тестировании, мы проанализировали распределение транзакций относительно “контрольного периода”, включающего двое суток перед тестированием (23 и 27 мая) и двое суток после (3 и 6 июня) — по одному рабочему и одному выходному дню.

Средняя комиссия за байт данных в транзакциях за 7 с половиной часов нагрузочного тестирования составила около 32 сатоши, однако большая доля транзакций (26%) включала наименьшую комиссию (0-5 сатоши за байт данных). Средняя величина транзакции во время тестирования составила 5,8 XBT с медианой 0,1 XBT. Эти же значения в контрольный период были равны 10,9 XBT и 0,4 XBT соответственно. Иначе говоря, количество транзакций и объем данных во время тестирования значительно увеличились, но характеристики транзакций при этом также отклонились от стандартных.




Далее мы проанализировали, как долго пришлось ждать добавления транзакции в блок при тестировании, и сравнили это “время ожидания” (в блоках) с контрольным периодом. Как показано ниже, подтверждение транзакцией с низкой комиссией (от 0 до 5 сатоши за байт данных) во время тестирования занимало в среднем около 28 блоков, или почти 5 часов, тогда как в контрольный период аналогичные транзакции подтверждались менее чем за 10 блоков. В целом увеличение комиссии ускоряло обработку транзакции как при тестировании, так и в обычном режиме. По диаграмме также ясно, что время подтверждения при тестировании увеличилось для всех категорий транзакций в сравнении с обычным режимом.



Из этого правила выбивается лишь категория с комиссией 45-50 сатоши за байт. Это объясняется тем, что данная категория включает в основном длинные цепи неподтвержденных транзакций, отправленных в сеть одна за другой с небольшим интервалом. Эти транзакции не только перегрузили пул в памяти узлов, но и чаще остальных интерпретировались как спам из-за очень малого “возраста” монет.

Аналогичная тенденция заметна и при сравнении времени подтверждения в зависимости от величины транзакций. Учитывая, что около 80% транзакций при тестировании относились к категории 0-1 XBT, время подтверждения сильнее всего выросло для этой категории, но и все остальные транзакции обрабатывались при высокой нагрузке дольше.



Размеры блоков, их пределы и хешрейт

За 7 с половиной часов тестирования майнеры сгенерировали 30 блоков, тогда как при 10-минутном интервале их должно было быть 45. Мы не уверены, в чем причина уменьшения количества блоков, но статистический анализ указывает, что оно может быть напрямую связано с бОльшим количеством транзакций в каждом блоке.

Согласно приведенной ниже диаграмме, 67% блоков, созданных в ходе тестирования, имели размер около 750 КБ, который по умолчанию задан в стандартном биткойн-клиенте (в обычном режиме за январь-май 2015 года в эту категорию попало 15% блоков). Пулы DiscusFish и Eligius используют блоки с ограничением в 1 МБ — максимумом согласно текущему протоколу. После нагрузочного тестирования пулы BTCChina и AntMiner также увеличили предельный размер до 1 МБ. В общем, 5 из 10 крупнейших майнеров создают блоки, ограниченные пределом 750 КБ, а другие 5 — блоки с пределом 900-1000 КБ.

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





За 7 с половиной часов тестирования пул BTCChina обнаружил 20% блоков, что значительно выше его типичного хешрейта, составляющего около 8% сети. Пул DiscusFish обнаружил только два блока, что соответствует 7% (в сравнении с 19% в обычном режиме). Конечно, к этим данным следует относиться скептически, но для статистически значимой выборки из 30 элементов это указывает на вероятное наличие некоторой неучтенной переменной, вызывающей отклонение результатов от случайного распределения.


BitSend ◢◤Clients | Source
www.bitsend.info
█▄
█████▄
████████▄
███████████▄
██████████████
███████████▀
████████▀
█████▀
█▀












Segwit | Core 0.14 | Masternodes
XEVAN | DK3 | Electrum soon
Bitcore - BTX/BTC -Project












BSD -USDT | Bittrex | C.Gather | S.Exchange
Cryptopia | NovaExchange | Livecoin
Litebit.eu | Faucet | Bitsend Airdrop













████
 ████
  ████
   ████
    ████
     ████
      ████
       ████
        ████
       ████
      ████
     ████
    ████
   ████
  ████
 ████
████

████
 ████
  ████
   ████
    ████
     ████
      ████
       ████
        ████
       ████
      ████
     ████
    ████
   ████
  ████
 ████
████
1511302349
Hero Member
*
Offline Offline

Posts: 1511302349

View Profile Personal Message (Offline)

Ignore
1511302349
Reply with quote  #2

1511302349
Report to moderator
1511302349
Hero Member
*
Offline Offline

Posts: 1511302349

View Profile Personal Message (Offline)

Ignore
1511302349
Reply with quote  #2

1511302349
Report to moderator
Join ICO Now Coinlancer is Disrupting the Freelance marketplace!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
web.master
Legendary
*
Offline Offline

Activity: 1008



View Profile
June 25, 2015, 10:04:20 AM
 #2


Заключительные мысли


Подытожим результаты нагрузочного тестирования.

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

    Несмотря на значительное количество транзакций, ожидающих подтверждения, некоторые блоки остаются незаполненными, что свидетельствует об имеющейся у майнеров власти отказывать пользователям в обрабокте транзакций по своему усмотрению.
    Пять из десяти крупнейших майнеров создают блоки с пределом в 750 КБ, а другие пять — с пределом в 900-1000 КБ.

    Количество блоков, созданных во время тестирования, оказалось меньше ожидаемого (30, а не 45), а доля блоков, сгенерированных некоторыми майнерами, существенно отличалась от обычного режима. Это позволяет предположить, что при высокой нагрузке на сеть хешрейт одного или нескольких майнеров заметно снижается.

В будущем при проведении нагрузочного тестирования следует позаботиться о большем разнообразии исходных параметров, таких как комиссии, источники транзакций, скрипты (с мультиподписью, P2SH и т. д.).

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



http://bitnovosti.com/2015/06/25/bitcoin-network-capacity-analysis-part-5-stress-test-analysis/

BitSend ◢◤Clients | Source
www.bitsend.info
█▄
█████▄
████████▄
███████████▄
██████████████
███████████▀
████████▀
█████▀
█▀












Segwit | Core 0.14 | Masternodes
XEVAN | DK3 | Electrum soon
Bitcore - BTX/BTC -Project












BSD -USDT | Bittrex | C.Gather | S.Exchange
Cryptopia | NovaExchange | Livecoin
Litebit.eu | Faucet | Bitsend Airdrop













████
 ████
  ████
   ████
    ████
     ████
      ████
       ████
        ████
       ████
      ████
     ████
    ████
   ████
  ████
 ████
████

████
 ████
  ████
   ████
    ████
     ████
      ████
       ████
        ████
       ████
      ████
     ████
    ████
   ████
  ████
 ████
████
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!