A blog post or website update is usually the way adopted by firms and individuals to provide clarification on any subject.
However, Vitalik Buterin, the creator of Ethereum blockchain, used Twitter to put the doubts to rest about Casper protocol.
In 75 tweets, Buterin explained the progress, differences between several methodologies and drawbacks in a detailed manner.
The tweet begins explaining Ethereum’s origins, with Buterin introducing Vlad Zamfir, the project’s main developer who was looking to build a system based on incentive which necessitates “validators to put down *deposits*, much larger in size than rewards, that could be taken away for misbehavior.”
1. Today I am going to make a tweet storm explaining the history and state of Ethereum’s Casper research, including the FFG vs CBC wars, the hybrid => full switch, the role of randomness, mechanism design issues, and more.
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
Buterin detailed the achievements of Casper, such as managing “long-range attacks” and dwindling conclusions that proof-of-work (PoW) supporters had made. Buterin explained that the assaults could be neutralized by the introduction of a hypothesis regarding security, saying “that clients log on at least once every four months (and deposits take four months to withdraw), and clients simply refuse to revert further than that.”
10. This was anathema to PoW proponents because it feels like a trust assumption: you need to get the blockchain from some trusted source when you sync for the first time.
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
Zamfir’s method to tackle security issues faced defiance, as Buterin explained in a “big long, and ultimately unproductive, tangent“. This is detailed in an article, “consensus by bet”, which suggested an approach whereby validators could speculate on the finalization of a particular block. From then on, the bets would conclusively nail down which chain would be selected by means of consensus.
Buterin continued to mention that the theory “was that PoW also has this property, as mining is a bet where if you bet on the right chain, you gain (reward – mining cost), and if you bet on the wrong chain, you lose the mining cost“. In the tweets, Buterin stressed and mentioned that Zamfir had underlined the flaws in his suggested method at that time, and chose to introduce a new way named “correct-by-construction” (CBC).
20. Vlad decided that traditional BFT was lame (he particularly disliked hard thresholds, like the 2/3 in PBFT and Tendermint), and he would try to effectively reinvent BFT theory from scratch, using an approach that he called “Correct by Construction” (CBC)
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
After describing this strategy, which Buterin pointed out was “very different from traditional BFT, in that “finality” is entirely subjective” he explained that in “CBC philosophy, validators sign messages, and if they sign a message that conflicts with their earlier message they have to submit a “justification” proving that, in the relevant sense, the new thing they are voting for “has more support” than the old thing they were voting for, and so they have a right to switch to it.”
Considering the risks associated with the “consensus-by-bet” strategy, Buterin dropped the method and instead put efforts to simplify the Practical Byzantine Fault Tolerance (PBFT) which culminated in the Casper the Friendly Finality Gadget (FFG) after attempting different designs over time. FFG had exclusive designs in order to confirm with any PoW, proof-of-stake (PoS), or other blockchains with a goal of adding finality guarantees.
27. I managed to simplify PBFT (https://t.co/bvJ0N7PDwq) and translate it into the blockchain context, describing it as four “slashing conditions”, rules that state what combinations of messages are self-contradictory and therefore illegal: https://t.co/ch1rcaPLLl
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
In the tweets that followed, Buterin described the difference between several approaches, such as Casper FFG and Casper CBC, while acknowledging that there were still deficiencies in the proposed strategies:
45. Of course, I was well aware that appealing to the social layer to solve 51% attacks was not a very nice thing to do, so I started looking for ways to at least allow online clients to *automatically* detect which chain is “legitimate” and which is the “attack” in real time.
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
Buterin also stated that he and Zamfir had disagreement about their work, to the level that Zamfir decided to join engineer Georgios Piliouras and considered launching a 51% attack on the Ethereum blockchain network – or at the minimum explored the amount required to successfully attack the chain.
48. Vlad (along with Georgios Piliouras) started doing economic modeling to estimate the actual cost of such an attack under his model.
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
Buterin also pointed out that while Zamfir was taking steps to work on the CBC method – which Zamfir explained in over two-hour Youtube video – Buterin was churning out tremendous headway in CFF and released testnet to take forward the implementation process.
52. In the meantime, Casper FFG was making huge progress. A decision to implement it as a contract that would be published to the Ethereum blockchain made development easy. On Dec 31, 2017 at 23:40, we released a testnet written in python: https://t.co/QbJT89Au7N
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
Following the introduction of FFG, however, advancements on its development stalled due to the complexity in “sharding” patches on the network. As a result of this complication, hybrid FFG and the launch of Casper as a separate blockchain with motive of ease of sharding was abandoned. The transition meant that the attention on PoS fork selection rules would be much higher, but Buterin concluded that it would be worth “getting “100 confirmations” worth of security within a few seconds.”
55. In June 2018, we made the fateful decision to scrap “hybrid Casper FFG as a contract”, and instead pursue full Casper as an independent chain, designed in such a way that integrating sharding would be much easier.
— Vitalik Non-giver of Ether (@VitalikButerin) August 16, 2018
He acknowledged that all attempts so far to the fork choice rules had demonstrated weaknesses, which was impractical because it conveyed that the team would have to depend on a bunch of on-chain random number generators for selecting the proposers in a neutral manner.
After working on several strategies, researching with Justin Drake and looking into methods by which FFG’s efficiency could be improved, Buterin took on important features of Zamfir’s “GHOST” protocol and turned his protocol compatible with that of Zamfir. Buterin advertised that he is glad about the progress made so far.
Finally, Buterin offered an optimistic vision of the future, stating “ongoing progress on implementation” of FFG “with an eye to safe and speedy deployment.” And with regards to CBC, he asked and answered “just the same.”