Applying Bitcoin to the IoT Interoperability Conundrum
One of the main themes of this year’s Embedded Linux Conference and OpenIoT Summit was the challenge of bridging the growing number of Internet of Things (IoT) standards. Many speakers were hopeful about the potential for achieving functional interoperability, if not a unifying standard, and there were even calls for a possible merger between two of the largest open source efforts: AllSeen and IoTivity.
Others, however, like Dutch IT consultant Benedikt Herudek, were more skeptical. “Forget about standards,” Herudek told attendees to his presentation “IoT Consensus -- A Solution Suggestion to the 'Baskets of Remote' Problem.”
“Sometimes it works, but in my experience getting everybody to use the same standard is usually wishful thinking,” he said.
Herudek is not content with an IoT world separated into silos, however. He has a potential solution based on a proven technology: Bitcoin. In Herudek’s view, the same qualities of universality and security that mark Bitcoin and its blockchain technology for financial transactions could be applied to the IoT messaging protocol problem. Specifically, Herudek outlines a version of the Bitcoin’s “proof of work” consensus mechanism that would translate messages between any application without requiring a trusted middleman or resorting to industry or vendor protocol standards.
The scheme is inspired in part from IBM’s ADEPT proof-of-concept draft, developed with Samsung, which similarly uses Bitcoin and blockchain for IoT. According to Herudek, his proposal is an improvement over ADEPT. Both solutions are based on the peer-to-peer Bitcoin cryptocurrency protocol for financial transactions, which offers the equivalents of IoT endpoints with its “wallets” and “miners.” The blockchain, meanwhile, acts as a public distributed ledger.
“Bitcoin and blockchain can create consensus between a lot of different parties on the state of transactions,” said Herudek. “Blockchain has some economic advantages over a centralized cloud, which maybe after the next big upgrade won’t support your device anymore. A distributed blockchain system, which is kind of self-organizing and not dependent on one vendor, could give you the advantage of having something long lasting. Bitcoin lets you achieve security in a distributed system without identity and access management. Typically, if people misbehave, the identity management system will kick you out, but Bitcoin doesn’t do that because it says: ‘I have such a convincing algorithm, nobody can cheat.’”
Instead of using Bitcoin’s “proof of work,” in which miners compete to be the first to place transactions into blocks, Herudek proposes using a “proof of useful work.” He uses an IoT example of a smartphone telling a smart fridge to open the door.
“This occurs at the very highest layer, not the transportation layer,” says Herudek. “You have to get an agreement on the message format and the semantics -- which value can you put into which slot -- and you need to achieve a certain action. So, instead we can take a model similar to Bitcoin in which you have a translator, something like a miner, which is responsible for delivering message formats. You would have a three-step process: a format handshake, content handshake, and an action handshake.”
Replacing Hashing with Smart Learning Algorithms
The challenges of using Bitcoin for IoT include using miner hashing sessions for very well-defined use cases, like transferring money between two parties. “I don’t think that is something you can transfer to the number of use cases in IoT,” said Herudek.
“Instead of using hashing, you could instead use something like a machine-learning algorithm to translate, and then give rewards for translating,” continued Herudek. “The algorithm would essentially use blockchain as a training set. You would not only record the transactions between entities, but also the whole history of how they tried to do the handshakes. You could give them features like which vendor is participating and which technology is used, or apply inputs like noticing if someone is standing in front of the fridge. You can facilitate this by adding a training set to the blockchain.”
From there, Herudek discussed issues such as immutability, security, and how to measure “effort.” Much of the proposal requires a solid understanding of both Bitcoin and the latest IoT message interchange methods. The idea is intriguing, however, as it might emerge as a ready-made alternative to a standards development process that could take many years to achieve on both the technological and political/business levels.
“In the world of IT, it can take years to integrate apps,” said Herudek. “Yet, if you open your Bitcoin wallet on your iPhone, you can communicate within minutes to any other wallet in the world.”
Watch the complete presentation below: