We wanted to contribute to the course to help educate people about the space.

What it does

This is a project meant to help visualize the problems that arise in a distributed network due to latency, packet loss, and double spending. By providing a clearer, more intuitive picture of what is happening, users will be able to better learn and understand why blockchains are so important for providing consensus in these less than ideal networks. This project was built to accompany the course material, but a stretch goal for this project is to provide a platform for visualizing and simulating new consensus protocols in the hopes of developing more robust systems or testing the security of existing protocols.

How we built it

We built this using react.

Challenges we ran into

As newcomers to react, it took time to iron out all the bugs that come with learning a new framework.

Accomplishments that we're proud of

We're proud of how cleanly our end product came out, and that we were able to accomplish some stretch goals that we weren't sure we'd complete during a hackathon.

What we learned

We learned how to use react. Also the process of implementing this solidified our understandings of blockchain and the need for a consensus protocol.

What's next for Visualizing Consensus

We hope to turn the project into a more general platform for testing consensus beyond the scenarios we are demonstrating in our simulation. The next step is to add proof of work and proof of stake implementations and visuals to accompany them to continue to support the channel. In the longer run we hope to design this platform so that anyone could test the metrics of their consensus protocol in a plug and play fashion and collect valuable data of their protocol's efficiency and security, as well as to provide a way for people to intuitively understand the protocol they are testing through clear visualizations.

Built With

Share this project: