The Code Book of Genesis

1.Functionality

1.1 Account System

Account Grading

PathwayFunctionality--->Account System---->Account Grading
DescriptionVerify through the establishment of a secondary account system. If the primary account can find the secondary account under its name, the account grading is supported.
Method--
ExampleSupport / Not Support

Account Classification

PathwayFunctionality--->Account System---->Account Classification
DescriptionVerify through the establishment of different types of accounts to check whether there is account classification information.
Method--
ExampleSupport / Not Support

Real-name Account

PathwayFunctionality--->Account System---->Real-name Account
DescriptionCheck whether the account has the real-name function through establishing an account, for example, whether it is bound to the mobile phone number, ID number, bank card and other information.
Method--
ExampleSupport / Not Support

Account Registration

PathwayFunctionality--->Account System---->Account Registration
DescriptionCheck whether the account is created successfully by registering under a certain node.
Method--
ExampleSupport / Not Support

Registration Approval

PathwayFunctionality--->Account System---->Registration Approval
DescriptionCheck whether the account needs the approval to complete the creation by registering under a certain node.
Method--
ExampleSupport / Not Support

Registration Form

PathwayFunctionality--->Account System---->Registration Form
DescriptionCheck whether the blockchain is registered for any user, that is, the open registration. Check whether the blockchain can perform registration checks for specific users, that is, the specific user registration.
Method--
ExampleSupport / Not Support

Account Cancellation

PathwayFunctionality--->Account System---->Account Cancellation
DescriptionPerform account cancellation under a certain node, and check whether the account exists after cancellation.
Method--
ExampleSupport / Not Support

1.2 Test-driven Investing

Transaction Query Idempotence

PathwayFunctionality--->Transaction----> Transaction Query Idempotence
DescriptionSend a transaction to the running blockchain chain node, then perform 10 consecutive query operations on it, and compare whether the query results are consistent.
Method--
ExampleSupport / Not Support

Transaction Tamper-proofing

PathwayFunctionality--->Transaction----> Transaction Tamper-proofing
DescriptionAfter the transaction is successfully initiated, it is saved in the blockchain and cannot be changed.
Method--
ExampleSupport / Not Support

1.3 Block

Query the Average Generation Time of Block

PathwayFunctionality--->Block----> Query the Average Generation Time of Block
DescriptionSum and average the generation time of the blocks with the specified sequence.
Method--
ExampleSupport / Not Support

Query Specified Block Information

PathwayFunctionality--->Block----> Query Specified Block Information
DescriptionJudge whether the block number of the specified block and the number of contained transactions can be obtained through the interface.
Method--
ExampleSupport / Not Support

1.4 Smart Contract

Smart Contract Turing Complete

PathwayFunctionality--->Smart Contract----> Smart Contract Turing Complete
DescriptionJudge whether the Smart Contract has the Turing Complete feature.
Method--
ExampleSupport / Not Support

The Smart Contract Needs to be Registered Before Deployment

PathwayFunctionality--->Smart Contract----> The Smart Contract Needs to be Registered Before Deployment
DescriptionJudge whether the Smart Contract needs to be registered and reviewed before deployment.
Method--
ExampleSupport / Not Support

Audit Is Required When the Smart Contract Is Released

PathwayFunctionality--->Smart Contract----> Audit Is Required When the Smart Contract Is Released
DescriptionJudge whether the Smart Contract needs a background audit when it is released.
Method--
ExampleSupport / Not Support

Complete Life Cycle Management

PathwayFunctionality--->Smart Contract----> Complete Life Cycle Management
DescriptionTest from writing to deployment and then to destruction respectively. Record each related operation in the life cycle (such as setting the expiration time of the contract and the required conditions for destruction, etc.), and test the usability of the smart contract in the smart contract life cycle separately.
Method--
ExampleSupport / Not Support

Smart Contract Visible

PathwayFunctionality--->Smart Contract----> Smart Contract Visible
DescriptionUse different accounts to deploy different numbers of contracts, query all smart contracts under a certain account, and query the deployment account address corresponding to a certain smart contract.
Method--
ExampleSupport / Not Support

Smart Contract Source Code

PathwayFunctionality--->Smart Contract----> Smart Contract Source Code
DescriptionDeploy a smart contract and query its source code through the interface.
Method--
ExampleSupport / Not Support

1.5 Blockchain Network

Modification and Setting of Node Types and Capabilities

PathwayFunctionality--->Blockchain Network----> Modification and Setting of Node Types and Capabilities
DescriptionSet the category and authority of different nodes, and check the category and authority of each node after setting.
Method--
ExampleSupport / Not Support

Obtainment of Node Information and Status

PathwayFunctionality--->Blockchain Network----> Obtainment of Node Information and Status
DescriptionModify the status of different nodes or restart after shutdown, and check the status of each node after setting through the interface.
Method--
ExampleSupport / Not Support

Platform Parameterization

PathwayFunctionality--->Blockchain Network----> Platform Parameterization
DescriptionModify the configuration file, read the log, and determine whether the configuration file modification takes effect.
Method--
ExampleSupport / Not Support

