Image: Zac Delventhal, software engineer, Bitwise IO
Our Developer Showcase blog series returns! This time, we chatted with Zac Delventhal, a software engineer at Bitwise IO about his interest in blockchain and Hyperledger. A quick reminder that this blog series serves to highlight the work and motivations of developers, users and researchers collaborating on Hyperledger’s incubated projects. Let’s see what Zac had to say!
What advice would you offer other technologists or developers interested in getting started working on blockchain?
The blockchain space is extremely young. The concept didn’t even exist a decade ago, and we’re only just starting to see stable platforms emerge. Most of us aren’t even exactly sure what blockchains will be used for yet. That’s profoundly exciting on one hand. The field is wide open for people to innovate.
But for a new learner it can be intimidating. There are no authoritative sources on the subject, and toolsets you learn today might be obsolete tomorrow. My best advice would be to start with some fundamentals about how a blockchain works, preferably from two or three sources. Then just dive in and build something on one of the platforms out there like Ethereum or Hyperledger Sawtooth. It will be a mess, but then you’ll have the foundation you need to build the next thing.
What project in Hyperledger are you working on? Any new developments to share? Can you sum up your experience with Hyperledger?
I am one of the maintainers on Hyperledger Sawtooth, working primarily on developer tools like the REST API and SDKs, as well as developing a number of distributed applications on the platform myself. It is actually a pretty exciting time for Sawtooth, as a 1.0 release was announced. The APIs are stable and now we just have a few technical issues to work out. As things have matured, it has allowed me personally to build much more sophisticated proof-of-concepts, so I am really excited to see what the community starts coming up with as we move into this new phase.
As Hyperledger’s incubated projects start maturing and hit 1.0s and beyond, what are the most interesting technologies, apps, or use cases coming out as a result from your perspective?
I am really curious to see what Pokitdok comes up with. They’re working on a distributed healthcare application that will let patients use the blockchain to give doctors and hospitals permission to view their medical records. This is exactly the sort of off-the-wall use I want to see more of as blockchains move past just being used for currency and other assets. There is so much potential to totally upend existing industries and give people more control over fundamental aspects of their lives.
What’s the one issue or problem you hope blockchain can solve?
There isn’t any particular problem I want to throw blockchains at, but I am excited by the potential for the technology to take power away from centralized authorities like big corporations and governments and give it back to individuals. Can we use a blockchain to give consumers more information about what’s in their food?
To give people more control over how their personal data is used by advertisers? Could we use a blockchain to circumvent censorship? I don’t foresee anything revolutionary on the immediate horizon, but as the technology matures the potential for it to be used in novel and disruptive ways is very exciting.
Where do you hope to see Hyperledger and/or blockchain in 5 years?
Established. I hope in five years there are a few major commercial applications built on Hyperledger, a host of Stack Overflow questions answered, and an O’Reilly book or two. I want the technology to be mature enough that junior developers can pick it up easily and play around with the possibilities. They’re the ones who are going to come up the really interesting stuff I would never have thought of.
What is the best piece of developer advice you’ve ever received?
git rebase -i
No. I don’t know. That’s such a tough question. I do use interactive rebases constantly, but I guess some advice that really stuck with me was when one of my mentors explained the difference between a Scribe and a Conjurer. The Scribe has to understand the intricacies of everything they are doing. They will pour over documentation, pull apart source code, and generally make sure they understand how their project works from end to end. The Conjurer on the other hand is clueless. They say some magic words they found on Google and a working application appears. They ask no more questions and move on with their lives.
The reason my mentor explained this concept was to talk me out of being a Scribe all the time. I’m very detail oriented, as I think a lot of engineers are, and I could probably spend weeks working out the absolute perfect way to solve any given problem. But time is precious. Being given permission to sometimes say “screw it, it works, move on” was very powerful for me.