> For the complete documentation index, see [llms.txt](https://prom.gitbook.io/prom/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prom.gitbook.io/prom/protocol-faqs.md).

# Protocol FAQs

**How Are Transactions Collected and Ordered in Prom?**

* Users generate and sign transactions in their wallets using private keys.
* These transactions are then sent to the Trusted Sequencer's node through their JSON-RPC interface.
* They are stored in the pending transactions pool, awaiting the Sequencer's review.
* The Trusted Sequencer selects transactions from the pool, deciding on their execution and order.
* Finally, the Sequencer batches and sequences these transactions.

**Is There a Specific Interval for Sequencer Batch Creation?**

* The Sequencer maintains an open batch, adding transactions until it's full or a significant timeout occurs.
* Batches accumulate until reaching 128K or experiencing a major timeout, after which a sequencing transaction is sent to L1.

**Stages of Transaction Finalization on L1?**

* **Trusted State:** Instantaneous state provided by the Trusted Sequencer, not requiring L1 transactions.
* **Virtual State:** Transactions on L1 are immutable in order and final; anyone can calculate this state.
* **Verified State:** When the virtual state is confirmed by the smart contract, funds become withdrawable.

**How Does a Sequencer Validate Transactions for Proof Generation?**

* The Sequencer checks the transaction's format and necessary information.
* It verifies transaction validity by confirming sufficient funds for gas and the validity of the called smart contract.
* It ensures the transaction is not a duplicate or a double-spend.
* Valid transactions are then applied to the current state of Prom, updating smart contract states and account balances.

**When Do Transactions Achieve Finality in Prom?**

* Trusted State finality occurs once the Sequencer sequences a transaction.
* Virtual State finality happens when the transaction is present and finalized on L1.
* Consolidated or Verified State finality is necessary for withdrawals, occurring after the Prover converts the implicit state to an explicit state.

**Are Sequencers and Provers Internal or External, and How is Decentralization Ensured?**

* Initially, both Sequencer and Prover in Prom will be centralized.
* Future plans include decentralizing the Sequencer and creating a market for Provers.
* A decentralized system of Provers is crucial for overall network decentralization.

**Can a zkNode Function as Both Sequencer and Aggregator?**

* Potentially, a zkNode can fulfill both roles, depending on the zero-knowledge proof protocol's implementation.
* In some protocols, a node's role is predetermined to ensure network security and efficiency.

**What Are Forced Batches?**

* Forced Batches are L2 batches included in an L1 transaction, mandated for inclusion by the Trusted Sequencer.
* This mechanism ensures user withdrawal capability even if censored by the Sequencer, providing censorship resistance.

<br>