1.6 Consensus Algorithm

Consensus Algorithm Type

PathwayFunctionality--->Consensus Algorithm----> Consensus Algorithm Type
DescriptionVerify all supported consensus algorithms one by one through transactions.
Method--
ExampleRBFT / POW / POS /Realize consensus through verification of the full transaction lifecycle.

Byzantine Fault-Tolerant Algorithm

PathwayFunctionality--->Consensus Algorithm----> Byzantine Fault-Tolerant Algorithm
DescriptionCheck the consensus reached by the nodes in the network and the ability to resist attacks by taking the Byzantine fault-tolerant algorithm as the consensus algorithm of the blockchain.
Method--
ExampleSupport / Not Support

1.7 Shared Ledger

Static Adjustment of the Block Size

PathwayFunctionality--->Shared Ledger---->Static Adjustment of the Block Size
DescriptionWhen the network is offline, adjust the block size according to the configuration provided by the blockchain to check whether it is effective.
Method--
ExampleSupport / Not Support

Dynamic Adjustment of the Block Size

PathwayFunctionality--->Shared Ledger---->Dynamic Adjustment of the Block Size
DescriptionWhen the network is online, adjust the block size according to the configuration provided by the blockchain to check whether it is effective.
Method--
ExampleSupport / Not Support

Complete Synchronization of the Ledger

PathwayFunctionality--->Shared Ledger---->Complete Synchronization of the Ledger
DescriptionAdd a new node to check whether the ledger is fully synchronized.
Method--
ExampleSupport / Not Support

Partial Synchronization of the Ledger

PathwayFunctionality--->Shared Ledger---->Partial Synchronization of the Ledger
DescriptionAdd a new node, set the part of the ledger that needs to be synchronized (for example, the part of the ledger with block number from 2000 to 3000), and check whether the partial synchronization of the ledger is successful.
Method--
ExampleSupport / Not Support

Full Ledger Retrieval

PathwayFunctionality--->Shared Ledger---->Full Ledger Retrieval
DescriptionSimulate the account retrieval of the first block, the last block and any block in the middle to check whether the retrieval can be successful.
Method--
ExampleSupport / Not Support

Selective Download of Ledger

PathwayFunctionality--->Shared Ledger---->Selective Download of Ledger
DescriptionPerform the selective download test on part of the ledger (such as block 100-1000) according to the provided download interface, and check whether the download result is correct.
Method--
ExampleSupport / Not Support

Partial Ledger

PathwayFunctionality--->Shared Ledger---->Partial Ledger
DescriptionAfter selecting the test node, use the script to produce the partial ledger to test whether it is possible to synchronize only the partial ledger.
Method--
ExampleSupport / Not Support

2.Security

2.1 Identity Verification

Identity Verification Method

PathwaySecurity--->Identity Verification---->Identity Verification Method
DescriptionVerify all supported identity verification methods one by one through transactions.
Method--
ExampleVerify the keys

Scenarios for Identity Verification

PathwaySecurity--->Identity verification---->Scenarios for Identity Verification
DescriptionCollect scenarios for identity verification, and verify all supported owner identity verification scenarios one by one through simulating transactions.
Method--
ExampleTransfer, query, log in / Transfer

Prevention Against the Fraudulent Use of Identity

PathwaySecurity--->Identity Verification---->Prevention Against the Fraudulent Use of Identity
DescriptionDetermine whether it has the function of preventing fraudulent use of identity. Verify whether it can pass when using wrong identity information to log in to the sub-payment-related operations.
Method--
ExampleYes/No

Private Key Has Complete Life Cycle Management

PathwaySecurity--->Identity Verification---->Private Key Has Complete Life Cycle Management
DescriptionDetermine whether the private key has complete life cycle management, and test the life cycle management of the private key.
Method--
ExampleYes, there are processes of generating, distributing, storing, using and destroying the private key / No

The Entry and Exit of the Node Requires Identity Verification

PathwaySecurity--->Identity Verification---->The Entry and Exit of the Node Requires Identity Verification
DescriptionDetermine whether the private key has the identity verification function when adding or deleting nodes. If so, add or delete an uncertified node to test whether the addition or deletion is successful. Add or delete a certified node to test whether the addition or deletion is successful.
Method--
ExampleYes/No

2.2 Access Control

Permissions Vary According to Different Levels of Account

PathwaySecurity--->Access Control---->Permissions Vary According to Different Levels of Accounts
DescriptionCreate different accounts at each level, simulate and initiate various types of transactions. Check whether the types of transactions supported by different accounts are the same.
Method--
ExampleSupport / Not Support

Permissions Vary According to Different Classifications of Accounts

PathwaySecurity--->Access Control---->Permissions Vary According to Different Classifications of Accounts
DescriptionCreate different accounts under each category, simulate and initiate various transactions. Check whether the types of transactions supported by different accounts are the same.
Method--
ExampleSupport / Not Support

Permissions of Super Accounts

