快速回顾

出席: cat-a-puss, cervantes, Connelly, deer, duck, jrandom, mihi, modulus

会议记录

14:05 <jrandom> 0) 嗨 14:05 <jrandom> 1) 0.3.2.3、0.3.3,以及路线图 14:05 <jrandom> 2) s/reliability/capacity/g 14:05 <jrandom> 3) 网站更新 14:05 <jrandom> 4) 攻击与防御 14:05 <jrandom> 5) ??? 14:05 <jrandom> 0) 嗨 14:05 * jrandom 挥手 14:05 <jrandom> 每周状态说明已发布于 @ http://dev.i2p.net/pipermail/i2p/2004-July/000358.html 14:06 <jrandom> 直接进入 1) 0.3.2.3、0.3.3,以及路线图 14:07 <jrandom> (我假设大家会先读一下;) 14:07 <jrandom> 0.3.2.3 版本已经发布,运行情况不错 14:07 <jrandom> 大家遇到的主要痛点是什么? 14:08 <deer> <Nightblade> 一点问题都没有 14:08 <deer> <duck> 连续 4 天在线,没有问题 14:08 <jrandom> 嗯,没错 14:08 <deer> <duck> 对某些人来说,IRC 似乎不太稳定 14:08 <deer> <duck> 比如 kaji 几乎每分钟被踢一次 14:08 <deer> <duck> 不过这不是什么新情况 14:09 <jrandom> 是啊,他在 freenode 网络上也会这样,所以不确定该怪谁 14:09 <deer> <duck> 是的 14:09 <deer> <duck> 据我所知,connelly 有一些下载失败 14:10 <deer> <duck> 但你听不到我抱怨 14:10 <jrandom> 啊真的? 嗯,我想我们发现其中一些与他的库有关,但我在较大的文件传输上也偶尔遇到失败 14:10 <jrandom> 尤其是从 alexandria 下载书的时候 14:10 <jrandom> (呃,也不算“尤其”,只是那是我唯一会“吸”资源的站点) 14:11 <deer> <duck> :) 14:11 <jrandom> 好的,我的计划是,一旦 0.3.3 发布,我会把精力放在把我们推进到 0.4,同时处理大家提到的任何 bug 修复 14:12 <jrandom> 0.4 剩下的工作主要是一些简单的 Web 相关内容(带有 servlets 的新 router 控制台、与 Jetty 集成、一个用于控制 router 的 servlet、以及一个用于配置 i2ptunnel 实例的 servlet) 14:13 <jrandom> 也许有些 JSP/Servlet 同学可以参与这些工作,借此先熟悉代码;不过这些我之前做过不少,实现起来不难 14:13 <jrandom> 据我所知,hypercubus 的安装器基本可以用了 14:13 <jrandom> (虽然我今天又给他加了一些新活;) 14:13 <deer> <duck> featurecreep++ 14:14 <jrandom> 让大家时刻保持警觉 :) 14:14 <jrandom> (不过拜托,大家都讨厌升级时要分别下载所有 jar) 14:14 <deer> <duck> 是的,这是我升级时最大的麻烦 14:14 <deer> <duck> (虽然我用 cvs) 14:14 <deer> <duck> 但如果不用,那就更麻烦了 14:15 <jrandom> 呵呵 14:15 <mihi> jrandom:把它们都打个 tar -> 1 次下载 ;) 14:15 <jrandom> 这相当简单,而且让 updgrade.sh/upgrade.bat == jar xf upgrade.jar 14:16 <jrandom> (在一次类似 wget 的调用之后) 14:16 <jrandom> 嗯,我觉得 hypercubus 已经掌控了实现这些功能的代码,所以我们就交给他去做正确的事吧 14:17 <jrandom> 总之,正如大家可能注意到的,我们的进度表和之前不太一样了 14:17 <jrandom> 路线图已更新并被拉~~~长~~~了 14:18 <mihi> jjrraannddoomm:: cchheecckk yyoouurr dduupplleexx sswwiittcchh 14:18 <deer> <Nightblade> 哈 14:18 <jrandom> 呵呵 14:18 * mihi 犯了个错……谁先发现? 14:19 <jrandom> (\n\n) 14:19 <jrandom> 总之 14:19 <mihi> 好吧,再来一个 ;) 14:19 <duck> (不要双空格) 14:19 <mihi> duck++ 14:20 <jrandom> 我确实认为现在的路线图至少到 1.0 发布为止都相当现实,不过根据用户采用情况和反馈,我们可能会调整顺序,甚至砍掉 0.4.2 或 0.4.3 之一 14:20 <jrandom> (当然,一如既往,如果有更多人参与,路线图也可能会再变动 :)) 14:21 <modulus> 也许哪天我学会了 Java 就会参与,但 i2p 听起来并不是新手能做的项目。 14:21 <deer> <Sandworm> 是啊,那会更久 :) 14:21 <deer> * duck 预计后面还会有一些延期 14:21 <modulus> :-) 14:22 <deer> * duck 都不好意思称之为延期了,看看 http://www.i2p.net/redesign/announcements 上那张令人印象深刻的表 14:22 <jrandom> 当然可能会延期,但我觉得剩下的里程碑都挺可做的 14:22 <jrandom> 是啊,谢谢你证明我没有生活,duck ;) 14:22 <deer> <duck> 这就是你的生活 14:22 <modulus> 那么,1.0 什么时候发布? :-) 14:22 <deer> <duck> 为此自豪吧 14:23 <jrandom> modulus:虽然 i2p 的某些部分很棘手,但也有很多模块新开发者可以比较容易地上手 14:23 <modulus> 不过大概都是比较无聊的部分吧? 14:24 <jrandom> 不,一点也不。例如,做一个很酷的匿名文件传输或聊天应用、一个迷你 Web 服务器、一个 MUD、一个象棋应用,等等 14:24 <duck> (网站更新) 14:24 <modulus> 嗯,听起来很酷。 14:24 <jrandom> (也就是可以匿名的简单客户端应用) 14:24 <jrandom> 当然还有网站更新 ;) 14:25 <modulus> 这个“网站更新”的事是啥? 14:25 <jrandom> 我们的网站需要改进(参见 http://dev.i2p.net/pipermail/i2p/2004-July/000358.html,或者等几分钟到议题 3) 14:25 <cat-a-puss> myi2p 在这些里面处于什么位置? 14:25 <modulus> 啊哈 14:26 <jrandom> cat-a-puss: http://www.i2p.net/redesign/myi2p :) 14:26 <modulus> 我看 myi2p 现在不是优先级…… 14:26 <jrandom> (我几个小时前刚写了一页简要说明) 14:27 <jrandom> 顺便说一下,网站更新都会发到 i2pwww 邮件列表(http://dev.i2p.net/pipermail/i2pwww/2004-July/thread.html) 14:28 <modulus> 嗯,我可以写一个全局命名应用 :-) 14:28 <jrandom> 不过我仍然认为 myi2p 的实现(至少基础通讯录和博客)会在 1.0 发布时完成 14:28 <jrandom> (根据路线图,计划在 11 月) 14:28 <jrandom> 是的,你当然可以 14:28 <modulus> 比 DNS 更简单的东西,带有认证和 TLD 的委派 14:28 <jrandom> 有这个也不坏——一个可以查询中心名称服务器的简单应用就很好 14:29 <modulus> 是的 14:29 <jrandom> 那就开写吧 :) 14:29 <modulus> 我明天开始。如果我在忙别的,就鞭策我 ;-) 14:29 <jrandom> 呵呵,酷,会的 14:29 <jrandom> 好的,进入 2) s/reliability/capacity/g 14:29 <duck> 关于网站有个小问题: 14:29 <duck> 哦等下 14:29 <duck> 那是第 3 项 14:29 <duck> 抱歉 14:29 <jrandom> 好的,什么事? 14:30 <jrandom> 啊,OK 14:30 <jrandom> 在 0.3.3 版本中,peer 画像与选择代码将有相当基础性的改动,如邮件和 http://www.i2p.net/redesign/how_peerselection 所述 14:31 <jrandom> 我目前让它在一对 router 上运行,表现相当不错(Speed: 25.18(5 个快速对等体) Capacity: 17.50(8 个高容量对等体) Integration: 37.00(2 个集成良好的对等体)) 14:31 <jrandom> 而且不再出现负值 :) 14:31 <modulus> :) 14:32 <jrandom> 我还会再多测试一下,可能再过一两天,就把它作为 0.3.3 发布出去 14:32 <cat-a-puss> d 14:32 <cat-a-puss> <modulus> 14:32 <cat-a-puss> 哎呀 14:33 <duck> 你的意思是不要更新 cvs? 14:33 <cat-a-puss> 做 DNS 的可以看看 http://www.levien.com/thesis/compact.pdf 的缓存 14:33 <jrandom> 不,cvs 目前相当稳定 14:33 <jrandom> (但一如既往,若遇到状况,请准备好回退) 14:35 <jrandom> 看起来很酷,cat-a-puss,谢谢 14:35 <cat-a-puss> (如果有人要,我有原始版本的副本) 14:36 <jrandom> Google 的缓存把图片搞得有点乱,如果你有原始 PDF 就太好了 14:36 <jrandom> 总之,我们现在有点偏题了(不过可以再回头聊) 14:37 <jrandom> 关于 reliability/capacity 的切换大概就这些了,转到 3) 网站更新 14:37 <jrandom> duck:你刚才有什么要提的吗? 14:38 <jrandom> 在 duck 准备笔记的时候,大家对邮件里列的那些事项有什么想法/建议/担忧吗? 14:39 <deer> <Nightblade> 网站看起来不错 14:39 <jrandom> 是的,我喜欢新的导航,站点布局很清爽 14:40 <deer> <Nightblade> 更容易找到内容 14:40 <cervantes> 找东西 _容易多了_ 14:40 <duck> 首先我要感谢我们的用户倡导者 protocol,已经开始发挥作用了 :) 14:40 <jrandom> 呵呵 14:40 <duck> 他提了一些很好的建议,而且他才刚开始 14:40 <cervantes> 三声欢呼! 14:40 <jrandom> (说得好!) 14:41 <duck> 接下来我觉得几乎没有理由不把新版站点真正上线了 14:42 <jrandom> 同意——也许我们可以把 news/development/documentation 标记为非页面导航项,暂时先去掉 JVM 和配置微调,然后给 I2PTunnel 页面准备些基础内容,我觉得就可以部署了 14:42 <jrandom> 我只是希望上线时所有链接都可用(以及所有不工作的页面) 14:43 <jrandom> 上线后当然还会继续更新 ;) 14:43 <jrandom> 呃,live 14:44 <jrandom> 顺便说一下,wilde 也把我们的 34sp 账号接好了,因此有需要时我们可以把站点迁过去 14:44 <cervantes> 酷 14:44 <jrandom> 你怎么看 duck? menu.php 这个小东西能处理非页面导航条目吗? 14:44 * cervantes 查看收件箱里有没有推荐积分 14:45 <jrandom> (或者要改的话会很费劲吗?) 14:45 <jrandom> 呵呵,cervantes,那应该在路上了 14:45 <cervantes> ;-) 14:45 <cervantes> 啊,老掉牙的“支票已经寄出了”的招数 14:47 <duck> 抱歉;同时在做些别的工作。 14:47 <duck> 好的;可以把它做成仅作为导航分区标题 14:47 <jrandom> 没问题,如果你愿意,我们可以先往下走,稍后再回来 14:47 <jrandom> 好,太棒了 14:47 <jrandom> (duck++) 14:48 <jrandom> 好,还有其他与网站相关的事吗? 14:48 <duck> 按你的建议,听起来可以上线了。 14:48 <jrandom> 如果没有,我们可以进入 4) 攻击与防御 14:48 <duck> . 14:48 <jrandom> 好 14:49 <jrandom> 好,我假设大家都看了邮件列表上 connelly 的帖子和各种回复 14:50 <cervantes> 他一直很忙 :) 14:50 <cervantes> (几乎和 proto 一样忙) 14:50 <Connelly> 在我看来,这个网络除了流量分析(高流量站点)、政府的断连攻击,以及攻击者控制网络的大多数节点这几种情况外,看起来都很稳固 14:50 <jrandom> 虽然我认为我们状态不错,但我肯定还有我们遗漏的地方,所以请不要假设 i2p 现在或将来一定如我们所说那样工作——质疑这些假设,并指出它哪里糟糕 14:50 <Connelly> 加密基本能让任何非激进的攻击无从下手 14:51 <jrandom> 我们也是这么期望的 14:51 <jrandom> 此外,随着 i2p 2.0 和 3.0 的能力,对于政府级对手的攻击也可以进行防御 14:51 <Connelly> 当然在实践中还会有需要修补的安全漏洞 14:52 * jrandom 还需要写些文档,说明 3.0 的延迟将如何防止分段攻击 14:52 <jrandom> 确实如此,connelly 14:54 <jrandom> 好,如果这方面没别的了,我这边就这些 14:54 <jrandom> 那么 5) ??? 14:55 <jrandom> 哦,另外,我为其中一个模拟在 4 天期间绘制了带宽使用量与参与的 tunnel 数的关系图 14:55 <jrandom> 已发布在 @ http://dev.i2p.net/~jrandom/4daybandwidth.webp 14:56 <jrandom> 该模拟中每 30 秒往返发送 32KB 的消息,有两个 router 限速为 6KBps,一切表现完全符合“预期” 14:56 <duck> (站点已实现 nolink 属性) 14:56 <jrandom> (例如,负载分布在快速且可靠的对等体上,避免慢的对等体,等等) 14:56 <jrandom> w00t 14:56 <Connelly> 一张带对数坐标的“每用户带宽 vs 网络规模”的图会很好 14:57 <Connelly> 这样你就可以说‘是的,它确实可扩展’ 14:58 <jrandom> 那甚至不需要对数坐标——客户端通信的可扩展性严格为 O(1)【需要 2k*msgSize,其中 k = 在 tunnel 中的跳数】 14:58 <jrandom> 不过是的,我同意,我们需要一些文档来描述 i2p 如何扩展 14:58 <Connelly> 那 Kademlia 呢……你的模拟里包含它吗? 14:58 <jrandom> 是的,模拟实际上就是完整的 router 代码,全部跑在单个 JVM 中 14:58 <jrandom> 我甚至用完整的 TCP 连接来跑它,而不是 VM 通信系统 14:59 <jrandom> Kademlia 代码只在 Alice 第一次想联系 Bob 时使用——只要他们持续通信,通信就是 O(1),因为他们会把各自的 LeaseSet 和有效载荷一起打包 14:59 <jrandom> (所以之后就不需要再进行 netDb 查询) 15:00 <cervantes> vl07 和 onb0 是被限速的 router 吗? 15:00 <jrandom> 不过是的,我们需要一个模拟来展示 netDb 本身如何扩展 15:01 <jrandom> cevantes:0jvf 和 onb0 15:01 <cervantes> vl07 运行一天后带宽为何会骤降? 15:02 <cervantes> 看起来与 00u0 有交叉 15:02 <jrandom> 所有未限速的 router 本质上是相同的——它们都在同一颗 CPU 上,延迟也都一样(0ms),所以把某个分配为“fast”或“reliable”只是任意的 15:04 <Connelly> 你对“fast and reliable”、“slow”等的标定能从异常大的数值中恢复吗? 15:04 <jrandom> 为什么运行一天后它的排名/使用率降低了? 我不确定,也许测试时瞬时的 CPU 或 I/O 开销导致它的速度略微下降 15:04 <jrandom> 是的,现在排名使用中位数而不是均值,此外数据还有相当快的衰减 15:05 <jrandom> s/fiarly/fairly/ 15:05 <Connelly> 所以如果我让你以为我的可靠性是 1000000000,当我开始丢消息时你能恢复过来? 15:06 <jrandom> 当然——如果你“一次失败”,我会立刻不再让你干活,并降低你的排名 15:06 <jrandom> 新的“capacity”计算对这类变化非常敏感 15:06 <jrandom> (速度也很难伪造,因为所有速度排名都是实际测量出来的) 15:07 <jrandom> ((可靠性也是如此,capacity 计算也是如此)) 15:09 <jrandom> 好,大家还有别的要提的吗? 15:10 <deer> * jrandomi2p 建议使用 *baf*er 15:11 * jrandom 表示赞同 15:11 * jrandom 蓄势 15:11 * jrandom 用 *baf* 结束了会议