doldonius: (Default)
[personal profile] doldonius
Что-то дальше мозги не едут. Подтолкните кто-нибудь.

Итак, заводим три таблицы. В одной пиры регистрируют сами себя. Выигрывает тот, кто первым запросил себе это имя (для этого к запросу прикладывается unixtime). Чтобы предупредить жульничество, можно установить таймаут: если запрос на регистрацию слишком старый (допустим, ему более часа), происходит отлуп с соответствующей диагностикой.

Аналогично происходит захват домена второго уровня. Вторая таблица.

Далее. На каждого пира заводится запись, содержащая его имя, официальный адрес, время регистрации и уровень недоверия. В зависимости от поведения пира, уровень недоверия меняется от 1 для указанных админом trusted до некоторого большого числа. Пиры, набравшие еще больше баллов, блокируются на фаерволе, исходящие от них данные более не принимаются. Можно блокировать и административно.

Для каждого адреса, поступающего на узел, в третьей табличке прописывается не только пара имя-адрес, но и тип адреса (A, MX... что еще может понадобиться?), суммарное недоверие, имя владельца домена, имя узла, от которого получена информация, и unixtime создания записи владельцем домена.

Как это работает: получив запись от соседа, узел прибавляет к уже накопленному недоверию свой рейтинг недоверия к этому соседу. Если сумма больше определенного предела, адрес отличается от известного, а время создания записи больше, чем у существующей (при отсутствии существующей она считается отличающейся и более старой) узел идет к владельцу домена и напрямую запрашивает соответствующую запись. Если запись от владельца получена и соответствует только что полученной, она заменяет все известные и недоверие выставляется в уровень недоверия к владельцу домена. Если владелец не откликается, новая запись тихо уходит в /dev/null. Если владелец возвращает копию ранее существовавшей записи, уровень недоверия к источнику дезы повышается.

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

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

Узкие места и непонятки.

Проверка имени на незанятость получается чертовски затратным мероприятием. Да и распространение информации лучше бы как-то обуздать. Если каждый знает всех, возникает вопрос, кому слать апдейты и запросы. Всем — провода вскипят. Только одному — в большой сети получится долго, да еще и в петлю может попасть. Где золотая середина?

Стоит ли инициировать беседы с сильно проштрафившимся и что получится, если исключить их из круга общения и не посылать апдейтов? Мы ведь не можем отличить обманщика от обманутого.

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

Вот узел вынужден сменить адрес. Как позволить ему это сделать, но не позволить злодеям-захватчикам? Криптоподписи отпадают из-за громоздкости. Если старый адрес еще будет какое-то время доступен, разрулить можно. И все равно получается уязвимость: если все по наводке провокаторов кинутся переспрашивать, узел может и прилечь под нагрузкой.

Что делать, если владелец домена долго не отвечает? Когда освобождать имя пира и его домены?

Date: 2012-02-22 04:04 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Думать. В другие плоскости. А пытаться напялить иерархическую систему на сеть... Кое-как-то можно, но вот хорошо — точно не получится.

Date: 2012-02-22 05:07 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Не алле. Оффлайновый адрес имеет физическую однозначную привязку. Более того, физическую привязку, где существует «естественная» иерархия: планета, страна, город... Можно, конечно и компы адресовать по их фактическому местоположению...

И идея доменных имен полностью иерархична. Это не сеть уже.

Date: 2012-02-22 04:11 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Кстати, ЕМНИП, для полностью распределенной системы IPv6 тоже недостаточно.

Date: 2012-02-22 05:09 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Без иерархической системы будут: а) коллизии, б) легкая подмена адреса.

Date: 2012-02-22 05:48 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Вопрос бюджета и времени.

Date: 2012-02-22 06:08 pm (UTC)
iws: (Парение)
From: [personal profile] iws
Не утрируй. Поинтересуйся, какие бюджеты на нашистов и их ДДоСы тратятся (там, конечно, выхлоп — доли процента). И сколько можно на эти деньги подключить к сети маленьких устройств, чья единственная функция будет — гнать дезу.

Date: 2012-02-22 06:48 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
На то и карма, чтобы гонщики тебя дружно банили.

Date: 2012-02-22 07:18 pm (UTC)
iws: (Коршун)
From: [personal profile] iws
Это немного другая система. В которой никакого автоматического бана, равно как и «кармы», по определению не существует.

Если еще и отказаться от универсальных имен, то и проблемы более нет.

Date: 2012-02-22 07:29 pm (UTC)
iws: (Трям!)
From: [personal profile] iws
Про любую.

Date: 2012-02-22 07:43 pm (UTC)
iws: (Default)
From: [personal profile] iws
Э... Ну в этом треде и я про имена. А про адреса — это было замечание в сторону.

Date: 2012-02-22 05:48 pm (UTC)
iws: (Гепарденок)
From: [personal profile] iws
Ну и каждый узел все хранить точно не будет.

Date: 2012-02-22 06:05 pm (UTC)
iws: (Гепард)
From: [personal profile] iws
Зачем ему это? Зачем каждой домохозяйке и микроволновке обеспечивать инфраструктуру сети?

Date: 2012-02-22 07:18 pm (UTC)
iws: (Гепард)
From: [personal profile] iws
Частью системы идентификации.

Date: 2012-02-22 07:39 pm (UTC)
iws: (Парение)
From: [personal profile] iws
Ну получит он адрес. И чо? За этим адресом давно уже порносайт.

Date: 2012-02-22 07:44 pm (UTC)
iws: (Парение)
From: [personal profile] iws
А в чем проблема?

Date: 2012-02-22 08:10 pm (UTC)
iws: (Гепард)
From: [personal profile] iws
Ой. Вот прямо вот щас совсем подделка IP не используется? А при децентрализованой системе... Все претензии твои к DNS можешь сразу предъявлять ко всем шлюзам по пути.