# Let's solve these crucial protocol weaknesses

**URL:** <https://forum.dfinity.org/t/lets-solve-these-crucial-protocol-weaknesses/28329>\
**Category:** Developers\
**Created:** [March 11, 2024, 12:07pm UTC](https://forum.dfinity.org/t/lets-solve-these-crucial-protocol-weaknesses/28329 "2024-03-11T12:07:50Z")\
**Posts on this page:** 1\
**Showing post:** 51

<div class="post-metadata">

**Author:** ![free](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/free/32/615_2.png) [@free](https://forum.dfinity.org/u/free)\
**Post date:** [March 12, 2024, 12:59pm UTC](https://forum.dfinity.org/t/lets-solve-these-crucial-protocol-weaknesses/28329/51 "2024-03-12T12:59:06Z")

</div>

> [@lastmjs](#):
>
> This is the kind of radical idea I’ve been hoping for. The benefits would be enormous, solving for the instruction and memory limit it seems.

Maybe, to some extent. But keep in mind that computation would still need to be deterministic. So it would still likely imply Wasm code compiled against the IC’s system API, rather than arbitrary code. Or you could easily run the risk of running some computation for hours on end across all replicas on a subnet only to find out that they disagree (which I understand is a common issue with e.g. HTTP outcalls).

So IMHO this is definitely not a silver bullet.

> [@lastmjs](#):
>
> I would love to participate in a discussion about this in another thread. Would you like to make it @free? I am also happy to.

Furthermore, this is a half-baked idea that we’ve been poking at every now and then. As said, I for one have no clue how one would decide what to include into a block, so you don’t end up with `2f+1` replicas making progress and `f` replicas constantly state syncing; only to then stall the entire subnet as soon as one of the `2f+1` replicas has any kind of issue.

So until we figure that one out, ensuring that it degrades gracefully (i.e. throughput is reduced progressively depending on the number of replicas at consensus height rather than everything working fine up to a point and then stalling for half an hour), it’s only an idea.

And once we’ve got everything figured out, we’d need to put a number of things in order (as said, persistence layer, messaging, overhead) and then spend probably up to a year putting together the pieces of the puzzle.

But sure, feel free to kick off the discussion.

---

_[View the full topic](https://forum.dfinity.org/t/lets-solve-these-crucial-protocol-weaknesses/28329)._
