Some of these overlap but I’m just trowing things around. Feel to help refine these ideas if they at all seem useful.
Lie and be lied to.
Nodes that have specifically lied in the voting period should themselves be lied to. An attacker can not truly be certain of the reliability of their machine. Given this reality, if they are caught lying, they can be demoted from elder to adult without being told the reason. After which the honest elders relocate the adult to a section that is informed of the transgression. This dishonest node is tagged as such and never allowed to vote. To avoid alerting the attacker, the newly occupied section can falsly grant the dishonest node the status of elder while never truly taking into account the “opinion” of the node. This allows us to retain the attackers resources for routing and data storage while giving it the illusion of progress.
To discover the intent of younger nodes, the section could at times temporarily increase the age of some adults to the role of elder and issue a voting test identical to that of any other legitamate voting event. In effect these tests do no harm to the section itself and help to identify malicious players.
The abyss protocol.
This next idea is more difficult if not impossible due to the way chunks are XOR addressed based on their encryption.
The idea is to send ONLY DISHONEST nodes to sections of least activity. Or if possible, sections specifically designed as quarantine that appear to be legitimate. My reasoning for this idea is to keep attackers who attempt to flood the network from knowing their nodes have been discovered. Prompting them or their script to restart and simply try again. By sending them to some sort of network abyss we can slow down if not entirely prevent them restarting their nodes for another attempt at malicious behavior.