Это не только мое мнение, что это может быть слабым местом в исходном коде.
Из https://en.bitcoin.it/wiki/Weaknesses:
котировка
Bitcoin имеет некоторый отказ в обслуживании предотвращение встроенный (..), но, скорее всего, по-прежнему уязвимы для более изощренных атак на отказ в обслуживании.
Почему бы не изолировать клиентов от другого. Предположим, что мы добавим "раздвижное окно" ресурсов (CPU / RAM) для каждого узла.
Так, например, когда я клиент посылает транзакцию Tx1, он получает сообщение:
("Свободна-ресы" , 100 Кб, 75 сиг)
Это означает, что он может послать дополнительно 100 Кб данных, не содержащих более 75 подписей проверки.
Каждая 1 минута (если сообщение Свободна-ресурсы не ранее отправленный в последней минуте), узел рассылает сообщения новых Свободна-ресурсы для каждого партнера, с обновлением имеющихся ресурсов для каждого из них.
Если узел пытается преодолеть лимит ресурсов, он запрещен.
Кроме того, счетчики должны быть сохранены для каждого партнера (например, dFreeCount должен быть локальным, а не глобальный)
В качестве дополнительной изоляции клиента преимущества позволяет пользователю определить, сколько CPU / RAM, он готов дать приложению Bitcoin.
eDonkey2000 и другие подобные P2P сети имеют управление пропускной способностью, чтобы ограничить использование. Почему не Bitcoin?
С наилучшими пожеланиями,
Серхио.