Username = hex(sha1(topic_id + ip))[10-14]
Notably, no salt used
Notably, no salt used
I would consider the topic a salt - the problem is that the input is so small - just a 32 bit number which makes the "password" (user ip) fast to break.
The sane solution would be to generate large random ids per ip address, topic. And burn the mapping after some time.
I think there's where the anonymity claims might have come from