A computer-implemented method for parallel execution of transactions in a blockchain network, the method comprising: identifying a plurality of transactions to be executed in the blockchain, wherein the transactions are arranged in an execution order, wherein the transactions include one or more smart contract calls (405a-b, 410a-b, 415a-e, 420a-c) to one or more smart contracts, each of the one or more smart contract calls being associated with a whitelist identifying one or more accounts that are authorized to execute the respective smart contract called by the each of the one or more smart contract calls, and wherein the execution order includes a smart contract call to a smart contract, that is associated with no whitelist and is arranged after the plurality of transactions; identifying groups (455, 460, 465) of transactions within the plurality of transactions, wherein the transactions in each group are associated with a particular set of accounts in the blockchain network, and wherein the particular set of accounts associated with each of the one or more smart contract calls is determined based on the whitelist associated with the each of the one or more smart contract calls; instructing nodes of the blockchain network to execute each of the groups of transactions in parallel, wherein executing each group of transactions includes executing the transactions within the group serially and according to the execution order; determining that the nodes of the blockchain network have completed executing all of the groups of transactions; and in response to determining that the nodes of the blockchain network have completed executing all of the groups of transactions, instructing the nodes of the blockchain network to execute the smart contract call that is associated with no whitelist, the smart contract call that is associated with no whitelist representing a synchronization point where parallel execution of all the groups of transactions converges. identifying a plurality of transactions to be executed in the blockchain, wherein the transactions are arranged in an execution order, wherein the transactions include one or more smart contract calls (405a-b, 410a-b, 415a-e, 420a-c) to one or more smart contracts, each of the one or more smart contract calls being associated with a whitelist identifying one or more accounts that are authorized to execute the respective smart contract called by the each of the one or more smart contract calls, and wherein the execution order includes a smart contract call to a smart contract, that is associated with no whitelist and is arranged after the plurality of transactions; identifying groups (455, 460, 465) of transactions within the plurality of transactions, wherein the transactions in each group are associated with a particular set of accounts in the blockchain network, and wherein the particular set of accounts associated with each of the one or more smart contract calls is determined based on the whitelist associated with the each of the one or more smart contract calls; instructing nodes of the blockchain network to execute each of the groups of transactions in parallel, wherein executing each group of transactions includes executing the transactions within the group serially and according to the execution order; determining that the nodes of the blockchain network have completed executing all of the groups of transactions; and in response to determining that the nodes of the blockchain network have completed executing all of the groups of transactions, instructing the nodes of the blockchain network to execute the smart contract call that is associated with no whitelist, the smart contract call that is associated with no whitelist representing a synchronization point where parallel execution of all the groups of transactions converges.