Perfect is the Enemy of Good Enough

Published, 2018-03-19:

Passion can breed an unhealthy fixation on perfect adherence to ideology. And oh boy, is the world of crypto rife with zealous ideology. The entire industry ultimately sprang from a passion project (Bitcoin). Whereas passion is commendable and ideals are a good thing, zealotry can often act as a dragline for a project and even lead to its downfall. Projects need to strike the right balance of idealism while at the same time making measurable progress.

This article is a continuation of my musings about cryptocurrency origins, importance, culture, and progression. Please note that this article is a bit more meandering than I desired. But that may, ironically, highlight the point I am actually trying to make.

"Perfect is the Enemy of Good Enough" is an old aphorism with origins that have been lost in time. As a longtime manager of people (and, of course, myself), this old philosophical nugget has always been one of my favorites because it emphasizes “making progress” regardless of the situation. It and its permutations have served me well throughout my leadership career in the military and later in software engineering. Here are some others that may sound familiar to you.

Fake the funk.
Improvise, adapt, and overcome.
Fake it until you make it.
Just do it.
Release early; release often.

The first two are common military phrases. You get the idea. Waiting for perfect conditions. Focusing on perfect results and process. All these things lead to stagnation and underperformance. I am digressing a bit, but I wanted to point out that this kind of temperament is much needed in the religious world that is crypto and blockchain.

Mass adoption is the goal …eventually

What’s holding mass adoption back? In a nutshell, “ease of use” and “volatility”… which are actually fairly correlated. Right now cryptocurrencies are too difficult to use. And because they are difficult to use, the market for any particular crypto-asset will remain small, largely speculative, and therefore volatile —A topic covered earlier this month in my article “Deep Fried Crypto Chicken”. Using cryptocurrencies is not rocket science, but it does take a leap of faith for “normal people” to dive in.

Note, the claim “too difficult to use” is not only laying bare just the consumer retail experience. The criticism addresses the whole stack and all layers associated with both horizontal and vertical markets (a sampling):

Right now all of these epic use cases have their challenges. But I remain optimistic because the state of crypto and blockchain reminds me of the early days of the internet, the web, and ecommerce in particular. They were all treated with skepticism until the user experience improved and everyone became more comfortable with how these nascent technologies operated.

My mother was just not comfortable using a dial-up modem to log in to her ISP and then buy dog food from My mother also didn’t understand when I told her open source and Linux were going to someday take over the world of computing. Now my mother (in her 70s) happily shops online and uses Linux all the time without even realizing it (Android Phone, her TV —my wife even uses a Linux-powered Chromebook as her day-to-day laptop).

Right now, cryptocurrencies are the domain of motivated people. The early adopters. The same people who were compiling their Linux kernels in 1996 and tweaking their video settings so that X-windows wouldn’t fry their monitors (I was one of those people). Cryptocurrency maturity is a little further ahead on that adoption curve, but not by a wide margin.

The end user experience is not good enough

Let’s talk about today’s end user onboarding experience…

Today if you want to buy DASH (assuming you even heard of it and know what it is), the most common method is to open an account with an exchange (Uphold or Kraken for example) and go through a KYC/AML process. This is not egregious, but it is disconcerting handing that much information over to a service you don’t really “know” yet.

Then you link a bank account and transfer some funds. You may be new to the crypto-space, but as you wait days and days for those funds to arrive (to settle), you are reminded why the traditional banking system sucks. Finally, you exchange US dollars for a currency —Dash in our example— that you may or may not know a whole lot about.

So far the experience is not unlike other centralized cloud services that you are used to. But this is money, and exchanges have been hacked. Money left in your bank account can be hacked as well, but with traditional banks, you can still sleep at night because banks are insured. You know you will be able to get money back even if your bank’s security is questionable (we have all have had money fraudulently siphoned from our bank accounts).

Continuing with this process, in order to follow more secure practices, you install a wallet on your cell phone (maybe The Dash Wallet on Android). You send the money there, but as this is your first transaction, you hold my breath as you send money to yourself using this crazy cryptic address thing. Oh wait! You need to back up your wallet… what are all these words? You write them down on old-school paper and toss that into your fireproof safe, assuming you have one, promising yourself that you will make a copy and store it in a second location as well (but you probably won’t).

