A validator that can be run on a node to check for semantic errors. It is fully up to the implementor how to do this.