IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#ls2
/2026/02/10
@eyedeekay
+R4SAS
+RN
+Xeha
+acetone
+orignal
Irc2PGuest28234
Irc2PGuest51098
OfficialCIA
T3s|4
T3s|4_
aargh4
calamares_
combed_tree328
leopold
n2_
not_bob_afk2
profetikla
qend-irc2p
x74a6
zzz altonen_, if you'd like to discuss the attacks, #i2p-news is the best place, before or after the meeting
orignal especially since it's not an attack )))
zzz everybody has their theories, what you call it doesn't matter
not_bob My graphs are looking generally up today.
orignal no evidence that these routers has been modifed for attack
zzz If you're here for the review, even if you're just lurking, please say hi.
StormyCloud The cloud has arrived
zzz OK. welcome everybody, let's try to do this. If it doesn't work out, we'll reschedule for a week from now.
zzz I'll give a brief overview of what the agenda is for today and then I'll throw it open for questions and comments.
zzz This is the 4th review of proposal 169, going back a year. The previous 3 focused on Ratchet. Today we're going to look at the transports.
zzz Starting with NTCP2 and going on to SSU2 if we have time.
zzz Orignal and I made some preliminary agreements back in August on how we would advertise PQ transport support and I documented them at zzz.i2p/topics/3697 , you can look at that for a summary.
zzz We have recently implemented and tested PQ NTCP2 based on those decisions. I have updated prop. 169 to reflect those decisions and that's what we will be reviewing today. We have not started on SSU2.
zzz The changes are very similar to what we did for ratchet, together with guidance about how to advertise PQ support in router addresses.
zzz All changes are backward-compatible.
zzz I'll now ask for questions and comments.
orignal my issue is padding size
orignal we should have spikes in SessionReqest message size distrobution
zzz ok orignal at the bottom of the NTCP2 section I put my proposal
orignal *shouldn't
orignal so what's you proposal?
zzz Java I2P proposes using the defined message size as the maximum padding, that is, the maximum padding will double the message size, as follows:
zzz Message Max Padding MLKEM-512 MLKEM-768 MLKEM-1024
zzz Session Request 880 1264 1648
zzz Session Created 848 1136 1616
orignal right and I don't like it
zzz that's the proposal for the maximum. I don't specify the distribution
zzz ok what's YOUR proposal ? ))
StormyCloud Why do you not like that size?
orignal two options
orignal either up to next type min size
orignal or up to MLKEM-1024
orignal random
orignal StormyCloud because huilo will see two spikes
orignal around 287 and around 1264
orignal and they recignize I2P this way
zzz my proposal is more than the 'next type min size'
orignal we don't want it
orignal what's your max size for standard x25519?
zzz e.g. for mlkem512, 880 + 880 padding is > mlkem768 min size 1264
orignal great
orignal tell me about x25519
zzz Java I2P implements a maximum of 256 bytes padding for non-PQ connections, however this was not previously documented.
orignal we should extrend it
zzz I can extend it for non-PQ but you'd have to check router version
orignal to overlap MLMKEM-512
orignal ofc based on router version
zzz I can research how much of a pita it would be and get back to you
orignal no more question or concerns from me for NTCP2
altonen_ why support two different ways of signaling PQ support (same/different address), why is same-addres PQ not the only way?
zzz so are you happy with my proposal then as I pasted above?
zzz same-address will be the only way, until somebody wants to do it the other way
zzz or until we stop doing non-PQ
altonen_ but do i have to implement support for both types, in case somebody implements it at some point
orignal altonen_ because zzz din't have an anser from you
zzz nah what I said in the docs is contact us if you want to do different address because we haven't implemented it
zzz if it's easier for everybody to do same address I'll more clearly mark it in the spec, 'don't do this'
orignal same address with pq= is fine in my opinion
altonen_ i'd also prefer same address
zzz ok eyedeekay you happy with that?
orignal I suspect he is not up to what we are talking about ))
zzz probably not, that's ok
zzz any other comments or questions about NTCP2 ?
zzz how about on SSU2 ?
zzz note that we feel pretty good about the NTCP2 part since we've already implemented and tested it
orignal ssu2 is time to imlement
orignal to fix this old issue
zzz yeah I can start working on it after I checkin NTCP2 support
zzz there is one TODO in the SSU2 section, whether to change the version field in the Relay and Peer Test blocks
zzz or leave it at 2
zzz not sure, we can figure it out later I guess
zzz one of many problems, yes
orignal SYN packets become looong
zzz there are now 5 streaming impls including go/rust/i2pd/java/tixati
orignal no we are talking about signatures only for now
orignal and no idk how to do it through I2CP
zzz me either
zzz anyway, let's get back to transports
zzz anybody have any other things to discuss about the transports?
orignal gralic I2NP message for ratchets
orignal I send many datagrams in a signle garlic
orignal would you honor such garlic?
zzz with multiple cloves?
orignal basically multiple datagrams
zzz off the top of my head it seems like it should work but I'd have to research and get back to you
orignal but this is not my main quetion/proposals
zzz I don't think it violates any spec. Have you researched in the specs?
orignal in this case we do more
orignal we use delivery type "destination" only for first one
orignal others are "local"
zzz local violates the spec and won't work thru java
orignal if you datagram is 20 bytes, 32 extra is huge overhead
orignal yes, I know
orignal that's my proposal
orignal to let java support it
zzz write it up
orignal we use it in our UDP tunnels
orignal for packs of raw datagrams
orignal but this is incompatible with Java
orignal anybody esle?
orignal opionions?
orignal *opinions
orignal altonen_, eyedeekay
altonen_ i need to check my code but i think it should work
zzz you could also just define a packed format inside one clove. length | datagram | length | datagram | ...
eyedeekay I don't see why not but I want to think about 'local'
zzz depends what layer you want to do it at, the application layer or down in ratchets
orignal zzz, yes that's anotoer option without Data gzip header
orignal that's also overhead
orignal eyedeekay the difference between destination and local is extra 32 bytes
orignal i2pd UDP tunnel is Datgram3 + raw datagrams
zzz could define 'datagram4' which is a packed format
orignal it's ratchets level
orignal just another block type
zzz but I'm saying maybe the application layer is a better place to do it than the ratchets layer
orignal for raw datagrams
zzz or maybe not. just brainstorming
orignal special delivery of raw datagrams through racthets make sense
orignal that's all from me
orignal and datagrams are very fast now
altonen_ orignal what is a usecase for UDP tunnel?
orignal wireguard, my freind
orignal and also video streaming
orignal if you live in some "stan" wireguard over I2P is what you want
orignal huilostan is real case today
zzz if you write up a spec for it I'll consider supporting it
orignal for multi cloves
orignal or new block type?
zzz for what you're doing now for wireguard
zzz but if it's incompatible stuff in the ratchet layer thats harder
orignal you want speans for our UDP tunnel
orignal we also send some data in options
orignal will try to write
orignal how it works
zzz somebody asked me a while ago about it, I said there's no published spec afaik
zzz ok, no promises but will take a look ))
orignal ha ha
orignal it was a lot of discusssions with onon
orignal I will try to summarize
zzz no rush, kinda busy )))
zzz gotta run, thanks again everybody, especially nice to see altonen_ here
orignal however there is one issue
orignal it relies on the ability to swicth tunnels
altonen_ it was nice chatting again, cya