PathwaySecurity--->Access Control---->Permissions of Super Accounts
DescriptionEstablish an account with the super account authority, simulate and initiate various transactions to check whether the account is fully supported. Check the information and transactions of other accounts through this account. Check whether there is permission to view. Approve and recycle other accounts through this account to
Method--
ExampleSupport / Not Support

Authorization Among Accounts

PathwaySecurity--->Access Control---->Authorization Among Accounts
DescriptionEstablish two different accounts A and B. Use account A to authorize a certain transaction on account B, and initiate an authorized transaction for account A through account B to verify whether it is successful.
Method--
ExampleSupport / Not Support

Time Limit Control of Account Authorization

PathwaySecurity--->Access Control---->Time Limit Control of Account Authorization
DescriptionEstablish two different accounts A and B. Use A account to authorize a certain transaction to B account. Specify the time limit of authorization as 10 minutes, and initiate an authorized transaction of A account through B account within 10 minutes and 10 minutes later to verify whether the two transactions are successful.
Method--
ExampleSupport / Not Support

Account Permission Change

PathwaySecurity--->Access Control---->Account Permission Change
DescriptionEstablish two accounts at different levels. Use the high-level account to change the authority of the low-level account, such as prohibiting transfers. Check whether the low-level account can still perform transfer transactions.
Method--
ExampleSupport / Not Support

Forms of Permission Changes

PathwaySecurity--->Access Control---->Forms of Permission Changes
DescriptionVerify all forms of permission changes one by one through simulating tests.
Method--
ExampleHigh-level account authorization, offline authorization/ Not Support

2.3 Encryption System and Privacy

Transaction Information Encryption

PathwaySecurity--->Encryption System and Privacy---->Transaction Information Encryption
DescriptionCheck the encryption of transaction information. If encryption is supported, list the algorithms and encryption elements used in all encryption scenarios. In each scenario, simulate and initiate transactions, intercept the transaction plaintext and encrypted ciphertext, and use decryption tools to decrypt it. Check whether the decrypted content is consistent with the plaintext.
Method--
ExampleSupport encryption algorithm, SHA3-2S6, ECDSA, national secret, SHA2 / Not support

Application Scenarios of Signature

PathwaySecurity--->Encryption System and Privacy---->Application Scenarios of Signature
DescriptionCollect all possible application scenarios of signature, list the application scenarios of signature, simulate and initiate transactions in each scenario. Check whether the transaction record will record the signed information, try to call the interface without signing, and check whether the transaction reports an exception.
Method--
ExampleInquiry, transfer, issuance / Transfer

Private Key Protection for Signature

PathwaySecurity--->Encryption System and Privacy---->Private Key Protection for Signature
DescriptionObtain and check the storage methods and paths of all the private keys. Modify the private key file, verify whether the private key file can work during the transaction, and check the transaction status.
Method--
ExampleThe private key is encrypted and stored in the user's PC or mobile phone.

If the Private Key Is Lost, Whether the User's Property Can Be Protected

PathwaySecurity--->Encryption System and Privacy---->If the Private Key Is Lost, Whether the User's Property Can Be Protected
DescriptionDelete the private key corresponding to an account under the private key storage path, and check the asset of the account. Delete the private key corresponding to a certain account under the private key storage path, and use the account to transfer to other accounts to check the transaction status and account property changes. Delete the private key corresponding to an account under the private key storage path, and use another account to transfer to the account to check the transaction status and account property changes.
Method--
ExampleNo, the account assets still exist but are unable to be traded.

2.4 Cryptographic Algorithm

Types of Cryptographic Algorithms

PathwaySecurity--->Cryptographic Algorithm---->Types of Cryptographic Algorithms
DescriptionTypes of supported cryptographic algorithms
Method--
ExampleECDS, national secret,SHA3,RSA,SHA2

Encryption Machine

PathwaySecurity--->Cryptographic Algorithm---->Encryption Machine
DescriptionDetermine whether the blockchain supports the encryption machine. If it does, use the encryption machine for encryption verification through the interface provided by the blockchain.
Method--
ExampleSupport/ Not Support

Pluggable Custom Encryption Algorithm

PathwaySecurity--->Cryptographic Algorithm---->Pluggable Custom Encryption Algorithm
DescriptionDetermine whether the blockchain supports pluggable customized cryptographic algorithms. If so, use the custom cryptographic algorithm for verification through the interface provided by the blockchain.
Method--
ExampleSupport/ Not Support

2.5. Anonymity

Anonymity of Transactions

PathwaySecurity--->Anonymity---->Anonymity of Transactions
DescriptionRandomly query any transaction on any block. Use any account to query the real user information through the user address in the transaction. If the real user information is not found, it means that the transaction is supported to be anonymized
Method--
ExampleSupport / Not Support

Full Anonymity or Partial Anonymity

