Bitcoin’s Real Bottleneck
The following article is an exclusive contribution to CoinDesk’s 2017 in Review.
After a year of explosive price growth, forks, failed forks and more, there is much that can be said about bitcoin in 2017. Massive strides were taken, and much has been learned. However, as we push further into uncharted waters, what happens from this point onward continues to be just as divisive a topic as ever.
Underlying both much of the year’s drama and continued future uncertainty is a simple question: Can bitcoin scale as it continues to capture mainstream attention, or will it become a victim of its own success, with alternative cryptocurrencies waiting in the wings to overtake it?
Of course, no one can honestly answer this question with total certainty. Predicting the future is a messy business, because the future is constantly in flux. It is not and cannot be fixed or predetermined. Rather, the future is being shaped and created gradually in the here and now by those unsatisfied by the present.
As George Bernard Shaw wrote:
“The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.”
So, as we reflect on a breathtaking year and ponder what challenges the future may hold, it’s worth paying special attention to those unreasonable men and women who are doing the creating.
At the beginning of November, one of the longest running and recognized technical conferences in the blockchain sector hosted its 2017 conference in partnership with The University of Stanford: Scaling Bitcoin.
For the fourth time, Scaling Bitcoin brought together academics, developers and entrepreneurs from across the blockchain ecosystem, many of whom have been in the thick of cryptocurrency ideas and development for years. With this long and deep experience comes a sense of perspective and order of priorities that shouldn’t be ignored.
For those looking to the future of cryptocurrency and wondering what’s preventing us from getting there, there’s no better place to start.
Immediately notable to CoinDesk Editor-in-Chief Peter Rizzo was that despite this rare concentration of industry veterans, discussion largely ignored much of the latest hot button drama dominating the cryptocurrency news cycle.
While the conference stayed true to name with presentations focusing on possible Bitcoin Core optimizations and layer 2 proposals, the controversial topics of forks and block size were seldom touched on during the course of the conference. Participants showed little apprehension for seemingly pressing controversies such as the Segwit2X fork, and most attendees, including myself, were confident that it would be dead upon arrival.
A belief and attitude that was quickly validated when 2X was canceled the very week after the end of the conference.
As a result, and for better or worse, bitcoin would not increase its base block size. The incompatible vision of much larger block size limits for bitcoin would for now embody itself only in the bitcoin cash blockchain. This has led to many predictions that bitcoin cash and other alternative cryptocurrencies will overtake bitcoin as its block size limit becomes a bottleneck for adoption.
With only a few notable exceptions, the majority of Scaling Bitcoin’s attendees did not indicate that they found this to be a notable concern. However, that is not to say that attendees were not vocal about any pressing technological challenges. If the wide ranging topics of presentations were of any indication, far from it. But one way or another all participants did agree on a single, much wider, and more fundamental concern for scaling this still nascent ecosystem: a drought of quality developer talent.
As developer and attendee Jimmy Song puts it plainly:
“Training more developers is the biggest bottleneck in the ecosystem.”
It is very appropriate then that besides the location of Stanford, also unique to this year’s Scaling Bitcoin was a new attempt by its organizers to directly tackle this problem.
Bitcoin Edge Dev++
The Dev++ workshop was established by the Scaling Bitcoin organizers with the sole mission of educating and helping to onboard aspiring blockchain developers, and it accomplished this with studded star power.
For the inaugural Dev++ program, dozens of participants attended presentations and guided demonstrations from well-known names from across the industry. These included the aforementioned Jimmy Song, Bitcoin Core contributor John Newberry, MIT’s Thaddeus Dryja, and many others.
This ensemble of technical experts delivered a crash course covering everything from the cryptographic fundamentals of bitcoin, to the theory and implementation of second-layer networks. The latter featured a live and interactive demonstration of the Lighting Network software on testnet by Dryja himself, co-author of the original white paper.
Perhaps as insightful as the Dev++ demonstrations themselves, however, was an off hand comment by Dryja which surprised some attentive students, and told them all they needed to know about the need for the event in the first place.
When asked whether a minor Lightning Network feature had been implemented yet, Dryja responded:
“No. I had the idea over a year ago and just haven’t had the time to implement it… But it’s all open source so if anyone wants to make a pull request, like, please. That would be awesome. I just haven’t had the time.”
This playful yet earnest response reveals the true bottleneck for scaling bitcoin and blockchain technology. Like all things it is time, the scarcest of all resources. We have no control over the passage of time, but what we can do is better leverage it. Finding, encouraging and developing more of those unreasonable individuals whom all progress depends upon is the only way to bring the future closer and faster.
As Lightning Network developer Jack Mallers writes on reddit “… I can say that the only thing that can speed up Lightning is more engineers. I am the only dev behind Zap and I only spend time I can afford to spend. One more dev on Zap and myself officially full-time would make a world’s difference.”
This sentiment is echoed by the CEO of Lightning Elizabeth Stark who says: “Time! We need more hours in the day.”
Indeed, the number of full-time developers working on such a widely anticipated technology may surprise you: “There are 10 or fewer full time developers working across all implementations of Lightning,” says Stark. “Getting more contributors and people building out the protocol would certainly help move things along.”
Time and talent
Given the central importance of layer-two development in the ongoing scaling debate, the fact that there are only 10 full-time developers working on the Lightning Network should be a dramatic wake up call for many. But the problem of unmet demand for developer talent in the cryptocurrency ecosystem runs even deeper.
Conferences such as Scaling Bitcoin are hallmarked by their uninterrupted lineup of presentations on some of the latest areas of research and development. It’s common and tempting to come away overly enthusiastic regarding so many of the innovations seemingly on the cusp of realization.
However, many know better. Those in the space longest know to temper their expectations, but it’s those with experience developing software especially who understand first hand that forward progress is usually much slower and more tedious than anyone would like.
Take Segregated Witness, which despite extensive support from the open-source developer community, took three years to implement and activate on the bitcoin blockchain after its initial proposal.
For those with any coding experience this shouldn’t be a shock. When it comes to any level of programming ideas are easy, it’s implementation that’s hard. Building even the seemingly simplest program or feature always reveals hidden complexities and subset problems which must be painstakingly addressed and solved. So when it comes to building anything in this unprecedented ecosystem of distributed and security critical financial software, this tedious reality is multiplied by orders of magnitude.
As if this doesn’t complicate forward progress enough, there’s yet another problem facing developers: deciding what to work on in the first place.
Cryptocurrency and blockchain is a burgeoning field with vast unknowns. With those vast unknowns comes spiraling possibilities, but also endless disagreement.
As Scaling Bitcoin showcased, there’s a plethora of competing ideas being explored at any given time, many of which attract public attention. What is rarely noticed by the public, though, is the majority of these ideas being marginalized later on for more promising efforts, or tossed into the waste bin altogether.
While this may at first seem problematic, it is a necessary and desired consequence of exploring uncharted frontiers. Sometimes it is obvious whether an idea can or cannot work, but many times it is not.
After all, as Bitcoin Core contributor Peter Todd told me: “You can never really know if something is secure. You only know when it’s been exploited and no longer secure.”
This dynamic leads to many debates regarding not just what technology is possible to implement, but what should be implemented, and where efforts in the space should be most focused when various threat models are taken into consideration.
The result of all this is the impossibility of finding any identical appraisal of the same proposal or idea from any developer in the space, let alone any consensus on where additional research and implementation efforts are most worthwhile. Extensive trial and error is thus the only option left to us to determine what ultimately works and what doesn’t. This of course, requires even more qualified developers.
A difficult road
This is exactly what Dev++ and other programs such as Chaincode’s residency program and Jimmy Song’s Programming Blockchain attempt to address. But while these efforts are gradually growing the educational tools, resources, and courses available, becoming a blockchain developer is a long and difficult road with many challenges.
Most however, are psychological.
For aspiring blockchain developers, it is easy to be intimidated by the necessarily steep learning curve that the field naturally presents. As both a former student and subsequent Teaching Assistant at the Ironhack Fullstack Bootcamp, I know first hand that intimidation is the single largest barrier for any student looking to master any kind of software development.
Paradoxically, such feelings can even be enhanced by the depth of knowledge of instructors like those at Dev++, and the perceived futility of reaching the same level of mastery on the part of students. It may even be reinforced in some by the perceived attitudes of Bitcoin Core contributors that comes with the repositories well known and extremely critical peer review process.
This was illustrated when I asked Bitcoin Core maintainer Pieter Wuille what the easiest way for a developer to contribute to the repository was. “Definitely code review.” he responded, before quickly qualifying his statement.
“However it’s inaccurate to call it easy. It’s not. The standard for contributing and reviewing Bitcoin Core code is very high.”
There is very good reason for Bitcoin Core’s rigorous approach to code quality, and achieving the knowledge level of contributors like Pieter Wuille and John Newberry may indeed seem daunting. However every programmer has to start somewhere, and it’s a massive mistake for aspiring blockchain developers to confuse the high bar of this single repository with the level of ability needed to make meaningful contributions to the larger ecosystem.
Countless projects besides Bitcoin Core could benefit greatly from additional talent, and can provide an avenue for less experienced programmers to begin getting their feet wet.
As Elizabeth Stark notes:
“Luckily it’s a lot easier to learn how to build Lightning apps than to learn how to get involved in protocol development. That said, getting into Lightning app development can actually be a good entry point to learning more about the protocol.”
The extensive development and testing that remains to enable and fully explore mainstream Lightning Network adoption is just one example of a possible starting place for greener developers. But there are other, even lower hanging fruits to seize on.
As a web developer myself, I was approached and solicited for feedback regarding no less than three separate APIs while attending Scaling Bitcoin. APIs in the space allow other developers the ability to utilize blockchain features, such as proof of existence, without the intricacies of running a full node.
Building and contributing to this type of digital infrastructure is not only essential for the growth of industry in the ecosystem, but provides an excellent low hanging fruit for developers with little blockchain experience. Such opportunities provide a way of making meaningful and necessary contributions to the ecosystem while familiarizing developers with the deeper technology. There is simply no shortage of such work if one simply looks.
Securing the future
As we progress into 2018, all attention will be focused on the exciting and easily visible.
Price movements and industry drama will dominate headlines and mainstream attention as they always have, and will be the catalyst of many clicks, tweets and comments.
But the real and under-appreciated story will as always will be the tinkerers, and not just those contributing to Bitcoin Core or the Lightning Network. The ones outside of the limelight grappling with nuanced and esoteric problems are just as important.
They are ones who despite hurdle after hurdle and no fanfare, are struggling to slowly alter the state of the world and create a better one. It’s they who make the incremental and so often seemingly inconsequential advancements that, when taken together, drive an ecosystem forward.
Regardless of how it plays out, 2018 is not a make it or break it year for bitcoin or cryptocurrency at large.
The most important and foundational work has time horizons and payoffs far beyond the next year. These efforts are focused not on drama, PR stunts or even the technology itself, but on the people who are and who will be developing it.
As Jimmy Song again plainly puts it:
“I believe bitcoin to be an anti-fragile thing, but its anti-fragile not because the software code is so smart but because there are really smart developers that are strengthening the network… and I believe that the more really good developers we get into the system the better it will be and the better store of value it will be.”
While traders may move the markets, it is the tinkerers that will truly determine the future. As we begin a new year, what we need is many more of them.
Think another challenge is even bigger?! CoinDesk is now accepting submissions to its annual 2017 in Review. Email [email protected] to make your voice heard.