Self-driving cars, which were only a distant dream that we saw in science fiction movies a decade ago are getting closer to reality now more than ever. The two main components of realizing this vision are (a) organizing the data required for machine learning (b) enabling the Machine to Machine (M2M) payments for services that the Internet of Things (IoT) economy will enable for things like tolls, fuel payments, etc. Interestingly enough, there is another revolutionary technology that is in its nascent state that can help microtransactions cars – the Blockchain. Self-driving cars could become a reality as soon as 5 to 10 years from now. So, to fully use the blockchain with self-driving cars, we should start looking at how we can incorporate the two technologies together.
Self-driving cars, sometimes referred to as autonomous vehicles, function by using sophisticated machine learning algorithms to ensure safety and security of the car and its passengers. These algorithms go through millions of hours worth of user driving data and recognize patterns which are later used to make driving decisions. But driving is not all that these autonomous vehicles are going to do when they are production ready. In fact, autonomous vehicles would need to handle all their actions – like being able to pay for their fuel recharges, parking and other basic functions. This presents a unique opportunity for blockchains as they can help the development of autonomous vehicles in pooling data and also for a machine to machine payments.
Blockchains for Pooling Information
Designers for the core software behind the self-driving cars are facing a challenge while performing machine analysis on millions of hours of driver data. Since different parts of the process rely on different data sets, storing and organizing these datasets remains a considerable challenge. Blockchains can come in handy, as at their core, Blockchains are just distributed databases that are tamper resistant. Using Blockchains to store the driving information makes sense because we do not want the training data to be compromised in any way. This is to prevent against rogue bad actors at a particular design facility. Blockchains can help software makers get access to the data directly from the drivers, thereby reducing the time it takes for information to be collected, sorted and transmitted.
Blockchains for Machine to Machine Payments
The primary use case for blockchains since their inception has no doubt been payments that do not have to rely on any intermediaries. When Bitcoin started in 2008, its aim was to become a truly decentralized peer to peer currency which would have fast and cheap payments across the world. 10 years on, even though Bitcoin seems to have strayed from its goal, there are other ambition projects, like RaiBlocks and IOTA, in the cryptocurrency space that are working on enabling near instant and absolutely free payments. Both RaiBlocks and IOTA are making use of Directed Acyclic Graphs (DAG) data structures to ensure the fast and free payments. While RaiBlocks is focusing on peer to peer payments, IOTA is aiming to become the backbone of the M2M economy as a payment layer that could scale to millions of transactions per second.
As the Internet of Things expands its reach, there is no doubt the micro-transactions will need to be handled efficiently. For example, it makes little sense to pay a $0.05 fee for a $0.0005 transaction. That is why transactions would need to be completely free. IOTA is working on a unique data structure called The Tangle to do exactly that. By making every user a node in the network, IOTA can scale to millions of transactions per second. This is going to be very important if autonomous vehicles are to manage their own expenses and be fully autonomous. IOTA is also planning to implement smart contracts in Q3 of 2018. Smart contracts would no doubt further make the process of making transfers more efficient. For example, the autonomous cars could come with their own methods like buyFuel() and payForParking() which could be triggered based on the related sensor information.