...
It is a group evaluation, and the report is given below.
BiniBFT - An Optimized BFT on Fabric
Evaluation 3 - Report
Submitted By: Riddhi Katarki , Ajitesh Kumar Soni , Abhishek Ranjan , Ashna P S , Sahilsher Singh , Siddhant Prateek Mahanayak
...
- System Load Monitoring: Continuously monitor the system's workload, transaction rate, and processing capacity, and overall network load.
- Load Thresholds: Define load thresholds that trigger dynamic leader allocation. For example, if the transaction rate exceeds a certain threshold, consider allocating additional leadersConsider factors such as transaction backlog and processing delays.
- Leader Availability: Keep track of Track the availability and performance metrics of potential leaders in the system. Leaders may be nodes with the capability to propose and manage batchesnetwork.
- Allocation Trigger: When the system load surpasses the predefined thresholds, initiate the dynamic leader allocation processbased on a Verifiable Random Function (VRF).Leader Selection: Dynamically select additional leaders based on predefined criteria, such as node capabilities, reliability, and current workload
- VRF-Based Random Leader Selection: Use a Verifiable Random Function to generate a random number that determines the leader selection. This ensures randomness while providing verifiability to other participants.
- Batch Queue Management: If a batch queue exists, distribute the batches among the selected leaders to ensure an even workload distribution.
- Concurrency Control: Implement mechanisms for concurrency control synchronization protocols to manage interactions between multiple leaders . This may involve synchronisation protocols to and maintain consistency.
- Transaction Proposal: Each leader, determined by the VRF-based random selection, independently proposes its assigned batches to the network for validation.
- Polling and Voting: Continue with the random polling and voting process for each proposed batch, ensuring decentralised agreement decentralized agreement on transaction validity.
- Commitment Decision: Based on the voting outcomes for each leader's proposed batches, make a commitment decision for each batch independently.
- Transaction Settlement: Finalise the committed batches and record them on the blockchain.
- Leader Deallocation: Periodically reassess the system load. If the load decreases and additional leaders are no longer requiredneeded, deallocate the surplus leaders.
...