This is just an extra layer of server-side protection. It is trivial to change outgoing hidden input with a person in an average tool such as Fiddler.
As for being optional, there is almost certainly a data attribute for it. Alternatively, adding a question mark after the property name in your model should do this.
source share