You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There should be a rule in Block::is_valid (at first on the host machine only; eventually also in the recursive program) that enforces that a block transaction always has at least one input.
This rule is the counterpart of another rule in RemovalRecordsIntegrity which stipulates that a transaction either has no coinbase or has no input UTXOs. This rule already exists. The two rules together ensure that the miner cannot compose empty blocks, and must include at least one transaction. The motivation for this limitation is to ensure that there is no disadvantage to include transaction in one's blocks.
When there are no transactions in the mempool, how does a composer obtain one to include? He cannot just conjure a dummy transaction because its inputs are not in the mutator set yet. Therefore, we must have a spigot mechanism so that miners can always get some input, even if that input is not currency of any sort.
Incidentally, this spigot could serve the purpose of adding dummy transactions to obfuscate the transaction graph, adding (a little bit of) unobservability to the existing anonymity guarantees.
The text was updated successfully, but these errors were encountered:
There should be a rule in
Block::is_valid
(at first on the host machine only; eventually also in the recursive program) that enforces that a block transaction always has at least one input.This rule is the counterpart of another rule in
RemovalRecordsIntegrity
which stipulates that a transaction either has no coinbase or has no input UTXOs. This rule already exists. The two rules together ensure that the miner cannot compose empty blocks, and must include at least one transaction. The motivation for this limitation is to ensure that there is no disadvantage to include transaction in one's blocks.When there are no transactions in the mempool, how does a composer obtain one to include? He cannot just conjure a dummy transaction because its inputs are not in the mutator set yet. Therefore, we must have a spigot mechanism so that miners can always get some input, even if that input is not currency of any sort.
Incidentally, this spigot could serve the purpose of adding dummy transactions to obfuscate the transaction graph, adding (a little bit of) unobservability to the existing anonymity guarantees.
The text was updated successfully, but these errors were encountered: