A computer-implemented method for improving security of smart contract, comprising: obtaining, by a blockchain node, a first transaction and a second transaction, wherein: the first transaction comprises an address of a smart contract in the blockchain pointing to executable code of the smart contract, one or more first parameters invoking the smart contract and a first transaction value, the second transaction comprises the address of the smart contract in the blockchain pointing to executable code of the smart contract, one or more second parameters invoking the smart contract, and a second transaction value, generating, by the blockchain node, an execution condition for the first transaction that limits execution of the smart contract, based on the first transaction; selecting, by the blockchain node, the first and second transactions in a random order; and in response to selecting, by the blockchain node, the second transaction before selecting the first transaction: updating, by the blockchain node, a first world state of the blockchain to a first transitional state by updating a balance of the smart contract based on the second transaction value; updating, by the blockchain node, the first transitional state to a second world state by calling the executable code of the smart contract according to the address in the blockchain and the one or more second parameters; updating, by the blockchain node, the second world state to a second transitional state by updating the balance of the smart contract based on the first transaction value; determining, by the blockchain node, whether the second transitional state of the blockchain satisfies the execution condition; in response to determining that the second transitional state of the blockchain does not satisfy the execution condition: reverting, by the blockchain node, the blockchain from the second transitional state to the second world state, recording, by the blockchain node, the execution of the second transaction corresponding to the second world state into a new data block without executing the first transaction, and discarding, by the blockchain node, the first transaction. the first transaction comprises an address of a smart contract in the blockchain pointing to executable code of the smart contract, one or more first parameters invoking the smart contract and a first transaction value, the second transaction comprises the address of the smart contract in the blockchain pointing to executable code of the smart contract, one or more second parameters invoking the smart contract, and a second transaction value, generating, by the blockchain node, an execution condition for the first transaction that limits execution of the smart contract, based on the first transaction; selecting, by the blockchain node, the first and second transactions in a random order; and in response to selecting, by the blockchain node, the second transaction before selecting the first transaction: updating, by the blockchain node, a first world state of the blockchain to a first transitional state by updating a balance of the smart contract based on the second transaction value; updating, by the blockchain node, the first transitional state to a second world state by calling the executable code of the smart contract according to the address in the blockchain and the one or more second parameters; updating, by the blockchain node, the second world state to a second transitional state by updating the balance of the smart contract based on the first transaction value; determining, by the blockchain node, whether the second transitional state of the blockchain satisfies the execution condition; in response to determining that the second transitional state of the blockchain does not satisfy the execution condition: reverting, by the blockchain node, the blockchain from the second transitional state to the second world state, recording, by the blockchain node, the execution of the second transaction corresponding to the second world state into a new data block without executing the first transaction, and discarding, by the blockchain node, the first transaction. updating, by the blockchain node, a first world state of the blockchain to a first transitional state by updating a balance of the smart contract based on the second transaction value; updating, by the blockchain node, the first transitional state to a second world state by calling the executable code of the smart contract according to the address in the blockchain and the one or more second parameters; updating, by the blockchain node, the second world state to a second transitional state by updating the balance of the smart contract based on the first transaction value; determining, by the blockchain node, whether the second transitional state of the blockchain satisfies the execution condition; in response to determining that the second transitional state of the blockchain does not satisfy the execution condition: reverting, by the blockchain node, the blockchain from the second transitional state to the second world state, recording, by the blockchain node, the execution of the second transaction corresponding to the second world state into a new data block without executing the first transaction, and discarding, by the blockchain node, the first transaction. reverting, by the blockchain node, the blockchain from the second transitional state to the second world state, recording, by the blockchain node, the execution of the second transaction corresponding to the second world state into a new data block without executing the first transaction, and discarding, by the blockchain node, the first transaction.