Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
3 марта 2011, 6:38:32 PM   # 1
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
0.3.20 имеет новую функцию, которая отключает узлы, если vSend получает больше, чем 256kb, управляемый с помощью флага.

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

Он умирает при отправке блока цепи между блоком 51501 и 52000 на производственной сети. Проблема заключается в следующем блоке:

http://blockexplorer.com/block/00000000186a147b91a88d37360cf3a525ec5f61c1101cc42da3b67fcdd5b5f8

Это 200kb. Во время загрузки блока цепи, этот блок плюс другие в этом пробеге 500 блоков толкает vSend более 256кб и это приводит к отключиться.

Я чувствую, как отправить ограничение, возможно, не так уж важно. Если мы действительно видим Bitcoin узлы OOMing, потому что они пытались отправить данные слишком быстро, что означает, что есть ошибка в другом месте. Например GetData запросы имеют предельный размер именно такого рода причины (это может быть слишком большим, но мы можем настроить это).
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн


Как заработать Биткоины?
Без вложений. Не майнинг.


3 марта 2011, 6:58:35 PM   # 2
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Получил 1806 Биткоинов
Реальная история.





Я чувствую, как отправить ограничение, возможно, не так уж важно. Если мы действительно видим Bitcoin узлы OOMing, потому что они пытались отправить данные слишком быстро, что означает, что есть ошибка в другом месте. Например GetData запросы имеют предельный размер именно такого рода причины (это может быть слишком большим, но мы можем настроить это).

В конечном счете, цель управления потоком. Ваша ОС имеет буфер для исходящих данных. Когда это становится полным, мы должны прекратить посылать больше данных, и ждать пустого пространства буфера.

В наихудшем случае размер буфера хакера равен нулю. Наихудший "нормальный" размер буфера 8k.

Поскольку Bitcoin необходимо отправить больше данных, чем в одном сообщении, реализация должна выбрать: (а) хранить указатель на середину объекта вы представляемые, для последующего возобновления передачи, или (б) обеспечивает буфер приложения, хранит копию всех исходящих данных до тех пор, пока не будет передан. Satoshi выбрал (б), но не помещается никаких ограничений на размер этого исходящего буфера данных.

Это звучит, как пределы более трудны, чем они должны быть.

jgarzik сейчас офлайн Пожаловаться на jgarzik   Ответить с цитированием Мультицитирование сообщения от jgarzik Быстрый ответ на сообщение jgarzik

3 марта 2011, 7:04:08 PM   # 3
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Это очень плохо. Хорошо, что вы поймали это раньше все не модернизированы и новые узлы уже не мог соединиться.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

3 марта 2011, 7:05:44 PM   # 4
 
 
Сообщения: 324
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

так много спама в этом блоке, вздохнув.
Cusipzzz сейчас офлайн Пожаловаться на Cusipzzz   Ответить с цитированием Мультицитирование сообщения от Cusipzzz Быстрый ответ на сообщение Cusipzzz

3 марта 2011, 7:57:55 PM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

К сожалению.

Мой fault-- Я СДЕЛАЛ тест загрузки всего производства блок-цепочку с клиентом 0.3.20, но я не был осторожен, чтобы убедиться, что я скачал его с другого клиента 0.3.20.

Решение: если вы работаете 0.3.20, работать с -maxsendbuffer = 10000
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

3 марта 2011, 8:43:47 PM   # 6
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Не удалось сверстники теоретически нужно отправить 500 МБ в ответ на запрос getblocks? Предел должен быть, возможно, MAX_BLOCK_SIZE * 500.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

3 марта 2011, 9:03:30 PM   # 7
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Не удалось сверстники теоретически нужно отправить 500 МБ в ответ на запрос getblocks? Предел должен быть, возможно, MAX_BLOCK_SIZE * 500.

500MB за время соединения 100 соединений будет 50 ГБ. Это вновь открывает дверь в исчерпании памяти отказ в обслуживании нападения, которое является проблемой -maxsendbuffer исправления.

По мере роста объема сделок я думаю, что будет много вещей, которые нуждаются в оптимизации / фиксации. Одно простое исправление будет требовать меньше блоков, как они становятся все больше, чтобы оставаться внутри предела sendbuffer ...

(Пс: Я повторно загружать текущий блок цепь, соединенную с -maxsendbuffer = 10000 0.3.20 узла, и обходной путь работает)
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

3 марта 2011, 9:30:02 PM   # 8
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

Пожалуйста, помогите тест:  https://github.com/bitcoin/bitcoin/pull/95

Устанавливает -maxsendbuffer и -maxreceivebuffer пределы 10Мб каждый (так возможно максимум 2 ГБ оперативной памяти, если у вас 100 соединений).

Я проверил, запустив 0.3.20 узел выступать в качестве сервера, а затем побежал клиента с:
  -подключить = {server_ip} -noirc -nolisten
... чтобы убедиться, что я загружал блок цепочки из этого 0.3.20 узла.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

3 марта 2011, 9:43:18 PM   # 9
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

С пределом 10MB, кто-то может создать 10 полных блоков в пределах диапазона в 500-блок, чтобы отключить getblocks с загрузкой в ​​течение почти всей сети. Это, вероятно, является еще более эффективным, чем атака любого предел предназначен для защиты от.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

3 марта 2011, 9:50:47 PM   # 10
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Проблемы с ограничением буфера отправки в 0.3.20

С пределом 10MB, кто-то может создать 10 полных блоков в пределах диапазона в 500-блок, чтобы отключить getblocks с загрузкой в ​​течение почти всей сети. Это, вероятно, является еще более эффективным, чем атака любого предел предназначен для защиты от.

Это не будет отключить загрузку getblocks.

Но даже так, в идеале хотелось бы, чтобы просто прекратить чтение, пока буфер записи не удаляет ...

jgarzik сейчас офлайн Пожаловаться на jgarzik   Ответить с цитированием Мультицитирование сообщения от jgarzik Быстрый ответ на сообщение jgarzik



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW