Monday, July 2, 2018

Blockchain consensus and ubiquitous computing: match made in heaven?

Today I mused a bit on a futuristic research outlook for blockchain/decentralized consensus. Here is what occurred to me: a merger of blockchain consensus with ubiquitous/spatial computing.

Partially-replicated decentralized consensus

Here is the first piece of the puzzle.

A drawback with current blockchain/decentralized consensus work is that they require full-state-replication (of the entire chain or DAG) at each participating node. This is a big scalability bottleneck.

Replication should be on a need to know basis. What is the point of replicating transactions/state that is relevant for Buffalo, NY to nodes in Delhi, India.

Assume we fix that. (That will involve a good amount of research on graph algorithms.) And we use lightweight energy-efficient decentralized consensus algorithms, such as Avalanche, so that these can work on lightweight portable renewable power devices.

Now on to the next piece of the puzzle.

Ubiquitous/spatial computing

Think about next generation IoT. A lot of systems problems need to be solved there to fully realize Mark Weiser's ubiquitous computing vision, but we are getting there. Let's assume we have these smart devices, and even smart-material ubiquitously. Let's assume these devices/material can act as a smart witness to a transaction/state. 
 
The imagery I have of this is the biblical judgment day, where even the nonliving things (walls, rocks, shoes) witness against people for some of their sins.

On-prem witnessing can be useful for providing an unchangeable record of things. (Of course there should be privacy protection mechanisms. Only God can judge me, and I don't like to have my wall tell on some of my private actions.)

Of course, if it is worth recording, it is worth screwing with as well. A Byzantine adversary may want to change the record to falsify a story, to provide an alibi, to get out of a handshake contract, etc.

Initially, you like to keep the consensus replicated in a vicinity (house or block) but if there is attack, an on-demand replication to other areas would be performed to strengthen consensus and tolerate more attack.

With partial/local replication, another issue becomes important as well:
indexing and search functionality. Search is not supported sufficiently in decentralized systems, and there is need for research on providing good/fast search capability in this model.

MAD questions

I told you this is a futuristic research agenda. If you think this is interesting, if you have things to add,  drop a comment, or email me.

What would be some concrete applications?
I haven't given a concrete application here. But this type of platform (built on a convergence on ubiquitous computing and decentralized consensus) may be useful for building crowdsourced sensing and coordination applications in open adversarial environments. An example may be the Darpa red balloon challenge.

What are more practical applications? What is something you couldn't do with today's platforms? Where does the Byzantine tolerance requirement come from?

No comments: