1.Project Summary
1.1. Milestone Period
First Milestone: 2021.09.08 ~ 2022.02.28
Second Milestone: 2022.03.01 ~ 2022.08.31
Third Milestone: 2022.09.01 ~ 2023.02.28
1.2. Project Goal
The consensus algorithm of the blockchain network allows all nodes to agree on which transactions are valid and should be added to the distributed ledger.
The consensus algorithm ensures that all nodes can consistently see the current state of the distributed ledger even when faced with network interruption or attack.
Blockchain consensus algorithms play an important role in maintaining the security and integrity of blockchain networks but can also affect network speed.
The purpose of this project is to improve the Istanbul Byzantine Fault Tolerance (IBFT) protocol, which is used in the Klaytn platform. The project is based on the research article titled ‘A Coordination Technique for Improvement Scalability of Byzantine Fault-Tolerant Consensus’ published in Applied Sciences in 2020.
1.3. First Milestone
Period: 2021.09.08 ~ 2022.02.28
Goal
-
Building the Klaytn private blockchain network for the research project.
-
Applying coordination technique to improve IBFT consensus algorithm.
Result
- Coordination technique was applied to the Klaytn platform, but there was no significant difference compared to the IBFT consensus algorithm.
- As a result of applying coordination technique without properly understanding the Go programming language, we analyzed that the coordination techniques did not consistently improve the performance of the Klaytn network.
1.4. Second Milestone
Period: 2022.03.01 ~ 2022.08.31
Goal
- Analyzing the Klaytn consensus process in detail
- Applying synchronization techniques with a coordinator
Result
- The IBFT consensus algorithm has three stages: pre-prepare, prepare, and commit. By omitting one prepare process as part of coordinator synchronization, network traffic during consensus can be reduced.
- When applying the synchronization technique using coordinator, we found a 25% reduction in network traffic during the consensus process.
1.5. Third Milestone
Period: 2022.09.01 ~ 2023.02.28
Goal
- Conducting various experiments by building blockchain nodes in a real physical environment, in contrast to building nodes in a virtual environment.
Result
-
Building the Klaytn network of physical nodes.
- Create private keys by matching the number of physical nodes to be implemented.
- Modify the static-node.json file to the IP address of the physical node and distributed the file to each node.
- Run the main.go file using the Goland IDE program.
-
Enforcing decentralization of the coordinator.
-
Conducting various experiments
- Consensus algorithm elapsed time measurement experiment
- IBFT: 8ms.
- Coordination Technique: 4ms.
- Consensus algorithm elapsed time measurement experiment
-
TPS measurement experiment
- No significant difference.
-
Consensus algorithm network load experiment
- IBFT: generated an average 541 blocks.
- Coordination Technique: generated an average of 1019 blocks.
1.6. Conclusions
Our project have demonstrated the potential for improving the scalability of the IBFT consensus algorithm used in the Klaytn platform
Our project has limitations as it was conducted under controlled conditions, so future experiments with a wider range of variables and in a more realistic operating environment are necessary to further validate our research.
Attachment(Full Report Doc)
PDF - 3rd Klaytn Report
Word - 3rd Klaytn Report