Краткий обзор

Присутствовали: cervantes, jrandom, kostya213, modulus, tethra, vulpine

Журнал встреч

16:06 <jrandom> 0) привет 16:06 <jrandom> 1) 0.6.1.25 и статус сети 16:06 <jrandom> 2) I2PSnark 16:06 <jrandom> 3) Syndie (что/почему/когда) 16:06 <jrandom> 4) вопросы по крипте Syndie 16:06 <jrandom> 5) ??? 16:06 <jrandom> 0) привет 16:06 * jrandom машет 16:06 <jrandom> еженедельные заметки по статусу выложены тут: http://dev.i2p.net/pipermail/i2p/2006-September/001307.html 16:07 <jrandom> раз уж эти заметки появились много часов назад, вы все их уже прочли и подготовили комментарии, верно? ;) 16:07 <jrandom> переходим к 1) 0.6.1.25 и статус сети 16:08 <vulpine> <Complication> Что касается 0.6.1.25 — у меня всё отработало нормально, только одна ранее невиданная ошибка 16:08 <jrandom> круто, в чём проблема? 16:08 <vulpine> * Complication ищет в логах 16:09 <jrandom> размер сети, похоже, больше, чем раньше, хотя всё ещё того же порядка 16:09 <vulpine> <Complication> "Unknown error reading the net.i2p.data.i2np.GarlicMessage: wtf, fromLong got a negative? -840" 16:10 <vulpine> <Complication> Началось с "ERROR [NTCP read 1 ] .router.tunnel.FragmentHandler: Error receiving fragmented message (corrupt?)" 16:10 <jrandom> ага, ок, это давно встречается, можно игнорировать 16:11 <vulpine> <Complication> Однократно 16:11 <vulpine> <frosk> у меня несколько раз попадалась эта последняя 16:11 <vulpine> * jrandom тычет fox 16:12 <vulpine> <Complication> А, и ещё: "router.tunnel.TunnelDispatcher: wtf, took 1121 to dispatch net.i2p.data.i2np.TunnelBuildMessage@XXXX out YYYYY in net.i2p.router.tunnel.PumpedTunnelGateway@ZZZZ" 16:12 <vulpine> <Complication> (кажется тоже несущественно, возможно просто перегрузка) 16:12 <jrandom> угу, вероятно 16:13 <jrandom> irc очевидно пока работает грубовато 16:13 <jrandom> (но, на этот раз, не по вине i2p :) 16:14 <jrandom> ок, есть ли ещё что-то по 1) статус сети и 0.6.1.25? 16:15 <kostya213> просто хочу добавить, что .25 исправил все проблемы, что у меня были последние пару месяцев 16:15 <jrandom> круто! 16:16 <vulpine> <green> пожалуйста, измените вычисление статуса, когда используется только NTCP 16:16 <jrandom> ок, но не рекомендуется отключать udp (кажется, я прямо говорил, что не буду рассказывать людям, как отключать udp) 16:17 <jrandom> но статус надо обновить с учётом того, что udp — не единственный транспорт 16:17 <jrandom> поправлю это в следующем релизе, спасибо 16:17 <vulpine> <green> jrandom: ты, конечно, не рассказываешь, но я умею читать код ;) 16:18 <jrandom> верно, но если я что-то не рекомендую и говорю даже не пытаться, не удивляйтесь, если всплывающее сообщение сбивает с толку ;) 16:19 <vulpine> <green> конечно, я бы мог просто вывести "OK" в консоль :) 16:19 <jrandom> тоже верно 16:21 <jrandom> ок, перейдём к 2) I2PSnark 16:21 <jrandom> zzz, похоже, сейчас не здесь 16:22 <jrandom> zzz работает над некоторыми изменениями для улучшения планирования в i2psnark 16:23 <jrandom> (оно сейчас немного... простоватое, насколько помню, хотя я не уверен в деталях модификаций, которые пилит zzz) 16:23 <jrandom> ((но я с нетерпением жду прогресса!)) 16:25 <jrandom> ок, если по 2) I2PSnark больше ничего, перейдём к 3.*) Syndie 16:26 <jrandom> начнём с 3.1) что такое syndie, т. к. покрывать много 16:27 <jrandom> до встречи мне задали пару вопросов насчёт шифрования публикаций 16:27 <jrandom> в основе — публикации шифруются симметрически: любой, у кого есть симметричный ключ, может прочитать публикацию, так как он авторизован 16:28 <jrandom> ответы на канале шифруются асимметрически на открытый ключ, ассоциированный с каналом/форумом 16:28 <jrandom> некоторые публикации могут использовать шифрование на основе пароля (passphrase) для генерации симметричного ключа чтения 16:29 <jrandom> а некоторые публикации могут включать симметричный ключ в читаемые заголовки сообщения (чтобы любой мог прочитать) 16:29 <modulus> в чём смысл последнего? 16:29 <jrandom> а некоторые форумы сами могут включать симметричный ключ в метаданные форума, чтобы любой мог прочитать публикацию, но только если у них есть метаданные канала 16:29 <jrandom> modulus: чтобы всё всегда было зашифровано, даже публично читаемые вещи 16:29 <jrandom> (чтобы простое перехватывание трафика было бесполезным) 16:30 <modulus> верно, понятно. 16:31 <jrandom> ок, думаю, это покрывает вопросы по шифрованию, которые задавали до встречи 16:31 <jrandom> у кого-то есть вопросы по 3.1) что такое syndie? 16:31 <jrandom> (разумеется, многое станет яснее по мере появления там) 16:32 <vulpine> <void> хмм 16:33 <jrandom> как дела, void? 16:33 <vulpine> <void> <void> я полагаю, архив сообщений (.zip) может также включать другие сообщения, возможно от других людей, например цитируемые сообщения? 16:34 <jrandom> ну, да, можно включать .snd файлы как вложения, но есть явное пространство имён, так что можно делать стандартные ссылки в стиле References: на предыдущие сообщения 16:34 <jrandom> (т. е. не нужно делать «нитки» по-фростовски) 16:35 <vulpine> <void> ок, верно 16:37 <vulpine> <Complication> О Syndie: я думал, как решать проблему предоставления людям доступа к форуму с несколькими авторами (как аккаунты на обычной доске сообщений), а не предоставлять его безотзывно, и избегать нежелательного бардака, когда возникает необходимость отозвать доступ (по любым причинам) 16:38 <vulpine> <Complication> Одно решение, конечно, — чтобы автор указывал рекомендацию, чьи ответы клиенты должны отображать 16:38 <jrandom> Complication: создать новую пару открытого/закрытого ключей, выдать закрытый ключ (временно) авторизованным людям и включить открытый ключ в список «ключей, которым разрешено публиковать» 16:38 <vulpine> <Complication> ...и клиентам, если они не хотят исследовать историю, следовать этой рекомендации (или, точнее, её последней версии) 16:38 <jrandom> (а когда они больше не авторизованы — убрать этот ключ из списка «ключей, которым разрешено публиковать») 16:39 <kostya213> jrandom: возможно, стоит использовать расширение не .snd, оно широко используется аудиоприложениями, mime его перепутает 16:39 <jrandom> ага, верно — у всех форумов есть «владелец» (подписывающий закрытый ключ), который может управлять списком тех, кому разрешено публиковать, и т. п. 16:39 <vulpine> <Complication> «ключи, которым разрешено публиковать» будут метаданными, прикреплёнными к последней публикации автора, или к какому-то другому сообщению, верно? 16:39 <jrandom> верное замечание, kostya213, хотя тогда мы застрянем с .dat ;) 16:40 <jrandom> Complication: ах, извини, нет, как в текущем/старом syndie — отдельные подписанные мета-посты для самого форума/канала 16:40 <vulpine> * Complication полагает, что кто-то уже притянул и .dat :) 16:40 <jrandom> да, приложение под названием "octet-stream" ;) 16:40 <vulpine> <void> похоже, .syn нигде примечательно не используется 16:41 <vulpine> <Complication> Ага, специальные метапосты... верно, это сработает 16:41 <jrandom> о, круто, значит syn! 16:41 <jrandom> (хороший глаз, void, спасибо, kostya213) 16:41 <vulpine> <void> хмм, " 16:41 <vulpine> <void> хмм, "Word Synonym File", Company: Microsoft 16:42 <jrandom> ну, разберёмся 16:42 <kostya213> да, используется в Word 16:42 <vulpine> <void> но мы можем это игнорировать :) 16:42 <kostya213> не теряйте надежды, думаю, можно найти что-то, что не будет конфликтовать с широко используемыми mimetypes 16:43 <jrandom> ок, ещё что-то по 3.1) Что такое syndie? 16:43 <vulpine> <void> кхм, а почему мы ограничиваемся трёхбуквенными расширениями? это реликт эпохи DOS 16:43 <kostya213> надо спросить: зачем ограничиваться трёхбуквенным расширением? DOS уже никто не использует 16:44 <jrandom> хех 16:44 <kostya213> синхрон с void 16:44 <kostya213> .syndie мне нравится 16:44 <vulpine> <void> .synd тоже ни с чем не конфликтует 16:44 <kostya213> тоже хорошо 16:45 <vulpine> <void> чёртов лаг :( 16:48 <jrandom> ок, перейдём к 3.2) Почему Syndie важен? 16:48 <vulpine> <void> jrandom: подожди 16:48 <cervantes> (потому что ты сказал, что важен) 16:48 * jrandom ждёт 16:48 <jrandom> !thwap cervantes ;) 16:48 <vulpine> <void> в статус-заметках говорится, что к публикации можно прикрепить аватар, иначе будет использован дефолтный 16:49 <vulpine> <void> а если человеку хочется иметь несколько предопределённых аватаров вместо одного «дефолтного»? 16:49 <jrandom> да, автор может включить дефолтный аватар в метаданные своего канала 16:49 <vulpine> <void> прикреплять каждый раз другой — неэффективно 16:49 <jrandom> хороший вопрос, void — давай обратимся к тому скрипту в заметках 16:50 <jrandom> listauthkeys --authorizedOnly true 16:50 <jrandom> authenticate 0 16:50 <vulpine> <void> (?) 16:50 <jrandom> listauthkeys покажет все идентичности, от имени которых ты можешь подписать сообщение, а "authenticate 0" выбирает идентичность для подписи 16:51 <jrandom> у этой идентичности есть свой канал, и у канала свои метаданные, куда можно включить аватар 16:51 <vulpine> <void> хмм, отдельная идентичность — это отдельная пара ключей? 16:51 <jrandom> да 16:51 <vulpine> <void> а если человек хочет иметь несколько аватаров на одной идентичности? 16:52 <jrandom> у него есть дефолтный аватар в метаданных канала, и он может переопределять его для каждого сообщения 16:52 <kostya213> сомнительная ценность 16:52 <vulpine> <void> несколько «дефолтов», из которых он может выбирать 16:52 <vulpine> <void> или я придираюсь к мелочам? :) 16:53 <jrandom> ага, понимаю, о чём ты. нет, сначала не поддерживается 16:53 <jrandom> возможно позже 16:53 <vulpine> <void> верно, kostya213, тогда неважно 16:53 <vulpine> <void> :) 16:53 <jrandom> (но аватары будут сильно ограничены по размеру, так что включать их несложно) 16:53 <vulpine> * Complication думает, что добавление «на сообщение» можно закодить достаточно просто 16:53 <vulpine> <void> итак, 3.1) Что такое syndie? 16:53 <vulpine> <Complication> (со временем) 16:54 <vulpine> * cervantes склеивает irc-серверы 16:54 <vulpine> <void> Complication: jrandom только что сказал, что он это уже сделает :) 16:54 <jrandom> (аватары «на сообщение» будут в базовой версии, Complication; идея иметь много «дефолтов» на выбор — указывать «используй аватар 1» в сообщении вместо включения самого аватара) 16:54 <vulpine> <Complication> задержка, задержка... 16:54 <jrandom> ок, ещё что-то по 3.1? 16:54 <jrandom> если нет, перейдём к 3.2 16:55 <vulpine> <void> думаю, всё 16:55 <jrandom> ок. 16:56 <jrandom> кроме ехидства cervantes, есть вопросы/комментарии/опасения насчёт «почему»? 16:56 <jrandom> (то есть «опасения») 16:58 <vulpine> <Complication> cervantes: протёр ли ты поверхность спиртом перед тем как наносить клей на ircd? ;) 16:58 <kostya213> по-моему, Syndie не нуждается в оправданиях, его ценность очевидна для любого, кто уже интересуется анонимизирующими сетями 16:58 <kostya213> и осознаёт опасности централизации информации 16:59 <vulpine> <Complication> (репост, пожалуйста игнорируйте, если дошло до сервера) 16:59 <vulpine> * Complication считает, что Syndie важен, потому что средний Джо, запустивший phpBB, слишком быстро огребёт pwnage, и средний Джо, запустивший $random_blogging_tool, тоже огребёт 16:59 <vulpine> <Complication> (пусть вероятность и различается) 16:59 <vulpine> <void> действительно 16:59 <jrandom> ага, плюс для каждого, кто сталкивается с реально враждебными противниками (и не обязательно государственного уровня) 17:00 <jrandom> ок, круто, просто хотел прогнать это через вас 17:00 <jrandom> что-то ещё по 3.2, или перейдём к 3.3) когда мы сможем пользоваться syndie? 17:01 <vulpine> <void> ну, по сути это инструмент форумов/блогинга/e-mail/коммуникаций, основанный на криптопримитивах и независимый от транспортного уровня 17:01 <vulpine> <Complication> ...и в отдалённом сценарии, когда противник среднего Джо проводит атаки пересечения, любой, кто держит eepsite любого вида, в итоге огребёт pwnage (кроме случаев с огромной сетью) 17:01 <kostya213> возможно, труднее «продавать» тем, кто не видит немедленной ценности приватности/анонимности 17:01 <jrandom> kostya213: да, хотя мы можем провернуть пару трюков, вроде безопасного офлайн-просмотра 17:02 <vulpine> <Complication> они могут оценить безопасность вне зависимости от анонимности 17:02 <jrandom> (например, офлайн RSS-ридер, который подтягивает полный набор страниц по ссылкам, а не только RSS-резюме) 17:02 <vulpine> <void> так что да, я не вижу, зачем это оправдывать :) 17:02 <vulpine> <void> kostya213: им не обязательно быть анонимными, чтобы пользоваться Syndie 17:02 <cervantes> когда мы сможем использовать syndie или когда syndie станет пригодным к использованию? 17:02 <jrandom> верно, void :) 17:03 <cervantes> для текстового интерфейса, как я понимаю, нужна довольно объёмная документация по использованию 17:03 <jrandom> cervantes: прямо сейчас Syndie функционален (можно создавать публикации, управлять каналами, читать публикации, отвечать на них и т. д.) 17:03 <kostya213> jrandom: как Syndie решает проблему избыточности? насколько он устойчив к исчезновению контента? 17:03 <cervantes> (прежде чем он станет пригодным к использованию) 17:03 <jrandom> cervantes: есть встроенные меню с описанием каждой команды (как минимум кратким) 17:04 <cervantes> круто, есть планы на примеры сценариев использования? 17:04 <jrandom> kostya213: Syndie работает на уровне контента — избыточность обеспечивается чем-то другим. если ты публикуешь в usenet, там происходит репликация в пределах usenet (например) 17:04 <cervantes> думаю, хитрость в том, как всё это скриптовать вместе 17:04 <vulpine> <void> kostya213: это вне области Syndie, это зависит от транспортного механизма 16:04 <vulpine> <void> к сожалению 17:04 <jrandom> хорошая идея, cervantes 17:05 <jrandom> в первый релиз Syndie войдёт система http-репликации как в старом/текущем syndie 17:05 <jrandom> cervantes: возможно, некоторые бета-пользователи соберут свои любимые скрипты для распространения :) 17:05 <modulus> ммм, это консольное приложение? 17:05 <jrandom> modulus: да, первое — текстовое приложение 17:06 <modulus> отлично! 17:06 <cervantes> jrandom: при условии, что бета-пользователи разберутся, как им пользоваться ;-) 17:06 <jrandom> хех 17:06 * jrandom рассматривал curses/и т. п., а также только CLI, но интерактивный скриптуемый текстовый интерфейс, вероятно, самый простой и полезный 17:07 <jrandom> (без GUI, то есть) 17:07 <cervantes> modulus: видишь, jrandom прислушался к твоей неустанной обратной связи :) 17:07 <vulpine> <Complication> Если люди захотят, они, вероятно, смогут построить более интерактивные текстовые интерфейсы поверх него 17:07 <jrandom> ага, конечно 17:08 <jrandom> (код сделан так, чтобы было легко интегрировать с irc-клиентом, типа pircbot) 17:08 <modulus> cervantes: хехе 17:09 <modulus> полагаю, можно накинуть и GUI поверх, если всё работает примерно как я представляю 17:09 <modulus> хотя это куда больше работы. 17:09 * kostya213 ждёт плагин для Emacs 17:09 <modulus> хахаха 17:09 <jrandom> хех 17:09 <modulus> вообще-то режим Emacs — не такая уж плохая идея, может, привлечёт ещё безумцев. 17:10 <cervantes> нажмите ctrl-alt-shift-break-uparrow-num7-b, чтобы выбрать свою идентичность 17:10 * jrandom оставит это элисперам, чтобы они допилили ;) 17:10 <kostya213> без обид, но не уверен, что этому проекту нужно привлекать ещё больше безумцев 17:10 <vulpine> <Complication> такие безумцы ещё и кодить будут? 17:11 <jrandom> надеюсь, Complication 17:11 <jrandom> ок, надеюсь, 3.3) немного объясняет, что нас ждёт дальше 17:11 <jrandom> а насчёт того, когда — посмотрим, но я надеюсь «скоро» ;) 17:12 <jrandom> ок, есть ещё что-то по 3.3)? 17:12 <vulpine> * Complication приветствовал бы парочку орд таких безумцев :D 17:12 <cervantes> ну, есть кодинг, а есть написание запутанного Perl, интерпретирующего Tcl 17:12 <kostya213> плагин для FUSE тоже мог бы быть полезен 17:13 <jrandom> ага 17:13 <jrandom> ок, перейдём к 4) крипта для Syndie 17:13 <jrandom> есть комментарии по этим вопросам? 17:14 <vulpine> <Complication> Хотел бы, но я не компетентен оценивать стойкость этих шифров/хэшей/длин ключей 17:15 <vulpine> <void> какой длины подписи elgamal/rsa? 4kbit для 2kbit ключа? 17:15 <vulpine> * Complication оставляет этот разговор полностью другим 17:15 <jrandom> не помню сходу 16:15 <vulpine> <void> по сравнению с dsa? 17:16 <jrandom> (хотя ECC выглядит маленькой и аккуратной) 17:16 <modulus> Подписи ElGamal тяжёлые и длинные. как выяснила команда gnupg. 17:16 <jrandom> ага, хотя некоторые трюки были связаны с повторным использованием ключей 17:16 <vulpine> <void> ах, ок 17:16 <vulpine> <void> да, так и есть 17:16 <tethra> modulus: если они тяжёлые и длинные, есть фетиш-сайт для этого 17:17 <jrandom> ок, этот пункт — просто предупреждение и просьба о комментариях, когда появятся мысли 17:17 <cervantes> нельзя ли реализовать какие-то подключаемые шифры — когда будет стандартизован более хороший метод создания ключей, мы добавим его в Syndie, и новые публикации начнут использовать его, но при этом сможем использовать устаревшие методы для старых публикаций 17:17 <tethra> (простите) 17:17 <jrandom> cervantes: там есть префикс DSA:, так что префикс Elg: тоже подойдёт 17:17 <modulus> вы используете DSA, ограниченный 1024 битами, или нет? 17:18 <modulus> и какой хэш? sha1 или что-то поновее? 17:18 <cervantes> то есть ты в основном озабочен тем, чтобы Syndie хорошо стартовал 17:18 <jrandom> dsa только 1024-битный (есть предложения dsa2 подольше, но ещё не стандартизованы) 17:18 <jrandom> и да, dsa требует sha1 17:18 <modulus> хмм, насколько я понимаю, они были довольно сильными до стандартизации. 17:18 <kostya213> у cervantes хорошая мысль, фиксированные шифры для контента Syndie дают плохую forward secrecy (прямая секретность), никогда не знаешь, когда алгоритм накроется 17:18 <modulus> но я не слежу за процессом достаточно внимательно, так что ты, вероятно, прав 17:19 <jrandom> kostya213: но «выбор» — это плохо для крипты, так что там, где можем, лучше фиксированные значения 17:19 <jrandom> (плохо из-за анонимности) 17:19 <vulpine> <void> знаешь, почему больше людей/протоколов не используют ecc? боятся нехватки исследований или просто переживают за совместимость? 17:19 <modulus> патенты. 17:20 <jrandom> патенты и FUD, ещё есть опасения по реализации 17:20 <vulpine> <void> ах да, верно, modulus 17:20 <modulus> кстати, есть ли веская причина брать dsa вместо rsa-sha512, например? 17:20 <tethra> патенты, FUD и государство (о боже) 17:20 <modulus> не хочу раздражать, просто учитывая, что gpg, например, пошёл этим путём, как и другие. 17:20 <jrandom> не пересматривал эту опцию уже много лет, modulus 17:21 <modulus> очевидно, dsa — стандарт, это плюс, но ключи маленькие, а хэши слабые. не то чтобы я думал, что это станет самым слабым звеном ;-) 17:23 <cervantes> я бы не предлагал «выбор», но новые версии Syndie будут включать всё более безопасные (обязательные) шифры 17:23 <vulpine> <Complication> Оставить небольшой задел в структурах для будущих изменений кажется разумным вне зависимости от того, какая текущая крипта окажется лучшей, как мне кажется 17:23 <jrandom> ага, хотя это подразумевает откат к более слабым/старым версиям для совместимости 17:23 <jrandom> но ок, разберёмся 17:24 <jrandom> ок, перейдём к 5) ??? 17:24 <jrandom> кто-то хочет ещё что-то поднять на встрече? 17:25 <cervantes> невозможность читать последние публикации из любимого источника — неплохой стимул следить, чтобы все обновлялись 17:25 <jrandom> отчасти 17:26 <cervantes> no=не 17:26 <jrandom> (ага, это стимул, но люди ленивы/не заинтересованы в «обновлении софта» и т. п.) 17:27 <jrandom> s/people/some people/ 17:27 <cervantes> думаю, это их проблема 17:27 <jrandom> это верно 17:27 <kostya213> по крайней мере, реализация I2P может иметь безболезненное обновление 17:28 <jrandom> конечно 17:28 <cervantes> что до ??? — извините за подключение к irc — ISP должен восстановить одного из своих основных операторов сети «как можно скорее» 17:29 <jrandom> w3wt 17:29 <vulpine> <Complication> К теме ??? могу добавить, что вторая (более масштабная) часть модификаций NTP близка к рабочему состоянию, надеюсь, скоро закоммичу для тестирования 17:29 * cervantes берёт щепотку соли 17:29 <kostya213> каковы ближайшие планы по развитию router? дорожная карта актуальна? 17:29 <jrandom> круто, Complication 17:29 <vulpine> <Complication> Цель — перепроверять серверы NTP, основываясь на смещениях часов пиров 17:29 <jrandom> kostya213: стабилизация до выхода Syndie 17:30 <jrandom> (с моей точки зрения) 17:30 <vulpine> <Complication> (и избегать действий, потенциально вредящих связности) 17:31 <cervantes> отлично 17:32 <jrandom> ок, ещё что-то для встречи? 17:34 * jrandom сворачивает 17:34 * jrandom *baf* закрывает встречу