copyright | lastupdated | ||
---|---|---|---|
|
2018-05-15 |
{:new_window: target="_blank"} {:shortdesc: .shortdesc} {:screen: .screen} {:codeblock: .codeblock} {:pre: .pre} {:tip: .tip}
{: #glossary}
{{site.data.keyword.blockchainfull}} Platform simplifies your journey on blockchain. This topic defines terms that appear in this documentation and is meant to introduce you to blockchain concepts. For a deeper understanding of terms, you can refer to Hyperledger Fabric . {:shortdesc}
Tangible or intangible goods, services, or property that are represented as an item that is traded on the blockchain network.
An ordered set of transactions, which is cryptographically linked to the preceding block on a channel.
A definition of a blockchain network, which includes the data model, transaction logic, and access control rules for your blockchain solution. Business Network Definitions are created by using Hyperledger Composer. Business network definitions are packaged into deployable .bna (business network archive) files.
Certificate Authority. A blockchain network resource that issues certificates to all the participating members. These certificates represent a member’s identity. All entities in the network (peers, orderers, clients, etc.) must have an identity to communicate, authenticate, and ultimately transact. These identities are required for any direct participation in the blockchain network. You can create a business network card for the CA. The CA Card can then be imported and the card will be used to exchange the admin secret for valid certificates from the Starter Plan certificate authority.
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 concurrency violations, and append the block to the hash chain on the peer’s file system.
Also known as smart contracts, chaincode are the pieces of software that contain a set of functions to query or update the ledger.
Consisting of a subset of network members who want to transact privately. Channels provide data isolation and confidentiality by allowing the members of a channel to establish specific rules and a separate ledger that only channel members can access. Peers, which are the nodes that function as transaction endpoints for organizations, are joined to channels.
The client represents the entity that acts on behalf of a user. It must connect to a peer for communicating with the blockchain. The client might connect to any peer of its choice. Clients create and thus invoke transactions. The client submits an actual transaction invocation to the endorsers, and broadcasts transaction proposals to the ordering service.
The Connection profile is visible in the "Overview" screen of the Network Monitor when you click the Connection Profile button. The information is available in JSON format and contains the API endpoint information and enrollIDs/secrets for your network resources, that is, peers, orderers, and CAs. Your application interacts with network resources through these API endpoints.
A collaborative process to keep the ledger transactions synchronized across the network. Consensus ensures that ledgers are updated only when the appropriate participants approve transactions, and that ledgers are updated with the same transactions in the same order. There are many different algorithmic ways of achieving consensus.
The current state of the ledger represents the latest values for all keys that are ever included in its chain transaction log. Because current state represents all latest key values known to the channel, it is sometimes referred to as World State. Chaincode executes transaction proposals against current state data. The current state changes every time when the value of a key changes or a new key is added. The current state is critical to a transaction flow because the latest key-value pair must be known before it can be changed. Peers commit the latest values to the current state of the ledger for each valid transaction in a block.
A member can be dynamically added to the network by a user with registrar privilege. Members are also assigned roles and attributes, which control their access and authority on the network. Neither roles nor attributes can be assigned dynamically though. Hyperledger Fabric supports the addition or removal of members, peers, and ordering service nodes, without compromising the operations of the overall network. Dynamic membership is critical when business relationships adjust and entities need to be added or removed for various reasons.
The process by which chaincode transactions are validated. Endorsement rules are implemented by specifying endorsement policies.
Defines the peer nodes on a channel that must execute transactions that are attached to a specific chaincode application, and the required combination of responses (endorsements). A policy could require that a transaction be endorsed by a minimum number of endorsing peers, a minimum percentage of endorsing peers, or by all endorsing peers that are assigned to a specific chaincode application. Policies can be curated based on the application and the desired level of resilience against misbehavior, whether deliberate or not, by the endorsing peers. A submitted transaction must satisfy the endorsement policy before it is marked as valid by committing peers. A distinct endorsement policy to install and instantiate transactions is also required.
The configuration block that initializes a blockchain network or channel, and also serves as the first block on a chain.
Hardware Security Module. Provides on-demand encryption, key management, and key storage as a managed service. HSM is a physical appliance that handles the resource-intensive tasks of cryptography processing and reduce latency to applications. For more information, see Hardware Security Module
Hyperledger Composer is an open source development toolset. It uses a bespoke modeling language, which is combined with JavaScript transactions, and access control rules to model a blockchain business network in full. You can use Hyperledger Composer to integrate existing systems and data with your blockchain application before you deploy anything to a real blockchain.
Hyperledger Fabric is a business blockchain framework that the Linux Foundation hosts to serve as a foundation for developing blockchain applications or solutions with a modular architecture. Hyperledger Fabric components such as consensus and membership services are plug-and-play.
The process of placing a chaincode on a peer’s file system. You must install the chaincode on every peer that will run this chaincode.
The process of starting and initializing a chaincode container on a specific channel. After chaincode is installed on the Peers and every Peer has joined the channel, the chaincode must be instantiated on the channel. Instantiation performs any necessary initialization of the chaincode, which includes setting the key value pairs that comprise a chaincode's initial world state. After instantiation, peers that have the chaincode installed can accept chaincode invocations.
A consensus plugin implementation for Hyperledger Fabric that results in a cluster of ordering service nodes in the blockchain network. A kafka implementation is intended for a production network.
Comprised of a literal "chain of blocks" that store the immutable, sequenced record of transactions, as well as a state database to maintain current state. There is one ledger per channel, and updates to it are managed by the consensus process according to the policies of a particular channel.
Also known as "organizations", members in a blockchain network, similar to the members of any group, form the structure of the network. A member can be as large as a multi-national corporation or as small as an individual. Members are enrolled into the network with a certificate that grants them permissions to use the network as either a service provider (for example, issuing certificates, validating/ordering transactions) or as a consumer. The former provides foundational blockchain services that include transaction validation, transaction ordering, and certificate management services. Consumer members use the network to invoke transactions against the distributed ledger. Members can have multiple Peers.
Membership Service Provider. A set of cryptographic mechanisms and protocols for issuing and validating certificates and identities throughout the blockchain network. Identities that are issued in the scope of a membership service provider can be evaluated within that membership service provider’s rules validation policies. The MSP is installed on each channel peer to ensure that transaction requests that are issued to the peer originate from an authenticated and authorized user identity.
An instance of an {{site.data.keyword.blockchainfull_notm}} Platform service on {{site.data.keyword.cloud_notm}}.
Visible from the "APIs" screen of the Network Monitor. Credentials include your "key" (Username) and "secret" (Password) in the Swagger UI. You need to use these network credentials to authenticate before you try out the REST APIs.
The GUI dashboard the {{site.data.keyword.blockchainfull_notm}} Platform provides to view and manage the blockchain network.
The communication entity of the blockchain. There are three types of nodes: CA, Peer, and Ordering Service (the collection of orderers for a channel) nodes.
An Ordering Service node. A blockchain network resource that provides client authentication services. Additionally it provides services to order and broadcast transactions.
See Member.
Every blockchain network requires an Ordering Service. The ordering service collects transactions from network members, orders the transactions and bundles them into blocks. The ordering service then distributes the new blocks to peers, which then verify the blocks and add them to the ledgers on each channel. The ordering service is also a common binding for the overall network. It contains the cryptographic identity material that is tied to each member and authenticates the identity of clients and peers to access the network.
Any organization, individual, application, or device that interact with the blockchain network. Under the participant umbrella there are two distinct groupings, which are members and users.
A blockchain network resource that provides the services to execute and validate transactions, and maintain ledgers. The Peer runs chaincode and is the holder of transaction history and the current state of assets on the network’s channels, that is, the ledger. They are owned and managed by organizations and are joined to channels.
Service credentials are in JSON format and contain the API endpoint information and enrollIDs/secrets for your network resources, that is, peers, ordering nodes, and CAs. Your application interacts with network resources through these API endpoints.
The Hyperledger Fabric supports two Software Development Kits (SDKs). A Node SDK and Java SDK. The Node SDK can be installed via NPM and the Java SDK via Maven. The SDKs have their own git repositories, that is, Fabric Node SDK and Fabric Java SDK , with documentation for the available APIs. The Hyperledger Fabric Client SDKs enable interaction between your client application and your blockchain network.
A consensus plugin implementation for Hyperledger Fabric that results in a single ordering service node in the blockchain network. The Starter Plan network uses the SOLO implementation. A SOLO implementation is not intended for a production network. The alternative to SOLO is a Kafka cluster.
The mechanism that participants on the blockchain network use to interact with assets. A transaction either creates new chaincode or invokes an operation in an existing chaincode.
A user is a participant in a blockchain network that has indirect access to the ledger through a trust relationship to an existing member.
See Current state.