Resumen rápido
Presentes: beefbroth, CCD, ChZEROHag, co, dcat, dm, godmode0, jrand0m, mihi, mihi_backup, mrflibble, Myself248, myself248, nop, pitu, Ryan_Singer, shardy, thecrypto, UserX, yodel
Registro de la reunión
[22:56] ok ok [22:56] agenda [22:56] 0.0) bienvenida [22:56] 1.0) estado del desarrollo [22:56] 1.1) router [22:56] *** Myself248 (~ident@anon.iip) se ha unido al canal #iip-dev [22:56] 1.2) precálculo DH [22:56] 2.0) micro-hoja de ruta [22:56] 3.0) apps / uso [22:56] 4.0) ns [22:56] 5.0) IM (mensajería instantánea) [22:56] 6.0) administrivia (cvs, bugzilla, lista de cvs, cvs web) [22:56] 7.0) preguntas [22:57] (sí, 7 puntos hoy. w00t) [22:57] 0.0) bienvenida [22:57] hola. [22:57] hey [22:57] 17 usuarios hoy. guay [22:57] *** Ryan_Singer (chatzilla@anon.iip) se ha unido al canal #iip-dev [22:57] y subiendo [22:57] ok [22:57] 1~hola [22:57] 1.1) estado del desarrollo del router [22:58] el router de referencia en Java va muy bien [22:58] *** ChZEROHag (hag@anon.iip) se ha unido al canal #iip-dev [22:58] ahora podemos ejecutar aplicaciones en distintos routers y enviarnos mensajes entre nosotros [22:59] Perdón por interrumpir, pero espero que sea solo una vez [22:59] con un enfoque iterativo e incremental, el estado actual es seguro, no anónimo, no escalable y harvestable (susceptible de recolección) [22:59] ¿Alguien más está trabajando en una API en C? [22:59] hola ChZEROHag, ¿qué tal? [22:59] Porque yo sí, pero muy lentamente [22:59] *** dcat (dirtycat@anon.iip) se ha unido al canal #iip-dev [22:59] oh, genial [22:59] shardy trabajará en una cuando termine toorcon [22:59] ¿quizá ustedes dos podrían colaborar en eso? [23:00] jrand0m: ¿Se puede introducir a mano un destino para enviar mensajes? [23:00] Mejor dicho, ¿existe una representación ASCII de un destino? [23:00] sí, co, a ambas [23:00] Excelente. [23:00] los destinos, y todas las estructuras de I2P, se pueden cargar y serializar en base 64 (alfabeto alternativo) [23:01] así que no será fácil de recordar, pero ¿será ASCII? [23:01] (p. ej., en la netDb de uno de mis routers, tengo leaseSet-enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8.dat, que contiene el lease set para el destino enD4jtE-orMwFD0QGog9GAyC5MvLvnPzhVD8cDYvSI8) [23:02] [aunque eso es H(destination).toBase64() [23:03] ChZEROHag> si hay algo en lo que podamos ayudarte con eso, dilo [23:03] ok, eso es 1.1. 1.2) precálculo DH [23:03] ¿Podrías hacerlo por mí? :-) [23:04] anoche escribí una optimización de precálculo para los intercambios DH que ahorra ~1s de 1.5s en las negociaciones de sesión. Me encantaría que alguien que sepa de cripto se asegure de que no estoy loco ;) [23:04] lol ChZEROHag [23:04] aah ya sé qué necesitaba [23:04] Una implementación de netdb [23:04] ¿está en cvs? [23:04] lo de dh [23:04] sí, thecrypto [23:05] C:\dev\i2p\code\core\java\src\net\invisiblenet\i2p\crypto\DHSessionKeyBuilder.java [23:05] Bueno, voy a estar despierto 3/4 horas más, quizá me dé algo que hacer [23:05] er, s/C:\\dev/g; s/\\/\//g [23:05] *** wax_off (~nomail@anon.iip) se ha unido al canal #iip-dev [23:06] genial. ¿para qué necesitas una implementación de netdb? [23:06] No me acuerdo [23:06] actualmente tenemos una netdb no escalable en cvs [23:06] jeje [23:06] No lo toco desde hace al menos una semana [23:06] estás trabajando en una API de I2CP en C, ¿verdad? no en I2NP? [23:07] Iba a hacerlo todo [23:07] *** wax_off ha salido de #iip-dev [23:07] I2NP es realmente, realmente, realmente mucho más trabajo que I2CP [23:07] Una vez que empiece en serio, saldrá rodando [23:07] pero si implementas un I2NP en C sería la leche [23:07] ¿hay un I2NP en algo ahora mismo? [23:07] (I2CP:I2NP::FCP:FNP) [23:07] sí, dm [23:08] * ChZEROHag restaura emacs [23:08] la implementación en Java en la que estoy trabajando tiene I2NP funcionando [23:08] bien... [23:08] jrand0m: ¿url? Me vendría bien una referencia, aunque sea en un lenguaje horrible. [23:08] je [23:08] eh, en realidad eso es 6.0 administrivia: alias dónde coño está nuestro acceso anónimo a cvs ;) [23:09] estoy bajando lo de DH [23:09] guay [23:09] Ah, cierto [23:09] jrand0m, volvamos al orden, ¿la micro-hoja de ruta? [23:09] * thecrypto se tapa la cara [23:09] bueno, esperaré :) [23:09] jeje ok [23:09] micro-hoja de ruta [23:09] tengo de la 0.1 a la 0.5 planificadas [23:09] seguiste la hoja de ruta de freenet entonces? [23:10] *** mrflibble (mrflibble@anon.iip) se ha unido al canal #iip-dev [23:10] 0.1) funcional, seguro, no anónimo, no escalable, harvestable (susceptible de recolección) [23:10] el desarrollo se ralentiza y se congela durante 0.5... [23:10] ahora estamos en 0.1. [23:10] je, me di cuenta dm, flinks también se fue al traste en 0.5.2 ;) [23:10] ¿Cómo llamas al paquete completo? [23:10] (extraña coincidencia) [23:10] es decir, ¿versión 0.1 de? [23:10] ¿el paquete completo? implementación de referencia del router i2p [23:10] co: Wonga [23:10] * beefbroth se une a la reunión [23:11] buenos noches beefbroth [23:11] Muy bien. Eso lo explica. [23:11] De hecho quizá lo llame así. Ciertamente suena más interesante que 'i2pd' [23:11] 0.1 tiene bugs. eso por descontado. y no tiene optimizaciones reseñables (aunque el precálculo DH ayuda). [23:11] je [23:11] jrand0m, ¿qué es entonces 0.2)? [23:11] invisible internet police department [23:11] ok, 0.2 [23:12] 0.2 es funcional, seguro, anónimo, no escalable, harvestable (susceptible de recolección) [23:12] 0.2 añade soporte para tunnels de longitud no cero [23:12] en realidad implementé la mayor parte anoche, pero no está probado a fondo [23:12] creo que 0.2 estará lista a final de semana [23:12] ¿a qué distancia estamos de eso desde la perspectiva de desarrollo? [23:13] genial [23:13] 0.3) es funcional, seguro, anónimo, escalable, harvestable (susceptible de recolección) [23:13] * thecrypto consigue bochs para poder simular una red y ayudar con esto [23:13] 0.3 añade un kademliaDatabaseManager [23:13] ahora usamos un BroadcastDatabaseManager [23:13] (alias gnunet ;) [23:14] trivial de implementar y funcional para redes pequeñas, pero necesitamos kademlia para escalar [23:14] 0.4) es funcional, seguro, anónimo, escalable, no harvestable (no susceptible de recolección) [23:14] eso añade enlaces de confianza [23:14] jrand0m, ¿y qué tan difícil es implementar kademlia? [23:14] tengo dos ideas para enlaces de confianza... una es más fácil de implementar y usar [23:15] kademlia probablemente llevará una semana completa [23:15] (para hacerlo bien) [23:15] ten en cuenta que todo esto tiene mucho margen para refactorizar y afinar. Primero apunto a funcional, luego afinamos. [23:16] ¿Estás seguro de que podrás desarrollar y probar tan rápido? [23:16] no estoy seguro de nada [23:16] es solo mi estimación [23:16] co, él logra lo funcional, nosotros probamos [23:16] ¿Seguro? [23:16] (perdón) [23:16] Ryan_Singer: Ya veo. [23:17] * jrand0m <3 la gente que prueba :) [23:17] Cuando dices "nosotros" probamos. ¿Hay sitio para que no-programadores ayuden con las pruebas? [23:17] Myself248> probablemente no hasta 0.4 [23:17] esperemos que nunca llegue al punto en que sea funcional, pero nadie sabe qué coño pasa dentro de la red para que funcione bien (p.ej. freenet) [23:18] una vez que 0.4 esté lista, eso es pre-alfa. cuando sea 0.4, afinaré y refactorizaré y rellenaré huecos para prepararme para 0.5 (alfa) [23:18] Documentar, documentar, documentar. [23:18] ¿se está pensando en monitorización activa de los internos de la red, o es sencillo? [23:18] sí dm, absolutamente [23:18] una de las piezas clave de i2np es la inclusión de estadísticas en las estructuras routerInfo publicadas [23:18] jrand0m: haz un s/0./0.0./ ;) [23:18] las primeras revisiones publicarán estadísticas reales para poder afinar [23:19] revisiones posteriores no publicarán estadísticas o publicarán falsas [23:19] * jrand0m no hace 0.0 [23:19] ok, ya estoy aquí [23:19] wb shardy [23:19] perdón por llegar tarde, me olvidé de que esta ventana estaba abierta, je [23:19] genial. [23:19] ¿hay un documento de más alto nivel describiendo la arquitectura de la red bajo .4? [23:19] ¡que le corten la cabeza! [23:20] Ryan_Singer> hmm, tenía unos docs de visión general hace unos meses que mids y nop espejearon, y está el doc de visión general de i2p [23:20] 0.4 es i2np completo como se describe en la spec, solo que no implementado de forma óptima [23:20] oh y jrand0m, revisaré la optimización de DH por ti [23:20] vale, gracias [23:20] ¿puedo conseguir esos docs? [23:21] la visión general está en (Link: http://www.invisiblenet.net/i2p/i2p_philosophy.pdf)http://www.invisiblenet.net/i2p/i2p_philosophy.pdf [23:21] están en la wiki, creo [23:21] los viejos docs de visión general... hmm [23:21] (las specs de i2p están en (Link: http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs)http://wiki.invisiblenet.net/iip-wiki?I2PProtocolSpecs) [23:21] Están en (Link: www.invisiblenet.net/i2p/.)www.invisiblenet.net/i2p/. [23:21] correcto beefbroth [23:22] aunque hay viejos docs en html con feas imágenes de ms paint de antes mostrando cómo funcionan los tunnels... [23:22] Debería saberlo, los he leído bastante [23:22] jeje [23:22] A menos que esas sean versiones más antiguas o espejos. [23:22] esos archivos en la wiki son 0.9 (la 0.9.1 ha salido para I2NP y estructuras de datos, pero solo incluyen cambios menores) [23:23] jrand0m: el precálculo se ve bien [23:23] genial [23:24] *** pitu (~pitu@anon.iip) se ha unido al canal #iip-dev [23:24] * jrand0m ejecuta el router con 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] ok, esa es la micro-hoja de ruta [23:25] como podéis ver, asumo que el alfa no estará listo para fin de mes. 0.4 probablemente será la primera semana de octubre [23:26] está bien, incluso eso sería la implementación más rápida de una red de este tipo ;) [23:26] lol [23:26] cuando lean las estimaciones de tiempo de jrand0m aquí, recuerden que ha estado bebiendo whisky durante las últimas 4 horas :-P [23:26] je [23:26] ok...¿apps/uso? [23:26] buen whisky además ;) [23:26] ok, apps/uso [23:27] 0.7 en 4 segundos....3...2...1..!! [23:27] voy a por lo fácil aquí: cosas que podemos hacer con 0 o mínimo código nuevo. [23:27] ¿Cómo se supone que vas a programar bien si estás completamente sobrio? [23:27] todo esto hace un uso significativo del estupendo i2ptunnel de mihi [23:27] ChZEROHag: Fácilmente. [23:27] *** mihi ha cambiado el tema del canal #iip-dev a 0.7 en 4 segundos....3...2...1..!! [23:28] usando i2ptunnel, podemos hacer lo siguiente sin escribir código nuevo: [23:28] proxy ww público (usando i2ptunnel + squid) [23:28] * dm se quita el sombrero ante mihi. [23:28] JAP (usando i2ptunnel + JAP) [23:28] no puedes patear culos a través de i2p (tampoco a través de un tunnel...) [23:28] navegar www anónimamente (i2ptunnel + navegador web) [23:28] ejecutar un servidor web i2p (i2ptunnel + httpd) [23:29] Muy bien. Bravo, mihi. [23:29] cvs outproxy (i2ptunnel) [p.ej. cvs outproxy a sourceforge para desarrollo anónimo de freenet] [23:29] cliente cvs, servidor cvs [23:29] app de IM, servidor pop3, servidor imap, opennap [23:29] todo eso es muy fácil [23:29] vale, ahora solo necesitamos i2p :) [23:30] cierto ;) [23:30] ¿no suplanta un servidor web i2p a freenet? :) [23:30] * jrand0m piensa que eso califica como una FAQ que debería responder [23:30] jrand0m, pero también son muy valiosas [23:30] De esa lista, consideraría cvs más importante/útil [23:30] En parte porque deseo permanecer anónimo, pero también porque si se ofrece www anónimo tendrás lusers [23:30] i2p + web no suplanta freenet: freenet añade valor significativo encima de un marco de comunicación anónima: distribución de contenido [23:31] Y por el momento la idea de correo anónimo da miedo :) [23:31] * dm escribe: "no lusers" [23:31] cvs definitivamente está en el top 3 [23:31] creo que si el webserving i2p funciona bien, hay que considerar fusionar las partes DHT/almacenamiento de freenet encima de i2p y así tienes lo mejor de ambos mundos. [23:31] ChZEROHag, si es escalable eso es bueno [23:31] dm: los lusers solo son un problema en las primeras etapas, pero tienden a no usar cvs [23:31] ok, pon mucho hashcash a cualquier cosa de correo anónimo. [23:31] O, si acaso, ni siquiera saben qué es (o que existe) [23:31] Creo que una de las pruebas que hay que hacer es un ataque de prueba a la red. [23:31] sí beefbroth, una vez que i2p haga lo que apuntamos, freenet probablemente se adaptará para usarlo [23:32] Perdón si es off-topic. [23:32] Myself248: solo añade un redireccionador a un remailer anónimo. [23:32] no, eso está definitivamente on-topic co: atacar esta red es clave [23:32] Myself248: hashcash es principalmente para frenar flooding mientras nos vemos obligados a usar el protocolo antiguo que es 'irc' [23:32] No para parar lo que podríamos llamar 'abuso' [23:32] correcto, hashcash está incluso incorporado en i2p para evitar que los mensajes se entreguen a un solo salto a menos que "paguen" [23:33] jrand0m, ¿podríamos ejecutar imap sobre esto fácilmente? [23:33] absolutamente [23:33] impresionante [23:33] imapd con un i2ptunnel apuntando a él, con i2ptunnel en el cliente apuntando al destino de ese tunnel [23:34] y motores de búsqueda de freenet :) [23:34] ftp o varios mensajeros no-jabber darán problemas... [23:34] correcto, las cosas que requieren dos conexiones son más complejas [23:34] jrand0m: ¿hashcash en i2p? [23:34] Te daré la lata con eso cuando termine esto. [23:34] ¿hashcash en i2p? bonito. [23:34] ¡nos estamos adelantando! bueno vale, ¿QUAKE + IIP!!!!!! [23:34] perdón, I2p :) [23:34] lol dm [23:35] A los que tenemos CPUs pequeñas nos pone nerviosos cuando alguien dice hashcash, pero como medida anti-spam lo entiendo. [23:35] dm: Eso es adelantarse *mucho*. [23:35] * mihi es jabber:schierlm@a-message.de ;) [23:35] sí, ChZEROHag: Destination == clave pública de firma (DSA) + clave pública de cifrado (ElGamal) + certificado (o nulo o hashcash(keys)) [23:35] ¿el i2p tunnel es estático o dinámico en el lado cliente? [23:35] beefbroth: de momento todo es estático. pero podrías usar un proxy socks como destino ;) [23:35] Myself248> me llegará un sun ultra1 cojonudo por correo en unas semanas. si una caja a 160Mhz puede, todos pueden [23:35] bueno. hashcash no debería ser terrible ni para CPUs pequeñas. solo si quieres hacer algo once mil millones de veces, deberías notarlo. [23:36] beefbroth: Puede ser dinámico. [23:36] las posibles aplicaciones de lo "fácil" aquí son muy impresionantes [23:36] correcto, mihi [23:36] "eleventy". je [23:36] lo fácil es esencialmente apps 'normales' de internet, pero de forma anónima [23:36] ¿no? [23:36] correcto [23:36] sí [23:36] (quake) [23:37] 0.1 las ejecuta de forma segura, 0.2 de forma anónima, 0.3 escalable, 0.4 no harvestable (no susceptible de recolección) [23:37] (estamos en 0.1 ahora) [23:37] ¿qué quieres decir con no harvestable? [23:37] Disculpa, ¿qué era harvestable otra vez? [23:37] dm: Por desgracia nos han frenado tanto que el tiempo real tras más de 30 años sigue sin ser 'normal' [23:37] Uf. Esperaba que alguien preguntara eso. ;) [23:37] registrable [23:37] harvesting significa que un atacante activo puede ejecutar un router, enterarse de muchos otros routers ("cosecharlos"), y mandar a los matones a tirarle la puerta a la gente [23:38] oh, como puedes hacer con gnutella. :) [23:38] matones tipo servicio secreto [23:38] exacto [23:39] ah, entendido. [23:39] ok, sí, esa es la micro-hoja de ruta. [23:40] ahora, ¿estoy siendo estúpido llamando a esto 0.x en vez de 0.0.x? ¿debería 1.0 ser "perfecto" o 1.0 debería ser funcional y seguro? [23:40] jrand0m, ¿y cuándo veremos la .4? [23:40] 0.4 probablemente a dos semanas [23:40] * jrand0m se tomará una semana libre (más o menos) a mediados de octubre porque me viene gente de visita [23:40] *** Desconexión: dm (EOF From client) [23:40] 1.0 debería ser estable. [23:40]