The main wallet we use here at BitcoinsInIreland.com for our bitcoins is the free open source Bitcoin Armory, which is a very secure desktop wallet, aimed at individuals and companies working with bitcoin who require all sorts of security on their coins. We’ve been beta testing the upcoming build of Armory, built on top of bitcoin core 0.10, which drastically is increasing the sync speed of the software, in our case from a day and a half, to three hours using the new headers first prototol.
We had the great opportunity to talk to Alan Reiner (known as etotheipi in the bitcoin community), CEO of Armory Technologies Inc., the enterprise level secure, multi-sig, cold storage, and bells and whistles free desktop bitcoin wallet management software.
Jamie McCormick. Phew, you’ve set yourself a big challenge. So how did it all start?
Alan Reiner. I started as a miner, without much knowledge of what Bitcoin was or its potential for disruption. All I knew was that I could get a decent return on my investment if I mined bitcoins and sold them on Mt. Gox. After some time and many media reports of Bitcoin thefts, I decided I wanted better security for my own funds. The community had many great ideas floating around–most importantly, cold storage and deterministic wallets–but there was no software that would apply these techniques for you. So I created my own!
JMC All great projects with a spark, what was it on this?
AR. Along the way creating my own wallet (which turned into Armory), I discovered that there was something really special about Bitcoin. The fact that it successfully (and securely) decentralized value storage and transfer was amazing to me. I also discovered that it was way harder than I was expecting! I didn’t expect to end up with 20,000 lines of code, much of which had to be done very carefully to get the crypto right, avoid blockchain-specific pitfalls, and be optimized to do what it needed to do in reasonable time (and some might argue with Armory’s definition of “reasonable” in the context of load speed!)
JMC So how does being a pioneer of bitcoin crowdfunding feel? You raised about $4000 in 2012 (https://bitcointalk.org/index.php?topic=64449.0) and spent 9 months and thousands of hours for v0.86.
AR. Up until I started the crowdfunding campaign, my fiancee was somewhat skeptical about all this Bitcoin stuff. She liked that I had a hobby, but didn’t think it would go anywhere. Then, the same day I posted the crowdfunding campaign, I immediately got two $500 donations. The look on her face was priceless. And certainly I was pretty excited, too! It was evidence that what I was doing was *really* valuable to some people. It was certainly worth pursuing the project further. [Note from JMC. I think every bitcoiner with a partner has this issue, mine think’s it’s Skynet ;p ]
JMC So as the builds went on, you went to the bitcointalk community, outlined at https://bitcointalk.org/index.php?topic=204283.0 , to build up the team. How did you find that experience?
AR. The link you provided there is actually a tangent from the Armory project. It was an idea I had that I would love to see through, but it was just too speculative and distracting from the immediate needs of Armory users. Hence, I helped raise those funds for maaku to see it through. As I understand it, this project was put on hold, and likely to be continued as a side-chain (maaku now works for Blockstream).
JMC And up to the last build (v0.92), what were your main goals for the build you’re currently testing at https://bitcointalk.org/index.php?topic=919202.msg10496652#msg10496652 to achieve?
AR. The latest version, 0.93, is actually intended to be somewhat boring for most users. There was a lot of things that needed to be cleaned up, and early design decisions in the Armory codebase that needed to be re-architected. The goal was actually to try to get everything running as it did before, but in a completely scalable manner, more efficient, with better threading, etc. We were also able to finish “supernode” which is a special database mode in 0.93 that builds a monster database that can do instant lookups/slicing of the blockchain like web-based block explorers. Along with the improved scalability, this makes it possible for organizations to build web services and exchanges on the Armory platform (many of which might be inclined to simply use blockchain.info as a service). In 0.92.3 and earlier, very active wallets would slow down to the point that Armory became unusable, which is obviously not good for high-reliability services such as exchanges!
JMC As an enthusiast, I’m happy to put up with software that isn’t complete. In games this days, it’s increasingly the norm for games to be put out with a minimum viable product, and then just wing the rest based on usage. This is standalone desktop software, but so tightly integrated into the blockchain. What’s the challenge from a software engineering point of view that you are setting yourself.
AR. One of the biggest challenges is the fact that Armory is managing large sums of money, and there’s a very high threshold that needs to be reached for us to put out a release to make sure users’ money stays safe. Armory has had plenty of usability issues over the years, but we’ve never slacked on making sure the wallets and crypto are rock solid, tested, and tested more. It makes sticking to schedules very tough. A lot of people have tried to recommend we push out regular releases on a schedule, and I’ve had to back away from that and simply say “it goes out when it’s ready.” That has led to some of our releases being delayed 2-3 months, but I don’t ever regret doing it. Everything Armory stands for is at risk if we try to rush things.
JMC You have an incredibly high bar for security, and practical solutions for controlling bitcoins from theft, through multi-sig, fragmentation, and cold storage. Do you have any figures showing you of the amount of bitcoin in existence, you might have managed by your software?
AR. This is a tough question to answer. By the nature of open-source, we don’t have a way to track users, nor do we want to. It’s up to users to voluntarily tell us whatever information to us they feel comfortable revealing. However, through the process of providing support for users and organizations, we’ve acknowledged at least 300,000 BTC held directly by Armory wallets of our users. The actual number is probably much higher when you consider that the vast majority of large holders would never self-identify the size of their holdings and how they are securing it. On that note, we’ve actually worked with organizations who have legal obligations not to reveal that they are using Armory. More specifically, they’re not allowed to publicly acknowledge anything about their security model. Moving forward as a business, this is actually quite a problem for us, as there is a tremendous amount of marketing value and credibility lost.
JMC For more normal users, who have been frustrated with long load times. In my testing of the latest beta build, using bitcoin 0.10 and the new headers first format, I’ve seen you optimise the load time from 3 days, to less than 2 hours now. Well done! Can you talk us through how you did this?
AR. It really comes down to the new database engine (LMDB instead of LevelDB) and really hard [work] by some of our developers to reshape the architecture and the optimizations of the databases. Along with this comes a new threading model which eliminates a whole class of reliability problems Armory has had in the past. Although the latest version is not perfect, it’s dramatically more reliable than the previous versions, especially with large wallets.
JMC Now that normal users can get bitcoin and armory synced in less than 4-6 hours (compared to 12-24 hours before), what are your goals. Will we ever see it happen in minutes? Or what is an ideal target time for someone with a decent spec computer with ssd, and for someone with a normal spec computer, less ram and hdd?
AR. We’re not focusing too hard on optimizing the load times anymore. We could probably do better, but we consider the current speed to be sufficient, and have moved on to other priorities now. Primarily our enterprise version known as Armory Quorum™, along with consulting and custom development for enterprise customers that build on the Quorum™ platform. These include features like key ceremonies, multi-user access controls, and auditable security models. This is desperately needed in enterprise environments where employees are managing company funds instead of their own money, and insurance companies want to provide an airbag for large wallets but need assurances that security is being handled properly.
JMC So what’s the plan for now? Take a breather after this build for a pint in time for St. Patrick’s Day, or what are the next goals for v0.94? What’s missing to make a fully feature complete v1?
AR. We have shifted much of our focus temporarily to the enterprise software and services where we’ve seen demand soaring, primarily due to a lack of enterprise options. And Armory is uniquely positioned to satisfy that demand — which also comes with revenue which is always good for sustaining a business! 🙂 However, the next major version of free Armory will finally include BIP32 standardized wallet structure, which is the last major feature I had planned before blessing Armory 1.0. Though the new wallets will be somewhat disruptive, so we’ll go through a complete release cycle and iron out the kinks before we slap the 1.0 label on there.
JMC Do you have a donation address, if people reading this want to buy you a pint for your hard work, or a changetip account?
JMC Are you still looking for beta testers for the v0.93 build, or is the final build close, that they should hold off a couple of days?
AR. Actually, v0.93 going to be released today! (Feb 20, 2015). So no more beta testing will be necessary on 0.93, though many changes that were wanted for 0.93 have been pushed back to 0.93.1, which could actually go into its own testing cycle as soon as next week. [Note from JMC You need Bitcoin Core 0.10 installed first, it’s not compatible with earlier versions]
JMC And last but not least, do you have anything you want to say to the bitcoin community who’ve been involved in the beta testing, or to people who’ve maybe held off adopting bitcoin in favour of web based wallets because of the (now seemingly resolved) synchronisation speeds?
AR. I think I emphasized in my other responses a side of Armory that many users probably haven’t seen yet: our enterprise software and services. We have spent that past few years building an amazing brand (driven by amazing software) and now we’re finding that our reputation and end-to-end platform can fill a large vacuum in the Bitcoin space: enterprise Bitcoin management and security. We will always maintain a full-featured free version of the software for individuals, as it feeds the community, generates good will, and helps drive our reputation. But at the end of the day, there’s no shortage of competitors in the consumer wallet market, and Armory is much more of a power tool, anyway. Our plan is to leverage that in the enterprise market where competition is scarce, yet demand is high. And we see our platform as enabling — it’s not just for Bitcoin companies that want to secure their funds better, it’s for large financial and/or security companies that want to enter the Bitcoin space but could not figure out how to do so securely.
The BitcoinsInIreland team would like to thank Bitcoin Armory Technologies, Alan Reiner and Matt Hennsley for arranging this interview! We have a feedback thread for this interview at https://bitcointalk.org/index.php?topic=962143.0