June 24, 2024

Nine awesome Bitcoin projects at Princeton

As promised, here are the final project presentations from the Bitcoin and cryptocurrency technologies class I taught at Princeton. I encouraged students to build something real, rather than toy class projects, and they delivered. I hope you’ll find these presentations interesting and educational, and that you build on the work presented here (I’ve linked to the projects on GitHub if the code is available).

If you haven’t already, you should sign up for the online version of this class we’re teaching starting in a couple of weeks. The class will prepare you to do projects just like these.

Note: you’ll have to turn the volume all the way up and/or use headphones.

Karthik Dhore, Ben Stallworth, Keji Xu created a physical implementation of smart property (on a Raspberry Pi) that can be controlled and traded via the block chain.

Code on GitHub.


Dan Kang, Charles Marsh, and Shubhro Saha presented a quantitative analysis of Altcoins based on block chain and price data.


Harry Kalodner, Miles Carlsten, and Paul Ellenbogen implemented pay-as-you-go proxy servers using Bitcoin micropayments.


Simin Chen, Stephen Cook, Yotam Sagiv, Vibhaa Sivaraman, and Tom Wu built an IDE for the Bitcoin scripting language.

Code on GitHub, demo.


Saahil Madge implemented a Bitcoin “beacon”.

Code on GitHub, demo.


Walker Davis built a more secure Bitcoin wallet using threshold cryptography.


Charles Guo, Frank Jiang, Akis Kattis, Lucas Mayer, Hansen Qian, and Yotam Sagiv built Arbitrum, and Altcoin that enables smart contracts and efficient arbitration.


Shivam Agarwal, Pranav Gokhale, Alex Iriza, and Hannah Park developed programming assignments for teaching Bitcoin and cryptocurrencies. This was an example of bootstrapping that worked out really well — normally I would have used the help of a team of TAs to develop programming assignments, but no such TAs were available for this class because we didn’t yet have students trained in the ins and outs of Bitcoin! So we made it a class project to develop these assignments. We’ll also be using these in the online version of the class this semester.


Ethan Gordon and Patrick Yu implemented CoinJoin.

Code on GitHub.

That’s it for now. See you in two weeks on Piazza!