Мне кажется, что ответ на этот вопрос лежит где-то в районе теории шести рукопожатий. С учётом этой теории, можно было бы ограничить круг корреспондентов, почти ничего не потеряв. Дальше - примерно так:
1. Каждый человек может поставить себе OpenSSL и сгенерировать пару ключей (публичный+приватный).
2. Публичный ключ выкладывается в открытый доступ. На сайт, в блог и т.п.
3. Любой желающий может с помощью своего приватного ключа сформировать кросс-сертификат, подтверждающий репутацию владельца приватного ключа. Это должно стать распространённой практикой и правилом хорошего тона для лично знакомых людей. Кросс-сертификаты выкладываются в открытый доступ тем, на чьё имя они выписаны, и фактически служат подтверждением репутации.
4. Таким образом, может быть сформирован полный граф отношений доверия между владельцами приватных ключей.
5. Предположим, некто хочет написать мне сообщение. Для этого он должен найти цепочку доверия от меня до него и приложить все сертификаты из этой цепочки к своему сообщению. И, разумеется, подписать всё это своим приватным ключом. Длина цепочки не должна превышать 6: в этом случае цепочек получится не много.
6. Для формирования цепочки могут использоваться алгоритмы, аналогичные алгоритмам маршрутизации данных в интернете.
7. После получения сообщения должна автоматически производиться проверка валидности подписи и цепочки сертификатов. Если всё в порядке - сообщение доставляется получателю.
8. Если доставленное сообщение оказалось спамом, следует занести в чёрный список шестой публичный ключ в цепочке и увеличить счётчики спама для владельцев более близких ключей (чем ближе ключ, тем меньше).
9. Если спама приходит много, следует включать в чёрный список ключи с наибольшими счётчиками пришедшего спама.
10. Если ключ включён в чёрный список, это значит, что мы не верим рекомендациям владельца этого ключа. Например: Маша верит Пете, Васе, Саше и Коле. От Пети, Васи и Саши пришёл спам. Ключ Маши попал в чёрный список. В результате Коля, сославшись на Машу, получит отлуп. А вот сама Маша ещё сможет что-нибудь написать. Не следует путать чёрный список с бан-листом.
11. Чёрными списками, разумеется, можно обмениваться. В принципе, можно сформировать на основе тех же сертификатов "граф недоверия".
12. В результате спамеры в конце концов окажутся в изоляции. И ботнеты им не помогут: спамер может создать разветвлённый ботнет, но не сможет преодолеть ограничение на длину цепочки.
13. Покупка рекомендаций за деньги - ничего не изменит. Продавцы рекомендаций окажутся в изоляции наравне со спамерами.
14. Да, люмпен из далёкой Нигерии, скорее всего, не сможет мне ничего написать: он будет изолирован от меня из-за нигерийских писем счастья. Ну и бог с ним. Что характерно, внутри Нигерии у него проблем с общением не будет.
15. Отзыв и обновление сертификатов - добавить по вкусу.
16. Против флешмобов эта технология не помогает. Я имею в виду случаи типа "к Бесогону в ЖЖ пришли 1000 человек и обозвали его Мигалковым".
Как-то так.
1. Каждый человек может поставить себе OpenSSL и сгенерировать пару ключей (публичный+приватный).
2. Публичный ключ выкладывается в открытый доступ. На сайт, в блог и т.п.
3. Любой желающий может с помощью своего приватного ключа сформировать кросс-сертификат, подтверждающий репутацию владельца приватного ключа. Это должно стать распространённой практикой и правилом хорошего тона для лично знакомых людей. Кросс-сертификаты выкладываются в открытый доступ тем, на чьё имя они выписаны, и фактически служат подтверждением репутации.
4. Таким образом, может быть сформирован полный граф отношений доверия между владельцами приватных ключей.
5. Предположим, некто хочет написать мне сообщение. Для этого он должен найти цепочку доверия от меня до него и приложить все сертификаты из этой цепочки к своему сообщению. И, разумеется, подписать всё это своим приватным ключом. Длина цепочки не должна превышать 6: в этом случае цепочек получится не много.
6. Для формирования цепочки могут использоваться алгоритмы, аналогичные алгоритмам маршрутизации данных в интернете.
7. После получения сообщения должна автоматически производиться проверка валидности подписи и цепочки сертификатов. Если всё в порядке - сообщение доставляется получателю.
8. Если доставленное сообщение оказалось спамом, следует занести в чёрный список шестой публичный ключ в цепочке и увеличить счётчики спама для владельцев более близких ключей (чем ближе ключ, тем меньше).
9. Если спама приходит много, следует включать в чёрный список ключи с наибольшими счётчиками пришедшего спама.
10. Если ключ включён в чёрный список, это значит, что мы не верим рекомендациям владельца этого ключа. Например: Маша верит Пете, Васе, Саше и Коле. От Пети, Васи и Саши пришёл спам. Ключ Маши попал в чёрный список. В результате Коля, сославшись на Машу, получит отлуп. А вот сама Маша ещё сможет что-нибудь написать. Не следует путать чёрный список с бан-листом.
11. Чёрными списками, разумеется, можно обмениваться. В принципе, можно сформировать на основе тех же сертификатов "граф недоверия".
12. В результате спамеры в конце концов окажутся в изоляции. И ботнеты им не помогут: спамер может создать разветвлённый ботнет, но не сможет преодолеть ограничение на длину цепочки.
13. Покупка рекомендаций за деньги - ничего не изменит. Продавцы рекомендаций окажутся в изоляции наравне со спамерами.
14. Да, люмпен из далёкой Нигерии, скорее всего, не сможет мне ничего написать: он будет изолирован от меня из-за нигерийских писем счастья. Ну и бог с ним. Что характерно, внутри Нигерии у него проблем с общением не будет.
15. Отзыв и обновление сертификатов - добавить по вкусу.
16. Против флешмобов эта технология не помогает. Я имею в виду случаи типа "к Бесогону в ЖЖ пришли 1000 человек и обозвали его Мигалковым".
Как-то так.