Hm…
What if instead of asking a single node to respond for a query call, we would ask every node in the subnet for a little chunk of the same response encoded with some error correction algorithm?
For example, I make a query request to the subnet. Each node executes it locally, splits the result into N
chunks (where N
- number of nodes in the subnet), encodes these chunks with some Reed-Solomon so the node now has 2*N
encoded chunks and then responds me with chunks[i] + chunks[i+1]
, where i
is the node’s consensus rank in this (or previous) round. The same does every other node.
I’m now left with 2*N chunks from which I only need N to decode the original response.
I understand this is a little out of nowhere proposal. But, could this work?