Vitalik suggested I share my basic research and design philosophy in a blog post last week, and I agreed, but complained that it was still changing. My friend Jon West told me that everyone would really appreciate it if I told everyone about the Casper research, and I mostly agreed. Then someone on Reddit told me to focus on Ethereum.
So here is the Casper technology story, presented as a chronological history of the evolution of the core technologies, ideas, and languages associated with “Casper research.” Many of our favorite blockchain figures are part of the story. This is my attempt to explain everything in an accessible, sequential manner so that you can see where we are (and where we are going) with our research efforts (so don’t argue until the story is over!). I’m going to try to solve one chapter a day until it’s completed.
Please also note that this is my personal perspective, understanding that I have very little control over the Proof-of-Stake workflow. For example, the accounts of Vitalik and Greg Meredith vary because they each have their own take on the Casper research.
Foreword: How I started researching on Ethereum
March 2013 – April 2014
When Bitcoin first (really) caught my attention in March 2013, I was immediately fascinated by the story of blockchain technology. This was during the “Cyprus Crisis” surge in Bitcoin prices. You learned about cryptographic hashes, digital signatures, and public key cryptography. We also learned about Bitcoin mining and the incentives miners have to secure the network. For the first time in my life, I became interested in computer science and security. It was great.
Set in a narrative of dystopian liberal economics, underground developers (such as Amir Taki) and central bankers engage in an epic global battle to save the world from a fractional reserve banking system. The blockchain revolution was better than fiction.
I consumed content from Reddit, listened to Lets Talk Bitcoin and a lot of Peter Todd content. I lost money on BTC-e (once because I took advice from Trollbox). I had an argument about technology with my friends Ethan Buchman and Zach Ramsay. We learned about MasterCoin and the possibility of building a Bitcoin upper-level system leveraging the proof-of-work network effect. When I first heard about Proof of Stake (PoS) in the altcoin scene in 2013 (thanks PPCoin!), I thought it sounded like heretical voodoo magic. Replacing miners with coins seemed like an inherently strange thing to do. I ultimately decided that the long-range attack problem was critical and that any solution would involve developer checkpoints of one form or another (an opinion I learned from Peter Todd). Becoming a Bitcoin miner in 2013 was one of the most intellectually stimulating experiences of my life.
I first read about Ethereum in January or February 2014. I watched Vitalik’s YouTube videos and met him in person at the Toronto Decentral Bitcoin Meetups. This time he was fascinated by Ethereum because he obviously knew a lot more about tech stories than I did. Ethereum was a promise of decentralization that was accessible to me, with little background knowledge. It was a universal smart contract that could do anything and disrupt centralized systems. Ethereum has been able to do so many things that it is not clear what role it will actually play in the blockchain ecosystem. The blockchain technology story (in my opinion) has taken an exciting turn with Ethereum, and it has brought me closer to the action 🙂
At one of these meetups, Ethan and I, invited by Russel Verbeeten, participated in a hackathon before the 2014 Bitcoin Expo in Toronto. (Vitalik taught me how to use Merkle trees at this event.) I’ve been thinking about properly incentivizing and decentralizing our peer review system for a few weeks after a paper was recently rejected by an academic journal. Ethan and I created this system together at a hackathon. Ethan did most of the heavy lifting using pyethereum, and I very slowly put together the first GUI I created. We took second place in the hackathon (after Amir’s “Dark Market” which became Open Bazaar). We met the entire Ethereum team at the Expo and were invited to join our public Skype channel! Charles Hoskinson offered us a job. In April 2014 we started volunteering for Ethereum. I even got an @ethereum.org email address.
So I entered the blockchain space because I was fascinated by the Bitcoin technology story, and then I became fascinated by the Ethereum technology story. After that I fell in love with the proof-of-stake technology story, which I now find very fascinating. To help everyone speed up our efforts, we will share as faithfully as possible the timeline and how each part of the picture comes together. It may take a few chapters, but story time isn’t over until it’s over.
Chapter 1: Slasher + Deposit: The transition from naive proof-of-stake to modern proof-of-stake.
May 2014 – September 12, 2014
When Vitalik first expressed interest in PoS in May 2014, first via Skype and then at the Bitcoin conference in Vienna, I was skeptical. Then he said this to me. slasherI think he posted in January 2014. The idea was that if the slasher signed a block of the same height on two forks, he would lose the block reward.
This gives Vitalik the ability to directly address the problem of irrelevance. (For the uninitiated, the “risk-nothing” problem means that the best strategy for a PoS miner is to mine on every fork, because signatures are very cheap to generate.) This also serves as a deterrent to bad behavior. It opened our imagination to a new space of interaction protocols.
Nonetheless, I wasn’t very happy with Proof-of-Stake at this time (even though Vitalik said a few times that he thought “Proof-of-Stake was the future”). Because I really liked Proof of Stake. -work. So over the summer I mainly worked on proof-of-work problems (ASIC-hard PoW, sharing security between PoW chains via “proof of work”, but not quite to completion). However, on several occasions I have suggested using a deposit to a few contract developers. This planted the seed of an insight I gained on the fateful night after the Ethereum meetup on September 11, 2014 (kudos to Stephan Tual for organizing that event and inviting me!).
Ethan Buchman and I stayed up late talking about proof-of-stake in “Hackers” instead of the “Party” section of Amir Taaki’s squat in London. I connected the dots and internalized the power of deposit for Proof of Stake. That was the night that convinced me that PoS would work, and that putting it to work would be a ton of fun. We also experienced for the first time the surprising size of the PoS design space through the long debate over attacks and possible protocol responses.
Since the early morning of September 12, 2014, I have been adamant (to everyone who will listen) that blockchains would be safer to move to PoS. Amir Taaki was not impressed with my enthusiasm for proof-of-stake. At least Ethan and I were having the best time.
The use of deposits has always been used to great effect in slashers. Instead of giving up some profit
You put down a deposit to play, and if you play well you can earn some money on your deposit, but if you play you lose your deposit. It feels economically ideal and is programmable.
Adding a deposit to Slasher means that any issues have been officially resolved.
I’ve decided that I’ve solved it to the point where I can no longer understand why anyone would want to build a proof-of-stake system without a deposit, at least for fear of the nothing-at-stake problem.
And on September 12, 2014, I met the pink penguin for the first time through the introduction of Stephane Toile. I breathlessly recounted the PoS insights I had gained the night before. And that week, after I politely declined a job at Eris Industries (now Monax), Pink Penguin began sponsoring this research! (Thank you <3!!)
At this point in the story, I was unaware of several independent discoveries about the use of deposits in proof-of-stake systems created by Jae Kwon, Dominic Williams, and Nick Williamson.
Stay tuned… The next chapter discusses the central role that ideas from game theory played in setting the design goals that led to Casper!
Note: The views expressed here are solely my own and do not represent the views of the Ethereum Foundation. I am solely responsible for what I write and do not act as a spokesperson for the Foundation.