PathwaySecurity--->Anonymity---->Full Anonymity or Partial Anonymity
DescriptionQuery any transaction on any block. Use any account to query the real user information through the user address in the transaction. If the real user information is not found, it means that the transaction is supported to be anonymized. Query any transaction on any block, use an audit or a super authority account to query the real user information through the user address in the transaction. If the real user information cannot be queried by using a normal account through the user address in the transaction, it means that partial anonymity is supported.
Method--
ExampleFull anonymity, partial anonymity/ Not Support

The Sub-account Maintains Transaction Transparency to Its Parent Account

PathwaySecurity--->Anonymity----> The Sub-account Maintains Transaction Transparency to Its Parent Accoun
DescriptionSelect a sub-account to simulate a transaction. The parent account queries the real user information through the sub-account user address in the transaction. If the real user information of the sub-account can be found, it means that the sub-account is transparent to the parent account's transaction.
Method--
ExampleSupport/ Not Support

The Sub-account Keeps Transactions Anonymous to Other Parent Accounts

PathwaySecurity--->Anonymity---->The Sub-account Keeps Transactions Anonymous to Other Parent Accounts
DescriptionSelect a sub-account to simulate a transaction. Randomly select any other parent account, and query the real user information through the sub-account user address in the transaction. If the real user information of the sub-account cannot be found, it means that the sub-account is anonymous to the parent account's transactions.
Method--
ExampleSupport / Not Support

Maintain Transaction Transparency for the Audit or Super Accounts

PathwaySecurity--->Anonymity---->Maintain Transaction Transparency for the Audit or Super Authority Accounts
DescriptionDetermine whether the area supports ordinary accounts to keep transactions transparent to the audit or super authority accounts. Query any transaction on any block, use audit or super authority accounts, and query real user information through the user address in the transaction. If the real user information is found, it means that ordinary accounts maintain transactions transparent to the audit or super authority accounts.
Method--
ExampleSupport / Not Support

2.6. Anti-attack Capability

Resist DDOS, Hackers and Other Network Attacks

PathwaySecurity--->Anti-attack Capability---->Resist DDOS, Hackers and Other Network Attacks
DescriptionUse tools to simulate 10%, 30%, and 51% of node spoofing. At the same time, spoof nodes to build a virtual network to verify whether a new node will recognize the virtual network when joining, or whether the blockchain system can prevent the construction of this virtual network. The tool simulates a certain number of nodes to send a large amount of spam packet information to a specific target node, to verify whether the node and the blockchain system have the ability to prevent blocking packet messages.
Method--
ExampleSupport / Not Support

Degree of Anti-attack

PathwaySecurity--->Anti-attack Capability---->Degree of Anti-attack
DescriptionSimulate 30%, 50%, and 51% of node attacks through the test tools to verify whether the results of the consensus algorithm are consistent with expectations.
Method--
ExamplePass/ Not Pass

Maximum Tolerable Number of Node Failures

PathwaySecurity--->Anti-attack Ability---->Maximum Tolerable Number of Node Failures
DescriptionUse tools to simulate N node failures or spoofing to verify whether the results of the consensus algorithm are consistent with expectations.
Method--
ExampleN/3 node failure / Custom

Maximum Tolerable Number of Node Spoofing

PathwaySecurity--->Anti-attack Ability---->Maximum Tolerable Number of Node Spoofing
DescriptionUse tools to simulate N node failures or spoofing to verify whether the results of the consensus algorithm are consistent with expectations.
Method--
ExampleN/3 node failure / Custom

3. Reliability

3.1 Blockchain Network

High Availability of Accounting Nodes

PathwayReliability--->Blockchain Network---->High Availability of Accounting Nodes
DescriptionEvaluate through scripts. Suppose that there are N accounting nodes or service nodes in the blockchain, stop 1~n accounting nodes or service nodes in turn through the script. Check whether the blockchain network can still execute transactions correctly, reach a consensus, and keep accounts or provide external services through service nodes.
Method--
ExampleSupport / Not Support

Whether the Network Jitter of the Blockchain Network Can Affect the System Service Level

PathwayReliability--->Blockchain Network---->Whether the Network Jitter of the Blockchain Network Can Affect the System Service Level
DescriptionUse tools to perform simulation evaluations. Under the specified service level and network scale, obtain the tolerable ratio value by simulating a certain number of network nodes to join or exit.
Method--
ExampleYes/ No

3.2 Shared Ledger

Ledger Supports Failover Synchronization

PathwayReliability--->Shared Ledger---->Ledger Supports Failover Synchronization
DescriptionStop a certain accounting node in the blockchain network. Restart the node after the generation time of 10 blocks. Restore the stopped node and check whether it is automatically synchronized to the latest ledger and can restore the accounting ability.
Method--
ExampleSupport / Not Support

Ledger Backup and Recovery

PathwayReliability--->Shared Ledger---->Ledger Backup and Recovery
DescriptionDetermine whether there is a backup and restore tool. If so, use the tool to perform backup and export operations. After a period of time, use the tool to perform backup and restore import operations to check whether the ledger is back to the state when it was backed up and whether the network node is running normally.
Method--
ExampleSupport / Not Support

3.3 Account System

High Availability of Account Information Under Different Nodes

