# MIP-10: Deterministic RaptorCast

**URL:** <https://forum.monad.xyz/t/mip-10-deterministic-raptorcast/453>\
**Category:** MIPs\
**Created:** [April 29, 2026, 6:19pm UTC](https://forum.monad.xyz/t/mip-10-deterministic-raptorcast/453 "2026-04-29T18:19:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mjalalzai](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@mjalalzai](https://forum.monad.xyz/u/mjalalzai)\
**Post date:** [April 29, 2026, 6:19pm UTC](https://forum.monad.xyz/t/mip-10-deterministic-raptorcast/453/1 "2026-04-29T18:19:42Z")

</div>

[MIP-10 - Deterministic RaptorCast](https://mips.monad.xyz/MIPs/MIP-10)

Deterministic RaptorCast anchors the Raptor encoding to a publicly derivable seed, making it safe to vote directly on the Merkle root upon receiving a single verified chunk without decoding and saving one message delay on the critical path. It also closes two attack surfaces: asymmetric liveness, where a Byzantine leader deprives targeted validators of efficient decoding inputs causing reconstruction delays of several hundred milliseconds, and mixed-commitment equivocation, where a single Merkle root decodes to different payloads at different validators.

---

<div class="post-metadata">

**Author:** ![POSTHUMAN](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.monad.xyz/posthuman/32/344_2.png) [@POSTHUMAN](https://forum.monad.xyz/u/POSTHUMAN)\
**Post date:** [May 2, 2026, 8:46pm UTC](https://forum.monad.xyz/t/mip-10-deterministic-raptorcast/453/2 "2026-05-02T20:46:32Z")

</div>

> [@mjalalzai](#):
>
> Deterministic RaptorCast anchors the Raptor encoding to a publicly derivable seed, making it safe to vote directly on the Merkle root upon receiving a single verified chunk without decoding and saving one message delay on the critical path. It also closes two attack surfaces: asymmetric liveness, where a Byzantine leader deprives targeted validators of efficient decoding inputs causing reconstruction delays of several hundred milliseconds, and mixed-commitment equivocation, where a single Merkle root decodes to different payloads at different validators.

Regarding the proposal to vote on the Merkle root after receiving a single verified chunk: How does this impact the guarantee of data availability? While it certainly reduces latency, I’m curious if this change introduces a window where a validator might vote on a root for which the full payload hasn’t yet been fully propagated across the rest of the set

---

<div class="post-metadata">

**Author:** ![mjalalzai](https://avatars.discourse-cdn.com/v4/letter/m/3e96dc/32.png) [@mjalalzai](https://forum.monad.xyz/u/mjalalzai)\
**Post date:** [May 3, 2026, 11:52pm UTC](https://forum.monad.xyz/t/mip-10-deterministic-raptorcast/453/3 "2026-05-03T23:52:18Z")

</div>

This is intentional pipelining. Dissemination and the first round of consensus voting proceed in parallel rather than sequentially. If QC forms from 2f+1 such votes, it guarantees that at least f+1 correct validators hold valid chunks, which is sufficient for any correct validator to reconstruct the full payload.
