  Blockchain technology is apt to facilitate the automation of multi-party
cooperations among various players in a decentralized setting, especially in
cases where trust among participants is limited. Transactions are stored in a
ledger, a replica of which is retained by every node of the blockchain network.
The operations saved thereby are thus publicly accessible. While this aspect
enhances transparency, reliability, and persistence, it hinders the utilization
of public blockchains for process automation as it violates typical
confidentiality requirements in corporate settings. To overcome this issue, we
propose our approach named Multi-Authority Approach to Transaction Systems for
Interoperating Applications (MARTSIA). Based on Multi-Authority Attribute-Based
Encryption (MA-ABE), MARTSIA enables read-access control over shared data at
the level of message parts. User-defined policies determine whether an actor
can interpret the publicly stored information or not, depending on the actor's
attributes declared by a consortium of certifiers. Still, all nodes in the
blockchain network can attest to the publication of the (encrypted) data. We
provide a formal analysis of the security guarantees of MARTSIA, and illustrate
the proof-of-concept implementation over multiple blockchain platforms. To
demonstrate its interoperability, we showcase its usage in ensemble with a
state-of-the-art blockchain-based engine for multi-party process execution, and
three real-world decentralized applications in the context of NFT markets,
supply chain, and retail.
