Is it possible to use sMPC as a consensus layer?


For example,imagine the original block-chain of enigma.
Is it possible to get a consensus by solving multiple fragmented computational problems, earning rewards in the earliest order, leaving only that certificate in the 1st layer?

If not, please tell me the reason.

This post has been edited by a moderator.
Description of changes:

  • I have moved this question from FAQ to Private Computation, because of the specificity of the topic
  • I have changed the word “impossible” (used twice) to “possible” based on the context of the question.
  • OP, please message Ainsleys if changes are not desired.


This is possible but likely to be much slower than standard BFT algorithms – both to perform and to verify.
In more detail – MPC requires linear time in network size to perform even under enigma’s optimizations, and you can get consensus in sub-linear time with fast BFT algorithms if you’re willing to use tree structures (I believe).


Your intuition is correct - MPC and BA (Byzantine Agreement, AKA consensus) are closely related problems. However, most efficient constructions of MPC already assume a broadcast channel, which is equivalent to consensus, so you get a cyclic argument.

There are ways to implement BA with MPC without broadcast, but as @Avret mentioned, it’s likely much slower than dedicated protocols. However, using MPC as a building block to construct fast consensus is starting to get more attention (and it should). For example, Ouroboros uses MPC to randomly select nodes by stake. This is the heart of their POS protocol. Dfinity uses a similar idea, which uses threshold signatures, for their random beacon protocol which is a big part of their consensus algorithm.