Still don't see how this is going to work. So I broadcast a transaction with a timestamp of last week. As it spreads to other nodes, they all timestamp it right now, with a spread of a minute or so. What then?
Then everyone will begin to see that your timestamp is probably invalid.
My transaction is deemed in valid because of my timestamp? Or my timestamp is ignored as an outlier and the transaction is timestamped as now?
It could be either. Which would you prefer? To me, I think it would be ok to timestamps it as "now", ie, update your timestamp to the correct one and fix you trying to game the system.
What if I spin up a new node? It receives a transaction which has been sitting unconfirmed for a few days and timestamps it as now. That will then move the median. Does the timestamp change? What if the older timestamp becomes an outlier because the median moves?
Not sure I understand what you're getting at with that question. But the way you described it sounds exactly like it is supposed to work. the timestamp would change, older timestamp should become an outlier if it's not in sync with atomic clock time.
What's to stop me running dozens of nodes and all accepting the same timestamp from last year to force current nodes to be the outliers?
Well, good luck with that. It would take alot more than "dozens" of dishonest nodes to affect the statistical median I mentioned earlier. Your efforts would be in vain.
Why should unconfirmed transactions be timestamped?
So we can know when the majority of nodes first saw the transaction. That means "when" it got presented to the network.
If there's a reason, can it work if it's your node who checks the timestamps locally?
if i'm running an honest atomic clock then i could probably trust the timestamp I put on a transaction sure.
If the above isn't satisfactory, how can you ensure that a transaction, the moment that it's signed, can't have a faked timestamp?
you could make the timestamp be part of the signature. if the network consensus was that the timestamp was invalid then it could make your transaction become invalid.
For instance, what if a miner chooses to include his transaction that has a faked timestamp, without letting it propagate? Is the transaction invalid for some nodes?
not only that but the entire block he mined would be invalid so he wouldn't get any reward. doesn't seem like a logical thing to try and do.