github.com/leonlxy/hyperledger@v1.0.0-alpha.0.20170427033203-34922035d248/docs/source/FAQ/confidentiality_FAQ.rst (about)

     1  Confidentiality
     2  ===============
     3  
     4   * How is the confidentiality of transactions and business logic achieved?
     5  
     6  The security module works in conjunction with the membership service
     7  module to provide access control service to any data recorded and
     8  business logic deployed on a chain network.
     9  
    10  When a code is deployed on a chain network, whether it is used to define
    11  a business contract or an asset, its creator can put access control on
    12  it so that only transactions issued by authorized entities will be
    13  processed and validated by chain validators.
    14  
    15  Raw transaction records are permanently stored in the ledger. While the
    16  contents of non-confidential transactions are open to all participants,
    17  the contents of confidential transactions are encrypted with secret keys
    18  known only to their originators, validators, and authorized auditors.
    19  Only holders of the secret keys can interpret transaction contents.
    20  
    21  * What if none of the stakeholders of a business contract are
    22  validators?
    23  
    24  In some business scenarios, full confidentiality of contract
    25  logic may be required – such that only contract counterparties and
    26  auditors can access and interpret their chaincode. Under these
    27  scenarios, counter parties would need to spin off a new child chain with
    28  only themselves as validators.