PathwayReliability--->Account System---->High Availability of Account Information Under Different Nodes
DescriptionUse scripts to invalidate a certain node. Use scripts to simulate transactions such as transferring to the account of the failure node to check whether the transaction is successful. If it is successful, the account information of different nodes is highly available.
Method--
ExampleSupport / Not Support

4. Usability

4.1 Blockchain Network

The Complexity of Network Construction

PathwayUsability--->Blockchain Network---->The Complexity of Network Construction
DescriptionAccording to the rules, simulate the construction of a multi-node blockchain network or add or delete nodes. Calculate the time required for construction and the complexity of the construction steps or the complexity of the additions and deletions.
Method--
ExampleNo more than 10 minutes / No more than 8 hours / No more than 4 hours

The Complexity of Adding and Deleting Nodes

PathwayUsability--->Blockchain Network---->The Complexity of Adding and Deleting Nodes
DescriptionAccording to the rules, simulate the construction of a multi-node blockchain network or add or delete nodes. Calculate the time required for construction and the complexity of the construction steps or the complexity of the additions and deletions.
Method--
ExampleNot require downtime when adding or deleting nodes / Support adding node functions / Not support deleting nodes

4.2 Smart Contract

Languages Supported by Smart Contract

PathwayUsability--->Smart Contract---->Languages Supported by Smart Contract
DescriptionDevelopment languages supported by Smart Contract
Method--
ExampleSolidity / Go / Go, node.js

The Complexity of Registering Smart Contract

PathwayUsability--->Smart Contract---->The Complexity of Registering Smart Contract
DescriptionThe required process is recorded through the smart contract registration or deployment under a certain node. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleConcise, upload source code, private key encryption / Registration can be quickly made through the contract management function of the central management node.

4.3 Transaction

Transaction Query Complexity

PathwayUsability--->Transaction---->Transaction Query Complexity
DescriptionThe required process is recorded through the query or initiation of a transaction under a certain node. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleThe process of the transaction query is simple. Support the sdk interface. for query/ Support interface for query

Transaction Initiation Complexity

PathwayUsability--->Transaction---->Transaction Initiation Complexity
DescriptionThe required process is recorded through the initiation of a transaction under a certain node. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleSupport / Not Support

4.4 Account System

Registration Complexity

PathwayUsability--->Account System---->Registration Complexity
DescriptionThe required process is recorded through the registration or destruction under a certain node. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleSimple /Complex/ Not Support

Destruction Complexity

PathwayUsability--->Account System---->Destruction Complexity
DescriptionThe required process is recorded through the registration or destruction under a certain node. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleSimple /Complex/ Not Support

Authorization Complexity

PathwayUsability--->Account System---->Authorization Complexity
DescriptionSimulate the authorization of account B to account A and record the authorization process required. The process requiring more than 2 steps should be considered as complicated.
Method--
ExampleSimple /Complex/ Not Support

4.5 Shared Ledger

Restrictions on the Search Bar of the Shared Ledger

PathwayUsability--->Shared Ledger---->Restrictions on the Search Bar of the Shared Ledger
DescriptionDetermine whether it supports retrieval. If so, simulate the ledger retrieval, and use the script tool to calculate the average retrieval time.
Method--
ExampleSupport retrieval based on id, keywords, time interval, condition selection, and traceability/ Not Support

Indexing

PathwayUsability--->Shared Ledger---->Indexing
DescriptionDetermine whether it supports indexing. If so, simulate the index creation of the shared ledger.
Method--
ExampleSupport / Not Support

5. Compatibility

5.1 Blockchain System

Blockchain System Compatibility

PathwayCompatibility--->Blockchain System---->Blockchain System Compatibility
DescriptionPerform system migration among different operating systems, middleware, and databases to test whether they are supported.
Method--
ExampleSupport suse11, 12, Centos, Ubuntu. The bottom layer supports a variety of relational or non-relational databases.

5.2 Smart Contract

Smart Contract Portability

PathwayCompatibility--->Smart Contract---->Smart Contract Portability
DescriptionPerform platform porting of the existing smart contract and check whether the ported contract is available.
Method--
ExampleSupport / Not Support

Smart Contract Forward Compatibility

PathwayCompatibility--->Smart Contract---->Smart Contract Forward Compatibility
DescriptionThe smart contract that runs normally on the old version of the blockchain is deployed to the new version of the blockchain to check whether the smart contract is available.
Method--
ExampleSupport / Not Support

5.3 Data

Data Portability

PathwayCompatibility--->Data---->Data Portability
DescriptionSimulate the migration and recovery of data to check whether it is successful.
Method--
ExampleSupport / Not Support

6. Performance Efficiency

6.1 Transaction Handling Capacity

Call Contract TPS>1000 (per second)

