Added cardano-crypto-praos-2.2.3.0
From https://github.com/IntersectMBO/cardano-base at 4762ba480ac428e9cdc34be4bbfc76a9fc908fdf
From https://github.com/IntersectMBO/cardano-base at 4762ba480ac428e9cdc34be4bbfc76a9fc908fdf
The CRS UTxO is published at an AlwaysFails script address, making it unspendable by the ledger rules regardless of the validator body. Returning False is therefore not strictly necessary but documents the intent: this is a permanently locked datum carrier, not an incomplete validator. Signed-off-by: Sasha Bogicevic <[email protected]>
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 9.2.0 to 9.2.1. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/1e7e51e771db61008b38414a730f564565cf7c20...82606bf257cbaff209d206a39f5134f0cfbfd2ee) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-version: 9.2.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]>
We might want to drop / not allow votes from previous epochs as the committee can change and nodes would come silently to different conclusions depending on their selected tips.
This class based approach mirrors other components of the consensus code base where abstract code is made block-specific via type classes.
Enumerating shelley / praos instances for HasLeiosVoting makes it very clear that a committee is only expected to be selected in Dijkstra
The LeiosVoteState now drives us to add cryptographic signatures so we cannot fake the voterId (index in the committee) without also having the private key.
Provide access to the committee using the HasLeiosVoting type class and via the ChainDB access to the tip's ledger state.
Real signing keys requires some more bytes. This is still unsafe of course.
This will be just enough to derive a committe.. if I just re-use the pool key hash as the vote signing key of all pools and derive verification keys this way (to still skip proper key registration).
This derives vote signing key from the cold key hash - obviously still a dirty hack, but just fine to avoid doing key registration.