Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
22 августа 2013, 8:32:11 PM   # 1
 
 
Сообщения: 106
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я добавил измерения времени пинг до bitcoind, и он работает, используя "пинг" а также "понг" Команды (пинг посылает уникальный одноразовый номер, теннис повторяет, что нонс).

Я добавил время пинга в качестве дополнительного вывода на getpeerinfo. Время пинга в секундах, как десятичное число, поэтому он часто появляется как очень маленькое десятичное число со многими местами, выглядит довольно подходящим для Bitcoin

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

Я также добавил новую команду RPC, "пинг"Просить о том, что команда пинг будет разослан всем партнерам. Это в дополнение к обычному при отправке команды пинг как KeepAlive.

Он не готов к запросу тянуть еще, но взглянуть на него, это здесь:

https://github.com/Krellan/bitcoin/commit/fbc91c10d818432070ef8bac56b07707f43ef0b1

Интересные наблюдения:

1) Ссылка bitcoind посылает команды пинг с 0 (ноль) в качестве временного значения, однако, во время моего тестирования я столкнулся с другим сверстникам, которые послали мне действительные одноразовые номера (от нуля, выглядит достаточно случайным для меня). Таким образом, должны быть и другие участки, плавающие вокруг, которые также добавить действительные одноразовые номера в команду пинг?

2) Я заметил много Нонса несовпадений. При дальнейшем осмотре, есть много коллег, которые отправляют понг ответ с 0 (нолем) в качестве временного значения, независимо от того, что я послал к нему в оригинальных пингах. Интересно, что причины этого? Ссылка bitcoind не делает этого, это правильно, и это выглядит как ошибка в каком-нибудь другом клиенте.

3) В моей реализации я только следить за один выдающийся Нонс / временной метки в то время. Там ничего не мешает пользователю посылать другой пинг пока еще жду первого, чтобы закончить, хотя. Интересно, если это стоит того, чтобы усложнить реализацию с использованием вектора, так что я помню более одного временного значения / метку времени, в то время на узел, или рассмотреть только самые последние звона попытку быть только действительный пинг?

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

5) Добавление новой команды RPC "пинг" открывает возможность для пользователя с доступом RPC, чтобы попытаться DoS остальной частью сети Bitcoin, разослав пинг команды как можно быстрее. Мне нужно это ограничение частоты. Любые предложения о том, что разумное ограничении частота будет?

6) Аналогично предыдущему, если пэр посылает мне пинг команды слишком быстро, я должен также отвечать на мои ограничения частоты понга. Любые предложения по этому поводу? Есть и другие вещи, а также, например, посылая мне несанкционированные команды понга (без соответствующего пинга). Если сверстники делают это, я должен наказать их плохое поведение () или просто молча игнорировать их?

Благодаря!

Это довольно интересная особенность, я рад об этом, и он был вдохновлен "пинги" Веб-страница в p2pool.

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


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


23 августа 2013, 7:39:59 AM   # 2
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

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





Я добавил систему пинг / понга для bitcoinj пользователей. Вот код, который вы видите отправить пинги с временными значениями, я подозреваю.

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

23 августа 2013, 8:00:36 AM   # 3
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Я добавил систему пинг / понга для bitcoinj пользователей. Вот код, который вы видите отправить пинги с временными значениями, я подозреваю.
Пожалуйста, только пинг узлы, которые Вы подключаете к исходящим. Это позволяет узлам на мобильной связи, чтобы лучше управлять полосой пропускания и срок службы батареи.
Я не вижу никаких проблем с пингом по требованию пользователя или отправки редких пинги (например, на временной шкале 1 / мин), в то же время, как другие сообщения, не так ли?
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

23 августа 2013, 10:36:35 AM   # 4
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Добавление информации в пинг peerinfo это хорошая идея, но не требует добавления систему ручного звона. Я думаю, что система уже посылает пинг каждые 180 секунд, в любом случае?

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

23 августа 2013, 4:26:50 PM   # 5
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Я думаю, что система уже посылает пинг каждые 180 секунд, в любом случае?
Это не делает, только если канал иначе неактивным.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

