What is blockchain?

Blockchain technology enables a network of computers (businesses) to agree (consensus) at regular intervals on the true state of immutable ledger (transaction records, credentials, other information) which is distributed across all the computers.

Blockchain eliminates conventional trust mechanisms like paper trails and custodians thanks to its open consensus-driven distributed ledger technology (DLT) across nodes. The trust is fostered via a shared version of distributed ledger which is accessible to all participants. These transactions are recorded chronologically and form an immutable chain, these are secured with a mix of cryptography and game theory.

Impact of blockchain

This technology is particularly useful when you combine a distributed ledger together with digital assets.  You suddenly have the ability to bootstrap an entire network that can reach decentralized internet-level consensus regarding the legitimacy and state of a block’s contents. Each node that takes part in the network can quickly and cost effectively verify the ledger’s trust state and conduct transactions on it.

While there is bad press circulating about failures, there are large organizations leveraging blockchain technology for process efficiencies, reduced costs, regulatory requirements, and new opportunities. Some of the areas where technology is leveraged includes digital assets, decentralized finance (‘DeFi’ or crypto currency), track and trace, identity management, and Web3.

Digital assets and tokens

Digital assets are intangible digital items with ownership rights. These assets exist on the blockchain across applications and can engage with smart contracts. This includes crypto currencies, stable coins, central bank digital currencies (CBDCs), and non-fungible tokens (NFTs).

DeFi

DeFi is short for ‘decentralized finance,’ an umbrella term for a variety of financial applications that aim to cut out the middlemen of our everyday finances.

Together, digital assets and DeFi have opened a new alternative investment option for financial services firms. For example, blockchain companies like Qredo provide institutional investors secure infrastructure to participate in the digital asset marketplace. Aave liquidity protocol enables participants to earn interest and borrow assets. Similarly, larger financial institutions like JP Morgan are using technology to create innovative solutions in capital markets.

Track and trace

Track and trace refers to the ability to identify the past and present locations of all product inventory, as well as a history of product custody, with the primary use case area being supply chain. Once we are able to identify provenance and track product across supply chains, this opens up solutions to reduce counterfeit in industries like agro-based industries and pharma, to prove credentials for environmental and social governance (ESG) in manufacturing etc.

Identity management

Blockchain can empower users to have greater control over their own identity. Organizations can use the information only with customers’ consent and no central entity would be able to compromise a consumer’s identity. Primary use case areas include education, self-sovereign identity etc. For example, distributed digital identity is being deployed, in multiple use cases, to reduce identity fraud in banking.

Web3

Web3 enables traditional revenue streams to accrue to users, enhancing the user value proposition relative to their Web2 equivalents. For example, Web3 trustless transaction can be used to send digital asset directly to another person – not via an online exchange or wallet stored on a centralized server. Here the entire process is controlled by blockchain and encryption, and there is close to zero chance that anyone can step in and disrupt it.

Key features of blockchain

Distributed database

  • Each party has access to the entire database with history.
  • No single party controls the data or the information.
  • Every party can verify the records of its transaction partners directly, without an intermediary.

Peer-to-peer transmission

  • Communication occurs directly between peers instead of a central node.
  • Each node stores and forwards information to all other nodes.

Smart contracts

  • The digital nature of the ledger means that blockchain transactions can be tied to computational logic and in essence programmed.
  • Users can set up algorithms and rules that automatically trigger transactions between nodes.

Immutable database

  • Append-only database.
  • Once a transaction is entered in the database and the accounts are updated, the records cannot be altered because they’re linked to every transaction record that comes.

Transparency with pseudonymity

  • Every transaction and its associated value are visible to anyone with access to the system.
  • Each node, or user, on a blockchain, has a unique 30+ character alphanumeric address that identifies it.

Users can choose to remain anonymous or provide proof of their identity to others as the transaction occurs between blockchain addresses.

What comprises blockchain applications?

Blockchain applications are comprised of five component layers.

Application layer

  • Allows consumers to interact with blockchain.
  • Smart contracts, Web3, decentralized applications (dApps), APIs etc.

Consensus layer

  • Establishes a clear set of agreements among nodes and ensures that power stays decentralized, achieves unanimity of truth acceptance among participating nodes.
  • Immutable smart contracts are executed, which can monitor and implement terms and conditions, as well as execute payments, autonomously.

Network layer

  • Commonly refered to as P2P layer, is responsible for itner-node communication.
  • A P2P network is a computer network in which nodes are distributed and share the workload of the network to achieve a common purpose.
  • Allows for validation of blocks and to negotiate on transaction outcome.

Data layer

  • Acts as blockchain data structure and physical storage.
  • Digital signatures, Hash, Merkle tree etc.

Infrastructure layer

  • Hosts physical and virtual resources of the Blockchain networks.
  • Containers, Services, Messaging.

What are critical elements of blockchains?

Within any traditional financial system, it is critically important for trust to exist between banking and financial institutional that are custodians of monetary value. The same principle logically follows in blockchain. Blockchain integrity is critical for successful adoption. There must be trust between participants. This trust needs to be established via the consensus mechanism and the distributed ledger.

To ensure that participants on the network trust a blockchain, it is important to build blockchain applications that not only address use case but also have an architecture designed for transaction finality, data privacy protection, business process assurance and Oracle integrations, with blockchain in software testing the most vital ingredient.

How can blockchain fail?

While organizations have put together teams to harness the promise of blockchain, lack of common standards and practices in implementation are causing project failures. A successful blockchain implementation requires the aggregation of technologies into one ecosystem including DLT, cryptographic security, data storage, consensus protocol, Web 3, dApps, digital assets like crypto etc.  A few of the recent causes for failures include:

  • Mistakes in the code for a prominent project launch meant that $34m worth of Ethereum (ETH) was rendered apparently inaccessible and locked in a flawed smart contract.
  • A DeFi protocol bug accidentally gave $90m to users. Any further changes to the protocol required seven-day governance process to make their way to production. Another DeFi protocol gave out more rewards than intended.
  • Hacks resulted in loss of over $26m, rocking several prominent DeFi projects including Uniswap, Lendf.me, Hegic etc.

Quality Assurance for blockchain

These prominent blockchain losses and mistake may have been prevented with a well thought out comprehensive strategy for blockchain testing and blockchain application testing. A comprehensive blockchain application test strategy would start with taking into consideration blockchain architecture and how it is different from typical client-server architecture. Similarly, test environments and ecosystem knowledge is vital to effectively test various layers of architecture to validate blockchain integrity.

At Qualitest, we’ve partnered with clients working on blockchain projects right from early stages to implement their blockchain test strategy. Our blockchain testing services and blockchain application testing focus on blockchain integrity, crypto testing, DeFi testing, Web3 testing, Web3 penetration testing and dApps testing, with bigger picture scalability and vulnerability testing factored in too.