# The New CAP Theorem on Blockchain Consensus Systems
## 2 Materials and Methods
### The IoT Micro-Blockchain Framework  
The IoT micro-Blockchain implements a neutral universal consensus-achievement framework that operates in every node of the system. In this framework, Blockchain is considered in its most simple and generic form as the aggregation of interconnected atomic hash chains which are stored in the finite local memory of each node. Its source code can be found in [[https://github.com/arianagnostakis/IoT_Blockchain](https://github.com/arianagnostakis/IoT_Blockchain)]([https://github.com/arianagnostakis/IoT_Blockchain](https://github.com/arianagnostakis/IoT_Blockchain)) (accessed on 12 February 2025).  
Our system is self-inclusive, and new events are only taking place inside the nodes. Consensus relies on common event witnessing. The process of witnessing is illustrated in Figure 1, which is given here after [8]. It depicts a new local event which is raised and stored locally in node \(N_{2}\), as well as transmitted to and witnessed by two other peer nodes.  
Generally, in the light of a _new event_, \(W\) peer nodes are being contacted to validate and record it in their local memories. The whole consensus process relies on this simple witnessing function: _every witness_ of an event _agrees_ with _every other_ witness of the same event. This way the collective agreement mechanism that governs the consensus process in its generality is formed.  
The desired number of event witnesses \(W\) varies with respect to the needs of each application. In absolute-finality Blockchain systems, for example, the ones that are developed exclusively to facilitate monetary transactions, like the early-stages Bitcoin Blockchain [16], an absolutistic requirement of \(W=N\) at all times is usually raised, where \(N\) is the number of the peer nodes in a system. In this case, the content of the memories of all nodes be  
Figure 1: The process of witnessing in the IoT micro-Blockchain network, published after [8]. In this example, the local event Block \(\mathrm{M}-1\) raised in \(\mathrm{N_{2}}\) is transmitted P2P (red dashed lines) to two neighbors.  
comes identical; the redundancy of the Blockchain as well as the consensus over it becomes absolute and maximum.  
In a system consisting of finite capacity entities, and consequently in every digital system, this absolutistic requirement cannot always be guaranteed. This induces the consideration of consensus its generality as a scalar attribute [14]. A distributed world of finite-capacity entities has often got to work with \(W<<N\).  
The memory of the autonomous node can be abstractly modeled as in Figure 2. It consists of two logical parts: (a) The ROM-like part in which the inherited code implementing the common consensus process is stored. (b) The active RAM-like part in which the events' data are stored and has the form of hash chain. The active memory (b) can be further logically divided into two parts, storing either _local_ or _external_ events' data. The events that are validated and stored in each node are either _local_, if the event was raised within the node, or _external_, if the node _vitnesses_ an event that came from another peer node.  
We utilize this simple model to define the Autonomy of the node as the fragment of the local memory utilized by the node to store its _local events_ (_M_Local_) to the _total active memory_ of the node (_M_) later in Section 3. At a fundamental level, this also reflects the fraction of the total resources of the node dedicated to processing the local events.  
The logical fragmentation of the memory of the node is depicted in Figure 2.  
Figure 2: A simple model of the memory of the autonomous node (\(M=M_{Local}+M_{Others}\)). The local event blocks are colored blue, and the witnessed external events orange.