A computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises the steps of identifying a transaction id of a blockchain transaction and allocating the transaction to a shard based on the transaction id.