Next up in our Developer Showcase Series is Hart Montgomery, a Research Scientist in Cryptography at Fujitsu. This blog series highlights the work and motivations of developers, users and researchers collaborating on Hyperledger’s incubated frameworks and modules. Let’s see what Hart has to say!
Give a bit of background on what you’re working on, and let us know what was it that made you want to get into blockchain?
Like most people, the first time I heard about blockchain was through bitcoin. I learned the details for the first time when my PhD advisor decided to throw the bitcoin white paper into the pool of papers we would present at our crypto reading group, and I had, in hindsight, the good fortune to get assigned that paper. My first thoughts about bitcoin were that it was a really fascinating idea, but probably would never reach the critical mass necessary to make it to the mainstream. Obviously I got that one wrong, and some of my friends still give me grief about it to this day. Eventually I came around to believing that blockchain would be an exciting new area where applied cryptography could be quite useful, and I think that has been correct so far.
I tend to think of blockchain technology as the application of modern cryptography to modern databases. This obviously means that there are many new and exciting cryptographic problems to be studied, as well as old ones that have suddenly become relevant again. As someone who does cryptographic research, this means I have a whole new set of interesting problems to try to solve. The theme of my blockchain work generally involves using cryptography to make blockchains more secure and more feature-friendly regarding privacy and anonymity.
What is the one issue or problem you hope blockchain can solve?
My view is that blockchain solves one extremely general problem: suppose you want to have a database or computing environment that needs to be distributed among multiple users who don’t fully trust one another. How can you build this efficiently? The answer is blockchain. While this general problem may seem narrow at first glance, it turns out that it encompasses a huge amount of potential use cases and applications, ranging from finance to supply chain to IoT and more. I’d encourage anyone interested to look at the Hyperledger requirements working group for more applications.
On the flip side, I think that if you aren’t trying to solve an instance of this general problem, then blockchain probably isn’t a good solution. Blockchain has justifiably received an enormous amount of hype over the past few years, but it is still important that the community does not oversell the technology.
What do you think is most important for Hyperledger to focus on in the next year?
I think this is unequivocally security. People aren’t going to start using blockchain solutions until they have full confidence in the security of the platform. From the widely publicized Mt. Gox incident to the DAO hacking, there have been many cryptocurrency attacks that have undermined the general public’s confidence in blockchain security. But this is not to say that private blockchains will be more secure than cryptocurrencies. Once important infrastructure is run on private blockchains and there are financial incentives for hackers, I expect that these blockchains will be regularly attacked too, and security flaws will be found.
I like to use the analogy that a blockchain needs to be secure in an online environment, against an online adversary–like TLS, for instance–but needs to have a massive amount of functionality and complexity–almost like an operating system. The task of securing such a complex system in an online environment is quite daunting, and needs to be given a considerable amount of thought.
Where do you hope to see Hyperledger and/or blockchain in 5 years?
In the very long term, I’d like to see Hyperledger essentially become a toolkit that almost anyone can use to build their own blockchain. There has been a huge proliferation of industries where people have realized that a blockchain solution makes sense, and many of these blockchain solutions will require extremely different blockchains. Consensus algorithms, cryptographic requirements, database storage, inter-blockchain communication–all of these are things that could need to vary highly between different blockchains, so it’s important to have a modular system that allows blockchain system builders to plug-and-play various blockchain components. I hope that we can eventually reach a point where even basic system administrators can set up and maintain specialized blockchains for smaller-scale things like local governments or school districts.
Since this question also addresses blockchain in general, I’d be remiss without saying that I would like to see cryptocurrency succeed and become even more mainstream. In five years (or hopefully less) I would love to have a phone app that I could use to pay for everything in my daily life with cryptocurrency, with all of the security features a cryptographer would desire. I don’t think Hyperledger will be involved in this (although it should clearly have interfaces for interaction with cryptocurrency chains in the long run), but strong cryptocurrencies are still something that I (and, I suspect, most of the Hyperledger community) would like to see.
What advice would you offer other technologists or developers interested in getting started working on blockchain?
I think it is very important to have a good theoretical understanding of the technologies behind blockchain. Sometimes I see people proposing blockchain solutions for problems where blockchain really does not make sense, and this is generally because there has been some conceptual misunderstanding about cryptography or blockchain technology. To this end, I would highly recommend the Stanford cryptography course (CS 255) and the Stanford bitcoin course (CS 251) as good starting points for learning the basics (course materials are available and free online).