IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/08/05
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
DUHOVKIN
Leopold
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
orignal похоже нашел багу с чесноками
orignal Next Key, reverse, id 0
orignal (repeat until tag received on new tagset)
orignal вот этот repeat мы не делаем
orignal а посылаем только один раз
orignal что приводит к тому что новый тагсет не приходит если пакет потерялся по дороге
Vort так плохую реакцию стримов на потери пакетов я замечал давно, это была одна из причин, по которым я старался минимизировать дропы пакетов из очередей
Vort только повылавливав вот такие баги можно начинать задумываться об усилении дропов (не факт что это требуется, правда)
Vort orignal: ты тут в такую рань что ли?
Vort в общем, переделал я вычисление (оценку) RTT для SSU2. добавил себе локально построение графиков и получил вот такую картину:
Vort синий график - прошлый алгоритм, зелёный график - новый алгоритм
Vort с новым алгоритмом усреднение выходит более равномерное - не зависит от частоты пакетов
relaybot 13mittwerk: без клиентских ключей живется хорошо
Vort на основе этого изменения можно уже и с RTTVAR (round-trip time variation) экспериментировать, теперь его оценка будет адекватной
Vort но я решил не спешить, чтобы ничего не поломать и сделал пока только основное изменение. надо тестировать:
relaybot 13mittwerk: ребят а что такое редса?
relaybot 13mittwerk: а все я нашел это гуглится вполне)
WebClient39 can someone help me understand how the bruteforcing of private keys in the vanity address generator (i2pd-tools) works?
WebClient39 im working on a GPU based bruteforcer
WebClient39 i know the vanity address generator only supports sha512 ed25519 keys at the moment
Vort WebClient39: some part of private key is treated as counter and just incremented with each iteration
Vort then this part is mixed by hashing, result is checked to be "nice" and loop continues
WebClient39 that would be better than repeatedly generating keys
WebClient39 im thinking to parellelise it use every work group id as that increment
WebClient39 what kind of hash is being done?
WebClient39 most of this code is undocumented and i don't know what it does
Vort it is SHA-256
orignal в каую рань?
Vort 2.53.1: orignal released this 6 hours ago
orignal аааа
orignal это R4SAS релизнул релиз который я написал давно
orignal то есть он висел как draft
Vort понятно. не знал о такой особенности гитхаба
Vort orignal: можешь подсказать кое что по работе SSU2 ?
Vort вот мы считаем RTT по ACK`ам, но сразу ли ACK`и отправляются или могут быть задержки? если могут, то какие?
orignal зависит от содержимого пакета
Vort максимальное время задержки ACK`а хоть примерно известно?
orignal если есть I2NP внутри или некоторые друнгие блоки внутри то сразу
orignal если нету то не отправляется а только когда идет навстречу
orignal как дед делает я знаю я отпраляю сразу
orignal но тут какое дело
orignal я обрабатываю пакет не сразу как получаю
orignal я пытаюсь достать из буфера еще и сразу пачку
Vort я хочу попробовать переделать RTO по стандарту, и вот разбираюсь, какой может быть разброс задержки
orignal и на всю пачку один общий ack
orignal надо будет по коду проверит я сначала обрабатывают или ack шлю
Vort в стандарте RTO = SRTT + max (G, K*RTTVAR)
Vort по поводу G в стандарте какая-то херня написана, но так или иначе ограничение всё же нужно
Vort то есть, допустим, RTT чётко стоит на одном значении
Vort RTTVAR = 0
Vort вопрос в том, сколько времени в таком случае надо добавить к SRTT, чтобы не сделать лишнюю перепосылку
Vort можно, конечно, тупо адаптировать то значение, что сейчас в коде: const size_t SSU2_MIN_RTO = 100; // in milliseconds
Vort ну или взять 50мс допустим
Vort то есть, RTO = SRTT + max (50ms, K*RTTVAR)
Vort наверно буду просто экспериментировать
orignal const int SSU2_RESEND_CHECK_TIMEOUT = 40; // in milliseconds
orignal const int SSU2_RESEND_CHECK_TIMEOUT_VARIANCE = 10; // in milliseconds
orignal каждые 40-50 миллисекунд
orignal ресенд
Vort это точность самого таймера
orignal нет это милли
Vort а я про ACK`и спрашивал
orignal так тебе надо чтобы не больше интревала этого было я так понимаю
Vort ну RTO вообще определяет потерялся пакет или нет
Vort подумаю, как лучше пояснить
orignal я думаю там RTO было просто скопровано со стримов
Vort SSU2_RESEND_CHECK_TIMEOUT определяет, насколько точно будет применено ранее вычисленное значение RTO
Vort меня же само вычисление RTO интересует
orignal а ну да
Vort ну в стримах там задержки с ACK`ам посерьёзнее, насколько я помню
orignal уже ничег не помню ))
Vort проэтому хоть SSU2 и стримы похожи, но надо помнить об особенностях
Vort в общем, с RTO я ещё поэкспериментирую. но что скажешь про вычисление RTT, сделанное в соответствии со вчерашним обсуждением?
Vort (я про тот коммит, на который кидал ссылку)
Vort ну и график тоже
orignal короче я аси шлю после обраюботки
orignal переделать?
Vort не надо пока ничего переделывать. в сети есть и старые узлы и java, надо просто понять, какие обычно задержки бывают и всё
orignal короче главное что акк существено зависит от содержимого пакета
orignal например акк на акк никогда не придет
Vort так мне это важно лишь в контексте перепосылок
Vort если для пакета перепосылка невозможна, то пофиг какая там задержка у ACK`а
Vort точнее, для вычисления среднего это, может, и важно, но то можно потом подправить
Vort сейчас я предполагаю, что среднее вычислили правильно. и variation вычислили правильно
Vort и вопрос в том, как их так объединить, чтобы не сделать лишнюю перепосылку
Vort буду, наверное, просто смотреть по графикам
Vort попробовал я по-разному обработать сырые данные с прошлого графика - результаты мне не нравятся. ни просто от переделки усреднения, ни от переделки RTO. буду ещё думать
orignal ну понятно
orignal я пот начгу чесноки чинить
orignal проблема то это рееальная
Vort ага
orignal что новый тагсет может теряться
Vort а я покажу график с разными вариантами вычисления RTO
Vort бледно-синяя линия - это тот метод, который сейчас в коде - неплохо покрывает бледно-синие точки
Vort RTO = 1.8 * SRTT
orignal и каков вывод?
Vort бледно-голубая линия - это новое усредение SRTT, но старый расчёт RTO (то есть, 1.8 * SRTT)
Vort бледно-зелёная линия - это новое усреднение SRTT и новый расчёт RTO (через RTTVAR)
orignal а просто зеленая это что?
relaybot 13apophis: vort, так на чем ты остановился ? переписать РТТ расчет о РТО ?
Vort у новых вариантов явно виден недостаток - их тормознутость, из-за чего они пропускают часть пакетов при резком нарастании RTT
Vort просто зелёная - это новый расчёт RTT
Vort просто синяя - старый расчёт RTT
Vort apophis: я попробовал переписать по стандарту расчёт RTT и RTO, но результат получается хуже, чем тот, что есть сейчас
Vort хоть брать новый расчёт RTT + старый расчёт RTO, хоть новый расчёт RTT + новый RTO
relaybot 13apophis: ты смотрел, как они в тор сделали или хотя бу в ява роутере ?
Vort пока что не смотрел
orignal как у джавистов Titlacahuan должен знать
Titlacahuan знаю
orignal вроде как починил чесноки
Vort меньше "Garlic: Can't handle ECIES-X25519-AEAD-Ratchet message" должно сыпаться?
orignal в теории вообще не должно
Vort то есть и дубли тегов уйти должны?
Vort сейчас потестирую
orignal дубли будут
orignal только это были не дубли
Vort посмотрим
orignal это были не отосланные тагсеты
Vort orignal: ответить юзеру на гитхабе чтобы потестировал?
orignal пока не надо
orignal я снчала у себя попробую
Vort ок
orignal меня то интересуют в первую очередь зависания а не сообщения в логе
orignal новый ygg кстати
Vort я своим форком теперь пользуюсь )
R4SAS скоро залью ведро
orignal а линкусы когда?
R4SAS на ночь поставлю
R4SAS так что завтра
` Инвалидам даже здесь место уступают 😒
orignal а что означает отсутсвие буквы?
orignal me ⇒ agHd X ⇒ ZOyC ⇒ ~yTw X ⇒
orignal вот здесь например