For each stage in the workflow you can decide whether to make a field,
- Visible to all users
- Read only for all users
- Hidden for all users
- Visible, Read only or Hidden to a set of users
Additionally, for each stage you can mark a field as mandatory. In such a scenario, user will not be able to proceed without filling that field.