PathwayPerformance Efficiency--->Transaction Handling Capacity---->Call Contract TPS>1000 (per second)
DescriptionTransaction Handling Capacity (that is, the largest number of transactions that can be completed per unit time) is mainly to test an indicator: call contract TPS1, set Nt to be the number of transactions sent during the statistical period, and Nb to be the number of transactions recorded on the block during the statistical period. And randomly generate transactions through the frequency-adjustable transaction generator to satisfy Nt controllability. 2. When measuring transaction handling capacity, generate random transactions continuously (concurrently) at a certain rate. Continuously increase the transaction generation rate until Nt is larger than Nb, and record the configuration parameter of the pressure measurement system at this time, which is the optimal pressure measurement parameter. 3. Perform stress tests on the blockchain system multiple times in accordance with the best stress test parameter. Record the number of transactions recorded on the block within a unit of time, and take the average value, which is the transaction handling capacity.
Method--
Example1599.6 per second / 12 per second / 368.8 per second / 77.3 per second

Call Contract TPS 500-1000 (per second)

PathwayPerformance Efficiency--->Transaction Handling Capacity---->Call Contract TPS 500-1000 (per second)
DescriptionTransaction Handling Capacity (that is, the largest number of transactions that can be completed per unit time) is mainly to test an indicator: call contract TPS1, set Nt to be the number of transactions sent during the statistical period, and Nb to be the number of transactions recorded on the block during the statistical period. And randomly generate transactions through the frequency-adjustable transaction generator to satisfy Nt controllability. 2. When measuring transaction handling capacity, generate random transactions continuously (concurrently) at a certain rate. Continuously increase the transaction generation rate until Nt is larger than Nb, and record the configuration parameter of the pressure measurement system at this time, which is the optimal pressure measurement parameter. 3. Perform stress test on the blockchain system multiple times in accordance with the best stress test parameter, record the number of transactions recorded on the block within a unit time, and take the average value, which is the transaction handling capacity.
Method--
Example1599.6 per second / 12 per second / 368.8 per second / 77.3 per second

Call Contract TPS 100-500 (per second)

PathwayPerformance Efficiency--->Transaction Handling Capacity---->Call Contract TPS 100-500 (per second)
DescriptionTransaction Handling Capacity (that is, the largest number of transactions that can be completed per unit time) is mainly to test an indicator: call contract TPS1, set Nt to be the number of transactions sent during the statistical period, and Nb to be the number of transactions recorded on the block during the statistical period. And randomly generate transactions through the frequency-adjustable transaction generator to satisfy Nt controllability. 2. When measuring transaction handling capacity, generate random transactions continuously (concurrently) at a certain rate. Continuously increase the transaction generation rate until Nt is larger than Nb, and record the configuration parameter of the pressure measurement system at this time, which is the optimal pressure measurement parameter. 3. Perform stress test on the blockchain system multiple times in accordance with the best stress test parameter, record the number of transactions recorded on the block within a unit time, and take the average value, which is the transaction handling capacity.
Method--
Example1599.6 per second / 12 per second / 368.8 per second / 77.3 per second

Call Contract TPS<100 (per second)

PathwayPerformance Efficiency--->Transaction Handling Capacity---->Call Contract TPS <100 (per second)
DescriptionTransaction Handling Capacity (that is, the largest number of transactions that can be completed per unit time) is mainly to test an indicator: call contract TPS1, set Nt to be the number of transactions sent during the statistical period, and Nb to be the number of transactions recorded on the block during the statistical period. And randomly generate transactions through the frequency-adjustable transaction generator to satisfy Nt controllability. 2. When measuring transaction handling capacity, generate random transactions continuously (concurrently) at a certain rate. Continuously increase the transaction generation rate until Nt is larger than Nb, and record the configuration parameter of the pressure measurement system at this time, which is the optimal pressure measurement parameter. 3. Perform stress test on the blockchain system multiple times in accordance with the best stress test parameter, record the number of transactions recorded on the block within a unit time, and take the average value, which is the transaction handling capacity.
Method--
Example1599.6 per second / 12 per second / 368.8 per second / 77.3 per second

7. Structure

7.1Build the Underlying Public Chain

Implement"Distributed"

PathwayStructure--->Build the Underlying Public Chain---->Implement "Distributed"
DescriptionWhether to implement the distributed feature
Method--
ExampleDistributed feature having been implemented / Distributed feature not implemented

Tamper-Proofing

PathwayStructure--->Build the Underlying Public Chain---->Tamper-Proofing
DescriptionWhether to implement the tamper-proofing feature
Method--
ExampleTamper-proofing feature having been implemented/ Tamper-proofing feature not implemented

Peer-to-Peer

PathwayStructure--->Build the Underlying Public Chain---->Peer-to-Peer
DescriptionWhether to implement the peer-to-peer feature
Method--
ExamplePeer-to-Peer feature having been implemented/ Peer-to-Peer feature not implemented

7.2 Choose an Existing Public Chain

Ethereum ETH

PathwayStructure--->Choose an Existing Public Chain---->Ethereum ETH
DescriptionWhether to choose Ethereum ETH
Method--
ExampleYes / No

BSC

PathwayStructure--->Choose an Existing Public Chain---->BSC
DescriptionWhether to choose BSC
Method--
ExampleYes / No

