Analysing and Improving Shard Allocation Protocols for Sharded Blockchains