It’s to prevent any possible chance of brute forcing the value. 64 bits is vulnerable. 128 bits is impervious, and probably won’t ever be vulnerable. But 256 bit crypto keys are common.
That's not quite right. We're talking about the type of the integer, this doesn't have anything to do (directly) with cryptography. It's a bit of a silly decision but Ethereum uses uint256 for many things to avoid having to do floating point math.
> Ethereum uses uint256 for many things to avoid having to do floating point math.
Wow. I'm pretty ignorant when it comes to Solidity, so it hadn't previously occured to me that it doesn't have floating point. It stretches the limits of the imagination to consider the insanity we'd be seeing if Ethereum did have floating point math.
Sure, there are other benefits of uint256. But it does simplify carrying around crypto keys.
256 bit integers to avoid floats seems like a good idea too. I’ve wished for it whenever I try to represent integers as double. 2^53 is such an arbitrary restriction.