Library
|
Your profile |
Software systems and computational methods
Reference:
Bulgakov, V.D., Gvozdevsky, I.N. (2024). Proof of Performance Consensus Model and Algorithm. Software systems and computational methods, 4, 23–48. https://doi.org/10.7256/2454-0714.2024.4.71119
Proof of Performance Consensus Model and Algorithm
DOI: 10.7256/2454-0714.2024.4.71119EDN: NAGMFWReceived: 25-06-2024Published: 30-11-2024Abstract: The article examines the working principle of the Proof of Performance (PoP) model, based on a consensus algorithm that supports horizontal sharding functions. The PoP model introduces changes to the traditional block structure used in Proof of Stake algorithms and Tendermint-based networks. Horizontal sharding allows transactions to be distributed among multiple nodes (shards), significantly increasing the network's throughput. The main goal of the study is to explore ways to enhance the efficiency and scalability of blockchain networks through dynamic transaction distribution and adaptive node management. An important aspect is the definition of parameters and adjustable characteristics of nodes, such as performance and reliability, to ensure even and fair load distribution within the network. This provides the system with the ability to adapt to changing load conditions. The study employs analytical and formal methods to describe the block structure, transaction distribution mechanism, and the system of penalties and rewards for shards. The research represents an innovative approach to managing blockchain networks, focusing on node performance. The PoP model with horizontal sharding provides higher throughput and scalability compared to traditional consensus algorithms. A system of dynamic load distribution and adaptive weight adjustment of nodes based on their performance is proposed, which contributes to the improvement of the network's efficiency and reliability. The results of the study demonstrate that the Proof of Performance model significantly increases transaction processing speed and overall blockchain network performance. Application examples confirm the model's effectiveness in various types of networks, such as DeFi platforms, supply chain management systems, and IoT networks. The PoP model encourages nodes to maintain high performance, ensuring fair load distribution and enhancing the overall network resilience. Keywords: Consensus model, Consensus algorithm, Shard, Block, Proof of Performance, Proof of Stake, Horizontal sharding, Performance, Load distribution, BlockchainThis article is automatically translated. Introduction The urgency of the problem of increasing the performance and scalability of blockchain networks is due to the growing requirements for processing transactions in highly loaded systems such as financial technologies, Internet of Things (IoT) systems and decentralized applications (dApps). Existing consensus algorithms, including Proof of Stake (PoS) based on the Tendermint core, demonstrate limited bandwidth due to high load and limited performance resources of network validator nodes. These limitations create bottlenecks in the functioning of networks and reduce their resistance to load changes[1]. The purpose of this study is to develop and analyze the Proof of Performance (PoP) model, which aims to increase the efficiency and scalability of blockchain networks through the introduction of horizontal sharding technology. PoP is based on the idea of an equilibrium distribution of transactions between nodes, which reduces the load on individual validator nodes and improves overall network performance. To achieve this goal, the following tasks are being solved:
The scientific novelty of the work lies in the proposal and description of the latest Proof of Performance algorithm, combining adaptive load distribution and node performance accounting, which can significantly increase network bandwidth and its resistance to load changes. The presented work lays the foundation for further research aimed at integrating the described consensus algorithm into existing blockchain systems and developing technologies for decentralized load management. Description of the Proof of Performance model In the Proof of Stake consensus algorithm, the node offering the block (Block proposer) receives a certain number of transactions from the Transaction pool (mempool) for processing, in order to subsequently publish them in the block, and, accordingly, in the network. This approach limits the number of transactions that can be processed by the network at a certain point in time, and also increases the load on the node that is offering block creation in this iteration. Moreover, the PoS approach to determining the network participant who will be able to add a block to the network is determined by the number of coins of the participant, which in itself adversely affects the philosophy of decentralization of the blockchain network[2]. The introduction of horizontal sharding technology will make it possible to remove the load from the node offering the block and distribute it in equilibrium to all nodes that are shards, that is, to nodes that provide their computing power for the transaction processing process in the network[3]. The following is a diagram that describes the transaction processing process in the Proof of Stake consensus algorithms (Figure 1) and Proof of Performance (Figure 2). Fig.1 – The process of processing transactions in the Proof of Stake algorithm Fig.2 – The process of processing transactions in the Proof of Performance algorithm The main advantages of this approach are: · One-time processing of all transactions in the vault. In the case of Proof of Stake, the algorithm cannot send the number of transactions exceeding a certain threshold to the node for processing, as this will adversely affect the performance of the node offering the block and may cause a network failure if this node fails. In the Proof of Performance model, the algorithm "pulls" all transactions from the storage and distributes them in equilibrium between the shards[4]. · Load balancing. The lack of diversification in the transaction processing process is a big problem in the field of blockchain[5]. The failure of the node on which the task of creating a new block lies increases the time of its creation, and if all nodes of the network failed to cope with this task, causes the network to lock down. The introduction of the concept of shards, the description of their algorithm of operation and their implementation into the existing system will allow the node engaged in the process of creating blocks not to waste its computing power on transaction processing. All he has to do is get this data from the shards, check it and publish it in the block. Block structure in the Proof of Performance model Since the process of accounting and controlling sharding is a new task, for the decentralized storage of the results of its solution, it is necessary to modify the existing block structure. At the moment, the following structure prevails in Proof of Stake networks, consisting of 15 fields: · Block #N: Block number. This is a unique identifier of a block in the blockchain, indicating its position in the chain. · Version: The version of the software or protocol used to create this block. · chainId: ID of the network to which this block belongs. · Height: The height of the block. This is the sequence number of the block in the blockchain, starting with the genesis block (block zero). · Time: A timestamp indicating the time when the block was created. · LastBlockID: The ID of the previous block in the chain. This value is used to link blocks into a single chain. · LastCommitHash: Hash of the last confirmed block. This value is used to check the correctness of the previous block. · DataHash: The hash of the block data. This value is a cryptographic hash of all transactions included in the block. · ValidatorsHash: Hash of validators. This value is a cryptographic hash of the list of validators involved in block validation. · NextValidatorsHash: Hash of the following validators. This value is a cryptographic hash of the list of validators who will participate in the validation of the next block. · ConsensusHash: The hash of the consensus. This value is a cryptographic hash of the parameters of the consensus algorithm used to reach an agreement between validators. · AppHash: The hash of the application. This value is a cryptographic hash of the application state after all transactions in the block have been completed. · LastResultsHash: Hash of the results of the last execution. This value is a cryptographic hash of the results of the transactions in the previous block. · EvidenceHash: A hash of the evidence. This value is a cryptographic hash of all the evidence included in the block, which can be used to identify malicious validators. · ProposerAddress: The address of the offering block. This is the unique identifier of the network participant who proposed this block to be added to the chain. This structure in the form of a table that makes up the block is shown in Figure 3.
Since this structure needs to be refined and parameters added to account for the sharding process, the block structure in the Proof of Performance model will include the following additional parameters: · ShardsHash: Hash of the list of shards. A cryptographic hash representing a list of all nodes that are shards in the network. · CurrentShardsHash: Hash of the current shards. A cryptographic hash representing the list of shards involved in processing transactions in this block. · NextShardsHash: Hash of the next shards. A cryptographic hash of the state of the shards that will participate in the transaction processing process in the next block. · ShardsEvidenceHash: Hash of shard evidence. A cryptographic hash of all the evidence included in the block that can be used to identify malicious shards. · DataAccordanceShardsHash: Hash of matching shard data. A cryptographic hash that ensures data consistency between different shards. This field contains the hash of the correspondence between the shards and the transactions processed by them. According to the updated structure, the block model in the Proof of Performance algorithm, which implements the horizontal sharding process, will look like this:
These innovations allow the network to take into account the contribution of each shard to transaction processing, ensure data security and distribute the load between nodes in proportion to their performance. The need for such changes is due to the following factors: 1. Problems with the current block structure:
2. Advantages of the modified structure:
Thus, the proposed changes in the block structure provide the basis for the effective implementation of the PoP model and its further integration into blockchain systems. Distribution of weights In order to ensure a fair assessment and load distribution between shards, the Proof of Performance algorithm assumes the role of an arbitrator and provides a process for managing the procedures for assigning, rewarding and punishing shards depending on their performance. The Proof of Performance algorithm is based on a performance evaluation system for each shard. The following parameters are used to determine performance, which affect the final result of calculating the shard weight: · Performance (P): The performance of the shard in processing transactions. It is evaluated based on the success of transactions in the current and previous blocks. · Weight (W): The weight of the shard, which determines the level of its competitive ability to process transactions in the next block. · Penalty: Penalty for late or unsuccessful transaction processing · Reward: Reward for successful transaction processing. The performance evaluation where Determining the weight of a shard is one of the main tasks of the algorithm, since an incorrectly determined weight can adversely affect network performance (for example, if a shard with small computing power gets a lot of weight). The following formula is used to determine the weight ( where The reward and penalty coefficients are determined as follows: where After calculating the weights for the next iteration, they must be normalized so that the sum of the weights of all the shards does not exceed 1, that is, 100%. The following formulas are used for this purpose: where To distribute transactions between shards, the next block uses weighted random selection based on updated normalized weights where The efficiency of the algorithm The Proof of Performance algorithm will consist of the following steps: 1. Initialization. At this step, the initial weights of all the shards are set. This step is performed only at the first iteration of the algorithm, that is, when creating the genesis (zero) block; 2. Collecting transactions. All incoming transactions from network users are collected in a common pool (storage); 3. Distribution of transactions. Transactions are distributed among the shards based on the current (or initial) weights; 4. Transaction processing. Each shard processes the transactions assigned to it; 5. Performance evaluation. The performance of each shard is estimated according to the formula 6. Updating the scales. Shard weights are updated based on rewards and penalties.
Proof of the correctness of the algorithm Let's say there are three shards on the network After creating the block, note that: · Then: Normalization of weights: Then the new sum of the weights of all the shards is:
After updating the weights, transactions are distributed proportionally to the new weights, ensuring fair and efficient transaction processing in the next block. Let's say 1000 transactions are waiting for publication on the network. Then, based on the new weights, each shard will receive: Comparison of transaction processing speed in Proof of Stake and Proof of Performance networks Let's consider an example in which there are 5 nodes in two networks (A and B) that support their operability. Network A runs on the Proof of Stake consensus algorithm. Let's assume that each validator (node) has the technical equipment to process 1000 transactions per 1 block. Then, when a new block is proposed, the validator processes 1000 transactions and puts them in the block, that is, the processing speed: 1000 tranz/block or 167 tranz/sec (with an average block time of 6 seconds). At the same time, in network B, which is supported by the Proof of Performance consensus algorithm, when the task of generating a new block arises, each shard takes on the task of processing 1000 transactions. Provided that there are 5 shards in the network, then the transaction processing speed will be: 5000trans/block or 833trans/sec. That is, the network performance based on the Proof of Performance consensus algorithm is X times greater than in networks based on Proof of Stake, where X is the number of shards in the network. Application of the Proof of Performance consensus algorithm The PoP algorithm can be implemented and have a positive impact on the performance of those blockchain networks in which high throughput is important when processing transactions, as well as scalability. The algorithm can be useful in the following types of networks: · Networks with a large number of decentralized applications (dApps)[7]; · IoT (Internet of Things) systems[8]; · Global payment networks[9]; · Supply chain management systems[10]. Simulation of the Proof of Performance algorithm and analysis of its impact on performance To assess the impact of the Proof of Performance (PoP) algorithm on the performance of the blockchain network, an experiment was conducted during which a copy of the Polkadot network deployed on local equipment was subjected to load and measurements of network performance metrics. After the measurements, the network was updated and the Proof of Performance algorithm was implemented to replace the Proof of Stake, which was originally used. Polkadot uses a blockchain model where several independent blockchains are connected to the main network (relay chain) and use its computing power to function. With the current architecture, the load from the blockchain is concentrated on one node at the time of block creation, which can lead to bottlenecks and delays in transaction processing. The experiment consisted of the following stages: 1. Creating a copy of the Polkadot network and launching the blockchain:
2. Measuring network performance on PoS:
3. Migration of the network to the Proof of Performance algorithm:
4. Measuring network performance on PoP:
5. Comparative analysis of the results:
6. Conclusions:
Scenarios for the implementation of the Proof of Performance algorithm 1. Decentralized Applications (dApps) Implementation scenario: In highly loaded dApps (decentralized applications), such as decentralized exchanges, games or social networks, the number of transactions can be very high, which creates a significant load on the network. Network nodes may not be able to handle processing a large amount of data, especially if they have small computing resources. Recommendations for use:
Potential problems and challenges:
Possible solutions:
2. Internet of Things (IoT) Systems Implementation scenario: In IoT networks, many devices generate data that needs to be processed in real time. The limited computing resources of the devices and the high speed of data generation require an efficient solution for transaction processing. Recommendations for use:
Potential problems and challenges:
Possible solutions:
3. Global payment networks Implementation scenario: International payment systems require high transaction processing speed and the ability to scale to meet growing transaction volumes. Delays and low bandwidth can negatively affect the user experience and trust in the system. Recommendations for use:
Potential problems and challenges:
Possible solutions:
Recommendations for integrating the Proof of Performance algorithm into existing blockchain infrastructures Recommendations for the use of the PoP algorithm. To improve performance and eliminate problems caused by the lack of power of individual nodes, the Proof of Performance algorithm should be considered for integration in the following cases:
The use of the algorithm may be optional:
The implementation of the Proof of Performance (PoP) algorithm into an existing Proof of Stake (PoS) network requires a step-by-step approach and interaction with network participants. The general PoP implementation algorithm is presented below: 1. Analysis and preparation.
2. PoP development and testing.
3. Saving the network status.
4. The proposal to update the consensus.
5. Updating nodes and software.
6. Deploying updates
7. Launching an updated network on PoP
8. Monitoring:
Implementing the Proof of Performance algorithm into a Proof of Stake network is a complex but manageable process that, if properly prepared and implemented, can lead to significant improvements in network performance and scalability. Analysis of the advantages and disadvantages of the Proof of Performance algorithm Advantages of the Proof of Performance algorithm compared to other consensus algorithms: 1. Improved scalability and throughput
2. Increased fault tolerance and network reliability
3. Energy efficiency
4. Stimulating high node performance
5. Flexibility and adaptability
Disadvantages of the Proof of Performance algorithm: 1. The complexity of implementation and integration
2. Potential security risks
3. Node Resource Requirements
4. Community resistance
Comparison with other consensus algorithms: 1. Proof of Work (PoW): Advantages of PoP over PoW:
Disadvantages of PoP compared to PoW:
2. Proof of Stake (PoS): Advantages of PoP over PoS:
Disadvantages of PoP compared to PoS:
3. Delegated Proof of Stake (DPoS): Advantages of PoP over DPoS:
Disadvantages of PoP compared to DPoS:
The problems of the algorithms considered, the solution proposed by the PoP algorithm, the proof of the solution and the conclusions are presented in the following table:
Comparing the views of domestic and foreign researchers on the problem of scaling blockchain networks Scientific research in the field of consensus algorithms and scalability of blockchain networks is actively developing both in foreign and domestic literature. However, approaches to solving these issues differ significantly. 1. Foreign research. Foreign works, such as the study "Sharding-Based Proof-of-Stake Blockchain Protocols: Key Components & Probabilistic Security Analysis" focus on security and probabilistic assessment of the stability of consensus algorithms. The main focus is on their applicability in conditions of high network load and the ability to work with a large number of active nodes. In their study of the PoS model, the process of increasing network performance is considered through the introduction of sharding[11]. Another example of studying the scaling process of blockchain networks is the work of Ittay Eyal, Adem Efe Gencer, Emin Gün Sirer and Robbert van Renesse "Bitcoin-NG: A Scalable Blockchain Protocol", in which the authors present the Bitcoin-NG protocol. He suggests dividing the blockchain into micro- and macroblocks to speed up transaction processing. However, it lacks mechanisms for dynamic load distribution between nodes, which makes it vulnerable to overloads[12]. 2. Domestic research. In the work of Abdulzhalilov A.Z. "Methods and strategies for scalability of blockchain technologies: analysis, comparison and prospects", the author considers several methods that provide an increase in key network performance parameters through distributed list management systems, the use of sharding, the use of sidechains and the introduction of consensus algorithms friendly to the scaling process[13]. V.N. Grepan highlights great attention to finding solutions to the problem of scalability in blockchain networks in his work "Practical problems of using blockchain technologies". In his work, he considers the possibility of increasing the size of blocks, the use of consensus algorithms with increased performance, sharding, the development of inter-blockchain solutions and optimization of protocols and algorithms as ways to solve the problem of scaling blockchain networks[14]. 3. The main differences.
According to the considered views on solving the problem of scalability of blockchain networks, it becomes clear that it makes sense to search for a method that would satisfy several tasks at once when building a scalability process. The Proof of Performance (PoP) model offers several innovations that make a significant contribution to the development of consensus algorithms and scaling of blockchain networks: 1. Integration of horizontal sharding:
2. Dynamic load balancing system:
3. Fault tolerance:
4. Practical applicability:
Thus, a comparison of domestic and foreign studies has shown that the PoP model not only solves many well-known problems of consensus algorithms, but also offers new approaches that can be useful under real constraints. The increase in scientific knowledge lies in the development of a flexible node management system that increases the performance and stability of blockchain networks. Conclusion The article discusses the principle of operation of the Proof of Performance model, takes into account and describes its features, provides an analysis and an example of the algorithm. The analysis of the transaction processing speed was carried out and possible ways of its application were determined. The presented and described model will allow to implement an adaptive approach to resource consumption, as well as to find a compromise between the needs for network performance and the costs of maintaining its operability. References
1. Bauer, V. P., Pobyvaev, S. A., & Kuznetsov, N. V. (2019). The potential for using distributed ledger technology (blockchain) in government management systems. Fundamental Research, 12(2), 247–252. UDC 338.24:338.32.
2. Boriskevich, I. A. (2020). Consensus algorithms in blockchain networks. 6th Scientific Conference of Postgraduates, Master's Students, and Students of BSUIR, 116–117. Minsk. 3. Luu, L., Narayanan, V., Zheng, C., Baweja, K., Gilbert, S., & Saxena, P. (2016). A secure sharding protocol for open blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (pp. 17–30). 4. Kokoris-Kogias, E., Jovanovic, P., Gasser, L., Gailly, N., Syta, E., & Ford, B. (2017). OmniLedger: A secure, scale-out, decentralized ledger via sharding. IACR Cryptology ePrint Archive, 2017(406). 5. Zamani, M., Movahedi, M., & Raykova, M. (2018). RapidChain: Scaling blockchain via full sharding. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security (pp. 931–948). 6. King, S., & Nadal, S. (2012). PPCoin: Peer-to-peer crypto-currency with proof-of-stake. Retrieved from https://bitcoin.peryaudo.org/vendor/peercoin-paper.pdf 7. Swan, M. (2015). Blockchain 2.0: Contracts. In Blockchain: Blueprint for a New Economy (pp. 9–10). O'Reilly Media, Inc. 8. Shalamov, G. A., & Petukhov, A. S. (2023). The convergence of IoT and blockchain technologies: From theory to real-time applications. Progressive Economy, 9, 32. doi:10.54861/27131211_2021_9_32 9. Goswami, S. (2017). Scalability analysis of blockchains through blockchain simulation. (Master's thesis, University of Nevada, Las Vegas). 10. Zamyatin, A., Harz, D., Lind, J., Gudgeon, L., Werner, S., & Knottenbelt, W. J. (2019). XCLAIM: Trustless, interoperable, cryptocurrency-backed assets. In IEEE Symposium on Security and Privacy (pp. 193–210). 11. Makrakis, D., & Senhaji, A. (2023). Sharding-based proof-of-stake blockchain protocols: Key components & probabilistic security analysis. Sensors, 23(5), 2819. doi:10.3390/s23052819 12. Eyal, I., Gencer, A. E., Sirer, E. G., & van Renesse, R. (2016). Bitcoin-NG: A scalable blockchain protocol. In Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI '16) (pp. 45–59). 13. Abduljalilov, A. Z. (2023). Methods and strategies for scaling blockchain technologies: Analysis, comparison, and perspectives. International Scientific Journal "Bulletin of Science, 11(68), 625–634. 14. Grepan, V. N. (2024). Practical problems in the use of blockchain technologies. Scientific Online Journal "Stolypin Bulletin", 9.
First Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
Second Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
Third Peer Review
Peer reviewers' evaluations remain confidential and are not disclosed to the public. Only external reviews, authorized for publication by the article's author(s), are made public. Typically, these final reviews are conducted after the manuscript's revision. Adhering to our double-blind review policy, the reviewer's identity is kept confidential.
|