A computer-implemented method for registering subscribable states in blockchain, comprising: obtaining , by one or more servers , a request for registering a workflow comprising one or more subscribable states; generating , by the one or more servers , a blockchain contract comprising the workflow; deploying , by the one or more servers , the blockchain contract in a blockchain , wherein the deployed blockchain contract is executable to update a current state of the workflow among the one or more states; maintaining, by the one or more servers , one or more local states (L1, L2, L3, L4) of a local state machine in the one or more servers , the maintained one or more local states (L1, L2, L3, L4) respectively mapped to the one or more states of the workflow in the blockchain , wherein a local state of the one or more local states (L1, L2, L3, L4) is mapped to a state of the one or more states of the workflow in the blockchain ; obtaining, by the one or more servers , a request for deactivating the state of the workflow in the blockchain ; and in response to the request for deactivating the state: generating, by the one or more servers , a blockchain transaction for shortcutting the state from the one or more states of the workflow in the blockchain , and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain ; and shortcutting, by the one or more servers , the local state from the one or more local states (L1, L2, L3, L4) of the local state machine in the one or more servers . obtaining , by one or more servers , a request for registering a workflow comprising one or more subscribable states; generating , by the one or more servers , a blockchain contract comprising the workflow; deploying , by the one or more servers , the blockchain contract in a blockchain , wherein the deployed blockchain contract is executable to update a current state of the workflow among the one or more states; maintaining, by the one or more servers , one or more local states (L1, L2, L3, L4) of a local state machine in the one or more servers , the maintained one or more local states (L1, L2, L3, L4) respectively mapped to the one or more states of the workflow in the blockchain , wherein a local state of the one or more local states (L1, L2, L3, L4) is mapped to a state of the one or more states of the workflow in the blockchain ; obtaining, by the one or more servers , a request for deactivating the state of the workflow in the blockchain ; and in response to the request for deactivating the state: generating, by the one or more servers , a blockchain transaction for shortcutting the state from the one or more states of the workflow in the blockchain , and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain ; and shortcutting, by the one or more servers , the local state from the one or more local states (L1, L2, L3, L4) of the local state machine in the one or more servers . generating, by the one or more servers , a blockchain transaction for shortcutting the state from the one or more states of the workflow in the blockchain , and transmitting the generated blockchain transaction to one or more blockchain nodes to add to the blockchain ; and shortcutting, by the one or more servers , the local state from the one or more local states (L1, L2, L3, L4) of the local state machine in the one or more servers . <EOS>