From e4e8e4c58b7bb2a2a89a22a26de9380835e2330e Mon Sep 17 00:00:00 2001 From: "Robert P. J. Day" Date: Wed, 9 May 2018 08:15:38 -0400 Subject: [PATCH] [FAB-9971] Minor tweaks to a couple Key concepts files 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 --- docs/source/fabric_model.rst | 20 +++++++++++--------- docs/source/functionalities.rst | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/source/fabric_model.rst b/docs/source/fabric_model.rst index ea6c8e39beb..f0d2f84e59b 100644 --- a/docs/source/fabric_model.rst +++ b/docs/source/fabric_model.rst @@ -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: @@ -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 @@ -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 diff --git a/docs/source/functionalities.rst b/docs/source/functionalities.rst index 6a7daebe46e..f7ccce58af2 100644 --- a/docs/source/functionalities.rst +++ b/docs/source/functionalities.rst @@ -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 ---------------------------