Engagement Details
- Name of Mentee: Sahilsher Singh
- Evaluation Period: 06-07-2023 to 11-08-2023
- Task: Blockchain and RAFT familiarization & an example application implementation using it
- Date Submitted: 18-08-2023
- Mentor: Dr. Anasuya Threse Innocent
Team Introduction: Introduce team members, including roles and responsibilities.
Project Overview: Provide an overview, goals, and objectives of the BiniBFT project.
Expectations and Goals: Set clear expectations, clarify project goals, and ensure alignment.
Setting up Communication Channels: Establish effective communication channels (e.g., Slack, email).
Kick-off Meeting: Hold a kick-off meeting to discuss scope, deliverables, and timeline.
Project Planning: Initiate project planning, define tasks, milestones, and dependencies.
Start learning: Explore public blockchain and its consensus algorithms.
Research and Background: Conduct necessary research to understand the project domain. Discuss Raft consensus algorithm limitations and areas for improvement.
Ongoing journey of learning: Create small projects to become familiar with public blockchain.
-
BFT Consensus Methods and Blockchain Interaction: Research existing BFT consensus methods and their interaction with blockchain systems.
-
Overview of Raft Consensus Algorithm: Provide a concise overview of the Raft consensus algorithm, including key components.
-
Raft Consensus Algorithm Limitations: Analyze limitations of Raft consensus algorithm and identify potential areas for improvement.
-
Hyperledger Labs BDLS: Explore Hyperledger Labs BDLS and understand its use with various consensus algorithms.
-
Architecture of Hyperledger Labs BDLS: Examine architecture of Hyperledger Labs BDLS, including components and interactions.
-
Getting hands dirty: Start a project based on research, gaining a better understanding of blockchain and consensus algorithms.
- Byzantine: Begin learning about Byzantine and its consensus algorithms.
- Raft: Start learning about Raft and its consensus algorithms.
- Paxos: Start learning about Paxos and its consensus algorithms.
- Corda: Start learning about Corda and its consensus algorithms.
-
Transaction censorship: Discuss the issue of transaction censorship in Raft.
-
Followers trust the leader: Highlight the need for followers to trust the leader and the absence of client log verification.
-
Malicious leader and network recovery: Address the lack of mechanisms to recover from a malicious leader.
-
Leader overwriting follower logs: Identify the problem of the leader overwriting follower logs.
- Start with public blockchain learning and complete a course in Ethereum development.
- Move to private blockchain, specifically Hyperledger, and read papers on its consensus mechanisms.
- Implement example projects using fabric-samples and Hyperledger Fabric documentation.
- Build a mango tracking system using microFab and perform testing.
- Further implementation details can be found in the provided GitHub repositories: bootstrapping-hyperledger and mango-tracking-sys.
- Explore the GitHub repository raft-implementation for insights into the implementation of the Raft consensus algorithm.