A method comprises receiving from a distributed app (dApp), a shard creation transaction in a blockchain block of a blockchain. he block may comprise multiple shards. Next, the method comprises collecting, with a join block in the blockchain, transactions. The join block is adjacent to the blockchain block. Next, the method includes encapsulating the shard creation transaction; applying the block including the shard creation transaction to yield a new shard in the block; and broadcasting the block. The join block executes cross shard transactions without impacting the parallel execution of intra-shard transactions with computer threads by separating inter-shard and intra-shard transactions into different blocks. Without join block, parallel executing intra shard threads in computer threads may need to lock the database states since inter-shard transactions may also write to it from different computer thread. Not sure if we need to make this clear in our claims regarding join block.