Private Chaincode Event Delivery for Permissioned Blockchain Privacy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing blockchain systems lack support for private events that prevent the broadcast of sensitive information to unintended clients, compromising privacy and increasing the count of bytes or clients receiving unintended events.
Innovation Solution
Implement a mechanism for private smart contract events that restrict the broadcast of chaincode events to a specified subset of network organizations and clients, using cryptographic hashing to ensure tamper-proof privacy and replay detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If chaincode events are broadcast to all clients for transparency and traceability, then information sharing and verification are improved, but privacy is compromised as sensitive information is exposed to unintended clients
Solution Approach 1:
The patent segments the event distribution mechanism by separating public events from private events. Private events are segmented to be delivered only to specific target clients rather than all clients, while public events continue to be broadcast universally. This segmentation resolves the contradiction by allowing transparent information sharing for public events while protecting sensitive information in private events from unintended exposure.
Solution Approach 2:
The patent applies local quality by enabling different delivery scopes for different events. Each event can be marked as public or private, with private events having localized delivery to specific target clients identified by the chaincode. This allows the system to maintain high transparency where needed while providing privacy protection where sensitive information is involved, rather than applying a uniform delivery mechanism to all events.
2Object-affected harmful factors
If private events are delivered only to specific target clients, then privacy is improved, but system complexity increases due to the need for selective delivery mechanisms
Solution Approach 1:
The patent implements self-service by enabling the chaincode to autonomously determine the delivery scope of each event. The chaincode itself specifies whether an event is public or private and identifies the target clients for private events, eliminating the need for external configuration or complex centralized control mechanisms. This self-service approach maintains privacy protection while minimizing system complexity by leveraging the existing smart contract execution framework.
Solution Approach 2:
The patent achieves universality by designing a unified event delivery mechanism that handles both public and private events through the same infrastructure. The existing event broadcasting system is extended to support private events with selective delivery, rather than requiring separate systems. This multi-functionality approach provides privacy protection for sensitive events while maintaining compatibility with the existing public event mechanism, thus avoiding significant increases in system complexity.
3Reliability
If all clients receive all events for comprehensive monitoring, then auditability is improved, but network bandwidth and processing load increase
Solution Approach 1:
The patent segments event distribution by delivering private events only to relevant target clients rather than all clients. This segmentation reduces network bandwidth consumption and processing load for private events while maintaining auditability through the blockchain's immutable record of all transactions and events. The segmented delivery ensures that each client receives only the events relevant to their interests or responsibilities.
Solution Approach 2:
The patent applies parameter changes by modifying the delivery scope parameter for private events from 'all clients' to 'specific target clients'. This parameter change reduces the volume of data transmitted over the network and the processing burden on clients while preserving auditability through the blockchain's inherent immutability and the ability to query event history for any transaction.
Data Source
AI summary
Herein is privacy for a smart contract that contains chaincode that sends chaincode events. In a configurable and backwards compatible way, broadcast of a chaincode event can be restricted. Before committing a transaction to a blockchain and without storing a newly generated private event into the transaction, the following are stored into the private event: an event payload, a hash of the payload and, unlike the state of the art, an identifier of a subscriber or organization that can receive the private event. After committing the transaction is an asynchronous detection that the identifier of the subscriber is associated with the event and, responsively, the payload of the event is sent to the subscriber.