And geez, you hear that cell phones aren’t secure enough. You remember someone mentioning something about special purpose hardware wallets. ???

Regardless, you feel empowered now. You owe your buddy George some money for dinner, and he was the one that got you into all this. So you ask him to take it in DASH. He texts you a Dash address using Signal (so it is, at the very least, presumably more secure) and you cut-n-paste that into your wallet application and send him the .05 DASH you owe him using InstantSend. He texts you 2 seconds later that he received it successfully. You add this transaction to your spreadsheet of transactions because you just know that Uncle Sam is going to audit you this year.

The user experience can be improved

Let’s illustrate a possible alternative universe…

You want to buy some DASH, so you head to and see that the Dash Network has a decentralized online service. You heard about this from your buddy George, the diehard Dash fan, so you set up an account. It requires a username and password and asks if you want to use 2FA. So far so good. That’s all familiar. You are comfortable with that approach. It does suggest that you write down 24 words for recovery purposes, but already this feels like a more natural process.

You want to convert US dollars to DASH, so you head over to the exchange tab within the decentralized application. The interface lists several integrated decentralized exchanges, and Uphold and Kraken. You already have an account with a USD balance at the Uphold exchange. You try to link your Uphold account to the Dash Network, but Uphold reminds you that it needs to update your KYC/AML information to meet the ever-changing regulatory climate. You remember the hurdles you had to use it in the past, but this time, Uphold offers an integration with Civic ID with which you have previously set up an account in order to use another service. In 5 minutes, Uphold confirms your account is KYC compliant and you are ready to go. In another 5 minutes, your Uphold account is linked to your Dash Network account.

Through the Dash Network interface, you trigger a USD to DASH exchange to occur and within a few minutes your Dash working wallet is populated with fresh funds. You notice that the balance automatically syncs to your mobile wallet. It is now mirrored in both the web interface and the mobile interface. How nice!

You only want a small amount of DASH exposed as ready money though, so you move the bulk of your DASH from your working wallet to your vault wallet within the Dash interface. It will accrue interest and you set it to have a settlement window of 5 days, within which time you can reverse any questionable charges (much more secure).

