The technical paper that’s meant to provide the definitive rules for all computers running ethereum’s software is falling out of date.
Called the Yellow Paper, the document is what ethereum developers use as a reference when coding, and it’s what clients rely on to stay on the same page with the network (without, say, creating bugs that could fracture it).
However, changes to the document haven’t been made in over a year, putting a strain on efforts to further the capabilities of the world’s second-largest blockchain by market value.
Instead of a clear-cut guide, developers must rely on “community consensus” to ensure things are functioning correctly, core developer Nick Johnson said at the recent meeting. And as the network struggles to keep up with adoption (see: CryptoKitties’ popularity), the urgency for ethereum to adapt its code has perhaps never been so stark.
Indeed, with talk of possible fixes for network congestion growing, new attention is being paid to perceived issues with the Yellow Paper.
Aiding frustrations is that consensus bugs that emerged in the run-up to ethereum’s recent hard fork upgrade – called Byzantium – might have been mitigated with a more accurate, cross-client reference point.
As Johnson said during the meeting:
“If you want to build something that can sync the chain before the current hard fork, then you’re out of luck. You need to get out of bad information, and there’s actually no formal specification for that other than older versions of the Yellow Paper.”
Too much math
One of the issues with the current Yellow Paper is that it’s expressed in mathematical notation, even though many developers would prefer a specific programming language.
Because of this, it has long been criticized as an unwelcoming starting point for ethereum newcomers. Core developer Piper Merriam, speaking at the meeting, said just that, contending that the Yellow Paper, as it’s written today, vastly limits the number of people who can participate in ethereum development.
“What it really comes down to is the ability to turn specs into that mathematical notation, which is something that I’m not an expert on – and I’ve got a math degree,” he said.
Johnson also dismissed the document, calling it “obscurantist and difficult to read” and a “bad description resource.”
On the phone he added, “Very few people are significantly well-versed in the notation the Yellow Paper uses in order to make significant changes.”
Currently, developers are pointing to another document, KEVM, written in the programming language K, as a possible contemporary specification for ethereum.
While discussions have yet to formally begin with the current authors of the spec, Johnson described it as a “promising route forward.”
“What I’d like to see is a more-approachable, but still well-defined and thorough specification that covers everything needed to build a new ethereum client from scratch.”
But until then, the document remains out of date, and despite the decentralized nature of the ethereum network, any updates must go through one individual.
This is because in its current state, the Yellow Paper is unlicensed software – which means its editorial rights divert to the listed author.
Specifically, that’s Dr. Gavin Wood, Parity Technologies founder and co-founder of ethereum. Because he’s the sole listed author, that makes him the key authority in its current state – but his efforts to improve the document seem to have come in fits and starts.
Earlier this year, Wood updated the document, but then shortly after, reverted back to the version of available in 2016. In a developer meeting in March, Ethereum Foundation engineer Yoichi Hirai said he had talked to Wood about the changes, and that Wood had reverted back only in an effort to correct mistakes before merging an update.
Since then, however, the Yellow Paper has seen no significant updates.
Because there’s a total of 29 individuals who have contributed to the paper over time, Hirai, who has led the majority of attempted changes within the Yellow Paper repository, said, “Legally, it’s a big mixture of people.”
Speaking during the meeting last week, he added:
“In its current status, it’s very dangerous.”
Wood did not respond to several requests for comment.
Less clear is Wood’s role in any delay, an issue amplified by the fact that his departure from the Ethereum Foundation has long been dotted with conspiracy theories.
Amplifying perceived issues is that some feel ethereum’s negative press this year all leads back to Wood. For example, the July hack of 150,000 ether (worth $30 million at the time) was due to an issue with Parity wallets, as was the recent fund freeze whereby a new coder “accidentally” initiated the lockdown of $275 million-worth of ether.
Plus, Wood has blocked efforts to change documentation in the past, according to Merriam, who pointed to Wood’s former project CPP Ethereum.
In an effort to “encourage the broadest possible adoption for ethereum” last year, a copyright change was suggested for CPP ethereum – heralded as a way to make it legally possible for external projects, such as Hyperledger, to implement the code without licensing ambiguity.
That said, others believe it may simply be a sign of the fast pace of the technology’s development.
“I know that people have reached out to Gavin [Wood] about this issue, and he hasn’t acted so far,” Hudson Jameson, former communications lead for the Ethereum Foundation, said at the meeting.
Johnson, too, in interview said any attempts to suggest there’s discord among developers aren’t exactly accurate.
“Based on my own issues on a smaller scale, I’d say there’s a big chance he’s just busy and he hasn’t gotten around to it. I don’t think there’s any malign intent there,” he said.
To Johnson, the issues are merely a sign a better solution is needed.
“I do think we need a more decentralized process for managing the official standard.”