A computer-implemented method for registering subscribable sub-states in blockchain, comprising: obtaining a request for registering one or more sub-states of a state, wherein a registered workflow comprises the state, including obtaining from a subscriber the request for creating the one or more sub-states of the state corresponding to the workflow; establishing an association between the subscriber and the one or more sub-states; generating a blockchain contract comprising the one or more sub-states; deploying the blockchain contract in a blockchain, wherein the deployed blockchain contract is executable to update a current sub-state of the state corresponding to the workflow among the one or more sub-states, wherein the one or more sub-states are configured in a cyclic trigger flow, the cyclic trigger flow starts with the state, passes through each of the one or more sub-states once in one direction, and returns to the state; obtaining information in one or more blocks of the blockchain to determine the current sub-state; updating a locally-maintained state machine based on the determined current sub-state; and transmitting a corresponding notification message to the subscriber, obtaining a request for deactivating one of the one or more sub-states; and in response to the request for deactivating the one sub-state: generating a blockchain transaction for shortcutting the one sub-state from the cyclic trigger flow, and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain; and shortcutting a local sub-state from another cyclic trigger flow, wherein the local sub-state is mapped to the one sub-state. obtaining a request for registering one or more sub-states of a state, wherein a registered workflow comprises the state, including obtaining from a subscriber the request for creating the one or more sub-states of the state corresponding to the workflow; establishing an association between the subscriber and the one or more sub-states; generating a blockchain contract comprising the one or more sub-states; deploying the blockchain contract in a blockchain, wherein the deployed blockchain contract is executable to update a current sub-state of the state corresponding to the workflow among the one or more sub-states, wherein the one or more sub-states are configured in a cyclic trigger flow, the cyclic trigger flow starts with the state, passes through each of the one or more sub-states once in one direction, and returns to the state; obtaining information in one or more blocks of the blockchain to determine the current sub-state; updating a locally-maintained state machine based on the determined current sub-state; and transmitting a corresponding notification message to the subscriber, obtaining a request for deactivating one of the one or more sub-states; and in response to the request for deactivating the one sub-state: generating a blockchain transaction for shortcutting the one sub-state from the cyclic trigger flow, and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain; and shortcutting a local sub-state from another cyclic trigger flow, wherein the local sub-state is mapped to the one sub-state. generating a blockchain transaction for shortcutting the one sub-state from the cyclic trigger flow, and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain; and shortcutting a local sub-state from another cyclic trigger flow, wherein the local sub-state is mapped to the one sub-state. <EOS>