Why is there block gas limit? Should it just be the sum of gas limit used by each transactions inside the block? Why do we need an extra field for it instead of calculate it?
gas limit of a block defines maximum gas limit all the transactions inside block allowed to consume. its purpose is to keep propagation and transaction time of the block minimum and thereby make the network decentralized. the gas limit of the block is not fixed, it can be adjusted by the miner by some factor.it also protect the node from attackers who could make an effective infinite transaction loop.
https://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees http://gavwood.com/Paper.pdf