The first major applier of blockchain technology was Bitcoin, a world-renowned form of electronic cash proposed by Satoshi Nakamoto in 2008.
Blockchain was first introduced to the market as the technology underpinning Bitcoin exchanges, but its practical uses in the business world extend far beyond cryptocurrency transactions. Blockchain establishes a peer-to-peer network where each participant in the network has access to a shared ledger. Transactions and history records cannot be removed or altered. The smart contract and consensus algorithms enable multiple participants to transact with one another and confirm the transactions and ledger records. Currently, Alibaba Cloud supports three types of blockchains: public blockchains, private blockchains, and consortium blockchains. Blockchain frameworks include Ethereum, EOS, Hyperledger Fabric, and Corda.
As one of the highlights of blockchain technology, the smart contract describes the contract terms, the conditions of a transaction, and the business logic of transactions using cryptography. Smart contracts support self-execution and automatic reconciliation in real time.
The first block in a blockchain.
A consortium is a collection of organizations involved in a blockchain-based business collaboration or a business transaction network. A consortium may consist of multiple organizations.
In Alibaba Cloud BaaS (Hyperledger Fabric), each consortium should have a consortium instance, which is generally created by the initiator or operator of the consortium. This instance contains the Orderer nodes, which are responsible for transaction sequencing, block generation and consensus. The consortium operator invites organization instances to join the consortium, then creates channels, and is responsible for managing the Orderer nodes.
Organization refers to entities involved in the blockchain business network, such as enterprises, government agencies, and groups. In Alibaba Cloud BaaS (Hyperledger Fabric), an organization instance includes the below major nodes:
- CA: The Certificate Authority (CA) is an entity that issues digital certificates. CA provides users of a blockchain with a number of certificate services, including services related to blockchain user register and enrollment.
- Peer: A peer receives ordered state updates from the ordering service and maintains the state and the ledger. Peers can also facilitate smart contracts and act as an endorser.
In Alibaba Cloud BaaS (Hyperledger Fabric), one blockchain network is composed of 1 consortium instance + N organization instances, N>=1. The number of organization instances N is determined by the number of business participants and whether there is an exclusive requirement. If a participant needs exclusive blockchain node and ledger, as well as chaincode deployment, blockchain user creation and other management functions, the participant needs to create a separate organization instance. An organization instance can be shared if the participants has no exclusive requirement. Consortium instance and organization instances can be purchased and created by a single cloud account or by different cloud accounts.
Channels are used to isolate the businesses in the consortium. Each channel represents a business and contains the participants of the business (some or all of the organizations within the consortium). There can be multiple channels in one consortium. One organization can join multiple channels. Each channel can be viewed as a sub-chain with its own ledger, and smart contracts can be deployed to the channel.
A chaincode is a piece of code written in one of the supported languages such as Node.js, Go or Java. In the Hyperledger Fabric framwork, chaincodes are the ‘smart contracts’ that run on the peers and create transactions.
An ordering service node that provides services to order and broadcast transactions. The orderer collects transactions from network members, orders the transactions and bundles them into blocks. The orderer delivers the block to all peers to ensure that ledgers are updated with the same transactions in the same order.
Peer node: A node that maintains a ledger under the Hyperledger Fabric framework. Nodes in peer-to-peer networks must come to a consensus on the ledger status. There are two types of peers: endorsing peers and committing peers. You must install the chaincode on each endorsing peer node to forward the endorsement request to that peer. With no need to install chaincodes, the committing peer validates the transaction, accepts blocks of valid transactions from an ordering service, and persists the block information to a modular data store.
The anchor peer serves as the entry point for the peer from another organization on the same channel to communicate with each of the peers in the anchor peer’s organization. The anchor peer in Hyperledger Fabric framework ensures high availability and keeps the entire network in a synchronized state.
Identity uniquely identifies an account or a smart contract. It is 256 bytes in length. Typically, it is a unique readable hash value.
Ledger data refers to the data written into a blockchain. A blockchain is a tamper-resistant ledger. Data written into a blockchain cannot be tampered and therefore can be trusted. Ledger data can be in the format of a string or file hash to represent text, files, or other types of data.
The root hash of the Merkel tree is calculated based on the current blockchain transaction.
Consensus algorithm ensures the data consistency in a distributed ledger and keeps the ledger transactions synchronized across the network based on protocol interactions. Common algorithms include PBFT, RAFT, POW, and POS.
Consensus proof is a data structure used to prove that the consistency of the target data is confirmed by the consensus algorithm.
Transaction count refers to the number of transactions in a block.
Transaction receipt is the execution result of a transaction. A blockchain is an asynchronous network that requires consensus protocols to confirm a transaction after the transaction is executed. Unlike the traditional architecture, a blockchain cannot directly return the result of a transaction, and you need to check the final result in the transaction receipt.
Transaction type includes link notary, content notary, hash notary, ciphertext notary, privacy sharing notary, and ciphertext-only notary.
Transactions refer to the total number of transactions that have been saved on the current blockchain ledger.
Node information refers to the information about the blockchain nodes. A blockchain is typically composed of multiple nodes. The number of nodes is 3F+1, where F is a positive integer.
TEE refers to a trusted execution environment that provides hardware-level isolation and trust metrics. In the field of servers and terminals, the TEE technology and its applications, best represented by Intel SGX, have attracted increasing attention in recent years.
Consortium refers to a group of organizations that work together to complete a specific business.
Organizations are members of a consortium.
Certificates for Ant Blockchain are issued by the third-party Certificate Authority (CA) working with Alipay upon certificate application requests.
Block height is used to identify the location of the block in the blockchain and to find all the underlying attributes and transaction records associated with the block.
Blockchain ID is the unique identifier of a blockchain, corresponding to the unique physical resource in the underlying layer.
Application refers to an application that is developed based on the blockchain SDK.
A DApp directly connects to blockchain nodes through clients, and calculates and accesses data by using smart contracts. Unlike the traditional centralized applications, the DApp has no centralized backend services.
Gas refers to the unit for measuring the computational and storage resources required to perform actions in virtual machines. It can prevent malicious attacks and save computational and storage resources.
Previous block hash refers to the hash of the previous block.
World state refers to the storage status of the blockchain account, including the basic storage status of all accounts and the internal storage status of the contract accounts. The contract platform can be viewed as a transaction-based state machine. The world state stores the latest value for all data in the ledger and can change frequently after the execution of smart contracts.
Digital envelope is a secure electronic data container that is used to protect a message through encryption and data authentication. Only users with permissions can decrypt the content in digital envelopes.
Private key files are generated by tools such as OpenSSL. During the generation process, two keys are generated, one is the public key which is the certificate signing request (CSR) file, and the other one is the user private key. The user needs to save the private key and the corresponding password.
Unlike ordinary transactions, private transactions are not executed and stored on the public blockchain, but are encapsulated in the
data field of the envelope transaction, delivered, and finally stored on the private blockchain.
Envelope transaction is a type of transaction used to encapsulate private transactions. When you send an envelope transaction, the private transaction will be encoded and stored in the
data field of the envelope transaction. The envelope transaction will be stored in the public blockchain in the format of a notary, but the
data field can be modified based on different business needs.
Virtual machine (VM) refers to the sandbox environment where the smart contracts are executed.
Business identification refers to the unique identifier of the business. It indicates a business scenario in which the blockchain is applied, such as traceability and renting.
Category refers to the format of the chained business data of the transaction.
Business time refers to the time when the transaction is generated.
Intel SGX is an extended instruction set on Intel CPU, which can be used by applications to set up private regions to protect code and data. It aims to ensure the integrity and confidentiality of the security sensitive computation performed on a computer where all the privileged software is potentially malicious.
Account is the basic operational object on a blockchain. It is the logical representation of a user on a blockchain. You need an existing account to perform transactions on the blockchain. Accounts can be divided into common accounts and contract accounts.
Certificate Signing Request (CSR) files are generated by tools such as OpenSSL. During the generation process, two keys are generated, one is the public key, which is the certificate signing request (CSR) file, and the other one is the user private key. The user needs to save the private key and the corresponding password.
EVM is one of the key elements of Quorum and the distributed computing environment running smart contracts.
Gas is used to measure the computing resources consumed by a transaction. The gas consumption increases with the complexity of a transaction executed by an Ethereum node.
Network ID is a digital identifier used to represent a specific version of the Ethereum network.
Geth is the command line interface for running a full Ethereum node implemented in Go.
DApp refers to a distributed application.
You can specify the public keys of specific blockchain participants in the privateFor parameter of the transaction to make the transaction information visible only to these participants.
Ant Blockchain provides the following modifications based on Geth:
- Consensus algorithms, including Istanbul BFT and RAFT, are supported.
- The P2P layer has been modified to allow connections to or from permissioned nodes.
- The block verification logic for private transactions.
- Retained the Gas mechanism but removed the Gas price.
Transaction Manager of Quorum is responsible for transaction privacy. It stores encrypted payloads, allows access to encrypted transaction data, and exchanges encrypted payloads with other participant’s Transaction Managers. However, it does not have access to any sensitive private keys. Transaction Manager makes a call to its associated enclave to encrypt the payload. The Transaction Manager is restful and stateless, and can be load balanced easily.
The Enclave works together with Transaction Manager to strengthen transaction privacy. The Enclave manages the encryption and decryption in an isolated way. It holds private keys and is essentially a virtual hardware security module (HSM) isolated from other components.