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.