ringtail

package
v1.16.40 Latest Latest
Warning

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

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

Documentation

Overview

Package ringtail implements random ringtail validation for post-quantum safety. This provides resistance against quantum attacks by using ring signatures with random validator selection.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PrivateKey

type PrivateKey interface {
	PublicKey() PublicKey
	Sign(message []byte) ([]byte, error)
}

PrivateKey represents a post-quantum safe private key

type PublicKey

type PublicKey interface {
	Bytes() []byte
}

PublicKey represents a post-quantum safe public key

type RingtailValidator

type RingtailValidator interface {
	// SelectValidators randomly selects a subset of validators for signing
	SelectValidators(validatorSet []Validator, threshold int) ([]Validator, error)

	// CreateRingSignature creates a ring signature that hides which validator signed
	CreateRingSignature(message []byte, signerKey PrivateKey, ring []PublicKey) ([]byte, error)

	// VerifyRingSignature verifies a ring signature without revealing the signer
	VerifyRingSignature(message []byte, signature []byte, ring []PublicKey) bool
}

RingtailValidator provides post-quantum safe validation

type Validator

type Validator interface {
	ID() [32]byte
	PublicKey() PublicKey
	Weight() uint64
}

Validator represents a network validator

func RandomSelection

func RandomSelection(validators []Validator, count int) ([]Validator, error)

RandomSelection implements cryptographically secure random validator selection

Jump to

Keyboard shortcuts

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