Yeah I can see the reason for allowing the timestamp to increment by 1 second. But it shouldn't be allowed to go up by 2 hours into the future. that wouldn't make any sense why that would be necessary.
Part of this may be historical in that Satoshi didn't know whether computers would be connected continuously to start.
Maybe but maybe Satoshi wasn't sure how many megahash some hardware might eventually get up to. Thus, it might burn through nonces and timestamps much faster than "real time". So it might need to go out to 2 hours in the future to get a valid hash, if the difficulty was high enough.
Enforced timestamps from those transacting, nodes, and miners would require extra space in the blockchain on all transactions. Those timestamps may not be trustworthy. And privacy would disappear due to all sorts of fingerprinting. Is it safe to assume that you would want it for analytics of some sort?
no particular analytics but i just thought it's nice if the network can agree on when a transaction was first seen and put that as the timestamp of the transaction inside the block.
Also, how many nodes' timestamps should you include?
Just the node that first received the transaction once it had been submitted to the network. Is all I was thinking. Whether it takes 1 minute or 1 week to get mined is another story but there could be a second timestamp for that perhaps. And that's it.
How can a node know whether it had reached another computer first?
Yeah I don't know about that. They would need a consensus mechanism to agree on something like that.
What if a malicious node started to modify these after the previous node?
There would have to be some type of cryptographic protocol to validate timestamps.
I'm sure there are ways, but whether those would be peer to peer currencies or people would be willing to invest in them is another matter. I'd bet that there are blockchains that do this.
not sure if there are. maybe solana but i'm not sure.
e2: Also, there is already a timestamp of whenever transactions occur, just not within a fast temporal resolution, but still an impressive feat for a continuous 13 year period that anyone can verify.
it is impressive.
Then run your own node and keep a database of whenever you first see every transaction and every block. Your timings will be unique when compared to every other node. It doesn't make sense to take about when a transaction was first seen in a decentralized network, since every node will see it at a different time.
So you're saying it is impossible to make "when a transaction was first seen" be a well defined concept in a decentralized network such as bitcoin that uses proof of work. without a major overhaul i think i would have to agree.