Welcome, Guest. Please login or register.

: С чем все-таки связано время отправки сообщения?  ( 3374 )

L

  • Newbie
  • *
  • : 40
  • Karma: +8/-0
На одной и той же машине, при одной и той же загрузке, примерно одинаковые по длине сообщения, предназначенные  одному и тому же пользователю могут идти в разы дольше / либо в разы  быстрее. 

Учитывая, что перед отправкой выполняется некая "работа", то долгая отправка означает, что сейчас в сети "безработица" ?  Верно?  ;D
Хабрачат:  BM-BbtSwdV95YLwjRVytmPygHygL4LGEER6

Mendel

  • Newbie
  • *
  • : 33
  • Karma: +12/-0
Нет. Ты неверно понимаешь понятие "работа".
Работа в таких системах подразумевает нахождение хэша удовлетворяющего определенному требованию.
К примеру от тебя требуют, чтобы md5 хеш от текстСообщения + Отправитель + Получатель + ВремяОтправки + соль имел в конце пять нулей.
Ты можешь влиять только на соль.
Твои действия будут примерно такими: взять случайную соль, вычислить md5.
Если хеш удовлетворяет требованию, то отправить сообщение и соль.
Если не удовлетворяет, то взять другую соль (случайную или еще как сгенерированную), и повторить все тоже самое.
Посколькую приличные хешфункции полностью меняют свое значение при изменении всего одного бита, то ты найдешь правильное значение за случайное время. Это случайное время будет в среднем зависеть от сложности нашего требования.
В примере который я озвучил у нас пять шестнадцатеричных нулей в конце, это значит что такой хеш выпадает один на 2 в 20-й степени, т.е. в среднем один на миллион. Но случайность на то и случайность - может и первым выпасть, а может и после ста миллионов проверок.....

kharkovcoin

  • Newbie
  • *
  • : 1
  • Karma: +0/-0
Так а сколько примерно должно идти сообщение? Минуту? Час? День?

akh81

  • Newbie
  • *
  • : 10
  • Karma: +0/-0
kharkovcoin, Вы не правильно поняли предыдущий ответ.

Как только у Вас есть разрешение на отправку, Ваше сообщение идет по сети всегда довольно быстро - ну, может, минуту.

Однако, перед тем как отправить сообщение, Вы должны "получить право" на то, чтобы отправлять его.
(Иначе бы всю сеть быстро наводнили спамеры).

Чтобы "получить право" на отправку этого сообщения Ваш компьютер должен решить трудоемкую вычислительную задачу, описанную Mendel. Как только Вы ее решите, Вы имеете право отправлять сообщение: любой узел сети, который будет пересылать Ваше сообщение дальше, всегда будет проверять - решили ли Вы эту задачу или нет.
BM-GttZLBeZSzg1fxvuDRJnqLgLHRTaKsyE

UncleAndy

  • Newbie
  • *
  • : 4
  • Karma: +1/-0
Относиться-ли это правило к сообщениям в Chain? У меня сейчас получается так, что в Chain я могу общаться, а сообщения на конкретный адрес ни мне ни от меня не доходят (несколько часов).