快速回顾
出席: 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 预计算 [22:56] 2.0) 微路线图 [22:56] 3.0) 应用 / 用途 [22:56] 4.0) ns [22:56] 5.0) IM [22:56] 6.0) administravia(cvs、bugzilla、cvs 列表、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 参考实现的 router 进展很顺利 [22:58] *** ChZEROHag (hag@anon.iip) 加入了频道 #iip-dev [22:58] 我们现在可以在不同的 routers 上运行应用并相互发送消息了 [22:59] 抱歉打断一下,希望只这一次 [22:59] 采用迭代增量式的方法,目前状态是安全,但不匿名,不可扩展,且可被收集 [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] 更准确地说,有没有 destination 的 ASCII 表示? [23:00] 是的 co,两者都是 [23:00] 太好了。 [23:00] destinations,以及所有 I2P 结构,都可以用(另一种字母表的)base 64 加载和序列化 [23:01] 所以不容易记,但会是 ascii? [23:01] (例如在我某个 router 的 netDb 里,我有 leaseSet-enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8.dat,它包含 destination enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8 的 lease set) [23:02] [不过那是 H(destination).toBase64() [23:03] ChZEROHag> 如果我们能帮你点什么,尽管开口 [23:03] 好,这就是 1.1。1.2) DH 预计算 [23:03] 你可以帮我做完它?:-) [23:04] 昨晚我写了个 DH 交换的预计算优化,能把 1.5 秒的会话协商省掉约 1 秒。如果有懂密码学的能确认我没疯就太好了 ;) [23:04] lol 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] 但如果你在 C 里实现一个 I2NP,那就太棒了 [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,回到日程,microroadmap? [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 参考实现 [23:10] co:Wonga [23:10] * beefbroth 加入了会议 [23:11] 晚上好 beefbroth [23:11] 好的。这样就解释得通了。 [23:11] 其实我也许会这么叫。肯定比“i2pd”有趣 [23:11] 0.1 有 bug,这是肯定的。也没有什么显著优化(不过 DH 预计算有帮助)。 [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 增加对非零长度 tunnels 的支持 [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] (也就是 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 准备好后,那就是预览-Alpha。一旦到 0.4 我会调优、重构、补空白,为 0.5(Alpha)做准备 [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 概览文档 [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] 我记得它们在 wiki 上? [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 文档,配了丑丑的画图图片,展示 tunnels 怎么工作…… [23:22] 我应该知道,我看了很多遍 [23:22] 呵呵 [23:22] 除非那些是老版本或镜像。 [23:22] wiki 上那些文件是 0.9(I2NP 和数据结构已有 0.9.1,但只是小改动) [23:23] jrand0m:预计算看起来不错 [23:23] 酷 [23:24] *** pitu (~pitu@anon.iip) 加入了频道 #iip-dev [23:24] * jrand0m 用 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 运行 router [23:25] 好,这就是微路线图 [23:25] 如你所见,我接受 Alpha 月底前不会准备好。0.4 可能是十月第一周 [23:26] 没关系,即便那样也会是此类网络史上最快的实现 ;) [23:26] lol [23:26] 看 jrand0m 的时间预估时,请记住他过去 4 小时一直在喝威士忌 :-P [23:26] 呵 [23:26] 好吧……apps/usage? [23:26] 还是好威士忌 ;) [23:26] 好的,apps/usage [23:27] 4 秒到 0.7……3……2……1..!! [23:27] 我瞄准好上手的——这些我们可以零代码或最少新代码完成。 [23:27] 你清醒着怎么可能好好写代码? [23:27] 这些都大量用到 mihi 的牛逼 i2ptunnel [23:27] ChZEROHag:很容易。 [23:27] *** mihi 把频道 #iip-dev 的主题改为 4 秒到 0.7....3...2...1..!! [23:28] 用 i2ptunnel,我们可以不写新代码做这些: [23:28] 公共 ww 代理(使用 i2ptunnel + squid) [23:28] * dm 向 mihi 致意。 [23:28] JAP(使用 i2ptunnel + JAP) [23:28] 你不能通过 i2p 踢屁股(通过 tunnel 也不行……) [23:28] 匿名浏览 www(i2ptunnel + 浏览器) [23:28] 运行 i2p web 服务器(i2ptunnel + httpd) [23:29] 非常棒。好极了,mihi。 [23:29] cvs 出口代理(i2ptunnel)(例如到 sourceforge 的 cvs 出口代理,用于匿名 freenet 开发) [23:29] cvs 客户端,cvs 服务器 [23:29] IM 应用、pop3 服务器、imap 服务器、opennap [23:29] 这些都是真正的“低垂果实” [23:29] 好的,现在我们只需要 i2p :) [23:30] 对 ;) [23:30] i2p web 服务器不会有点取代 freenet 吗?:) [23:30] * jrand0m 觉得这算个常见问题我应该回答 [23:30] jrand0m,但它们也很有价值 [23:30] 在这列表里,我觉得 cvs 更重要/有用 [23:30] 一方面我想保持匿名,另一方面如果提供匿名 www,就会有小白涌来 [23:30] i2p + web 不会取代 Freenet——Freenet 在匿名通信框架之上增加了重要价值——内容分发 [23:31] 目前匿名邮件这个想法有点吓人 :) [23:31] * dm 记下:“拒绝小白” [23:31] cvs 肯定在前三 [23:31] 我觉得如果 i2p web 服务效果好,你得考虑把 Freenet 的 DHT/存储部分融合到 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] 对,或许在 i2p 上跑 mixminion 会有用 [23:33] 对,hashcash 甚至内置在 i2p 自身里,防止消息不“付费”就只走一跳投递 [23:33] jrand0m,我们能很容易在这上面跑 imap 吗? [23:33] 绝对可以 [23:33] 令人印象深刻 [23:33] 一个 i2ptunnel 指向 imapd,客户端的 i2ptunnel 再指向那个 tunnel 的 destination [23:34] 还有 Freenet 搜索引擎 :) [23:34] ftp 或若干非 jabber 的即时通讯会有问题…… [23:34] 对,需要两条连接的更复杂 [23:34] jrand0m:i2p 里有 hashcash? [23:34] 这会后我来缠你。 [23:34] i2p 里有 hashcash?不错。 [23:34] 我们跑太前面了!哦好吧,谁在乎……QUAKE + IIP!!!!!! [23:34] 抱歉,是 I2p :) [23:34] lol dm [23:35] 我们这些小 CPU 的一听 hashcash 就紧张,但作为反垃圾措施我理解。 [23:35] dm:那就真是太太太超前了。 [23:35] * mihi 是 jabber:schierlm@a-message.de ;) [23:35] 是的 ChZEROHag——Destination == 公钥签名密钥(DSA)+ 公钥加密密钥(ElGamal)+ 证书(要么为空要么是 hashcash(keys)) [23:35] i2p tunnel 在客户端是静态还是动态的? [23:35] beefbroth:目前都是静态的。但你可以用 socks 代理作为目标。;) [23:35] Myself248> 我过几周会收到一台很牛的 sun ultra1。如果 160MHz 的机器都能跑,大家都能跑 [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:不幸的是,我们已经被拖累到实时通讯在 30 多年后仍不“正常” [23:37] 呼。我就希望有人问这个。;) [23:37] 可被记录 [23:37] “收集”是指一个主动攻击者可以运行一个 router,发现很多其他 routers(“收集”它们),然后派人去砸他们的门 [23:38] 哦,比如你能在 gnutella 上做到的那样。:) [23:38] 像特务那样的打手 [23:38] 没错 [23:39] 啊,明白了。 [23:39] 好的,总之,这就是微路线图。 [23:40] 现在,我把这些叫 0.x 而不是 0.0.x 蠢吗?1.0 应该是“完美”还是应该是可用且安全? [23:40] jrand0m,那我们啥时候能看到 .4? [23:40] 0.4 大概还有两周 [23:40] * jrand0m 十月中旬会休(大概)一周,因为有人来访 [23:40] *** Signoff: dm (客户端发来 EOF) [23:40]