What are some differences between Substrate and Cosmos SDK?

The parachain runtime / validation function sets rules on what the allowable block content is. There is no other restriction. Validators have the ability to omit blocks that they don’t want to second for some reason.

Fishermen were unnecessary in Polkadot because of the Approval Checking protocol, which is described in this blog post: Polkadot v1.0: Sharding and Economic Security