Upgrades Are Hard, Man
Upgrading blockchains is always a can of worms. Adding the crucial SegWit upgrade to Bitcoin took two years of extensive debate.
The first question most normal people have is “How do you plan upgrades for a decentralized thing?” This is perfectly reasonable, because once these networks are out in the wild, in theory, no one really “decides” how they work. Blockchains have rules, and these rules are defined in software.
Many people—companies, individuals, miners—have an understanding of what the rules are. Changing these rules requires most of these people to coordinate independently, again, in theory. If a few people can decide on what the new ruleset is and arbitrarily roll it out… yikes.
In Actually Decentralized Blockchains like Bitcoin and Ethereum, changes happen in some form of:
- Person comes up with idea, talks to other people about it and then writes a formal proposal (e.g. a BIP, Bitcoin Improvement Proposal).
- The proposal is widely shared amongst developer mailing lists and community forums where many teams, developers, and enthusiasts weigh in on the design.
- If the proposal is widely seen as a good idea and can be implemented as backwards-compatible, work on it begins, usually with plans to roll it out with a number of other similar upgrades. Backwards-compatible upgrades can be rolled out over time slowly (as a soft fork). Larger changes that may result in a contentious hard fork or leave some set of non-upgraded users behind are seen as a last resort.
- Every independent software implementation is changed separately. On some announced upgrade date which gives everyone time to upgrade to the latest version of their software, all new features kick in.
In Bitcoin, hard forks are left as a last resort (SegWit was finally adopted after super genius Pieter Wuille figured out how to implement it as a soft fork).
This past week, Ethereum was planning to implement their next big network upgrade, Constantinople. Unfortunately, a bug was discovered just a couple of days before the upgrade date, pushing the planned upgrade to some future date (with lots of core developers amusingly pushing to call the new upgrade Istanbul.)
This upgrade was going to have many nice performance improvements, but the biggest deal was the delay of the Difficulty Bomb. Ethereum developers eventually want to move to Proof of Stake, a major upgrade that requires everyone to upgrade to a totally new version of software. To encourage them to do this, those involved decided to not give a choice: in a series of pre-scheduled difficulty “bombs,” the Ethereum chain eventually gets so hard to mine, thus increasing time between blocks, that it would “freeze” the chain and force people to upgrade. The Block’s Matteo Leibowitz explains:
The ‘Ice Age’ feature, which makes discovery of satisfactory hashes increasing difficult, was designed to incentivize miners to switch to Ethereum’s Proof of Stake chain once development is finalized. Due to delays in Proof of Stake research, core developers have decided to delay the ‘Ice Age’, thereby allowing blocks to maintain their 10-15 second production time.
Because PoS research has taken way longer than expected, the Ethereum devs needed to push the pre-planned difficulty bomb, because they still need the miners to stay on-board. Unfortunately, making complex changes to software is hard and often creates new bugs in the process. While nearly 50% of nodes had already upgraded to the new software, a smart contract auditing company (ChainSecurity) found a new potential vulnerability in smart contracts that break as a result of the new upgrade, causing Core Devs to delay the upgrade to February.
The bug, which breaks older smart contracts, has caused some philosophical debate in the community. Matteo Leibowitz explains in his post-mortem recap:
The debate is rather philosophical in nature, focusing on the meaning of ‘immutability’ and the responsibility of core devs towards smart contract developers. On the one hand smart contract developers want assurances that their code will be immutable, as promised at Ethereum’s inception, and argue that changing the way code is interpreted through upgrades to operation codes stands to violate the sanctity of immutability.
It’s also sparked some interesting questions from the broader crypto community. Launching a blockchain and making changes is literally more like rocket science than creating a photo-sharing app. Bugs can be fatal and even harder to unwind than they were to deploy. What guarantees do protocol developers owe to companies or individuals building apps on top of their chain?
What does it mean for Ethereum that speculators need to squint at what should be a predictable supply schedule is a moving target like they do the Fed’s rates? Are there concerns over a small group of developers or a few companies having control over Ethereum’s roadmap and release cycle?
VC Man Bad
This week, the long anticipated Grin project finally launched. I’ve written a comprehensive overview previously, but here are the highlights:
- The project is one of two implementing privacy protocol Mimblewimble, which was anonymously released in 2016.
- It was released similarly to Bitcoin’s “immaculate conception”: fairly mined one Day One with non-specialized hardware and no pre-sale.
- “Grin” itself is a reference to Gringotts and MimbleWimble is the name of a curse, the creator used a pseudonym referencing Tom Riddle in French and yes, everything else is a Harry Potter reference.
The launch went smoothly, likely one of the most anticipated in history with the equivalent of 146,500 GTX 1060 6GB or 88,200 GTX 1070 Ti 8GB currently mining Grin.
As I noted in October, Grin was probably the most crowded “crypto fund” trade of the year with Eric Meltzer noting in his ProofOfWork newsletter:
One thing that’s interesting is that unlike Bitcoin, which was so maligned and ignored at launch that Satoshi had to mine by himself on a single Intel CPU for most of 2009, there is (by our conservative estimates) 100 million dollars of mostly VC money invested into special-purpose investment vehicles to mine Grin.
This investment was unsolicited by the team though it nonetheless sparked a lot of deep cypherpunks to wax nostalgic about the pure times when Satoshi could anonymously launch in relative obscurity.
While the mechanics around the launch of now-branded “VC coin” has turned off many people, it’s important to remember that the investors are still taking on significant risk pre-launch around successful deployment and market reception (which is still uncertain.)
Is Grin (and the earlier launch of BEAM) going to usher in a new era of PoW-based mining as a violent reaction to last year’s industry focus on moving to PoS en masse? How much will current interest in other privacy projects shift to Grin? How much of a competitor is any private cryptocurrency to Bitcoin as Bitcoin sees privacy improvements of its own?
The project serves as an extremely interesting case study for 2019.
Other Stuff Happened
- Kevin Connolly, who played an extremely enterprising pizza maker on Entourage, just started working on a new show called “Cryptos.” Ignoring for a second that the most likely outcome is a massive HBO Silicon Valley-like cringe fest, this could be fun.
- Ivy League academics are back at it again, launching a new cryptocurrency project that is a supposed Bitcoin competitor. It’s just, well, faster. That means it’s better, right?
- On the subject of fast, the development of Bitcoin’s Lightning Network has been staggering. This week, The Block’s Larry Cermak broke down the numbers on what Lightning growth looks like with me looking ahead to some of the major improvements coming across usability, security, scalability, and privacy.
- The MolochDAO, looking to focus on funding Ethereum infrastructure projects similar to The DAO, was formally announced this week. Though it comes with material risk, it’s interesting to see earlier experiments from Ethereum’s early life see a re-boot with improved confidence and infrastructure. Let’s pray this one doesn’t result in another bail out.
Another crazy week in cryptocurrency; enjoy the marathon, take some breaks during the sprints.
The post Money 2.0 Stuff: Upgrading Blockchains Is Like Cleaning a Pig appeared first on The Block.
Money 2.0 Stuff: Upgrading Blockchains Is Like Cleaning a Pig written by Arjun Balaji @ https://www.theblockcrypto.com/2019/01/20/money-2-0-stuff-upgrading-blockchains-is-like-cleaning-a-pig/ January 20, 2019 Arjun Balaji