Block is a number of transactions that have been confirmed and shared in the Bitcoin public ledger. Initially able to accommodate up to 36MB. But to reduce ddos attacks on the network, then it is limited to 1MB.
With this limitation, miners can mine Bitcoin up to 1MB. Blocks larger than 1MB means invalid. So why is this maximum limit needed?
- To maintain consensus
- Avoid Centralization of Pool
- Make Full Nodes More Worthy
Technically, since segwit, a block can theoretically be 4Mb (on disk), however 3Mb is reserved for the witness data in order to keep backwards compatibility for the "old" nodes that still have the 1Mb limit. Offcourse, in reality, a block will almost never reach the 4Mb limit, but will probably be very close to the 1Mb limit after you disregard the witness data.
I haven't done the math, but my gut feeling tells me that if you'd only take the average amount of transactions per block for the last year, you'll get a lot more than 500 tx/block on average... Offcourse, if you take the all-time average, it'll probably be a lot lower (possibly around the ~500tx/block range... idk)