Opposing Bases a few weeks ago had feedback from someone who had a button on their transponder that didn’t work and needed a code without any 5’s in it. Good luck getting _that_ through to auto-ATC.
Can emit all bytes except for 00000101 isn't really the type of problem you see in a digital system. And even if it were, it's pretty simple.
plane 1 > assign code 4563
plane 2 > reject
plane 1 > assign code 0827
plane 2 > accept
Also assigning short codes like that isn't something likely to be necessary in an automated protocol like this. Why not just have every message sent between 2 planes include a sender_id: UUID header?
Because now we’re talking about putting deeply integrated equipment in every plane. It’s a certification and cost nightmare.
This is not a system where you get to do clean slate greenfield development. Whatever you do must work for the lowest common denominator. ATC is a fairly cheap societal expense compared to developing, certifying, installing, and maintaining systems with the level of integration you want in hundreds of thousands of diverse planes.
The US has about 200,000 general aviation planes. You can’t ignore them, and you can’t just ban GA because that’s your pipeline for getting commercial pilots.
plane 1 > assign code 4563
plane 2 > reject
plane 1 > assign code 0827
plane 2 > accept
Also assigning short codes like that isn't something likely to be necessary in an automated protocol like this. Why not just have every message sent between 2 planes include a sender_id: UUID header?