EIP-7805: Committee-based, Fork-choice enforced Inclusion Lists (FOCIL)

FOCIL is nice in that it essentially creates a parallel building process of 16 independent actors. Only one of them needs to be honest about seeing a transaction for it to be included.

However, ILs point back to specific IL members. This information is kept on chain allowing specific transactions to be mapped to specific validators. So an IL member must always be willing to go on record that they did not censor specific transactions. This may deter some IL members. Can we do better?

We may be able to extend FOCIL so that no specific validator is attributable. Only that one of the 16 committee members was honest about the mempool state.

FOCILIS: FOCIL with indistinguishable submissions

This is an outline of an extension which involves to additions to FOCIL.

  1. Instead of signing an IL, a member creates a zero knowledge proof that they are a member of the committee.
  2. To identify equivocation, IL members generate IDs in advance. These serve as nullifiers. The IDs are broadcast in the preceding slot and included in the fork choice rule using the same mechanism used for the ILs. Attesters vote for blocks that have ID lists that match the local view.

Another framing is that this is a semaphore-like construction to enable private voting by the committee members on mempool contents.

I go into more detail in the repository below.

1 Like