Smart Contract Protocol for Authenticity and Compliance with Anonymity on Hyperledger Fabric
We consider a new class of business-to-business (B2B) blockchain applications that require the execution of specific subroutines to simultaneously satisfy authenticity, compliance, and anonymity. Existing blockchain smart contract protocols do not, either directly or with minor modifications, ensure all the three properties. We present the ACAn smart contract protocol guaranteeing authenticity and compliance over a set of anonymous (unlinkable) subroutine executions. ACAn achieves this through a novel combination of zero-knowledge proofs and multiple Merkle-Tree commitments. We specifically focus on implementing ACAn on Hyperledger Fabric, a popular platform for B2B blockchain applications, which processes transactions in the execute-order-commit framework. The latter, however, leads to performance degradation due to read-write conflicts arising out of multiple clients independently executing the ACAn protocol. We propose enhancements to Hyperledger Fabric's smart contract API to support deferred changes to the shared ledger, allowing us to adapt ACAn so that such conflicts are effectively resolved. Our work provides evidence of significant performance gains due to the proposed enhancements, as well as experimental evaluation of the protocol's privacy preserving components.