Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

https://hyperledger-fabric.readthedocs.io/en/latest/key_concepts.html

TermDefinition
Block

A block contains one or more transactions. The contents of the block are not encrypted in the blockchain. A block, in general, contains valid and invalid transactions. However invalid transactions have no effect on the State.

A block usually contains three sections: a blockheader, the payload (with at least the transactions) and the metadata section (containing the valid/invalid indicator per transaction).

Fabric: A block in Fabric contains both valid and invalid transactions.

Sawtooth: A block in Sawtooth contains only valid transactions.

Burrow: A block in Burrow contains only valid transactions.

Iroha: A block in Iroha contains only valid transactions.

Blockchain

A blockchain is a chain of blocks each containing transaction (transition) data. Each block, except the first block, is linked with the previous block and each block, except the last block, is linked with the next block, together forming a chain.

Once a block has entered the blockchain, it is ‘chiselled in granite’. This characteristic delivers the immutability of the data in the blockchain, also referred to as practically tamper-resistant data or virtually incorruptible data. This aspect is one of the main reasons for the broad interest in blockchain technology.

[For those with software development experience: In computer science language a blockchain is an append-only data structure; a blockchain (instance) consists at any moment in time of a number of blocks. If the chain has N blocks, then it has N-1 links, valid for N>=1. The blockchain contains all the transitions, while the World State is derived from all transitions (there is a better optimization as World State (N) = valid transactions in block N applied to World State (N-1).]

Chain

Each block header contains, besides its identifier within the scope of the blockchain, a hash of the data in the block. It also contains a copy of the hash of the previous block. Because of this relationship, the a copy of the hash of the previous block, the term chain is used. This is the basis for the tamper-resistant characteristic of a blockchain.

Cryptography

Cryptography is the practice and study of techniques for secure communication in the presence of third parties called adversaries. More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages; various aspects in information security such as data confidentiality, data integrity, authentication, and non-repudiation are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, electrical engineering, communication science, and physics. Applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications.

Adapted from: Wikipedia

Hash

A hash of a (variable length) piece of data results in a unique fixed length data field. The hash is a one-way function that assigns to the variable length field a unique fixed length data field. It is not possible to reconstruct from the hash of the original variable length data field, therefore, a making a hash a one-way function.

Key Pairs

Public key

Public Key is the Public Key Infrastructure (PKI) component that a person or organization shares with third-parties. Such a third party uses the Public Key to encrypt messages that are sent back to the owner of the public key. The owner of the Public Key then uses the associated Private Key to decrypt the message.

Private key

Private Key is the  Public Key Infrastructure (PKI) component that a person or organization should keep confidential. The Private Key is used to decrypt messages sent by third parties that were encrypted using the Public Key.

Digital Certificate

A document that contains attributes related to the bearer of the certificate, that is secured by cryptography. Digital Certificates are issued by a Certificate Authority (CA), and is used by the bearer to prove their identity provided that the other party trusts the CA.

Permissioned

The term permissioned blockchain technology is sometimes used as a synonym for blockchain for enterprise or blockchain for business. Permissioned blockchains require permission to read the information on the blockchain, limit the parties who can transact on the blockchain and set who can write new blocks into the chain.

Consensus

A consensus algorithm is a process in computer science used to achieve agreement on a single data value among distributed processes or systems. Consensus algorithms are designed to achieve reliability in a network involving multiple unreliable nodes. Solving that issue – known as the consensus problem – is important in distributed computing and multi-agent systems.

Consensus, as an algorithm

An algorithm to achieve agreement on a block among peers in the network. By having it in the system, reliability is increased.

Consensus, as a component

Preserves consistent state among the peers within a peer network. Iroha uses own consensus algorithm called Yet Another Consensus (aka YAC). Distinctive features of this algorithm are its scalability, performance, and Byzantine fault tolerance. If there are missing blocks, they will be downloaded from another peer via Synchronizer. Committed blocks are stored in Ametsuchi block storage.

Transaction

A transaction consists of facts (populated fields) about a state transition in the Universe of Discourse (the scope of the business communication). This could be in regard to anything, not just monetary assets.

World State

The World State consists of facts (populated fields) about the current state of the Universe of Discourse as agreed by the blockchain network community. This could regard anything, not just monetary assets. The World State State changes after each block that is added to the Blockchain; see exception for Fabric.

Fabric: In case there is a block with only invalid transactions, there is no new state in Fabric after adding such a block to the blockchain.

Channel

A channel is a virtual blockchain with its own private ledger only visible to the organizations that make up the channel.

Fabric: A Fabric blockchain network will have at least two channels (exactly 1 system channel and at least 1 application channel). The visibility of an application channel's ledger is limited to the organizations that make up the channel.

An organization can be involved in any number of application channels and any application channel can have any number of organizations. Each network has at least one application channel with its own blockchain and every application channel has its own private blockchain.

Immutability

Immutability of a block means that once the contents of the block is committed to the blockchain, it is free from tampering.

Trust

“A blockchain is a distributed database with no central authority and no [single] point of trust. When you want to share a database, but you don’t have a lot of trust in the other people who might use it, a blockchain can be very helpful. In this context, “trust” could mean many things. Trust could mean trusting others to perform actions on the database properly. Trust could mean not trying to pry into each other’s private information. Or trust could mean not degrading someone else’s performance to gain a competitive advantage. Discussing trust brings up the two main kinds of blockchain. Most cryptocurrencies use permissionless blockchains where anyone can join and have full rights to use it. For example, anyone can buy Bitcoin or Ether because those use wide-open, permissionless blockchains. On the other hand, business blockchains tend to be permissioned. This means a person needs to meet certain requirements to perform certain actions on the blockchain. Some permissioned blockchains restrict access to pre-verified users who have already proven they are who they say they are. Others allow anyone to join, but only let trusted identities verify transactions on the blockchain. Remember our example of the database shared between head office and the field reps of a company. If a blockchain was used to manage that database, it would definitely be permissioned: Everyone accessing the blockchain would have to be an employee of the company or perhaps a trusted trading partner.”

Source: An Introduction to Hyperledger, The Hyperledger White Paper WG, v1.1

Governance

Governance is the way the rules, norms and actions are structured, sustained, regulated and held accountable. The degree of formality depends on the internal rules of a given organization and, externally, with its business partners. As such, governance may take many forms, driven by many different motivations and with many different results. For instance, a government may operate as a democracy where citizens vote on who should govern and the public good is the goal, while a non-profit organization may be governed by a small board of directors and pursue more specific aims.

In addition, a variety of external actors without decision-making power can influence the process of governing. These include lobbies, think tanks, political parties, non-government organizations and the media.

Source: Wikipedia.

Node

A node is a HLF blockchain network is a piece of software.

Fabric: In Hyperledger Fabric it is either a peer, which is either an endorsing peer or a committing peer, or element of the ordering service. For Hyperledger Fabric the follow integrity rules hold: The endorsing peers are a subset of the committing peers. Every peer is a committing peer. No element of the set of peers is an orderer.

Peer

A peer is a participant in blockchain; in general, a peer can endorse a transaction, commit a transaction or order transactions in a block.

Fabric: The nodes inside a Fabric network consists of peers and orderers. The set of peers and the set of orderers have no element in common. All peers have the role of maintaining the ledger of the channel, consisting of the blockchain and the World State; some peers use smart contracts to simulate the transaction and to decide on the endorsement of a submitted transaction.

Chaincode

Chaincode is a computer program that either provides functionalities for Enterprise transactions or state. It is useful to distinguish chaincode specific for an enterprise and chaincode that provides domain agnostic functions.

Fabric: The current trend in Fabric is to use the term chaincode to cover both enterprise specific and domain agnostic chaincode. Enterprise specific chaincode is what most people call smart contracts.

Ledger

The ledger consists of two components, the immutable chain containing the transactions (transitions) and the state.

According to the Fabric documentation (v1.2) the ledger consists of the blockchain and the World State.







...