Can we reuse Toychain or [(directed) tree](https://pdfs.semanticscholar.org/151b/60b91a094fbf76f79a67fd608a9fd64cbe9b.pdf)? Related #56, etc. The current assumption `blockchain_type` (i.e. ancestors are not conflicts) is a bit strong.