Published: 6 May 2022| Version 1 | DOI: 10.17632/z3xb4pyv7s.1


Several consensus algorithms have been proposed as a way of resolving the Byzantine General problem with respect to blockchain consensus process. However, when these consensus algorithms are applied to a distributed, asynchronous network some suffer with security and/or scalability issues, while others suffer with liveness and/or safety issues. This is because the majority of research have not considered the importance of liveness and safety, with respect to the integrity of the consensus decision. In this paper a novel solution to this challenge is presented. A solution that protects blockchain transactions from fraudulent and/or erroneous mis-spends and mistakes. This consensus protocol uses a combination of probabilistic randomness, an isomorphic balance authentication method, error detection and synchronised time restrictions, when assessing the authenticity and validity of IoT requests. Designed to operate in a distributed asynchronous network, this approach increases scalability while maintaining a high transactional throughput, even when faced with Byzantine failure.


Steps to reproduce

The evaluation criteria were based on the security objectives of confidentiality, non-repudiation, integrity, authorisation, authenticity, safety and liveness 1 The evaluation of liveness was carried out against three cells. The cells were operating in an asynchronous environment. Cells were issued with the same IoT request. Liveness was evaluated by running cells in parallel. 2 Safety was responsible for ensuring only valid IoT requests were authenticated and validated. Safety in this context was tested by attempting to send the same data. The evaluation process was thus: I. The first test involved sending 1000 clients’ IoT requests through the BAM consensus process II. Following this 1000 new records of client data was generated, however 250 of the previously sent data was appended to the file. This produced an input data file containing 750 new records and 250 previously sent records. III. This process was repeated such that: 500 new records and 500 duplicates; 250 new records and 750 duplicates; finally 1000 duplicates. All duplicate requests were rejected. 3 The evaluation of confidentiality of data in transit was carried out by performing a packet capture using tcpdump. IoT request data was sent to the processor and was also sent on from there through to the validation node, were assessed. Each of the packet capture records were assessed via the Wireshark data analysis tool. 4 Authentication was performed by verifying the signature of data received on the processor. Authorisation was tested by using a similar methodology to that which was used in the liveness evaluation procedure 5 Non-repudiation was evaluated by examining and verifying the digital signature sent by the client’s IoT request. This contained a concatenation of the transaction with a nonce. These values were hashed then encrypted using the client’s private key. This encrypted hash was appended to the IoT request before it was sent to the processor. The processor was thereafter responsible for computing its own hash. 6 The Non-Repudiation test also covers integrity. 7 To assess the BAM consensus protocol’s polynomial communication complexity and exponential communication complexity a latency test was carried out. The purpose of the test was to ascertain whether an increase in IoT requests would create network latency and scalability issues. .The scalability of this consensus process, 1,000, 2,000, 3,000, 4,000 and 5,000 client requests were tested during five separate testing schedules. A time stamp for the start and the finish of the process was generated. 8 It was not possible to confirm the immutability status of the Merkle tree. This is because to confirm the immutability status would require both an authorised access exploit and an authentication exploits 9 A Tam evaluation of 48% of blockchains that were listed on CoinMarketCap was carried out.


University of Abertay Dundee


Tamananthus, Internet of Things, Acceptance Sampling, Cryptocurrency, Blockchain