Новые возможности в Bitcoin XT

  • Увеличенные блоки. Этот патч представляет собой некоторый рефакторинг кода и воплощает в жизнь переход на 2-мегабайтные блоки после января 2016 года, как только более 75% блоков будут голосовать за такой переход с помощью специального флага в поле "номер версии блока". После того, как будет достигнуто большинство в виде 75% майнеров, и перед тем, как начнут приниматься увеличенные блоки, будет проведён специальный четырёхнедельный промежуточный период. Максимальный размер блока будет плавно увеличиваться, удваиваясь каждый год. По умолчанию, мягкий лимит на размер блока у майнеров равен текущему максимальному размеру блока. Это сделано для того, чтобы майнерам не приходилось постоянно производить перенастройку.
  • Ограничение трафика. Патч даёт возможность устанавливать лимиты на скорость входящего и исходящего трафика. Это позволит вам запускать ноду так, чтобы она не мешала другим приложениям, которые активно используют сеть (например, стриминг видео). Также возможна настройка ограничения суммарного трафика за временной промежуток.
  • Тонкие блоки (thin blocks). Этот набор патчей добавляет поддержку тонких блоков, что позволяет Bitcoin XT быть наибыстрейшим клиентом из представленных на текущий момент. Наша реализация тонких блоков уменьшает размер загружаемой информации на 85%. XT поддерживает скачивание тонких блоков параллельно от нескольких разных нод. Это означает, что какая-либо нода теперь не может застопорить весь процесс скачивания. Этот патч может быть настроен либо на быструю загрузку (параллельную), либо на использование как можно меньшего количества трафика (без параллельной загрузки).
  • Распространение информации о двойных тратах. Этот патч позволяет P2P-сети передавать информацию о двойных тратах в тот же момент, когда они были замечены, чтобы получатели денежных средств могли узнать о попытке мошенничества быстрее и с меньшей нагузкой для сети. Альтернативный подход, применяемый сегодня, требует нахождения и подключения к максимально возможному количеству нод, что невозможно на мобильных устройствах и слишком затратно для остальных. В Bitcoin-Qt этот патч также помечает попытку двойных трат красным цветом, добавляет флаг "-respendnotify" для CLI и сообщает о конфликтах через JSON-RPC API.
  • Поддержка BIP 64 ("getutxos"). Этот патч позволяет участникам сети запрашивать отдельные части блокчеина через сеть. Это целесообразно для таких вещей, как децентрализованный кошелёк для краудфандинга Lighthouse, чтобы предоставлять более удобный пользовательский интерфейс, а также для других задач.
  • Обновление списка DNS-сидов (Майк Хирн). DNS-сиды используются, чтобы обнаружить других участников сети, когда нода запускается в первый раз. Они также используются лёгкими (SPV) кошельками. Список сидов в Bitcoin Core является постоянным на протяжении длительного времени и не включает в себя множество нод доверенных участников сети. Этот патч ликвидирует это постоянство, укрепляя надёжность сети диверсификацией сидов.
  • Улучшения против DoS-атак. Этот патч не позволяет злоумышленнику подвесить ноду постоянно предлагая новую транзакцию или новый блок, при этом никогда их не передавая после предложения.
  • Улучшения против DoS-атак. Так как у каждой ноды существует определённое ограничение на максимальное количество подключений к ней, на текущий момент возможно её подвесить, постоянно подключаясь с разных IP-адресов. Как только лимит на подключения исчерпан, другие полезные ноды или кошельки уже не смогут подключиться к ней. Если провести такую атаку против всех нод, можно подвесить вообще всю сеть.

    Этот патч включает в себя код, который запускается, когда лимит подключений на ноду исчерпан, и она уже не принимает новые соединения. Код помечает и приоритезирует подключения в соответствии со списками IP-диапазонов: если к ноде захочет подключиться IP-адрес с высоким приоритетом в то время, как лимит исчерпан, нода для этого разорвёт соединение с менее приоритетным адресом. На текущий момент эксит-ноды сети Tor отмечены как низкоприоритетные по сравнению с остальными IP-адресами, так как ранее были обнаружены атаки именно через сеть Tor, которую большинство пользователей и продавцов не используют. При нормальных условиях этот код не используется, однако, если кто-то начнёт DoS-атаку через Tor, то все пользователи Tor получат сообщение об ошибке и невозможности подключиться к сети, в то время как обычные пользователи смогут подключиться и не заметят каких-либо перебоев в работе сети.