diff --git a/docs/source/glossary.rst b/docs/source/glossary.rst index dff1f78b21d..d6b7e43e712 100644 --- a/docs/source/glossary.rst +++ b/docs/source/glossary.rst @@ -49,17 +49,42 @@ on a per profile basis in the "Profiles" section. .. _Block: + Block ----- -An ordered set of transactions that is cryptographically linked to the -preceding block(s) on a channel. +.. figure:: ./glossary/glossary.block.png + :scale: 50 % + :align: right + :figwidth: 40 % + :alt: A Block + + Block B1 is linked to block B0. Block B2 is linked to block B1. + +======= + +A block contains an ordered set of transactions. It is cryptographically linked +to the preceding block, and in turn it is linked to be subsequent blocks. The +first block in such a chain of blocks is called the **genesis block**. Blocks +are created by the ordering system, and validated by peers. + .. _Chain: + Chain ----- +.. figure:: ./glossary/glossary.blockchain.png + :scale: 75 % + :align: right + :figwidth: 40 % + :alt: Blockchain + + Blockchain B contains blocks 0, 1, 2. + +======= + The ledger's chain is a transaction log structured as hash-linked blocks of transactions. Peers receive blocks of transactions from the ordering service, mark the block's transactions as valid or invalid based on endorsement policies and @@ -75,9 +100,20 @@ See Smart-Contract_. .. _Channel: + Channel ------- +.. figure:: ./glossary/glossary.channel.png + :scale: 30 % + :align: right + :figwidth: 40 % + :alt: A Channel + + Channel C connects application A1, peer P2 and ordering service O1. + +======= + A channel is a private blockchain overlay which allows for data isolation and confidentiality. A channel-specific ledger is shared across the peers in the channel, and transacting parties must be properly authenticated to @@ -262,9 +298,18 @@ the same organization. .. _Ledger: + Ledger ------ -THIS REQUIRES UPDATING + +.. figure:: ./glossary/glossary.ledger.png + :scale: 25 % + :align: right + :figwidth: 20 % + :alt: A Ledger + + A Ledger, 'L' + A ledger consists of two distinct, though related, parts -- a "blockchain" and the "state database", also known as "world state". Unlike other ledgers, @@ -294,6 +339,15 @@ See Organization_. Membership Service Provider --------------------------- +.. figure:: ./glossary/glossary.msp.png + :scale: 35 % + :align: right + :figwidth: 25 % + :alt: An MSP + + An MSP, 'ORG.MSP' + + The Membership Service Provider (MSP) refers to an abstract component of the system that provides credentials to clients, and peers for them to participate in a Hyperledger Fabric network. Clients use these credentials to authenticate @@ -329,7 +383,20 @@ identity material tied to each Member_. .. _Organization: Organization ------------------ +------------ + +===== + + +.. figure:: ./glossary/glossary.organization.png + :scale: 25 % + :align: right + :figwidth: 20 % + :alt: An Organization + + An organization, 'ORG' + + Also known as "members", organizations are invited to join the blockchain network by a blockchain service provider. An organization is joined to a network by adding its Membership Service Provider (MSP_) to the network. The MSP defines how other members of the @@ -346,6 +413,14 @@ will be part of a consortium. Peer ---- +.. figure:: ./glossary/glossary.peer.png + :scale: 25 % + :align: right + :figwidth: 20 % + :alt: A Peer + + A peer, 'P' + A network entity that maintains a ledger and runs chaincode containers in order to perform read/write operations to the ledger. Peers are owned and maintained by members. @@ -467,6 +542,14 @@ channels relative to their aligned and varying business agendas. Transaction ----------- +.. figure:: ./glossary/glossary.transaction.png + :scale: 30 % + :align: right + :figwidth: 20 % + :alt: A Transaction + + A transaction, 'T' + Invoke or instantiate results that are submitted for ordering, validation, and commit. Invokes are requests to read/write data from the ledger. Instantiate is a request to start and initialize a chaincode on a channel. Application clients gather invoke or @@ -478,6 +561,14 @@ into a transaction that is submitted for ordering, validation, and commit. World State ----------- +.. figure:: ./glossary/glossary.worldstate.png + :scale: 40 % + :align: right + :figwidth: 25 % + :alt: Current State + + The World State, 'W' + Also known as the “current state”, the world state is a component of the HyperLedger Fabric :ref:`Ledger`. The world state represents the latest values for all keys included in the chain transaction log. Chaincode executes