I was wondering about block time and block size. Why are they defined the way they are? Is it possible to reduce the time between two blocks without changing the consensus mechanism? What would happen to the current consensus if we wanted to lower the time between two blocks?
There is a brilliant explanation about why was the decision of the default Substrate block time in this previous StackExchange answer: What is the possible minimum block time?.
Substrate is highly customizable, so yes, is possible to reduce the time between two blocks.
See these examples:
- How to configure polkadot + parachain locally to validate parachain block each 6 sec?
- Why my solo chain block time is 12 seconds when set to 6?
And just as an example about how customizable is if you want to change the consensus mechanism: How can I make my node generate blocks only when they receive transactions?
About your question what would happen to the current consensus if we wanted to lower the time between two blocks, I get this quote from the Shawn's answer I shared above.
Testing and benchmarking of your Substrate network will be the only way to really determine how low you can safely get your block time.