Raw TX submission over local node submission protocol.
Genesis UTxO expenditure.
Notes
DELEGATE-SECRETS-INCOMPATIBLE-BYRON-LEGACY-PBFT: as @dcoutts mentioned
VSS, the Ouroboros classic randomness MPC algorithm, is not used after the PBFT hard fork.
Therefore, the delegate secrets will no longer contain the VSS keypair, which makes them incompatible between the Legacy and PBFT iterations of Byron. This needs to be accounted for with regards to both the generation and migration aspects.
The compatibility was implemented in the new codebase.
SECRET-SERIALISATION-INCOMPATIBLE-BYRON-LEGACY-PBFT: Byron Legacy is using cardano-binary for secret serialisation, whereas Byron PBFT uses CBOR. This needs to be accounted for with regards to both the generation and migration aspects.
This does no longer appear to be a problem, since the underlying encoding that cardano-binary uses in the Bi typeclass is CBOR, which means there's only a thin compatibility layer that needs to be reimplemented. The thin compatibility layer for Byron Legacy delegate key roundtripping was reimplemented.
GENESIS-INCOMPATIBLE-BYRON-LEGACY-PBFT: Byron Legacy carries the VSS certificates, which aren't generated by the Byron PBFT genesis generator.
Context
We need means to manipulate secrets/certificates/genesis files (henceforth referred to as key material).
General scope
Terminology: Legacy vs. PBFT
Future work
History of implementation
https://github.com/input-output-hk/cardano-node/pull/28
Bi
instance for the legacyUserSecret
data typeSigningKey
.Cutting VSS out of the genesis file:vssCerts
from the top level,vssMaxTTL
andvssMinTTL
from theprotocolConsts
sectionhttps://github.com/input-output-hk/cardano-node/pull/95
https://github.com/input-output-hk/cardano-node/pull/135 & https://github.com/input-output-hk/cardano-node/pull/147
Notes
DELEGATE-SECRETS-INCOMPATIBLE-BYRON-LEGACY-PBFT
: as @dcoutts mentionedTherefore, the delegate secrets will no longer contain the VSS keypair, which makes them incompatible between the Legacy and PBFT iterations of Byron. This needs to be accounted for with regards to both the generation and migration aspects.
SECRET-SERIALISATION-INCOMPATIBLE-BYRON-LEGACY-PBFT
: Byron Legacy is usingcardano-binary
for secret serialisation, whereas Byron PBFT usesCBOR
. This needs to be accounted for with regards to both the generation and migration aspects.This does no longer appear to be a problem, since the underlying encoding thatThe thin compatibility layer for Byron Legacy delegate key roundtripping was reimplemented.cardano-binary
uses in theBi
typeclass is CBOR, which means there's only a thin compatibility layer that needs to be reimplemented.GENESIS-INCOMPATIBLE-BYRON-LEGACY-PBFT
: Byron Legacy carries the VSS certificates, which aren't generated by the Byron PBFT genesis generator.