간단 요약

참석자: cat-a-puss, Connelly, deer, dm, hypercubus, jrandom, Sonium

회의 기록

14:02 <jrandom> 0) 안녕하세요 14:02 <jrandom> 1) 0.3.3 & 현재 업데이트 14:02 <jrandom> 2) NativeBigInteger 14:03 <jrandom> 3) ??? 14:03 <jrandom> 0) 안녕하세요 14:03 * jrandom 손을 흔든다 14:03 <jrandom> 주간 상태 노트 게시됨 @ http://dev.i2p.net/pipermail/i2p/2004-July/000372.html 14:03 <jrandom> (hypercubus의 재촉 덕분에 회의 전에 올릴 수 있었어요 :) 14:04 <jrandom> 좋아요, 바로 시작하죠 14:04 <jrandom> 1) 0.3.3 & 현재 업데이트 14:06 <jrandom> 무슨 일이 진행 중인지 설명한 이메일에 정보가 아주 많고, 곧 대역폭 사용량이 크게 줄어들 예정입니다 14:07 <jrandom> 많은 것이 바뀌어서 하위 호환이 되지 않을 것이므로 다음 릴리스는 업그레이드가 다소 매끄럽지 않을 겁니다만, 뭐 어쩔 수 없죠 14:08 <jrandom> 0.3.3 개정판이나 상태 노트에 올린 내용과 관련하여 질문 있으신가요? 14:08 * dm 손을 흔든다 14:08 * jrandom 여기 freenode에서 23초 지연을 보고 있음 14:09 * hypercubus는 0.10초 지연을 봄 14:09 <jrandom> 아, 정상으로 돌아왔네요 14:09 <jrandom> 좋아요, 다른 게 없으면 2) NativeBigInteger로 넘어가죠 14:10 <jrandom> Iakin3가 몇 가지를 수정해서 암호화 코드를 바로 사용할 수 있게 배포하기가 더 쉬워졌습니다. 좋은 소식이죠 14:10 <jrandom> 가끔 netDb를 보면 ElGamal 암호화 시 지연이 2~400ms인 분들이 있는데, 이는 일부가 jbigi를 사용하지 않고 있다는 뜻입니다 14:11 <jrandom> (그리고 모두 jbigi를 사용해야 합니다) 14:12 <deer> <Nightblade> 어떻게 그들이 단지 느린 컴퓨터를 쓰는 게 아니라고 아시죠 14:12 <Sonium> 왜 자동으로 사용되지 않죠? 14:12 <hypercubus> 각 플랫폼마다 맞춤 컴파일해야 하기 때문이에요 14:12 <jrandom> 다음 개정판에 그걸 배포할 수 있을지도 모르겠지만, 지켜봐야겠어요 14:12 <deer> <oOo> DLL이 없으면 프로그램은 Java 전용 코드로 계속 동작합니다(크로스 플랫폼 지원을 위해 필요) 14:12 <hypercubus> 그리고 현재는 플랫폼을 감지하지 않아요 14:12 <jrandom> Nightblade: 물론 그럴 수도 있죠 14:13 <jrandom> oOo 맞아요, 그 기능은 확실히 유지할 겁니다 14:13 <deer> <oOo> 아뇨, 비어 있거나 쓸모없더라도 dll과 .so 파일의 존재를 강제하세요 14:13 <jrandom> 사실 제가 작업 중인 현재 수정으로 얻는 또 다른 이점이 있어요. 이제 elGamal 암호화를 절반만 하면 됩니다(sourceRouteBlock이 사라졌거든요) 14:14 <jrandom> 흠 oOo? 14:14 <jrandom> 왜 그렇게 하고 싶죠? 14:15 <deer> <oOo> 라이브러리 파일의 '존재'를 강제로 확인하세요. 사용되지 않는다면, 아마 x86 Win/Linux 플랫폼이 아니어서 Java 코드를 사용할 수밖에 없는 상황일 겁니다. 어쨌든 네이티브 사용을 최대한 강제한 셈이죠 14:15 <jrandom> 아, 맞아요. 우리는 항상 libjbigi.so / jbigi.dll을 확인해왔고, Iakin의 코드가 추가한 것은 여러 DLL과 .so 파일을 하나의 JAR로 묶고, 실행 시점에 그중에서 '맞는' 것을 선택하는 기능이에요 14:16 <hypercubus> </obvious> 14:16 <jrandom> (일치하는 것이 없으면 순수 Java로 폴백) 14:17 <jrandom> 어쨌든, 새 사용자들에게 큰 도움이 될 좋은 내용들이에요 14:17 <jrandom> (그리고 관리 인터페이스에 못생긴 드롭다운 박스를 만들 시간도 절약되고요 :) 14:18 <jrandom> 좋아요, 그에 대해 더 없으면, 제 쪽은 여기까지예요 14:18 <jrandom> 그럼 3) ???로 넘어가죠 14:18 <jrandom> 다른 분들 논의하고 싶은 것 있나요? 14:18 <hypercubus> 누군가 새 웹사이트에 맞춤법 검사기를 돌려야겠어요 ;-) 14:19 <jrandom> 이제 CVS 접근 권한 받았잖아요... :) 14:19 <jrandom> (module: i2pwww) 14:19 <hypercubus> 젠장 14:19 <deer> <oOo> 대용량 전송에서, 심지어 로컬 전송에서도 발생하는 손상 문제(예: 자신의 eepsite에서 수 MB를 가져올 때)는 조사 중인가요? 14:20 <hypercubus> 큰 파일을 받다가 중단된 적은 많았지만, 손상은 없었어요 14:20 <jrandom> 흠, 그 문제의 대부분 사례는 해결됐지만 최근에도 보고가 있었어요. i haven't gone through the app layer and audited things yet again 14:21 <jrandom> 저는 중단된 다운로드도 손상으로 간주합니다 14:21 <jrandom> 처음 시도에서 끝까지 제대로 작동해야 해요 14:21 <hypercubus> 뭐 어쩔 수 없죠, 실제 WWW에서도 그런 일은 일어나니까요 ;-) 14:21 <deer> <oOo> 그랩버가 서버와 같은 컴퓨터에 있을 때는 해당되지 않죠 ^^ 14:22 <jrandom> oOo: 그걸 재현할 수 있나요? 14:22 <jrandom> (아니면 간헐적인가요?) 14:22 <deer> <oOo> jrandom: 두 번 했어요, 알려진 문제라고 생각했는데, 다시 시도해볼게요 14:23 <jrandom> 감사해요. if you can reproduce it, please let me know the details of the test and i'll dig further into it. 14:23 <jrandom> (어차피 앱 레이어를 다시 점검해야 하니까요) 14:23 <deer> <oOo> jrandom: 문제없어요, 감사합니다 14:24 <jrandom> 좋아요, 또 묻거나 논의할 것 있으신가요? 14:25 <cat-a-puss> myI2P를 어떻게 할지에 대해 계속 논의하고 싶어요 14:25 <cat-a-puss> 몇 달 뒤에는 몇몇 사람들을 참여시킬 수 있을지도 몰라요 14:25 <jrandom> 멋지네요! 14:26 <hypercubus> 수업 프로젝트인가요? ;-) 14:26 <cat-a-puss> 그런 비슷한 거죠 ;-) 14:27 <jrandom> 새 웹 인터페이스와 함께 0.4를 내놓으면, 웹 프런트엔드를 갖춘 앱(예: myi2p)을 만드는 게 훨씬 쉬워질 거라 생각해요 14:27 <cat-a-puss> 그럼 순수하게 애플리케이션 레이어에서만 가능하다고 보시는 건가요? 14:27 <jrandom> 물론이죠 14:28 <jrandom> 다른 구상은 무엇이었나요? 14:28 <cat-a-puss> 글쎄요, 네트워크 DB를 메타데이터 저장에 쓸 수도 있겠죠 14:28 <jrandom> 아하 14:28 <cat-a-puss> 그것에 접근할 수 있나요? 14:28 <hypercubus> *콜록* 14:28 <jrandom> 아니요, netDb에는 아무 것도 접근할 수 없습니다 14:29 <jrandom> netDb가 우리 분산 라우팅 테이블 역할에만 꽤 집중되어 있어서, 그 안에서 몇 가지 '마법'을 부릴 수 있는 거예요 14:29 <hypercubus> cat-a-puss: 당신이 원하는 건 Nightblade가 작업 중인 DHT(분산 해시 테이블)예요 14:29 <jrandom> 하지만 myi2p 등은 i2p 위에서 DHT를 충분히 사용할 수 있죠 14:30 <hypercubus> (enclave) 14:30 <jrandom> 어떤 종류의 메타데이터를 생각하셨나요? 14:31 <cat-a-puss> freenet의 ssk로 동작하는 Frost의 채널 같은 것을 구상했어요 14:31 <cat-a-puss> 그래서 I2p 위의 DHT에서 ssk들을 운영하는 거죠 14:31 <jrandom> 맞아요 14:31 <jrandom> 하지만 어떤 것들에는 다소 과할 수도 있어요 14:31 <cat-a-puss> 하지만 채널을 구독한 모든 사람의 ssk를 나열하는 메타키가 여전히 필요해요 14:32 <dm> i2p 위의 dht... 14:32 * dm은 그게 가까운 시일 내에 신뢰성 있게 동작할 것 같지 않다고 봄. 14:32 <Connelly> 범용 DHT 라이브러리가 있으면 좋겠네요 14:32 <dm> 신뢰성 있게 14:32 <deer> <Nightblade> dht 라이브러리가 뭐죠 14:32 <cat-a-puss> 그건 다르게 작동해야 해요 ... 14:33 <jrandom> cat-a-puss: 어떤 활동이 이루어질지에 달렸겠죠. 어떤 것에는 Frost 스타일 게시판이 좋고, 다른 것에는 fmb 스타일 게시판이, 또 다른 것에는 블로그 애그리게이터가 좋을 수 있어요 14:34 <Connelly> 음, Kademlia 구현 같은 거요 14:34 <Connelly> enclave도 그런 류일 거라고 봐요 14:34 <deer> <Nightblade> 먼저 LibSAM에 몇 가지 변경을 하려고 해요 14:34 <deer> <Nightblade> 이번 주를 포함해 수업이 2주만 남았거든요 14:34 <deer> <Nightblade> 그럼 뭔가 해볼 수 있기를 바랍니다 14:35 <jrandom> w00t! :) 14:37 <cat-a-puss> jrandom: 기본적으로 목표는 모든 사람에게 모든 것이 되는 겁니다. 네트워크가 모든 일을 하지 못하면, 사람들은 다른 것을 사용할 거예요. (커버 트래픽을 끌어오려면 더 잘해야 하고요) 14:38 <jrandom> 저는 '만능 칼' 스타일로 가려는 프로젝트를 너무 많이 해봤어요 — 만들면 사람들이 온다라는 식으로요 14:38 <hypercubus> 네트워크는 트랜스포트 레이어지, 애플리케이션 레이어가 아니에요 ;-) 14:38 <jrandom> 그 방식은 정말, 정말, 정말 드물게만 통합니다. 14:38 <jrandom> i2p 트랜스포트 레이어는 가능한 모든 점대점 통신을 확실히 지원해야 하고요 14:38 <jrandom> 하지만 i2p 위의 애플리케이션은 사용자 친화적이어야 합니다 — 즉, 특정 사용자 요구를 다루고 그걸 해결해줘야 해요 14:39 <jrandom> 대중은 통신 레이어를 원하지 않아요. 사람들과 대화하고, 사람들이 말하는 것을 읽고, 탐색할 방법을 원하죠 14:39 <Connelly> 아니, 우리는 XUL과 완전히 새로운 Gecko 시스템을 만들어야 해요 14:39 <Connelly> 그리고 그 위에 Mozilla 프로그램 합종연횡을 구축하고 14:39 <Connelly> 그다음에는 협업 시스템을 Mozilla에 통합하는 거죠 ;) 14:40 <cat-a-puss> 훌륭하죠, 앱이 통신 레이어를 원하는 대로 제어할 수 있을 만큼 충분한 통제가 가능하다면요. 14:40 <dm> Maxthon> Mozilla 14:40 <jrandom> cat-a-puss: 물론이죠. SAM, I2CP 또는 SDK를 사용하는 모든 앱은 다른 앱이 할 수 있는 건 뭐든지 할 수 있어요 14:41 <jrandom> (충분해야 합니다 [기능/API는 업계에서 10년 넘게 검증된 JMS와 MOMs(Message-Oriented Middleware)를 모델로 삼았거든요]) 14:43 <cat-a-puss> 좋아요, 그러면 본질적으로 내가 가지는 건: Tcp, 데이터그램, 원하면 둘 다에 익명성 추가, 그리고 그 위에서 동작하는 DHT예요. 14:44 <hypercubus> 좋든 싫든 어느 정도 익명성은 가지게 됩니다 ;-) 14:44 <cat-a-puss> 그렇다면 앱이 원해도 tunnel 길이를 0으로 설정할 수는 없는 건가요? 14:44 <jrandom> 맞아요 — i2p 자체가 TCP/데이터그램 계층이고, enclave DHT 앱은 데이터 저장소의 기반으로 사용할 수 있어요 14:44 <jrandom> 물론입니다 14:45 <jrandom> 사실, 0 hop tunnels와 Connelly가 지난주에 설명한 방어를 쓰면, 일부 공격자에 대해서는 꽤 익명성이 확보됩니다 14:45 <jrandom> 앗, 제가 잘못 읽었네요. 네, 앱은 tunnel 길이를 0으로 설정할 수 있습니다. 하지만 그렇게 해도 어느 정도 익명성은 제공돼요 14:46 <cat-a-puss> 알겠어요 14:46 <jrandom> (어떤 사람들에게는 충분하지만, 일부 통계적 공격에 대해서는 불충분) 14:46 <hypercubus> 익명성을 원하지 않는다면, 트래픽을 i2p로 보내면 안 되죠 14:47 <cat-a-puss> 그리고 같은 host/port에서 다른 앱들은 각각 별도의 키로 처리되는 거죠? 14:47 <jrandom> 맞아요 14:47 <deer> <DrWoo> 낮은 익명성은 I2P 위에서 p2p를 돌릴 때 인기가 있을 수도 있겠네요? 14:47 <cat-a-puss> 그럼 마지막으로 남은 질문은 일종의 '응답 서비스'에 관한 거예요 14:47 <jrandom> 맞아요 DrWoo — 파일 공유/기타는 아마 0 hop tunnels를 쓸 수 있을 겁니다 14:48 <deer> <DrWoo> 안녕, soros! 14:48 <hypercubus> i2p에서 BitTorrent 스타일의 앱은 아마 0~1 hop tunnels가 필요하겠죠 14:48 <Connelly> jrandom: 0 hop tunnels에 대해 어떤 방어 말인가요? 14:48 <deer> <soros> 안녕, woo :D 14:48 <deer> <DrWoo> soros: 숨어 있었네 ㅎㅎ 14:48 <cat-a-puss> 즉: 내가 오프라인일 때 내 트래픽이 다른 사람에게 가도록 i2p 데이터베이스에 뭔가를 설정해두고, 다시 온라인이 되면 그들에게 연락해 내가 놓친 걸 받아오는 방식 말이죠? 14:48 <cat-a-puss> 그들이 이를 복호화할 필요는 없고요 14:48 <deer> <soros> 몇 달 동안 iip는 접었어 14:48 <dm> soros와 drwoo의 재회... 14:48 <dm> 눈물 14:48 <hypercubus> cat-a-puss: 다시 말하지만, 앱 레이어에서 할 일입니다 14:49 <jrandom> cat-a-puss: 글쎄요, 그런 기능은 myi2p에서 별로 구상하진 않았는데, 구현할 방법은 몇 가지 있어요 14:49 <deer> <soros> 이거 자동으로 freenode로 가나요? 14:49 <deer> <soros> 이런.. 여긴 i2p였지 미안 14:49 <jrandom> Connelly: tunnel 내 피어에 대한 엄격한 순서 지정 14:49 <deer> <DrWoo> soros: 좀 헷갈리네 ㅋㅋ 14:50 <Connelly> 알겠어요 14:50 <hypercubus> 포럼에서 설문을 돌려 myI2P의 새 이름을 정해야겠어요 ;-) 14:51 <jrandom> betty 14:51 <hypercubus> MyBetty? 14:51 <dm> MY TOOPIE 14:51 <jrandom> 헤헷 14:51 <deer> <Nightblade> acropolis....... 어땠죠? 그거였나요? 14:51 <hypercubus> Betty Toop? 14:51 <deer> <soros> MOAP2P 14:51 <deer> <DrWoo> I2P H@ME 14:51 <deer> <soros> 모든 P2P의 어머니 14:52 <hypercubus> nightblade: 맞아요, acropolis 14:52 <hypercubus> 마음에 드네요 14:53 <dm> 이건 어때요: 네 얼굴에 쉬 14:53 <hypercubus> dm: 이거 전부 회의 로그에 남는다는 거 알죠? ;-) 14:53 <Connelly> 이봐요, 끝내주는 아이디어가 떠올랐어요 14:53 <deer> <DrWoo> Known I2P의 중심 14:53 <dm> hypercubus: 네 얼굴에 쉬 14:53 <Connelly> I2P H@ME에 3D 사용자 프로그래밍 가능한 RPG를 통합하죠 14:53 <deer> <soros> 이름은 HyperCube로 하죠. 14:54 <Connelly> 그리고 Mozilla 기술을 쓰는 거예요 :) 14:54 <dm> Maxthon이 mozilla에 쉬 14:54 <Connelly> 좋아, Maxthon 14:54 <hypercubus> xul에 꽂혔나요, connelly? ;-) 14:54 <Connelly> 네! 14:55 <Connelly> 하지만 완전한 XML 기반 프로그래밍 언어를 만들어야 해요 14:55 <Connelly> 그게 더 유연할 거예요 14:55 <jrandom> 그리고 우리만의 하드웨어도 만들죠 14:55 <hypercubus> i2p 맞춤형 무선 메쉬 router들 14:55 <jrandom> 그리고 배와 기차를 동원한 유통 회사를 만들어 세상에 풀죠! :) 14:55 <dm> 난 CPU를 알아 14:55 <dm> 하나 만들었어 14:56 <deer> <mule> 게다가 칩 생산 시설도 건설하고 ... 14:56 <Connelly> 그래요, 익명 운송 회사요 14:56 <hypercubus> 이름은 WhoEx로 하죠 14:56 <Connelly> 그리고 달에 반사판을 설치해서 레이저 인터넷 트래픽을 서로 주고받는 거예요! 14:57 <hypercubus> 회의를 끝낼 때가 된 것 같네요 14:57 <jrandom> 그런 말이 나온 김에.. 14:57 <jrandom> 아, 말이죠 14:57 <jrandom> 다른 논의할 거 있으신가요? if not, we've got the forums and the mailing list 14:57 <jrandom> (그리고 우리는 늘 여기 있어요 ;) 14:57 * jrandom 마무리한다 14:57 <dm> 난 아니야, 난 인생이 있거든. 14:57 <dm> 루저들 14:57 <dm> 너어어어어어어어어어어드드드드드드드드 14:57 * jrandom dm의 머리를 *baf* 하고 친다 14:58 <jrandom> (회의를 종료합니다)