| Proof of liabilities,which is a cryptographic technique for proving solvency,allows a prover to prove to a group of users that the value of the liabilities of that group is included in the total value of the prover’s liability.One direct application of proof of liabilities is to prove financial solvency,but it can also be applied in areas outside of finance,such as disapproval vote,official liability reports,fundraising and credit scoring,etc.Considering concrete applications of proof of liabilities,such as banks,cryptocurrency exchanges,etc.,the actual liabilities of users usually change frequently.However,current proof of liabilities techniques mainly focus on static liability scenarios where the users’ liabilities remain unchanged,and hence are no longer applicable to scenarios where the user’s liability value changes frequently.In order to meet the needs of updatable liability,one direct solution is to regenerate the liability proof for the updated liability.However,this method is not only expensive(where the complexity is O(N)and N is the number of users)but also has potential security risks.Therefore,how to realize the proof of updatable liability securely and efficiently is of great significance for the application of proof of liability in practice.In order to solve the above problems,this paper analyzes the security risks of the proof of updatable liability,and constructs an updatable proof of liability based on DAPOL+(Distributed Auditing Proofs of Liabilities).Specifically,in order to capture the security requirements of the update scenario,we introduce the security model for updatable proof of liability.Our model not only meets the basic security requirements of the original proof of liabilities scheme,but also abstracts the special security requirements for liability update,which are unforgeability and anonymity.Based on the proof of liability scheme DAPOL+,we construct an efficient updatable proof of liabilities scheme UPoL.Our scheme uses zk-SNARK to ensure the security of the update,and the cost for the proof of liability update can be reduced from O(N)to O(log N). |