You more or less answered your own questions… The solution is to use locks when it’s easy, and to use channels when you need to orchestrate multiple go-routines.
Finalizers should not be relied on. They’re there as a backup, but in your case, if you really want a go-routine for your map, using `.Close()` is appropriate…
“okay, from my subjective view, we are past epsilon”
Yeah, you need an objective measure of this.
Others need to be able to see what you’ve presented as evidence, and, deterministically come to the conclusion that the thing did pass epsilon.
How does Casper’s sharding work? Tendermint is a building block for introducing parallelism. Maybe it’s compatible.
One thing I never could figure out about Casper… it seems that Casper could be vulnerable to a “tug of war” attack with less than 1/3 of Byzantine validators. Imagine a malicious subset of nodes that have…