This repository has been archived by the owner on Feb 9, 2021. It is now read-only.
registerProposalComponents doesn't enforce at least one update #712
Labels
audit
byron
Required for a Byron mainnet: replace the old core nodes with cardano-node.
priority medium
issues/PRs that SHOULD be addressed. This should be done for the release, but acceptable if it doesn
spec-alignment
Tasks related to bringing the implementation to agree with the formal specification.
In cardano-ledger/src/Cardano/Chain/Update/Validation/Registration.hs, at function registerProposalComponents (link), the proposal is checked for a protocol update, and then it is checked for a software update. However, there doesn't seem to be anything that ensures at least one of these is true – if there is neither protocol update nor software update the proposal still appears to be valid.
In contradiction, at the bottom of p.21 of the formal ledger specification: "Note that the rules in Figure 25 allow for an update that does not propose changes in the protocol version, or does not propose changes to the software version. However the update proposal must contain a change proposal in any of these two aspects."
The text was updated successfully, but these errors were encountered: