A computer-implemented method for protecting sensitive data stored on a blockchain, the method comprising: receiving, by a second workflow node and from a first workflow node a request to perform a private transaction associated with at least one account, wherein i) the private transaction comprises a transaction between an entity controlling the first workflow node and an entity controlling the second workflow node, and ii) the first workflow node and the second workflow node maintain a private blockchain; in response to receiving the request, verifying, by the second workflow node, the identity of the first workflow node and the private transaction using the private blockchain; notifying, by the second workflow node, the first workflow node that the private transaction has been successfully verified and returning, from the second workflow node and to the first workflow node, a digital signature of the second workflow node; performing, by the first workflow node and the second workflow node, actions associated with the private transaction that the first workflow node and second workflow node are respectively responsible for; following the notifying, storing, by the first workflow node and the second workflow node, respective raw private transaction data in respective local storage devices, wherein the local storage devices are separate from the private blockchain; generating, by the first workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction, the representation comprising a hash of transaction data and the identities of all transaction entities; storing, by the first workflow node and in the private blockchain, the representation of the private transaction; generating, by the first workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain; and sending, by the first workflow node and to a blockchain node that maintains a public blockchain, a notification to store, in the public blockchain, the account record, the account record including an updated balance for the at least one account. receiving, by a second workflow node and from a first workflow node a request to perform a private transaction associated with at least one account, wherein i) the private transaction comprises a transaction between an entity controlling the first workflow node and an entity controlling the second workflow node, and ii) the first workflow node and the second workflow node maintain a private blockchain; in response to receiving the request, verifying, by the second workflow node, the identity of the first workflow node and the private transaction using the private blockchain; notifying, by the second workflow node, the first workflow node that the private transaction has been successfully verified and returning, from the second workflow node and to the first workflow node, a digital signature of the second workflow node; performing, by the first workflow node and the second workflow node, actions associated with the private transaction that the first workflow node and second workflow node are respectively responsible for; following the notifying, storing, by the first workflow node and the second workflow node, respective raw private transaction data in respective local storage devices, wherein the local storage devices are separate from the private blockchain; generating, by the first workflow node, a representation of the private transaction configured to be accessible only to entities that are authorized to access the private transaction, the representation comprising a hash of transaction data and the identities of all transaction entities; storing, by the first workflow node and in the private blockchain, the representation of the private transaction; generating, by the first workflow node, an account record for the at least one account associated with the private transaction based at least in part on the private transaction, wherein the account record is configured to be accessible to at least one entity that is not authorized to access the representation of the private transaction in the private blockchain; and sending, by the first workflow node and to a blockchain node that maintains a public blockchain, a notification to store, in the public blockchain, the account record, the account record including an updated balance for the at least one account.