In the current technological landscape, a topic of significant interest is Distributed Systems, a concept where a system is built up by separate sub-processes which to the user exhibits a unified front. Due to the fragmented nature of distributed systems, the concept of partial failures exists, where one node in the system may act maliciously and cause breaking issues for the system. Among the many types of failures that may occur, the topic of arbitrary, or Byzantine, faults is a hot research topic, since if we can make a system resilient towards arbitrary faults, we can make it arbitrarily resilient to faults. In this thesis, we will feature an overview of the state-of-the-art BFT systems, alongside the development of a simplified prototype to evaluate the efficacy of an optimistically batched approach to BFT systems. We started off the design process of our prototype by examining PBFT, one of our primary sources which would lay the groundwork for the prototype. We decided to use C# as our programming language of choice for developing the prototype. The prototype was evaluated by running it several times in a semi-controlled environment, and using Matplotlib we analyzed the data and created relevant graphs. After the development and evaluation of the prototype, it was found that an optimistically batched approach could yield an O(N) proposal throughput in comparison to the traditional O(1) proposal throughput. This result indicates future viability for research into an optimistically batched BFT systems approach.