A computer-implemented method performed by a blockchain node of a blockchain network, the method comprising: receiving a first cyphertext of a first digital document specifying a guarantee from a first computing device associated with at least a first guarantor and one or more zero-knowledge proofs, ZKPs, related to one or more values associated with the guarantee, wherein the guarantee is made by the at least a first guarantor to a beneficiary, and the first digital document specifies one or more predetermined conditions of executing the guarantee; verifying that the one or more ZKPs are correct; upon verifying that the one or more ZKPs are correct, storing the first cyphertext to a blockchain based on performing a consensus algorithm; receiving a first message from a second computing device associated with a beneficiary or a representative of the beneficiary, the first message including a request to modify the guarantee; sending a second message about the request to modify the guarantee to the first computing device; receiving, from the first computing device, a second cyphertext of a second digital document specifying the guarantee, the second digital document representing a modified version of the first digital document in which the modification was made based on the request; storing the second cyphertext to the blockchain based on performing the consensus algorithm; sending a third message to the second computing device indicating that the guarantee has been modified; receiving a fourth message from the second computing device indicating an acceptance of the guarantee specified in the second digital document; and modifying the second cyphertext to update a status of the guarantee to indicate that the guarantee has been accepted by the beneficiary; wherein the blockchain node generates a smart contract that includes templates to perform operations including modifying the cyphertext of the guarantee, updating the status of the guarantee, sending messages to the first computing device, and sending messages to the second computing device, the blockchain node registers accounts in the smart contract associated with entities which are authorized to invoke the smart contract templates to perform the operations, and the blockchain node is configured to add further templates to the smart contract upon request by the entities. receiving a first cyphertext of a first digital document specifying a guarantee from a first computing device associated with at least a first guarantor and one or more zero-knowledge proofs, ZKPs, related to one or more values associated with the guarantee, wherein the guarantee is made by the at least a first guarantor to a beneficiary, and the first digital document specifies one or more predetermined conditions of executing the guarantee; verifying that the one or more ZKPs are correct; upon verifying that the one or more ZKPs are correct, storing the first cyphertext to a blockchain based on performing a consensus algorithm; receiving a first message from a second computing device associated with a beneficiary or a representative of the beneficiary, the first message including a request to modify the guarantee; sending a second message about the request to modify the guarantee to the first computing device; receiving, from the first computing device, a second cyphertext of a second digital document specifying the guarantee, the second digital document representing a modified version of the first digital document in which the modification was made based on the request; storing the second cyphertext to the blockchain based on performing the consensus algorithm; sending a third message to the second computing device indicating that the guarantee has been modified; receiving a fourth message from the second computing device indicating an acceptance of the guarantee specified in the second digital document; and modifying the second cyphertext to update a status of the guarantee to indicate that the guarantee has been accepted by the beneficiary; wherein the blockchain node generates a smart contract that includes templates to perform operations including modifying the cyphertext of the guarantee, updating the status of the guarantee, sending messages to the first computing device, and sending messages to the second computing device, the blockchain node registers accounts in the smart contract associated with entities which are authorized to invoke the smart contract templates to perform the operations, and the blockchain node is configured to add further templates to the smart contract upon request by the entities.