~AreEnn
~R4SAS
~orignal
~villain
&N00B
+Xeha
+relaybot
DUHOVKIN
Guest18377
HackerMan
KabaOS
Most2
Nausicaa
Ruskoye_911
Trusishka
Vort
`
acetone_
anon3
b3t4f4c3
flumental
mittwerk
nemiga
not_bob_afk
plap
poriori_
profetikla
segfault
soos
teeth
un
weko_
whothefuckami
Vort
"зависит от того флудфил или нет" - допустим, флудфил. у него данные должны быть более упорядоченные, да?
tetrimer
Vort: > желательно, чтобы кто-нибудь проверил и потестировал
tetrimer
Вчера вечером собрал, запустил: пока работает...
tetrimer
Uptime: 11 hours, 12 minutes, 49 seconds
tetrimer
Network status: OK
tetrimer
Tunnel creation success rate: 17%
tetrimer
Received: 7.91 GiB (188.36 KiB/s)
tetrimer
Sent: 9.33 GiB (230.77 KiB/s)
tetrimer
Transit: 5.88 GiB (144.39 KiB/s)
tetrimer
Router Caps: OfR
tetrimer
Version: 2.46.1-194-g68f4961f
tetrimer
Routers: 10952 Floodfills: 1000 LeaseSets: 201
tetrimer
Client Tunnels: 69 Transit Tunnels: 2833
Vort
tetrimer: спасибо. правда, исправление больше предназначено для U узлов. но если R узел не поломался, то тоже хорошо, конечно же :)
Vort
то есть, главный вопрос - увеличивает ли исправление количество транзитных туннелей на U узлах
Vort
исправлять, правда, это надо независимо от ответа на этот вопрос. но если увеличит - то будет хорошо
crystalway
Всем привет. А это нормально Tunnel creation success rate резко упал с 30% до 22%
orignal
да у флудфила будет большинство ближайших к нему по DHT
Leopold_
В веб консоли в транспортах: 4-х символьный идентификатор от одного и того же роутера для NTCP2 и NTCP2v6 совпадает?
orignal
такое возможно
orignal
может и одинаковый в списке быть
orignal
какие то альтернативно одаренные клонируют целиком всю папка с router.info
Leopold
По дефолту ставится длина 3 хопа, 5 туннелей?
orignal
угу
weko
apophis: ошибки протокола - некоторые известны и иногда даже предлагается более одного решения. Тут сложности:
weko
1) жавистам ничего не надо
weko
2) подобное сложнее, чем исправление бага
weko
3) баг может оказывать более сильное влияние, чем архитектурная ошибка
relaybot
13apophis: 1 :)))))
relaybot
13apophis: хороший аргумент
weko
Ну реально ж, жавистам пох будет с большим шансом
relaybot
13apophis: я в курсе, да ... это факт
weko
И потому желательно, чтобы большнство использовали i2pd... А этому способствует отсутствие багов в том числе и в клиентской части :)
weko
ну и там GUI какой нибудь продвинутый не помешал бы
weko
И разобраться с кучей клиентских протоколов, которые при расширении будут перкпокрывать одни и теже функции
weko
А сейчас вообще не все функции покрываются
relaybot
13apophis: я думал вы давно решили про ГУИ ( вебморда ). Что касается подобия Йваи2п ГУИ, то это да ... надо такого типа. Наработки есть я слышал
guesto
Hello, how can i access the 'irc2p' network? it seems to have different rooms than this one 'ILITA'
orignal
irc.postman.i2p
guesto
hi, i tried that, with port 6667 = irc.postman.i2p:6667
guesto
but it says it cannot connect
guesto
'Unknown host. Maybe you misspelled it?'
orignal
you must create another tunnel
guesto
oh, i dont have that one, that makes sense. Do you have some link where its explained 'how to open a tunnel in i2pd'?
guesto
orignal
guesto
thanks in advance
orignal
I'm busy
guesto
found it on i2pd doc page(clearnet), sorry
Vort
"у флудфила будет большинство ближайших к нему по DHT" там как-то XOR расстояние считается или что-то в этом духе? это хорошая особенность для проверки. сделать 10к рандом хешей, построить гистограмму расстояний и сделать то же самое с р
Vort
еальной NetDb флудфила
Vort
у меня есть подозрение, что там может быть что-то нечисто (хотя обоснований для этого мало)
weko
расстояния тогда должны быть в среднем должны быть 2**256 / 10000, тоесть расстояния в среднем зависят от количества ключей
weko
зависит*
weko
тоесть можешь хоть щас посчитать
weko
это если именно соседние рассматривть
Vort
как там считать? xor хешей и подсчёт единиц (или нулей) или что-то хитрее? хотя могу и сам глянуть
weko
тебе нужна сортировка с ключом xor
weko
чтобы просмотреть каждое соседство
weko
если кинешь все хэши, я посчитаю
weko
ну могу если надо
Vort
к сожалению, не понял пока что. про зависимость от количества тоже не понял. xor моего идентхеша и идентхеша произвольного узла в netdb стоит считать?
weko
нет, оно же случайным будет
weko
толку нет
weko
не надо ничего произвольного считать. я же сказал, сортируешь по расстоянию (ключ xor), дальше смотишь среднее растояние между соседями
Vort
так расстояние между чем и чем тогда считается если не между идентхешами?
weko
оно должно приблжиаться к 2**256/N, где N - количество ключефй
weko
ключей*
Vort
так всё же - о расстоянии между какими "точками" мы говорим?
weko
ну хэши
weko
число от 0 до 2**256
weko
xor двух чисел и есть расстояние
Vort
интересно
weko
а стоп да, действительно
weko
а как сортировать .. не подумал
weko
ща
Vort
получается, расстояние наследует старшинство битов
Vort
как оно по науке называется? XOR расстояние?
Vort
погуглю просто
weko
Kademlia DHT. XOR distance, так и называется вроде
user
Оно меняется раз в сутки
weko
user: ты что, самый умный тут?
user
А ты доебаться решил?
weko
Vort: а никакого xor расстояние для этой задачи не надо
weko
user: это ты влез без понимания о чём идёт речь
Vort
weko: узлы свои RI передают на ближайшие (по XOR метрике) флудфилы. верно?
weko
Vort: что именно ты пытаешься узнать?
Vort
weko: пытаюсь узнать, насколько netdb моего флудфила случайна, а насколько состоит из ближайших ко мне узлов (по XOR метрике)
Vort
если я правильно понял идею. пока ещё не уверен
weko
ааа
Vort
короч я думаю, что атакующий может засирать netdb как-то по особому
Vort
и вот хочу понять, что есть норма и проверить, насколько моя netdb нормальна
Vort
ну и на предмет багов глянуть
weko
ну тогда да, нужно смотреть расстояние от себя до всех узлов. найти среднее, и сравнить с числом 2*256/N, где N - число узлов
Vort
я думал гистограмму сделать
weko
ну тоже можно
Vort
но там же большое число получается. наверно старших битов будет достаточно
weko
xor надо считать весь
weko
а хотя
Vort
да наверно 32 битов хватит. посмотрю, как часто будут нули выпадать
weko
не будут вообще
weko
если кто-то не майнил специально под тебя конечно
Vort
шанс 1/2^32, да? )
weko
ага
Vort
weko: не помнишь случаем где старший байт? ну и старший бит. 0й или последний в массиве identhash?
weko
без понятия )
Vort
окей. могу наверно даже догадаться ) вариантов не так уж много
weko
это вроде должно зависить от твоего процессора
Vort
ну вся сеть должна иметь один и тот же подход. иначе - баг
Vort
это же не годится, если на андроиде будет одно расстояние, а на интеле - другое
user
Кстати, да , замечал в логе ошибки типа RI не найден на 7 FF
Vort
user: я тоже замечал. поэтому и стал разбираться
Vort
при том, у меня был не найден RI узла, который прямо тут рядышком спокойно работал в виртуалке :)
user
Такая же фигня, свой же роутер не нашел.
Vort
пока что у меня хрень получается. смотрел начиная с нулевого байта. теперь попробую с конца
Vort
или я делаю что-то не так, или у меня на флудфиле в netdb рандом
Vort
первые буквы b64 хеша в названии RI - получается, должны соответствовать старшим битам?
Vort
а, значит, при минимизации расстояния они должны хоть куда-то но сползать, скашиваться
Vort
если же бегло глянуть в папку netdb флудфила, то там подпапки "засеяны" примерно равномерно
Vort
а подпапки как раз по первой букве сделаны
Vort
хотелось бы надеяться, что это я ошибаюсь. потому что иначе это означает большие проблемы в коде
Vort
самое простое - считаю xor для самого старшего бита: RawHash[0] >> 7
Vort
ну и получаю практически равное количество нулей или единиц
Vort
то есть, старший бит хеша каждого узла в netdb XOR старший бит хеша моего узла
Vort
похоже, что для упрощённой проверки даже xor делать не надо
Vort
взять старшие биты для каждого RI в NetDb и подсчитать, сколько будет нулей и сколько единиц
Vort
если будет примерно одинаково, значит в NetDb рандом
orignal
короче на фледфиле в освноном ближение к нему
orignal
там XOR но не хэша а хэша от хэша + дата
Vort
интересно
Vort
сейчас поищу в коде
orignal
в Identity.cpp должно быть
Vort
файлы KadDHT тоже имеют отношение к этому алгоритму?
Vort
не вижу хешей хешей. вот такое вижу: github.com/PurpleI2P/i2pd/blob/ae5239de435e1dcdff342961af9b506f60a494d4/libi2pd/Identity.cpp#L823-L827
Vort
сразу возникает подозрение о несовместимости Little и Big Endian. но это потом. может показалось
Vort
а, кажется, вижу: CreateRoutingKey
weko
Оно
weko
Я думал догадаешься по дате смотреть?
weko
Точнее с датой
Vort
то есть, вместо своего идентхеша надо посчитать хеш(моего идентхеша + дата) ?
Vort
и от него делать xor
Vort
я конечно попробую. но равное количество нулей и единиц всё же смущает
Vort
weko: или надо у всех вообще RI считать хеш хеша + дата?
tetrimer
Vort: Погонял сегодня немного версию "за NAT":
tetrimer
Uptime: 1 hour, 1 minute, 48 seconds
tetrimer
Network status: Firewalled - Symmetric NAT
tetrimer
Tunnel creation success rate: 50%
tetrimer
Router Caps: OU
tetrimer
Version: 2.48.0-23-g0754255c
tetrimer
Routers: 958 Floodfills: 570 LeaseSets: 0
tetrimer
Client Tunnels: 70 Transit Tunnels: 20
tetrimer
Vort: Ваш вариант:
user
Трафика сколько набежало?
tetrimer
Uptime: 1 hour, 38 minutes, 1 second
tetrimer
Network status: Firewalled - Symmetric NAT
tetrimer
Tunnel creation success rate: 61%
tetrimer
Router Caps: OU
tetrimer
Version: 2.46.1-194-g68f4961f
tetrimer
Routers: 1359 Floodfills: 831 LeaseSets: 0
tetrimer
Client Tunnels: 67 Transit Tunnels: 6
orignal
я не уверен что счас этот код с метрикой вообще используется
weko
Час маловато
orignal
потому что он внутри DHT
weko
Vort: ну да, для расстояния всегда routing key вычисляется
orignal
кстати
orignal
плаз наконец сподобился починить vain
Vort
weko: окей, попробую пересчитать
weko
orignal: хорошо!
Vort
моя починка не подошла?
orignal
не знаю
orignal
просто он им занималдся и я его заставил проверить
Vort
просто зачем двойную работу делать...
orignal
так а ты PR сделал?
Vort
ну какой PR если ты выкинул код и сказал, что не будешь им заниматься? я форк сделал, если это вообще так называется когда оригинальный вариант уже недоступен
orignal
я не так сказал
orignal
я выкинул и сказал что не буду заниматься раз никто не чинить а только жалу.тся
tetrimer
Vort: Мне кажется, что количество транзитных туннелей монтонно убывает:
tetrimer
Uptime: 2 hours, 29 minutes, 21 seconds
tetrimer
Network status: Firewalled - Full cone NAT
tetrimer
Tunnel creation success rate: 64%
tetrimer
Router Caps: OU
tetrimer
Version: 2.46.1-194-g68f4961f
tetrimer
Routers: 1352 Floodfills: 849 LeaseSets: 0
tetrimer
Client Tunnels: 69 Transit Tunnels: 4
Vort
tetrimer: с Symmetric NAT у меня тоже 0-10 туннелей. этот вариант, скорее всего, по-другому надо чинить
Vort
weko: так всё же - минимизироваться должно расстояние между RoutingKey(IdentHash(флудфила)) и RoutingKey(IdentHash(публикующегося узла)) ?
Vort
в KadDHT.cpp я вообще не вижу никаких RoutingKey. к примеру, DHTTable::Insert. там подаётся на вход RouterInfo и дальше считается как-то так: bit1 = r->GetIdentHash ().GetBit (level);