stamper

package
v1.22.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2025 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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")
)
View Source
var (
	ErrAlreadyRunning = errors.New("realtime stamper already running")
	ErrNotRunning     = errors.New("realtime stamper not running")
	ErrNoBlockchain   = errors.New("blockchain not configured")
)

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) Enable

func (qs *QuantumStamper) Enable()

Enable enables 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

type StamperMetrics

type StamperMetrics struct {
	BlocksReceived    uint64
	BlocksStamped     uint64
	BlocksVerified    uint64
	StampingErrors    uint64
	AvgStampingTimeMs float64
	LastStampedHeight uint64
	LastStampedHash   common.Hash
	QChainHeight      uint64
}

StamperMetrics tracks stamping performance metrics

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL