3 ms·
Thanks. Looks like the reason the time functionality is restricted is to avoid DOSes and server load, not to prevent against side channel attacks (which like I
by Manishearth 10y ago
Thanks.
Looks like the reason the time functionality is restricted is to avoid DOSes and server load, not to prevent against side channel attacks (which like I said are possible anyway with mutexes and channels).
The rest could be pretty easily implemented via docker or some other sandboxing method (the time stuff sort of can be handled too, but it's trickier). It might be more vulnerable to load, but it will be able to work with a pristine Go toolchain and provide options like switching between versions; much like the Rust playground.
- fjl 10y agofaketime is very useful on its own. We use it to run network simulations in accelerated time. https://github.com/ethereum/go-ethereum/blob/master/p2p/discv5/sim_test.go#L37 https://github.com/ethereum/go-ethereum/blob/master/p2p/disc...