Archive for software trends

Latest Projects

I know, I’ve been quiet. That’s because I have been working on a paper about Infrastructure as Code, a big step forward in infrastructure management.

In the meantime, my latest CMSWire article is out and it’s on technologies that help in testing. Find it on CMSWire.

Keep your eyes open for the paper in a few weeks.

Blockchain! What is it Good For?


This blog post was also published on Amalgam Insights.

Blockchain is one of those up and coming technologies that is constantly being talked about by vendors and pundits. Many of the largest IT companies – IBM, Microsoft, and Oracle to name few – plus an industry group or two are heavily promoting blockchain. Clearly, there is intense interest, much of it fueled by exotic sounding cryptocurrencies such as Bitcoin and Ethereum. The big question I get asked – and analysts are supposed to be able to answer the big questions – is “What can I use blockchain for?”

To begin with, the best applications of blockchain are those that require an authenticated source. Blockchain (sort of) provides an immutable proof of the a virtual or material object’s authenticity. Using cryptography to generate unbreakable codes (for the moment) that take a lot of resources to generate insures that hacking the authenticity of a blockchain is not feasible. This is what made it attractive as a currency. Blockchain makes it hard to create a forgery of the “coin” while supporting changes of ownership.

Another indicator that blockchain may be useful for an application is when lack of a central authority to manage transactions is desirable or unattainable. Blockchain allows for participants to interact as peers without a clearinghouse to moderate the transactions. Credit cards, for example, are transactions between consumers who want to buy something and merchants who want to sell them. Visa, American Express, Discover, and Mastercard enable these transactions by clearing them between the banks of the buyer and seller. Without the clearinghouse, credit cards wouldn’t work. In the case of Bitcoin, changes in ownership are recorded in the blockchain that underlies the currency and distributed to all parties participating in Bitcoin.

I’m oversimplifying the complexity of blockchain, of course. That doesn’t change the fact that the best blockchain applications will be those that require authentication and lack a central authority to grant it. Some examples of these type of applications are:

  • Material supply chains. Blockchain holds promise as a way to inhibit counterfeit parts from entering the supply chain. The blocks in the chain represent parts that can be transferred from owner to owner. This would produce a history of where the part originated and where it has been as it moved through the supply chain. A hash can identify the part and the ledger agreed to by all participants in the supply chain since they all have a copy of it.
  • Transportation. Similar to material supply chains, blockchain shows potential to help track shipments along a series of routes, even while the shipments change hands between different carriers. This can keep shipments from being diverted or stolen.
  • Smart contracts. Blockchains can represent a contract, it’s amendments, and agreement to the final document. Unlike many electronic contracts, all parties would have a complete copy of the entire history of the agreements made within the contract and it will be hard to dispute the “signatures” later. The contract can be agreed to without a third party, such as Docusign, or the potential for forged signatures.
  • Professional credentials. It is not news that job seekers will sometimes inflate or falsify their academic credentials. In some cases, job seekers go so far as to claim doctorates that they never earned. Now, imagine how easy it might be to claim technical credentials that are conferred by training organizations that may not exist forever. There are also plenty of professions such as medical, dental, and law, where a constant stream of new learning is required to maintain licensing. In all of these cases, blockchain could be used to create a trustworthy method of verifying credentials that can easily be shared with anyone to prove their authenticity.
  • Personal identification. Almost everyone has had their email system hacked at some point or another. This is an example of someone stealing an aspect of someone’s electronic identity. The same is true for credit card numbers, social security numbers, and other forms of personally identifying information. If personal identification was actually a blockchain, this would be much more difficult since thieves would have to steal something that is never shared online. Blockchain hold the promise of online authentication that is harder to hack then even two-factor authentication.

Some of these are purely speculative though plausible. Others, especially the professional credentials, transportation, and material supply chains applications are already under development.

Like so much interesting technologies, the hype is a bit early and probably overstates the technology. We shouldn’t let the hype undermine blockchain’s potential nor dissuade developers from exploring its usefulness. There are so many instances where authentication of transactions is hard but necessary and a central authority doesn’t exist or is undesirable. These are just the early emerging applications – the low hanging fruit – and it is hard to predict the good ideas developers will come up with for blockchain.