Private contact tracing via blockchain and secure multi-party computation

Premise (1): To make it easier to comment/share, I posted this article also on Linkedin (here). Please, comment/share there if you have anything to contribute.

Premise (2): I'm an economist working on blockchain, not a computer scientist. I will probably butcher some of the technical terminology --- apologies for that.

Aggressive contact tracing (for example using cell phone data) seems to have worked quite well in South Korea. In shorts, each person in a country downloads an app, which records all the movements of this person. If someone tests positive to COVID-19, it is now possible to alert everyone who has been in close proximity with this person (see this article for more details). The issue is that recording all your movements and storing this information on some third-party server is less than ideal from the privacy view point (for a more detailed discussion, see this great article by Yuval Noah Harari).

My idea: maybe there is a better way to manage the trade off between public health and privacy by using a combination of blockchain and secure multi-party computation.

In a nutshell: the data recorded by the app on the phone are encrypted locally and uploaded somewhere. Using secure multi-party computation, it should be possible (but here I need more input from experts) to figure out whether any two traces overlap at any time---that is, whether two people were ever in the same place at the same time, without ever decrypting the data. This way, you can flag those who need to be tested/quarantined without ever knowing their movements.

Such system can probably work without blockchain if implemented at a national level. But, as we all very well know, no country is an island: such system works best if everybody on the planet participates. Blockchain is precisely the technology that allows multiple countries/regions/people to jointly maintain a large and complex database.

The above description is, clearly, just a first step (which may not even be technically feasible). Other elements that will be required are:

  • some form of authentication, to be able to link the encrypted trace to a person (or at least to a set of unique bio-metric attributes)

  • a dedicated blockchain where to store these identity information together with a pointer to the encrypted data (most likely stored not directly on the blockchain)

  • a way in which public health authorities can send out warnings to people who may have been infected.

  • many more things...

In any case, interested in knowing your opinion.