top of page
Writer's pictureSunny Mok

Blockchain Security Assessments Part 1: Understanding Key Concepts

Over the last few years, the use of blockchain in both consumer and enterprise products has increased exponentially. Competition among blockchain technologies results in rapid changes and continuously evolving designs, making it difficult for security professionals to assess whether a certain blockchain is suitable, and more importantly secure, for use within their organisation.


In this first part of our two-part blog, we will explain the key concepts which security teams should be aware of before conducting blockchain assessments. The second part of this blog (linked here) will provide a framework in which you can use to assess the practicality and security of a blockchain for your specific use case.


What is a Blockchain?

A blockchain is usually composed of a group of independent computers (also known as “peers” or “nodes”) which each immutably store and autonomously operate the state of a defined digital asset (or “token”). These group of computers form a peer-to-peer (P2P) network with the following objectives:


  • Maintain the state of the blockchain through synchronising state changes with participating nodes and recording any network state changes in an immutable ledger.  

  • Run smart contracts collectively to manage the state of any affected digital assets. 

  • Ensure all computation is deterministic and the state of the blockchain is updated consistently across all nodes.  


The key to achieving decentralisation relies on the use of a consensus protocol, which will be described in further detail later. This protocol is used to control local interactions between participating nodes with the goal of ensuring fairness (treating all nodes equally), security (preventing malicious actions from nodes), and resiliency (maintaining the blockchain if certain nodes become offline).


Through this decentralised network of nodes and a distributed ledger, a blockchain is able to manage the issuance, registration, and exchange of digital assets. In this case, an asset refers to any physical or virtual object which can be represented as a piece of state data on the blockchain, often referred to as tokens.


Types of Blockchains

The current state of blockchain deployments exists in three main categories, which are described in the table below:

 

Public Blockchains 

Enterprise Blockchains 

Private Blockchains 

Summary 

  • Open to all public participants, where any node can join or leave at any time. 

  • Permissionless model. 

  • Nodes are members of a trusted group. or consortium 

  • Only authorised. nodes can participate in the network. 

  • Permissioned model. 

  • Nodes may be controlled by a single party or group of internal entities (for example divided by geographical location) within an organisation. 

  • Permissioned model. 

Decentralisation 

Decentralised 

Partially Decentralised (for example across multiple organisations) 

Centralised 

Trust Model 

Trust achieved algorithmically through a consensus protocol. 

Trust partially achieved algorithmically. Reliance on trust between authorised parties. 

Does not require algorithmic trust control as it is assumed trust is consolidated to a single entity or organisation. 

Examples 

Ethereum, Polkadot, Cosmos, Cardano, Algorand 

Enterprise Ethereum Alliance, Hyperledger Fabric, Quorum 

Amazon’s QLDB, Corda 

It is important to understand the differences between these blockchains as the trust model and operational benefits would vary depending on the deployment type. Often times, an organisation may only require a private blockchain to satisfy their use-case, improve security (for example through restricting the number of parties which can interact with their blockchain) and reduce complexity of implementation.


Tokens

Without going into great depth, security professionals should be aware of two main categories of tokens on blockchains: 


  • Fungible – these assets are often the same or similar, and are tradeable. Common examples are currencies or governance/utility tokens. 

  • Non-fungible – these assets are considered unique, but can still be tradeable. Common examples are pieces of art or tokenised real estate.  


Smart Contracts

From a security perspective, it is important to understand how smart contracts work due to them being a critical part of modern blockchain infrastructure. It is important to note that most security exploits on existing blockchains occur due to poorly written smart contract code. 

Smart contracts can be viewed as code which is stored immutably and executed on a blockchain. Each smart contract can define a set of variables and methods to establish business logic which must be followed before it is executed. 


You may often hear of decentralised applications (or dapps), which act as a user interface for users to interact with underlying smart contracts on a blockchain.  


Consensus Protocol 

Consensus protocols are a key feature of blockchains and should be understood when performing a blockchain assessment due to their importance in creating a secure and decentralised ecosystem. This protocol will be used to define how transactions are validated, coordinated, and recorded on the immutable ledger. 


The key objective of most protocols is to achieve a Byzantine Fault Tolerant (BFT) system, which is defined as its ability to continue operating effectively when part of the nodes on the network transmit faulty, or even malicious, information. In public blockchains, protocols often use a probabilistic approach (for example Proof of Work or Proof of Stake) to introduce randomness when deciding which validators are chosen to generate the next block. This reduces the ability for malicious nodes to predict when they will be chosen and prevents collusion amongst such nodes. 


Consensus protocols are often complex and have multiple objectives alongside being Byzantine Fault Tolerant. These include fairness, speed, cost-efficiency, and Denial-of-Service (DoS) resiliency. There are also many factors which come into play when determining whether a protocol will be effective in practice. Examples include the type of blockchain (for example public or private), total number of participating nodes or the distribution of tokens across all nodes. Often times certain protocols will have advantages in one area over another, and these should be taken into account when considering a blockchain based on your organisation’s requirements.  


Economic Model

Most blockchains operate on an economic model with three main objectives: 


  • Incentivise nodes to participate in maintaining the blockchain. 

  • Penalise nodes which perform malicious or faulty actions. 

  • Manage the supply and demand of the blockchain’s computing and storage limitations. 


In public blockchains, a cryptocurrency is often used as a unit of value and serves as the blockchain’s currency. These can be used to pay for computing resources, for example in the case of a transaction or interaction with a smart contract. In private or enterprise blockchains, fiat currencies are often used instead and can be converted into tokens to facilitate similar actions. 


The Blockchain Trilemma A significant challenge in the blockchain ecosystem is known as the blockchain Trilemma. A term coined by Ethereum co-founder Vitalik Buterin, which refers to the trade-off between security, scalability, and decentralisation. While consensus in the industry remains divided, this trilemma states that a simple blockchain architecture can only optimise two out of three aspects, as optimisation of any two aspects requires the cost of sacrificing the third aspect.


Layer 2 – A Potential Solution to the Trilemma

Many popular proposed solutions to the “Trilemma” are “Layer 2” (L2) solutions. These solutions make use of a second layer blockchain which sits onto of the base blockchain (known as “Layer 1” or L1). Often the L1 blockchain will optimise decentralisation and security, while the L2 blockchain will improve scalability through providing an alternate path for transactions.


An example of this is on Ethereum, where L2 solutions use “Zero-Knowledge” (ZK) rollups to relieve congestion on the core network by batching multiple transactions on the L2 network and submitting them in a single batch on the L1 network. This not only reduces traffic on the L1 network, but reduces the transaction fees required.


When selecting a blockchain to use, you can consider choosing a L2 solution to reduce the trade-off required when just operating with a L1 blockchain.


Layer 0 – Interoperability

While not directly related to security of blockchains, it is important to understand the emerging Layer 0 (L0) tiers, which have the objective of allowing cross-chain interactions in order to “bridge” different L1 blockchains. These blockchains can be useful if there is a business requirement to track assets across multiple blockchains.


Summary

This blog has covered some of the key concepts which exist in modern-day blockchains and why they are important to understand for security professionals who interact with such systems. In the second part of this blog, we will explore a framework which can allow you to assess the practicality and security of a blockchain for your specific use case.


At Wilbourne, we have worked on evaluating enterprise blockchain solutions and performing smart contract audits. If you require assistance in reviewing the security of blockchain solutions, please do not hesitate to contact us to discuss your requirements.

17 views0 comments

Recent Posts

See All

Comments


bottom of page