# Is it possible to use sMPC as a consensus layer?

**URL:** https://forum.scrt.network/t/is-it-possible-to-use-smpc-as-a-consensus-layer/87
**Category:** Private Computation
**Created:** [June 26, 2018, 8:01pm UTC](https://forum.scrt.network/t/is-it-possible-to-use-smpc-as-a-consensus-layer/87 "2018-06-26T20:01:45Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![sui](https://avatars.discourse-cdn.com/v4/letter/s/9de053/32.png) [@sui](https://forum.scrt.network/u/sui)
#### Post date: [June 26, 2018, 8:01pm UTC](https://forum.scrt.network/t/is-it-possible-to-use-smpc-as-a-consensus-layer/87/1 "2018-06-26T20:01:45Z")

</div>

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.

**MODERATOR NOTE:**  
_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.

---

<div class="post-metadata">

### Author: ![Avret](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.scrt.network/avret/32/603_2.png) [@Avret](https://forum.scrt.network/u/Avret)
#### Post date: [June 26, 2018, 11:10pm UTC](https://forum.scrt.network/t/is-it-possible-to-use-smpc-as-a-consensus-layer/87/2 "2018-06-26T23:10:08Z")

</div>

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).

---

<div class="post-metadata">

### Author: ![guy](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.scrt.network/guy/32/56_2.png) [@guy](https://forum.scrt.network/u/guy)
#### Post date: [June 29, 2018, 7:55am UTC](https://forum.scrt.network/t/is-it-possible-to-use-smpc-as-a-consensus-layer/87/3 "2018-06-29T07:55:14Z")

</div>

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](https://eprint.iacr.org/2016/889.pdf) uses MPC to randomly select nodes by stake. This is the heart of their POS protocol. [Dfinity](https://dfinity.org/pdf-viewer/pdfs/viewer?file=../library/dfinity-consensus.pdf) uses a similar idea, which uses threshold signatures, for their random beacon protocol which is a big part of their consensus algorithm.
