Краткое резюме
Присутствовали: beefbroth, CCD, ChZEROHag, co, dcat, dm, godmode0, jrand0m, mihi, mihi_backup, mrflibble, Myself248, myself248, nop, pitu, Ryan_Singer, shardy, thecrypto, UserX, yodel
Журнал встреч
[22:56] ок ок [22:56] повестка [22:56] 0.0) добро пожаловать [22:56] 1.0) статус разработки [22:56] 1.1) router [22:56] *** Myself248 (~ident@anon.iip) присоединился к каналу #iip-dev [22:56] 1.2) DH precalc [22:56] 2.0) микродорожная карта [22:56] 3.0) приложения / использование [22:56] 4.0) ns [22:56] 5.0) IM [22:56] 6.0) административка (cvs, bugzilla, cvs list, cvs web) [22:56] 7.0) вопросы [22:57] (да, сегодня 7 пунктов. w00t) [22:57] 0.0) добро пожаловать [22:57] привет. [22:57] хей [22:57] сегодня 17 пользователей. круто [22:57] *** Ryan_Singer (chatzilla@anon.iip) присоединился к каналу #iip-dev [22:57] и растёт [22:57] ок [22:57] 1~hi [22:57] 1.1) статус разработки для router [22:58] Java reference impl router чувствует себя очень хорошо [22:58] *** ChZEROHag (hag@anon.iip) присоединился к каналу #iip-dev [22:58] теперь мы можем запускать приложения на разных router и отправлять сообщения друг другу [22:59] Извините, что прерываю, надеюсь, это будет один раз [22:59] идя итеративно и поэтапно, текущее состояние: безопасно, не анонимно, не масштабируется и поддаётся сбору (harvestable) [22:59] Кто-нибудь ещё работает над C api? [22:59] ку ChZEROHag, как дела? [22:59] Потому что я да, но очень медленно [22:59] *** dcat (dirtycat@anon.iip) присоединился к каналу #iip-dev [22:59] о, круто [22:59] shardy будет работать над этим после toorcon [22:59] может, вы вдвоём могли бы вместе заняться этим? [23:00] jrand0m: Можно ли вручную ввести destination, чтобы отправлять сообщения? [23:00] Точнее, есть ли ASCII-представление destination? [23:00] да, co, и то, и другое [23:00] Отлично. [23:00] destinations и все структуры I2P можно загружать и сериализовать в (альтернативном алфавите) base 64 [23:01] то есть это будет сложно запомнить, но это будет ascii? [23:01] (например, в netDb одного из моих router у меня есть leaseSet-enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8.dat, который содержит lease set для destination enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8) [23:02] [хотя это H(destination).toBase64() [23:03] ChZEROHag> если мы можем чем-то помочь тебе с этим, просто скажи слово [23:03] ок, это 1.1. 1.2) DH precalc [23:03] Можете сделать это за меня? :-) [23:04] прошлой ночью я сделал оптимизацию предварительных вычислений для DH-обменов, чтобы сэкономить ~1 с из 1.5 с на согласования сессии. Было бы здорово, если бы кто-то, кто знает крипту, убедился, что я не свихнулся ;) [23:04] лол ChZEROHag [23:04] аа, вспомнил что мне нужно [23:04] Реализация netdb [23:04] это в cvs? [23:04] dh [23:04] да, thecrypto [23:05] C:\dev\i2p\code\core\java\src\net\invisiblenet\i2p\crypto\DHSessionKeyBuilder.java [23:05] Ну, я буду не спать ещё часов 3/4, может, будет чем заняться [23:05] эм, s/C:\\dev/g; s/\\/\//g [23:05] *** wax_off (~nomail@anon.iip) присоединился к каналу #iip-dev [23:06] ок. зачем тебе реализация netdb? [23:06] Не помню [23:06] сейчас у нас в cvs есть не масштабируемый netdb [23:06] хех [23:06] Неделю как не трогал [23:06] ты работаешь над C I2CP api, верно? а не I2NP? [23:07] Я собирался сделать всё [23:07] *** wax_off вышел из #iip-dev [23:07] I2NP реально, реально, реально значительно больше работы, чем I2CP [23:07] Как только я нормально начну, всё покатится [23:07] но если ты реализуешь I2NP на C — это будет круто [23:07] есть ли I2NP хоть где-то сейчас? [23:07] (I2CP:I2NP::FCP:FNP) [23:07] да, dm [23:08] * ChZEROHag разворачивает emacs [23:08] в Java-реализации, над которой я работаю, I2NP работает [23:08] ясно... [23:08] jrand0m: url? Мне бы пригодилась референсная реализация, даже если это на ужасном языке. [23:08] хех [23:08] эм, вообще-то это 6.0 administravia: где же, чёрт побери, наш анонимный доступ к cvs ;) [23:09] я забираю DH-штучки [23:09] ок [23:09] А точно [23:09] jrand0m, возвращаясь к плану, микродорожная карта? [23:09] * thecrypto прячет лицо [23:09] ну, я подожду :) [23:09] хех ок [23:09] микродорожная карта [23:09] у меня расписаны 0.1 до 0.5 [23:09] следовал дорожной карте freenet? [23:10] *** mrflibble (mrflibble@anon.iip) присоединился к каналу #iip-dev [23:10] 0.1) функционально, безопасно, не анонимно, не масштабируется, поддаётся сбору [23:10] разработка замедляется и замирает на 0.5... [23:10] сейчас мы на 0.1. [23:10] хех, я заметил, dm, flinks тоже свернул на 0.5.2 ;) [23:10] Как ты называешь весь пакет? [23:10] (странное совпадение) [23:10] то есть версия 0.1 чего? [23:10] весь пакет? i2p router reference implementation [23:10] co: Wonga [23:10] * beefbroth присоединяется к встрече [23:11] buenos noches, beefbroth [23:11] Ладно. Это объясняет. [23:11] Вообще, может, я так и назову. Точно звучит интереснее, чем 'i2pd' [23:11] у 0.1 есть баги. само собой. и нет заметных оптимизаций (хотя DH precalc помогает). [23:11] хех [23:11] jrand0m, а что такое 0.2)? [23:11] invisible internet police department [23:11] ок, 0.2 [23:12] 0.2 — функционально, безопасно, анонимно, не масштабируется, поддаётся сбору [23:12] 0.2 добавляет поддержку туннелей ненулевой длины [23:12] я на самом деле реализовал большую часть прошлой ночью, но не тщательно протестировал [23:12] думаю, 0.2 будет готов к концу недели [23:12] насколько это далеко с точки зрения разработки? [23:13] отлично [23:13] 0.3) — функционально, безопасно, анонимно, масштабируемо, поддаётся сбору [23:13] * thecrypto берёт bochs, чтобы симулировать сеть и помочь с этим [23:13] 0.3 добавляет kademliaDatabaseManager [23:13] сейчас мы используем BroadcastDatabaseManager [23:13] (aka gnunet ;) [23:14] тривиально реализуется и работает для маленьких сетей, но нам нужна Kademlia для масштабирования [23:14] 0.4) — функционально, безопасно, анонимно, масштабируемо, не поддаётся сбору [23:14] это добавляет доверенные связи [23:14] jrand0m, и насколько сложно реализовать Kademlia? [23:14] у меня две идеи для доверенных связей... одна легче реализуется и использоваться [23:15] Kademlia, вероятно, займёт целую неделю [23:15] (чтобы сделать правильно) [23:15] учтите, во всём этом много места для рефакторинга и тюнинга. Я целюсь сначала в функциональность, потом тюним. [23:16] Ты уверен, что сможешь так быстро разработать и протестировать? [23:16] я ни в чём не уверен [23:16] это лишь моя оценка [23:16] co, он делает функционал, мы тестим [23:16] Ты уверен? [23:16] (сорри) [23:16] Ryan_Singer: Понял. [23:17] * jrand0m <3 тех, кто тестит :) [23:17] Когда ты говоришь "мы" тестим. Есть ли место для не-кодеров помочь с тестированием? [23:17] Myself248> наверное, не раньше 0.4 [23:17] будем надеяться, что не дойдёт до того, что всё функционально, но никто не понимает, что, чёрт возьми, происходит внутри сети, чтобы она работала хорошо (см. freenet) [23:18] когда 0.4 будет готова — это пре-альфа. Затем я буду тюнить, рефакторить и закрывать пробелы, чтобы подготовиться к 0.5 (альфа) [23:18] Документировать, документировать, документировать. [23:18] думаете о активном мониторинге внутренностей сети или там всё просто? [23:18] да, dm, обязательно [23:18] один из ключевых элементов i2np — включение статистики в routerInfo структуры, которые публикуются [23:18] jrand0m: сделай s/0./0.0./ ;) [23:18] в начальных ревизиях будут публиковаться реальные статистики, чтобы мы могли тюнить [23:19] в более поздних ревизиях либо вообще не будет статистики, либо будут фейковые [23:19] * jrand0m не делает 0.0 [23:19] ок, я здесь [23:19] с возвращением, shardy [23:19] извиняюсь за задержку, забыл про это окно, хех [23:19] круто. [23:19] есть ли документ повыше уровнем, описывающий архитектуру сети до .4? [23:19] снеси ему голову [23:20] Ryan_Singer> хмм, у меня были обзорные доки пару месяцев назад, mids и nop зеркалили, и есть i2p overview doc [23:20] 0.4 — это полный i2np, как в спеках, просто не оптимально реализованный [23:20] о, и jrand0m, я проверю для тебя оптимизацию DH [23:20] ок, gracias [23:20] можно получить те доки? [23:21] обзор здесь: (Link: http://www.invisiblenet.net/i2p/i2p_philosophy.pdf)http://www.invisiblenet.net/i2p/i2p_philosophy.pdf [23:21] они на вики, думаю? [23:21] старые обзорные доки... хмм [23:21] (спеки i2p здесь: (Link: http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs)http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs) [23:21] Они на (Link: www.invisiblenet.net/i2p/.)www.invisiblenet.net/i2p/. [23:21] верно, beefbroth [23:22] хотя есть старые html-доки с уродливыми картинками из ms paint, показывающими как работают tunnels... [23:22] Должен знать — я их достаточно раз читал [23:22] хехе [23:22] Если только это не более старые версии или зеркала. [23:22] те файлы на вики — 0.9 (0.9.1 вышла для I2NP и структур данных, но изменения небольшие) [23:23] jrand0m: предвычисления выглядят хорошо [23:23] круто [23:24] *** pitu (~pitu@anon.iip) присоединился к каналу #iip-dev [23:24] * jrand0m запускает router с java -Dcrypto.dh.precalc.min=3 -Dcrypto.dh.precalc.max=10 -Dcrypto.dh.precalc.delay=5000 -jar C:\dev\i2p\code\router\java\src\router.jar [23:25] ок, это микродорожная карта [23:25] как видите, я признаю, что альфа не будет готова к концу месяца. 0.4, вероятно, в первую неделю октября [23:26] это ок, даже так это будет самая быстрая реализация сети такого типа ;) [23:26] лол [23:26] читая оценки времени jrand0m, помните, что он последние 4 часа пил виски :-P [23:26] хех [23:26] ок...приложения/использование? [23:26] хорошее виски, кстати ;) [23:26] ок, приложения/использование [23:27] 0.7 за 4 секунды....3...2...1..!! [23:27] я целюсь в «низко висящие фрукты» — это то, что можем сделать с нулём или минимумом нового кода. [23:27] Как можно нормально кодить, если ты трезв как стекло? [23:27] всё это сильно использует офигенный i2ptunnel от mihi [23:27] ChZEROHag: Легко. [23:27] *** mihi изменил тему канала #iip-dev на 0.7 in 4 seconds....3...2...1..!! [23:28] используя i2ptunnel, мы можем сделать следующее без нового кода: [23:28] публичный ww proxy (i2ptunnel + squid) [23:28] * dm снимает шляпу перед mihi. [23:28] JAP (i2ptunnel + JAP) [23:28] через i2p нельзя пинать задницы (не через tunnel тоже...) [23:28] анонимный просмотр www (i2ptunnel + веб-браузер) [23:28] запустить i2p веб-сервер (i2ptunnel + httpd) [23:29] Очень здорово. Браво, mihi. [23:29] cvs outproxy (i2ptunnel) [например, cvs outproxy на sourceforge для анонимных freenet dev] [23:29] cvs клиент, cvs сервер [23:29] IM-приложение, pop3 сервер, imap сервер, opennap [23:29] это всё очень «низко висящие фрукты» [23:29] ладно, теперь нам нужен i2p :) [23:30] ага ;) [23:30] разве i2p webserver не вытеснит freenet? :) [23:30] * jrand0m думает, это тянет на FAQ, который стоит ответить [23:30] jrand0m, но они также очень ценны [23:30] Из списка я бы считал cvs более важным/полезным [23:30] Частично потому что я хочу оставаться анонимным, но ещё потому что если будет анонимный www, придут лузеры [23:30] i2p + web не вытесняет freenet — freenet добавляет значительную ценность поверх анонимной коммуникационной основы — распространение контента [23:31] И сейчас идея анонимной почты пугает :) [23:31] * dm записывает: "никаких лузеров" [23:31] cvs однозначно в топ-3 [23:31] я думаю, если i2p webserving хорошо заработает, стоит рассмотреть объединение DHT/хранилища freenet поверх i2p — и получим лучшее из обоих миров. [23:31] ChZEROHag, если это масштабируемо — это хорошо [23:31] dm: лузеры — проблема только на ранних стадиях, но они, как правило, не пользуются cvs [23:31] ок, добавьте много hashcash в любую анонимную почту. [23:31] Или даже не знают что это и что это вообще [23:31] Думаю, нужен один из тестов — имитационная атака на сеть. [23:31] да, beefbroth, когда i2p сделает то, к чему мы стремимся, freenet, скорее всего, адаптируется, чтобы использовать это [23:32] Извините, если оффтопик. [23:32] Myself248: просто добавьте редиректор на анонимный ремейлер. [23:32] нет, это точно по теме, co — атаковать эту сеть важно [23:32] Myself248: hashcash прежде всего, чтобы остановить флуд, пока мы вынуждены использовать древний протокол под названием 'irc' [23:32] Не чтобы остановить то, что можно назвать 'абьюзом' [23:32] верно, mihi. хотя, возможно, mixminion поверх i2p был бы полезен [23:33] да, hashcash встроен в i2p, чтобы сообщения не доставлялись одним хопом, если они не "заплатят" [23:33] jrand0m, мы можем легко гонять imap поверх этого? [23:33] абсолютно [23:33] впечатляет [23:33] imapd с i2ptunnel, направленным на него, и i2ptunnel на клиенте, направленным на destination того туннеля [23:34] и поисковики freenet :) [23:34] ftp или несколько не-jabber мессенджеров создадут проблемы... [23:34] верно, вещи, требующие двух соединений, сложнее [23:34] jrand0m: hashcash в i2p? [23:34] Я тебя после этого поспрашиваю. [23:34] hashcash в i2p? круто. [23:34] забегаем вперёд! да и ладно, кому какая разница.. QUAKE + IIP!!!!!! [23:34] ой, I2p :) [23:34] лол dm [23:35] Те из нас с маленькими CPU нервничают, когда слышат hashcash, но как антиспам меру я понимаю. [23:35] dm: Это *очень* забегание вперёд. [23:35] * mihi — jabber:schierlm@a-message.de ;) [23:35] да, ChZEROHag — Destination == public signing key (DSA) + public encryption key (ElGamal) + certificate (either null or hashcash(keys)) [23:35] i2p tunnel на клиенте статический или динамический? [23:35] beefbroth: сейчас всё статично. но можно использовать socks прокси как dest. ;) [23:35] Myself248> мне пришлют бомбический sun ultra1 через пару недель. если 160МГц бокс справится, все справятся [23:35] ну, hashcash не должен быть тяжёлым даже для маленьких cpu. Только если хочешь сделать это сто тыщ миллионов раз, заметишь. [23:36] beefbroth: Он может быть динамическим. [23:36] потенциальные приложения из этих «низко висящих фруктов» очень впечатляют [23:36] верно, mihi [23:36] "eleventy". хех [23:36] «низко висящие фрукты» — по сути «нормальные» интернет-приложения, но анонимно [23:36] так? [23:36] так [23:36] да [23:36] (quake) [23:37] 0.1 запускает их безопасно, 0.2 — анонимно, 0.3 — масштабируемо, 0.4 — не поддаётся сбору [23:37] (сейчас мы на 0.1) [23:37] что значит «не поддаётся сбору»? [23:37] Простите, что такое «поддаётся сбору» ещё раз? [23:37] dm: К сожалению, нас достаточно удерживали, что realtime спустя более 30 лет всё ещё не «нормален» [23:37] Фух. Я надеялся, что кто-то спросит. ;) [23:37] логируемый [23:37] «harvesting» означает, что активный атакующий может запустить router, узнать о множестве других router («собрать» их) и прислать людей выбивать им двери [23:38] о, как можно делать с gnutella. :) [23:38] типа «секретные службы» [23:38] верно [23:39] а, понял. [23:39] ок, но да, это микродорожная карта. [23:40] а теперь, глупо ли, что я называю это 0.x вместо 0.0.x? должна ли 1.0 быть «идеальной» или 1.0 должна быть функциональной и безопасной? [23:40] jrand0m, а .4 мы увидим когда? [23:40] 0.4, вероятно, через 2 недели [23:40] * jrand0m берёт неделю отпуска (примерно) в середине октября — ко мне приезжают люди [23:40] *** Signoff: dm (EOF From client) [23:40]