Documentation
¶
Index ¶
- Variables
- type MLDSASigner
- type QuantumStamp
- type QuantumStampMode
- type QuantumStamper
- func (qs *QuantumStamper) Close()
- func (qs *QuantumStamper) Disable()
- func (qs *QuantumStamper) Enable()
- func (qs *QuantumStamper) ExportStamps() map[common.Hash]*QuantumStamp
- func (qs *QuantumStamper) GetCurrentHeights() (cchainHeight, qchainHeight uint64)
- func (qs *QuantumStamper) GetMetrics() map[string]uint64
- func (qs *QuantumStamper) GetStampForBlock(blockHash common.Hash) (*QuantumStamp, bool)
- func (qs *QuantumStamper) ImportStamps(stamps map[common.Hash]*QuantumStamp)
- func (qs *QuantumStamper) StampBlock(block *types.Block) (*QuantumStamp, error)
- func (qs *QuantumStamper) VerifyStamp(stamp *QuantumStamp, block *types.Block) bool
- type RealtimeQuantumStamper
- func (rts *RealtimeQuantumStamper) GetMetrics() *StamperMetrics
- func (rts *RealtimeQuantumStamper) GetStampInfo(blockHash common.Hash) (map[string]interface{}, error)
- func (rts *RealtimeQuantumStamper) Start() error
- func (rts *RealtimeQuantumStamper) Stop() error
- func (rts *RealtimeQuantumStamper) VerifyBlock(blockHash common.Hash) (bool, error)
- type RealtimeStamperConfig
- type SLHDSASigner
- type StamperMetrics
Constants ¶
This section is empty.
Variables ¶
var ( ErrStampingDisabled = errors.New("quantum stamping disabled") ErrInvalidBlockHeight = errors.New("invalid block height") ErrStampAlreadyExists = errors.New("quantum stamp already exists") ErrStampVerificationFail = errors.New("quantum stamp verification failed") ErrQChainNotSynced = errors.New("Q-chain not synchronized") ErrInvalidSignatureMode = errors.New("invalid signature mode") )
Functions ¶
This section is empty.
Types ¶
type MLDSASigner ¶
type MLDSASigner struct {
// contains filtered or unexported fields
}
MLDSASigner wraps ML-DSA operations
type QuantumStamp ¶
type QuantumStamp struct {
// Block identification
CChainHeight uint64 `json:"cchainHeight"`
CChainHash common.Hash `json:"cchainHash"`
QChainHeight uint64 `json:"qchainHeight"`
QChainHash common.Hash `json:"qchainHash"`
// Quantum signature data
Mode QuantumStampMode `json:"mode"`
Timestamp time.Time `json:"timestamp"`
MLDSASignature []byte `json:"mldsaSignature,omitempty"`
SLHDSASignature []byte `json:"slhdsaSignature,omitempty"`
PublicKeyML []byte `json:"publicKeyML,omitempty"`
PublicKeySLH []byte `json:"publicKeySLH,omitempty"`
// Metadata
StateRoot common.Hash `json:"stateRoot"`
ReceiptsRoot common.Hash `json:"receiptsRoot"`
LogsBloom []byte `json:"logsBloom"`
GasUsed uint64 `json:"gasUsed"`
// Cross-chain proof
MerkleProof []common.Hash `json:"merkleProof,omitempty"`
Nonce []byte `json:"nonce"`
}
QuantumStamp represents a quantum-resistant stamp for a C-Chain block
type QuantumStampMode ¶
type QuantumStampMode uint8
QuantumStampMode defines the post-quantum signature algorithm
const ( StampModeMLDSA44 QuantumStampMode = 0 // Crystal-Dilithium Level 2 (fast, smaller) StampModeMLDSA65 QuantumStampMode = 1 // Crystal-Dilithium Level 3 (balanced) StampModeMLDSA87 QuantumStampMode = 2 // Crystal-Dilithium Level 5 (highest security) StampModeSLHDSA QuantumStampMode = 3 // SPHINCS+ (stateless hash-based) StampModeHybrid QuantumStampMode = 4 // Hybrid ML-DSA + SLH-DSA )
type QuantumStamper ¶
type QuantumStamper struct {
// contains filtered or unexported fields
}
QuantumStamper handles quantum stamping of C-Chain blocks
func NewQuantumStamper ¶
func NewQuantumStamper(log log.Logger, mode QuantumStampMode, cacheSize int) (*QuantumStamper, error)
NewQuantumStamper creates a new quantum stamper for C-Chain blocks
func (*QuantumStamper) Close ¶
func (qs *QuantumStamper) Close()
Close cleanly shuts down the stamper
func (*QuantumStamper) Disable ¶
func (qs *QuantumStamper) Disable()
Disable disables quantum stamping
func (*QuantumStamper) ExportStamps ¶
func (qs *QuantumStamper) ExportStamps() map[common.Hash]*QuantumStamp
ExportStamps exports all stamps for persistence
func (*QuantumStamper) GetCurrentHeights ¶
func (qs *QuantumStamper) GetCurrentHeights() (cchainHeight, qchainHeight uint64)
GetCurrentHeights returns current C-Chain and Q-Chain heights
func (*QuantumStamper) GetMetrics ¶
func (qs *QuantumStamper) GetMetrics() map[string]uint64
GetMetrics returns stamping metrics
func (*QuantumStamper) GetStampForBlock ¶
func (qs *QuantumStamper) GetStampForBlock(blockHash common.Hash) (*QuantumStamp, bool)
GetStampForBlock retrieves a stamp for a specific block
func (*QuantumStamper) ImportStamps ¶
func (qs *QuantumStamper) ImportStamps(stamps map[common.Hash]*QuantumStamp)
ImportStamps imports stamps from persistence
func (*QuantumStamper) StampBlock ¶
func (qs *QuantumStamper) StampBlock(block *types.Block) (*QuantumStamp, error)
StampBlock creates a quantum stamp for a C-Chain block during replay
func (*QuantumStamper) VerifyStamp ¶
func (qs *QuantumStamper) VerifyStamp(stamp *QuantumStamp, block *types.Block) bool
VerifyStamp verifies a quantum stamp
type RealtimeQuantumStamper ¶
type RealtimeQuantumStamper struct {
// contains filtered or unexported fields
}
RealtimeQuantumStamper provides real-time quantum stamping for C-Chain blocks
func NewRealtimeQuantumStamper ¶
func NewRealtimeQuantumStamper( logger log.Logger, blockchain *core.BlockChain, config *RealtimeStamperConfig, ) (*RealtimeQuantumStamper, error)
NewRealtimeQuantumStamper creates a new real-time quantum stamper
func (*RealtimeQuantumStamper) GetMetrics ¶
func (rts *RealtimeQuantumStamper) GetMetrics() *StamperMetrics
GetMetrics returns current metrics
func (*RealtimeQuantumStamper) GetStampInfo ¶
func (rts *RealtimeQuantumStamper) GetStampInfo(blockHash common.Hash) (map[string]interface{}, error)
GetStampInfo returns quantum stamp information for a block
func (*RealtimeQuantumStamper) Start ¶
func (rts *RealtimeQuantumStamper) Start() error
Start begins real-time quantum stamping
func (*RealtimeQuantumStamper) Stop ¶
func (rts *RealtimeQuantumStamper) Stop() error
Stop halts real-time quantum stamping
func (*RealtimeQuantumStamper) VerifyBlock ¶
func (rts *RealtimeQuantumStamper) VerifyBlock(blockHash common.Hash) (bool, error)
VerifyBlock verifies quantum stamp for a specific block
type RealtimeStamperConfig ¶
type RealtimeStamperConfig struct {
Mode QuantumStampMode
CacheSize int
StampingInterval time.Duration // Minimum interval between stamps
BatchSize int // Number of blocks to batch stamp
VerifyPrevious bool // Verify previous stamps on startup
PersistenceDB ethdb.Database
EnableMetrics bool
}
RealtimeStamperConfig configuration for real-time quantum stamping
type SLHDSASigner ¶
type SLHDSASigner struct {
// contains filtered or unexported fields
}
SLHDSASigner wraps SLH-DSA operations