Skip to content

Commit

Permalink
[FAB-9971] Minor tweaks to a couple Key concepts files
Browse files Browse the repository at this point in the history
More innocuous cleanup to a couple doc files under the "Key Concepts"
banner; typically, I like to keep these submissions in bite-size
pieces, and will make a separate submission only if there are
extensive changes in a single file.

Change-Id: Ie9f6643faa5f2082886f312b297e9b3f843328ac
Signed-off-by: Robert P. J. Day <[email protected]>
  • Loading branch information
rpjday committed May 9, 2018
1 parent 963ce19 commit e4e8e4c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
20 changes: 11 additions & 9 deletions docs/source/fabric_model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@ Hyperledger Fabric Model
This section outlines the key design features woven into Hyperledger Fabric that
fulfill its promise of a comprehensive, yet customizable, enterprise blockchain solution:

* :ref:`Assets` - Asset definitions enable the exchange of almost anything with
* :ref:`Assets` --- Asset definitions enable the exchange of almost anything with
monetary value over the network, from whole foods to antique cars to currency
futures.
* :ref:`Chaincode` - Chaincode execution is partitioned from transaction ordering,
* :ref:`Chaincode` --- Chaincode execution is partitioned from transaction ordering,
limiting the required levels of trust and verification across node types, and
optimizing network scalability and performance.
* :ref:`Ledger-Features` - The immutable, shared ledger encodes the entire
* :ref:`Ledger-Features` --- The immutable, shared ledger encodes the entire
transaction history for each channel, and includes SQL-like query capability
for efficient auditing and dispute resolution.
* :ref:`Privacy-through-Channels` - Channels enable multi-lateral transactions
* :ref:`Privacy-through-Channels` --- Channels enable multi-lateral transactions
with the high degrees of privacy and confidentiality required by competing
businesses and regulated industries that exchange assets on a common network.
* :ref:`Security-Membership-Services` - Permissioned membership provides a
* :ref:`Security-Membership-Services` --- Permissioned membership provides a
trusted blockchain network, where participants know that all transactions can
be detected and traced by authorized regulators and auditors.
* :ref:`Consensus` - a unique approach to consensus enables the
* :ref:`Consensus` --- A unique approach to consensus enables the
flexibility and scalability needed for the enterprise.

.. _Assets:
Expand Down Expand Up @@ -64,9 +64,11 @@ The ledger is comprised of a blockchain ('chain') to store the immutable, sequen
blocks, as well as a state database to maintain current fabric state. There is one ledger per
channel. Each peer maintains a copy of the ledger for each channel of which they are a member.

Some features of a Fabric ledger:

- Query and update ledger using key-based lookups, range queries, and composite key queries
- Read-only queries using a rich query language (if using CouchDB as state database)
- Read-only history queries - Query ledger history for a key, enabling data provenance scenarios
- Read-only history queries --- Query ledger history for a key, enabling data provenance scenarios
- Transactions consist of the versions of keys/values that were read in chaincode (read set) and keys/values that were written in chaincode (write set)
- Transactions contain signatures of every endorsing peer and are submitted to ordering service
- Transactions are ordered into blocks and are "delivered" from an ordering service to peers on a channel
Expand All @@ -85,9 +87,9 @@ Privacy through Channels

Hyperledger Fabric employs an immutable ledger on a per-channel basis, as well as
chaincodes that can manipulate and modify the current state of assets (i.e. update
key-value pairs). A ledger exists in the scope of a channel - it can be shared
key-value pairs). A ledger exists in the scope of a channel --- it can be shared
across the entire network (assuming every participant is operating on one common
channel) - or it can be privatized to include only a specific set of participants.
channel) --- or it can be privatized to include only a specific set of participants.

In the latter scenario, these participants would create a separate channel and
thereby isolate/segregate their transactions and ledger. In order to solve
Expand Down
2 changes: 1 addition & 1 deletion docs/source/functionalities.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ identity service that manages user IDs and authenticates all participants on
the network. Access control lists can be used to provide additional layers of
permission through authorization of specific network operations. For example, a
specific user ID could be permitted to invoke a chaincode application, but
blocked from deploying new chaincode.
be blocked from deploying new chaincode.

Privacy and confidentiality
---------------------------
Expand Down

0 comments on commit e4e8e4c

Please sign in to comment.