Mic Bowman is a principal engineer at Intel and a member of CoinDesk’s advisory board.
The following article originally appeared in Consensus Magazine, distributed exclusively to attendees of CoinDesk’s Consensus 2019 event.
Four autonomous vehicles arrive at an intersection. Who gets to go first?
Yeah, this sounds like the beginning of a bad joke, but the problem is very real, and surprisingly difficult. The solution lies in decentralized computing, an emerging field that will likely involve blockchains, along with a host of other technologies. To understand the problems it tries to solve, let’s dig deeper into this suburban impasse…
If we assume there’s no static infrastructure – for example, a traffic beacon – to arbitrate the intersection, the vehicles will have to negotiate a solution using only their in-vehicle computation capacity. What would the computer’s instructions be? Well, there are some general societal rules to go by: no one wants an accident; they all want to get through the intersection as quickly as possible; and there is some notion of “fairness” (“really, I got here first so I get to go first!”).
All this sounds more or less doable except that the vehicles might be augmented with a “little red button” that cheats the negotiation in order to get through first. (Seriously, if you were late for work, you’d push the button, right?).
From a systems architecture perspective, though, there are big problems with this scenario. Here are some: there’s no central authority deciding which car goes in which order. Second, the only infrastructure available for computation resides in the cars; that is, resources are dynamically allocated for the computation. Third, every driver is motivated by objectives that will drive their vehicle’s computation, and while some objectives – such as getting through the intersection without an accident – are shared by all, some goals will be unique to the individual...