After a month of use you bought coffee and soap and other sundries from stores listed in the merchant directory (and mirrored at You really like that an audit log is preserved and the Dash service conveniently lists all trades from USD to DASH, DASH to USD, and DASH traded for merchandise. The service automatically determined the capital gains incurred from when you bought the DASH to when you sold or used it for purchase. You also accrued a smidgen of interest from your vault account and that is listed as interest income.

You still owe George money. You text him on Signal asking for his username on the Dash Network. You add GeorgiePorgie to your contact list; he accepts; and you send him .05 DASH.

Now THAT is a good experience. And something akin to it is coming! The Dash Evolution effort aims to tackle problems like this and solve them on-chain and decentralized.

Careful improvement takes a lot of work. Perfect can take forever

Getting from the kludgy user experience that we have today to a smooth, decentralized, fully integrated and compliant utopia is going to take some time. And like anything, getting there will involve many progressive steps along the path. Maybe even more importantly, the steps along that path are ever-changing and unclear. As is the end design.

This is where I think projects need to tread carefully. They need to achieve a balance of “good enough” versus “perfect” in their quest to achieve their goals. All without compromising security. But even engineering for security has its limitations. For example, how much decentralization is required versus desired for robust security of the network?

As a followup to my article about community infighting, “The Narcissism of Small Differences”, I think that community members need to keep an open mind about projects, even if they don’t “adhere to doctrine”. For example, the crypto-faithful like to dismiss permissioned blockchain networks. I think this is a mistake. IBM has 1500 employees working on and value-adding to the Hyperledger project. 1500! Additionally, Hyperledger’s family of projects are open source with a smart coalition of other companies and organizations sponsoring their development.

Don’t mistake my point. A permissioned blockchain could probably never form the basis for a world currency, but there are undoubtedly uses for an “intranet of blockchains” and significant innovation will likely fall out of such work. Also remember, before IPFS, there were public clouds; and before public clouds, there were internal clouds; etc. etc.

Centralized services provide much needed “works good enough right now” functionality until decentralized replacements can be built. Temporarily closed source, or even partially open source, projects can give development teams time to breathe and prove out their innovations before releasing them for open source scrutiny.

The same holds true for on-chain and off-chain scaling solutions. Dash’s already well-tested, cheap, fast transactions versus Bitcoin’s Lightning Network seems to be a point of contention for some people. In fact, Lightning appears to be a lightning rod for infighting, pardon the pun. Instead of picking apart Lightning, maybe the Dash team needs to make sure the Dash Network can interact with it. Join the consortium versus walking away or ignoring it. Likewise, maybe Dash’s infrastructure can eventually become the rails for future scaling innovation, even for other currencies and payment networks. I am just brainstorming, but these possibilities exist.

It’s a competition, but slow and steady almost always wins the race


Dash has a mission: Be a secure, fast, cheap, easy-to-use payments network for both end users and 3rd party integrators. 100% open source. Decentralized. Optional privacy/fungibility features.

How we get there and remain competitive is achieved by striking a balance between what is good enough for today versus what is perfect for tomorrow. A goal is only achievable if smart, flexible decisions are made along the path. If you focus unwaveringly on the perfect outcome, it is very unlikely that you will ever achieve it. And over time, it is unlikely that the desired end result remains relevant anyway. There is a path leading to every goal and that path is full of “good enough” milestones. Rome wasn’t built in a day.

The decentralized, free, permission-less vision of the internet has been sidelined by centralized services like Facebook, Google, Amazon Cloud, etc. Even secure services like Signal and ProtonMail are centralized services. But these services have really pushed innovation forward and made the internet indespensible to mainstream. Social networks will become more decentralized over time (,, Storage even: IPFS is very promising and works! Ethereum ushered in the possibility of decentralized compute platforms. And Dash Evolution offers the potential promise of an even more flexible platform for decentralized applications (DAPs or DAPPs). And of course, in the world of currency, the top cryptocurrencies are all competing (and cooperating) to build out a new era of financial empowerment for individuals, companies, supply chains, and more.

Many hurdles have yet to be overcome before these technologies enter the mainstream and supplant the existing “good enough” centralized services they are targeting. Maybe a slower, more deliberate path will ultimately be more productive in the long run, even if mainstream adoption takes a bit longer than expected or desired. Core ideals should not be compromised, but bending where appropriate combined with greater cooperation between projects will go a long way towards ensuring future, and maybe an even more timely, success.


Agile Learning Labs. 2018. “Epic.” Accessed March 19, 2018.

Civic Technologies. 2018. “Civic.” Project website. Accessed March 19, 2018.

Dash - Digital Cash. 2018. “Evolution Demo #1 - The First Dash DAP.” YouTube. Accessed March 19, 2018.

The Dash Network. 2018. “Dash Evolution.”

del Castillo, Michael. 2018. “Inside the Blockchain Factory: How IBM’s Distributed Ledger Work Went Global.” Coindesk. Accessed March 19, 2018. 2018. “Discover Dash.” Webapp. Accessed March 19, 2018.

The Linux Foundation. 2018. “Hyperledger.” Project page. Accessed March 19, 2018.

t0dd. 2018. “Barlow’s Legacy.” Dash Force News. Accessed March 19, 2018.,’s Legacy.html.

⸻. 2018. “Cryptocurrencies, a Modern Check Against Authoritarianism.” Dash Force News. Accessed March 19, 2018., a Modern Check Against Authoritarianism.html.

⸻. 2018. “Deep Fried Crypto Chicken.” Dash Force News. Accessed March 19, 2018., Fried Crypto Chicken.html.

⸻. 2018. “The Narcissism of Small Differences.” Dash Force News. Accessed March 19, 2018., Narcissism of Small Differences.html.

Wikipedia contributors. 2018. “Perfect is the enemy of good.” Wikipedia, The Free Encyclopedia. Accessed March 19, 2018.

Other decentralized services and projects mentioned:,,, InterPlanetary File System (IPFS)

About the author

Todd Warner
Lives on a farm. Plays with computers. —of the agrarian digerati.
t0dd @ Dash Nation | toddwarner @ keybase