Polygon

PathwayStructure--->Choose an Existing Public Chain---->Polygon
DescriptionWhether to choose Polygon
Method--
ExamplePeer-to-Peer feature having been implemented/ Peer-to-Peer feature not implemented

Solana

PathwayStructure--->Choose an Existing Public Chain---->Solana
DescriptionWhether to choose Solana
Method--
ExamplePeer-to-Peer feature having been implemented/ Peer-to-Peer feature not implemented

Flow

PathwayStructure--->Choose an Existing Public Chain---->Flow
DescriptionWhether to choose Flow
Method--
ExamplePeer-to-Peer feature having been implemented/ Peer-to-Peer feature not implemented

8. Breakthrough

8.1 Break Technical Limitations

PathwayBreakthrough--->Break Technical Limitations
DescriptionAn industry cannot improve efficiency due to the limitation of related technologies. Using this technology to develop new projects can break the technical limitations and improve the efficiency of an industry or a field. Or the technology reduces the cost and improves the efficiency of the entire society.
Method--
ExampleBlockchain technology emerges in the form of an open-source community. The earliest blockchain open source community is Bitcoin. The core technical framework of the Bitcoin blockchain is developed in C++ language, and the consensus algorithm adopts the POW algorithm. The right to bookkeeping is obtained through the proof of workload (mining) to account the entire network. Using blockchain to develop new projects can break the technical limitations.

8.2 Revolutionary System Reshaping

PathwayBreakthrough--->Revolutionary System Reshaping
DescriptionThe pain points of a certain industry need to use the disruptive system reshaping to complete the iteration of the industry, and this technology can just complete it.
Method--
ExampleEthereum is a Turing-complete platform that can implement protocols in multiple programming languages. The smart contract based on the Ethereum platform is the key to Ethereum's excellence. The smart contract facilitates users to build a variety of ever-changing DApp applications, greatly reducing the threshold for blockchain developers, and the Ethereum ecosystem is also growing at a high speed. The smart contract reshapes the system disruptively.

9. Scalability

9.1 Network Node

Dynamic Increase of Network Nodes

PathwayScalability--->Network Node --->Dynamic Increase of Network Nodes
DescriptionUse the command provided by the system to try to dynamically add a node to the network, and check whether the network status is normal after the node is added.
Method--
ExampleSupport / Not Support

Dynamic Deletion of Network Nodes

PathwayScalability--->Network Node --->Dynamic Deletion of Network Nodes
DescriptionUse the command provided by the system to try to dynamically delete a node to the network, and check whether the network status is normal after the node is deleted.
Method--
ExampleSupport / Not Support

Limits on the Number of Network Nodes

PathwayScalability--->Network Node --->Limits on the Number of Network Nodes
DescriptionDetermine whether the network node has a limit. If so, what the limit is, that is, the blockchain network scale. Increase the number of network nodes continuously and dynamically through the simulation to check whether the network scale is normal before reaching the limit of the number of nodes. If there is no limit, increase the number of network nodes continuously and dynamically through the simulation to check whether the network is abnormal.
Method--
ExampleLimited/ Not Limited

9.2 Consensus Algorithm

Pluggable Custom Consensus Algorithm

PathwayScalability--->Consensus Algorithm --->Pluggable Custom Consensus Algorithm
DescriptionLoad a customized consensus algorithm through the reserved interface of the blockchain to check the consensus reached by the nodes in the network.
Method--
ExampleSupport / Not Support

Can the Mining Difficulty Be Customized If PoW Is Used

PathwayScalability--->Consensus Algorithm --->Can the Mining Difficulty Be Customized If PoW Is Used
DescriptionCustomize the mining difficulty through the interface provided by the blockchain to check whether the time required for a transaction to reach a consensus is different for the mining with varying difficulties.
Method--
ExampleUse PoW, can / Use PoW, can't / Not Support PoW

How Many Blocks Are Required to be Confirmed If PoW Is Used

PathwayScalability--->Consensus Algorithm --->How Many Blocks Are Required to be Confirmed If PoW Is Used
DescriptionDetermine whether to use PoW. If it is used, it needs to wait for N blocks to confirm the transaction, and calculate the probability of the transaction being discarded after N blocks.
Method--
ExamplePoW is used, <6 blocks / PoW is used, = 6 blocks / PoW is used, >6 blocks / Not Support PoW

The Consensus Algorithm Is Adjusted According to the Network Size

PathwayScalability--->Consensus Algorithm --->The Consensus Algorithm Is Adjusted According to the Network Size
DescriptionCheck whether the consensus algorithm can be customized and whether there are parameters that can be adjusted according to the network scale in the configuration items.
Method--
ExampleSupport / Not Support

The Consensus Algorithm Is Adjusted According to the Number of Participants

PathwayScalability--->Consensus Algorithm --->The Consensus Algorithm Is Adjusted According to the Number of Participants
DescriptionCheck whether the consensus algorithm can be customized, and whether there are parameters for adjusting the number of participants in the configuration item.
Method--
ExampleSupport / Not Support

