@@ -13,9 +13,10 @@ fulfill its promise of a comprehensive, yet customizable, enterprise blockchain
13
13
* :ref: `Ledger-Features ` --- The immutable, shared ledger encodes the entire
14
14
transaction history for each channel, and includes SQL-like query capability
15
15
for efficient auditing and dispute resolution.
16
- * :ref: `Privacy-through-Channels ` --- Channels enable multi-lateral transactions
17
- with the high degrees of privacy and confidentiality required by competing
18
- businesses and regulated industries that exchange assets on a common network.
16
+ * :ref: `Privacy ` --- Channels and private data collections enable multi-lateral
17
+ transactions with the high degrees of privacy and confidentiality required by
18
+ competing businesses and regulated industries that exchange assets on a common
19
+ network.
19
20
* :ref: `Security-Membership-Services ` --- Permissioned membership provides a
20
21
trusted blockchain network, where participants know that all transactions can
21
22
be detected and traced by authorized regulators and auditors.
@@ -80,13 +81,13 @@ Some features of a Fabric ledger:
80
81
81
82
See the :doc: `ledger ` topic for a deeper dive on the databases, storage structure, and "query-ability."
82
83
83
- .. _Privacy-through-Channels :
84
+ .. _Privacy :
84
85
85
- Privacy through Channels
86
- ------------------------
86
+ Privacy
87
+ -------
87
88
88
89
Hyperledger Fabric employs an immutable ledger on a per-channel basis, as well as
89
- chaincodes that can manipulate and modify the current state of assets (i.e. update
90
+ chaincode that can manipulate and modify the current state of assets (i.e. update
90
91
key-value pairs). A ledger exists in the scope of a channel --- it can be shared
91
92
across the entire network (assuming every participant is operating on one common
92
93
channel) --- or it can be privatized to include only a specific set of participants.
@@ -98,12 +99,24 @@ chaincode can be installed only on peers that need to access the asset states
98
99
to perform reads and writes (in other words, if a chaincode is not installed on
99
100
a peer, it will not be able to properly interface with the ledger).
100
101
102
+ When a subset of organizations on that channel need to keep their transaction
103
+ data confidential, a private data collection (collection) is used to segregate
104
+ this data in a private database, logically separate from the channel ledger,
105
+ accessible only to the authorized subset of organizations.
106
+
107
+ Thus, channels keep transactions private from the broader network whereas
108
+ collections keep data private between subsets of organizations on the channel.
109
+
101
110
To further obfuscate the data, values within chaincode can be encrypted
102
111
(in part or in total) using common cryptographic algorithms such as AES before
103
112
sending transactions to the ordering service and appending blocks to the ledger.
104
113
Once encrypted data has been written to the ledger, it can be decrypted only by
105
- a user in possession of the corresponding key that was used to generate the cipher text.
106
- For further details on chaincode encryption, see the :doc: `chaincode4ade ` topic.
114
+ a user in possession of the corresponding key that was used to generate the cipher
115
+ text. For further details on chaincode encryption, see the :doc: `chaincode4ade `
116
+ topic.
117
+
118
+ See the :doc: `private-data-arch ` topic for more details on
119
+ how to implement privacy on your blockchain network.
107
120
108
121
.. _Security-Membership-Services :
109
122
0 commit comments