I've been working on a specification for Bitcoin consensus rules: it's a declarative-style, executable, modern C++ implementation with the beginnings of a purpose-built DSL to enable formal verification.
It's not finished, but it's working to sync headers and blocks to tip (with full script validation to follow).
Here's my write-up:
*Hornet Node and the Hornet DSL:A Minimal, Executable Specification for Bitcoin Consensus* Toby Sharp hornetnode.org/paper.html
I don't read this list often, but if you'd like to discuss, you can reach me directly at toby@hornetnode•org. I'll make the code available when it's ready.
Thanks, T#