23 августа 2013, 6:02:31 PM   # 6
 
 
Сообщения: 106
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Хорошая точка зрения.

В настоящее время мышления является ограничение частоты исходящих запросов звона на максимум один пинга в секунду. Если быстрее, чем исходящие пинги не будут отправлены. Кроме того, входящие пинги будут сняты (без понга не будет отправлен), если они приходят слишком быстро. Действие пользователя необходимо генерировать эти дополнительные свистит, во всяком случае, они никогда не будут выполняться автоматически при такой высокой скорости. Существующая KeepAlive формула, несмотря на волосатость / недостатки, остается неизменным моим патчем.

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

Полезно знать о bitcoinj уже имея хорошую реализацию пинг временных значений.
Krellan сейчас офлайн Пожаловаться на Krellan   Ответить с цитированием Мультицитирование сообщения от Krellan Быстрый ответ на сообщение Krellan

24 августа 2013, 8:42:19 AM   # 7
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Да, руководство пинги отлично, нет необходимости, чтобы оценить их ограничить. Я думал автоматического пингования.

Кстати, getpeerinfo должен сказать вам, что программное обеспечение не реализует протокол правильно. Существует поле subver, который мы используем, как поле агента пользователя.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

25 августа 2013, 1:39:27 AM   # 8
 
 
Сообщения: 106
Цитировать по имени
цитировать ответ
по умолчанию Re: Добавлено измерение времени пингера bitcoind, некоторые вопросы

Хорошо, я вымыл, что я изначально имел, и получил это работает.

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

Я добавил к RPC ограничения частоты просил пинг, так что он будет ограничивать до 1 / секунду на равных. Регулярное автоматизирован KeepAlive пинг невосприимчив к этому.

"pingtime" поле в getpeerinfo вновь добавляется, и имеет pingtime в десятичных секундах. Я предполагаю, что пользователи Bitcoin хорошо использовать для малых десятичных чисел со многими цифрами сейчас

Это теперь достаточно чистое, что я чувствую, что кандидат запрос тянуть:

https://github.com/bitcoin/bitcoin/pull/2937

Еще несколько мыслей:

1) Если пинг по-прежнему в обращении и сверстники принимают очень много времени, чтобы ответить, это не указано в любом месте. Поле pingtime содержит время в ранее завершенных пинг, и обновляет атомарно (он не изменится, пока следующий пинг не будет полностью завершена). Таким образом, наивный потребитель данных может вводить в заблуждение, думая, а плохо лагом узел по-прежнему реагирует. Мысль о том, показывающее текущее время ожидания в поле pingtime вместо этого, если текущее время ожидания больше времени на ранее выполненные Пин. Хорошая идея, или нет?

2) Если равный заливает меня свистит, я не те ограничения частоты. Причина, если сеть отставал и вдруг становится лучше, много предыдущих запросов придет через все сразу, будучи сгрудились в буферах. Таким образом, равный можно было бы повинуясь ограничения частоты с их стороны, но к тому времени он добрался до меня, было бы неправильно смотреть на меня, как будто равный заливает. Кроме того, если я и ограничение частоты падения чрезмерно свистит, это будет означать, что первый пинг получает ответ на, но позже пинги не делают. Система ожидает нонса противоположная: он выбрасывает предыдущие одноразовые номера, когда она закатывает новый одноразовый номер для последующего пинга. Это означало бы, что пинг будет существенно потеряется в случайном порядке. Это педантичный, во всяком случае, и какой-то предел (щедрый) ставки, вероятно, хорошая идея, как проверить вменяемость. Так как команды пинг ограничены 1 / во-вторых, возможно, ограничить входящие ответы пинг (PONGS) до 2 / сек или 3 / сек?

3) Точно так же, если сверстники заливают меня Pongs, я просто проглотить их, так как они не имеют никакого ответа. Код проверки одноразового значения не позволяет предыдущее временное значение для повторного использования, так дублированный PONGS будет просто опустить на поле. Интересно, если должны быть более агрессивными в отношении сверстников, которые наводнения, возможно, плохое поведение () их?

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW