4 ms·
I think it's possible to detect if we're in a simulation or not. I think of it in a similar way to detecting whether or not a system is running in a virtual mac
by alasdair_ 6y ago
I think it's possible to detect if we're in a simulation or not. I think of it in a similar way to detecting whether or not a system is running in a virtual machine or on the hardware machine itself. Even if the VM is really, really good, there may be sidechannel tests that can be done, like measuring the amount of heat generated for a given computation, or weird timing attacks, or edge conditions that affect the underlying hardware.
For every action taken inside the simulation, there will be things that happen on the "hardware" outside of the simulation and since it's simulated, not real, the "hardware" won't respond in precisely the same way as it would if it were actually real in every possible circumstance.
The only simulation that would respond in exactly the same way as a "real" universe under all circumstances has to be a perfect 1:1 mapping in terms of "universe hardware", which is exactly the same as running on "real" bare metal.
- zamadatix 6y agoYou can only tell it's a VM via sidechannel because you know what not-a-VM would do already. In the case of the universe we have nothing to compare to, no way to say "that's an effect of running on the underlying hardware" vs "that's a special case of how the hardware runs". E.g. one could take speculative execution rollback after certain workloads as timing jitter from being in a VM if they didn't know that's just how things work on a CPU and the instructions recently ran have an impact on how the next ones will predict.
- ericb 6y agoThe difference is that there's an underlying assumption that base reality is analog and perhaps continuous rather than discrete, and definitely not CPU or memory constrained. In the scenario you mention, reality would be a program because it is still run on a computer in either case. If reality isn't a simulation, then we shouldn't be able to DDOS it, or overflow it, crash it, access a memory buffer, get root access, or execute timing attacks as those things are artifacts of computation.
- tutfbhuf 6y agoLet's assume mankind could create a machine that could crash the universe. Should we ever press the button to test it? And if the button is successful (the universe terminates), how would we get to know the result of the experiment?
- Armisael16 6y ago> The difference is that there's an underlying assumption that base reality is analog and perhaps continuous rather than discrete Those seem like pretty unjustifiable assumptions. How can anyone possibly know how physics “should” work?
- tutfbhuf 6y agoThe problem with the VM example is that in this case you can actually compare the VM behavior with your knowledge of real bare metal behavior and try to detect differences. But what if you have nothing to compare to. If you are inside a VM and never heard of bare-metal and have no chance to get at it for comparison.
- Udo 6y agoHow, without information on the "real" world, could you make a determination as to the fidelity of the simulation? Heck, a simulation doesn't even have to attempt to have the same natural laws as its host reality. If you're on an emulated x86, and you know a lot about x86 architecture, you may detect that you're on an emulator. But if all you get is information on the one single instance you're running on right now, no references, no documentation, no comparison with bare metal... at that point what's the difference?
- 22c 6y agoExperiments have been done similar to what you describe which help prove that we are not in certain types of simulations. I can't find the specific paper now, because of all the pop-sci clickbait which comes up thanks to Musk musings.