The Consensus Algorithm Is Adjusted According to Transaction Handling Capacity Requirements

PathwayScalability--->Consensus Algorithm --->The Consensus Algorithm Is Adjusted According to Transaction Handling Capacity Requirements
DescriptionCheck whether the consensus algorithm can be customized, and whether there are parameters for adjusting the transaction handling capacity in the configuration item.
Method--
ExampleSupport / Not Support

9.3 Peripheral Development

Pluggable Plugin

PathwayScalability--->Peripheral Development --->Pluggable Plugin
DescriptionAble to install and uninstall according to the existing Plugin to verify the availability of Plugin.
Method--
ExampleSupport / Not Support

ETL

PathwayScalability--->Peripheral Development --->ETL
DescriptionImplement development and verification according to the provided ETL interface.
Method--
ExampleSupport / Not Support

SDK and API

PathwayScalability--->Peripheral Development --->SDK and API
DescriptionImplement development and verification according to the provided SDK and API.
Method--
ExampleSupport / Not Support

9.4 Cloud Platform Integration Capability

Which Cloud Platforms Are Integrated With

PathwayScalability--->Cloud Platform Integration Capability--->Which Cloud Platforms Are Integrated With
DescriptionPerform verification on different types of cloud platforms separately.
Method--
ExampleSupport Alibaba Cloud, Tencent Cloud, Amazon Cloud and other cloud platforms/ Not Support

Provide Corresponding Integrated Interfaces

PathwayScalability--->Cloud Platform Integration Capability--->Provide Corresponding Integrated Interfaces
DescriptionUse the corresponding integrated interface for verification.
Method--
ExampleSupport / Not Support

10. Maintainability

10.1 Emergency Management

Emergency Handling Capability System

PathwayMaintainability--->Emergency Management --->Emergency Handling Capacity System
DescriptionTest the emergency handling capability system of the blockchain network in the event of any failure according to relevant documents.
Method--
ExampleThere is a complete maintenance mechanism, a special maintenance organization, and a detailed emergency plan / None

10.2 System Management

Management Monitoring Platform

PathwayMaintainability--->System Management --->Management Monitoring Platform
DescriptionAccording to the White Paper and related documents, judge whether to provide a management monitoring platform. If so, log in the management monitoring platform to check its functions.
Method--
ExampleSupport / Not Support

Alarm System

PathwayMaintainability--->System Management --->Alarm System
DescriptionAccording to the White Paper and related documents, judge whether to provide a fault alarm system. If so, a node can be invalidated for verification.
Method--
ExampleSupport / Not Support

Operation and Maintenance Interface

PathwayMaintainability--->System Management --->Operation and Maintenance Interface
DescriptionAccording to the White Paper and related documents, judge whether to provide an interface related to operation and maintenance. If so, try to call the interface to test its capabilities.
Method--
ExampleSupport / Not Support

10.3 Strategy Management

Genesis Block Customization

PathwayMaintainability--->Strategy Management --->Genesis Block Customization
DescriptionExperts make judgments based on the White Paper and related documents. If these are supported, customize the files of the genesis block to establish a blockchain network and check whether the blockchain is successfully established.
Method--
ExampleSupport / Not Support

Block Generation Time Configuration

PathwayMaintainability--->Strategy Management --->Block Generation Time Configurationp
DescriptionJudge according to the White Paper and related documents. If these are supported, verify after modifying the block generation time.
Method--
ExampleSupport / Not Support

Access Control Authority Configuration

PathwayMaintainability--->Strategy Management ---Access Control Authority Configuration
DescriptionJudge according to the White Paper and related documents. If these are supported, modify the authority of a certain service node to the accounting node, and verify whether it participates in the consensus accounting.
Method--
ExampleSupport / Not Support

10.4 Smart Contract

Smart Contract Dynamic Update

PathwayMaintainability--->Smart Contract ----> Smart Contract Dynamic Update
DescriptionJudge according to the White Paper and related documents. If these are supported, modify and dynamically update the smart contract, and check the effect of the update.
Method--
ExampleSupport / Not Support

Freeze or Destroy the Smart Contract

PathwayMaintainability--->Smart Contract ---Freeze or Destroy the Smart Contract
DescriptionJudge according to the White Paper and related documents. If these are supported, freeze or destroy the smart contract, and then send a transaction to the contract to determine whether the freeze or destruction is successful.
Method--
ExampleSupport / Not Support

10.5 Easy Deployment

Easy Deployment of Blockchain Nodes

PathwayMaintainability--->Easy Deployment ---Easy Deployment of Blockchain Nodes
DescriptionThe test method is to deploy the system through the configuration parameter file according to the system deployment document.
Method--
ExampleYes / No

Easy Deployment of Blockchain Monitoring Platform

PathwayMaintainability--->Easy Deployment ---Easy Deployment of Blockchain Nodes
DescriptionThe test method is to deploy the system through the configuration parameter file according to the system deployment document.
Method--
ExampleYes / No/ No monitoring platform