Understanding Bitcoin Core: The Reference Implementation