Comprehensive Design Document Reddid v1 - reddcoin-project/reddcoin GitHub Wiki
Version 1.0 | March 2025
This document presents a comprehensive design for implementing a ReddID Auction System for Reddcoin. The system builds upon the existing Namespace and User ID auction frameworks to create a specialized auction mechanism specifically for ReddIDs - the primary identity system within the Reddcoin ecosystem.
The ReddID auction system establishes a market-driven approach for allocating and managing digital identities that:
- Creates fair price discovery for valuable ReddIDs through competitive bidding
- Provides a standardized identity layer across all Reddcoin namespaces
- Implements reputation and social features specific to digital identity
- Establishes a sustainable economic model with deflationary mechanisms
- Integrates seamlessly with existing Reddcoin services and applications
Unlike general User IDs that exist within specific namespaces, ReddIDs serve as cross-namespace identities that enable consistent identification, reputation building, and social interactions throughout the Reddcoin ecosystem. The auction system balances accessibility with economic sustainability to create lasting value for identity holders and the broader network.
- Core System Architecture
- ReddID Auction Mechanics
- Identity Features & Parameters
- Blockchain Integration
- P2P Protocol Extensions
- Database Schema
- Economic Model
- User Interface Design
- Implementation Plan
- Interoperability Framework
- Governance & Dispute Resolution
- Appendices
The ReddID Auction System extends the existing auction infrastructure with specialized components tailored to identity management and cross-namespace functionality.
The system consists of the following core components:
-
ReddID Auction Manager: Central component handling ReddID auction creation, bid processing, and finalization with identity-specific validation
-
Identity Manager: Component responsible for ReddID profile creation, validation, and cross-namespace resolution
-
Reputation System: Framework for calculating, storing, and verifying identity reputation metrics
-
Storage Layer: Extended database structures for persistent storage of ReddID data, reputation scores, and social connections
-
Blockchain Interface: Enhanced mechanisms for writing ReddID auction and identity data to the Reddcoin blockchain
-
P2P Relay Network: Further extensions to the Reddcoin P2P protocol for identity data propagation
-
User Interface: Specialized wallet integration for ReddID management, reputation display, and social interactions
-
ReddID Auction Creation:
- User requests to create a ReddID auction
- System validates ID availability and format requirements
- Auction parameters are set based on ReddID-specific rules
- Auction is recorded on blockchain and propagated via P2P network
-
Bidding Process:
- Users view available ReddID auctions and place bids
- Bids are validated against auction requirements
- Valid bids are recorded on blockchain and propagated
- Previous high bidders are notified about being outbid
-
Auction Finalization:
- System detects auction end based on time parameters
- Highest valid bid is determined as winner
- ReddID is registered to the winner's address
- Initial identity profile is created
- Cross-namespace resolution entries are established
-
Identity Management:
- ReddID owner can update profile information
- Social connections are established between ReddIDs
- Reputation scores are calculated based on network activity
- Updates are propagated through the network and validated
For a valid ReddID auction:
-
ReddID Format:
- Length: 3-32 characters
- Allowed characters: lowercase letters (a-z), numbers (0-9), underscore (_)
- Cannot begin or end with an underscore
- Must be unique across all ReddIDs
-
Auction Duration:
- Minimum: 7 days
- Maximum: 14 days
- Default: 7 days
-
Deposit Requirements:
- 15% of bid amount must be deposited
- Balanced between User ID (10%) and Namespace (20%) requirements
-
Reserve Prices:
- Minimum: 5,000 RDD
- Based on length tiers:
- 3-4 characters: 25,000 RDD minimum
- 5-6 characters: 10,000 RDD minimum
- 7-9 characters: 7,500 RDD minimum
- 10+ characters: 5,000 RDD minimum
The system supports multiple auction types specifically for ReddIDs:
-
Standard Auctions: Default auction type for most ReddIDs
- 7-day duration
- 15% deposit requirement
- Reserve price based on length tiers
-
Premium Auctions: For high-value ReddIDs (short, dictionary words)
- 14-day duration
- 20% deposit requirement
- Higher reserve prices
-
Verified Entity Auctions: For legally registered entities
- Requires preliminary verification documentation
- Priority queuing for trademark holders
- Special display indicators in UI
-
Renewal Auctions: For ReddIDs approaching expiration
- Current owner gets right of first refusal
- If not renewed, enters public auction
- 30-day grace period implemented before public auction
The ReddID auction follows this defined state flow:
[Initial State] → [ReddID Auction Creation] → [Auction Open] → [Auction Ended] → [ReddID Active]
Detailed state flow is visualized in the ReddID auction flow diagram referenced in the appendices.
- Minimum Increment: New bids must exceed the current highest bid by at least 5%
- Deposit Requirement: Bidders must include the specified deposit percentage
- Anti-Sniping: Auctions extend by 24 hours if a bid is placed in the final 48 hours
- Maximum Extensions: Limited to 3 extensions to ensure eventual completion
- Reputation Impact: Bidding history affects user's bidding reputation score
- Validation: Bids must include proof of funds and be cryptographically signed
- Once auction time elapses, the auction enters the finalization phase
- The highest valid bid is identified as the winner
- The winner's full bid amount is processed according to the revenue distribution model
- Deposits from losing bidders are refunded (minus processing fees)
- The ReddID is registered to the winner's address
- Initial identity profile is established
- Cross-namespace resolution entries are created
ReddIDs extend beyond simple identifiers to include comprehensive identity features:
Each ReddID includes a standardized profile structure:
-
Core Identity:
- ReddID (primary identifier)
- Display name (customizable)
- Avatar/profile image (IPFS hash)
- Bio/description (limited to 256 characters)
-
Contact Information:
- Optional email hash (for verification, not displayed publicly)
- Optional social media identifiers (Twitter, Discord, etc.)
- Messaging public key (for encrypted communications)
-
Verification Status:
- Self-attested information
- Community-verified indicators
- Official verification badges (for legally registered entities)
-
Namespaces Resolution:
- Linked User IDs across multiple namespaces
- Default namespace for payments
- Namespace-specific settings
The ReddID system includes a built-in reputation framework:
-
Reputation Metrics:
- Network longevity (time ReddID has been active)
- Transaction volume (total RDD transacted)
- Community engagement (social interactions)
- Verification depth (number and quality of verifications)
- Auction behavior (bidding history, payment reliability)
-
Calculation Method:
- Base score from verifiable on-chain activity
- Weighted aggregate of individual metrics
- Decay function for inactive ReddIDs
- Protection against manipulation attempts
-
Display and Usage:
- Numeric score (0-100)
- Visual indicator in UI
- Accessible via API for third-party applications
- Optional opt-out (with corresponding display indicator)
ReddIDs support social connectivity within the ecosystem:
-
Connection Types:
- Follow (one-way connection)
- Friend (two-way, mutual connection)
- Endorsement (reputation-affecting connection)
- Block (negative connection)
-
Privacy Controls:
- Public, friends-only, or private visibility settings
- Granular permission settings for data sharing
- Encrypted messaging options
-
Discovery Mechanisms:
- Directory search with filtering
- Suggested connections based on activity
- Namespace-based grouping
- Reputation-weighted recommendations
ReddIDs serve as master identifiers across the namespace system:
-
Resolution Protocol:
- Bidirectional mapping between ReddID and namespace-specific IDs
- Priority resolution for conflicts (ReddID takes precedence)
- Standardized addressing format:
id@reddid
orid@namespace
-
Update Propagation:
- Changes to ReddID profile cascade to linked namespaces where applicable
- Namespace-specific settings can override global settings
- History of changes is maintained for auditability
-
Identifier Management:
- Centralized management interface for all linked identifiers
- Batch operations across multiple namespaces
- Migration tools for consolidating identities
The system extends the existing OP_RETURN capabilities with ReddID-specific formats:
0 2 3 35 36 44 45 53 54 62 63 127
|----|--|-----------------------------|-----|-----|-----|-----|-----|-----|------------|
magic op reddid_id (32 bytes) start end resrv depst type flags profile_hash
The profile hash references a full profile stored and distributed via P2P.
0 2 3 7 8 16 17 25 26 27
|-----|--|----------|----|---------|----|-----|----|----|
magic op auctionId hash bidAmount time proof flags
0 2 3 35 36 44 45 109
|----|--|-----------------------------|-----|-----|----|----|
magic op reddid_id (32 bytes) winr amnt ipfs
The IPFS field contains a hash pointing to the full profile data.
0 2 3 35 36 100
|----|--|-----------------------------|-----|-----|
magic op reddid_id (32 bytes) time ipfs
0 2 3 35 36 68 69 70
|----|--|-----------------------------|-----|-----------------------------|----|----|
magic op from_reddid (32 bytes) to_reddid (32 bytes) type flag
The system defines the following ReddID-specific operation codes:
Code | Symbol | Description |
---|---|---|
OP_REDDID_AUCTION_CREATE |
$ |
Create a new ReddID auction |
OP_REDDID_AUCTION_BID |
^ |
Submit bid for a ReddID |
OP_REDDID_AUCTION_FINALIZE |
& |
Finalize ReddID auction to winner |
OP_REDDID_PROFILE_UPDATE |
# |
Update ReddID profile information |
OP_REDDID_CONNECTION |
+ |
Create/modify social connection |
New consensus rules are implemented to enforce:
- Validity of ReddID operations
- Uniqueness of ReddIDs across the system
- Correct sequence of state transitions
- Appropriate fee payments
- Authorization of operations
- Profile size and content limitations
The P2P protocol is extended with additional message types for ReddID operations:
Message Type | Value | Description |
---|---|---|
MSG_REDDID_AUCTION_ANNOUNCE |
0x21 |
Announce a new ReddID auction |
MSG_REDDID_AUCTION_BID |
0x22 |
Announce a bid on a ReddID |
MSG_REDDID_AUCTION_FINALIZE |
0x23 |
Announce ReddID finalization |
MSG_REDDID_PROFILE_UPDATE |
0x24 |
Announce profile update |
MSG_REDDID_CONNECTION |
0x25 |
Announce social connection change |
MSG_REDDID_PROFILE_REQUEST |
0x26 |
Request profile data |
MSG_REDDID_PROFILE_RESPONSE |
0x27 |
Provide profile data |
MSG_REDDID_REPUTATION_UPDATE |
0x28 |
Update reputation score |
Since the full profile data is too large for OP_RETURN, it's distributed through multiple mechanisms:
-
Primary P2P Distribution:
- When a profile is created or updated, the data is stored locally
- A hash (either IPFS or direct) is included in the blockchain transaction
- Nodes can request the full profile with a
MSG_REDDID_PROFILE_REQUEST
- Nodes with the profile respond with a
MSG_REDDID_PROFILE_RESPONSE
-
IPFS Storage Option:
- Profile data can be stored on IPFS for redundancy
- IPFS hash is recorded in applicable OP_RETURN operations
- Provides alternative retrieval method if P2P network is unavailable
-
Caching Strategy:
- Frequently accessed profiles are cached by nodes
- TTL-based cache expiration to ensure updates propagate
- Prioritized caching based on connection proximity and reputation
Reputation scores are calculated and propagated through the network:
-
Calculation Nodes:
- Full nodes can opt to be reputation calculators
- Must meet minimum uptime and synchronization requirements
- Submit signed reputation updates with calculation proofs
-
Consensus Mechanism:
- Reputation updates require minimum threshold of agreement
- Outlier detection to prevent manipulation
- Time-locked updates to prevent rapid fluctuations
-
Distribution Protocol:
- Compact representation of reputation scores
- Efficient batch updates for multiple ReddIDs
- On-demand detailed breakdown of score components
Stores information about all ReddID auctions.
Column | Type | Description |
---|---|---|
auction_id |
BLOB(32) | Unique identifier for the auction (uint256) |
reddid |
VARCHAR(32) | ReddID being auctioned |
creator_address |
BLOB | Creator's address in binary format |
start_time |
INT64 | Start time (unix timestamp) |
end_time |
INT64 | End time (unix timestamp) |
reserve_price |
INT64 | Minimum acceptable bid |
current_bid |
INT64 | Highest current bid amount |
current_bidder |
BLOB | Address of highest bidder |
deposit_percentage |
REAL | Required deposit as percentage |
state |
INT | Current auction state (0=pending, 1=active, 2=ended, 3=finalized, 4=cancelled) |
auction_type |
INT | Type of auction (0=standard, 1=premium, 2=verified, 3=renewal) |
profile_hash |
BLOB(32) | Hash of initial profile data |
block_height |
INT | Block height when auction was created |
txid |
BLOB(32) | Transaction ID of the auction creation transaction |
Stores information about bids on ReddID auctions.
Column | Type | Description |
---|---|---|
bid_id |
BLOB(32) | Unique identifier for the bid |
auction_id |
BLOB(32) | Reference to the auction |
bidder_address |
BLOB | Bidder's address in binary format |
bidder_reddid |
VARCHAR(32) | Bidder's ReddID (if they have one) |
bid_amount |
INT64 | Bid amount |
deposit_amount |
INT64 | Deposit amount paid |
bid_time |
INT64 | Time when bid was placed |
proof_of_funds |
BLOB | Cryptographic proof of available funds |
txid |
BLOB(32) | Transaction ID of the bid transaction |
is_winner |
BOOLEAN | Whether this bid won the auction |
refunded |
BOOLEAN | Whether the deposit was refunded |
Stores core profile information for each ReddID.
Column | Type | Description |
---|---|---|
reddid |
VARCHAR(32) | The ReddID (primary key) |
owner_address |
BLOB | Owner's address in binary format |
display_name |
VARCHAR(64) | User-selected display name |
avatar_hash |
BLOB(32) | IPFS hash of avatar image |
bio |
VARCHAR(256) | Short biography or description |
email_hash |
BLOB(32) | Hash of verified email (optional) |
social_data |
TEXT | JSON of linked social profiles |
messaging_pubkey |
BLOB | Public key for encrypted messaging |
verification_status |
INT | Verification level (0-3) |
creation_time |
INT64 | When the ReddID was created |
last_updated |
INT64 | When profile was last updated |
expiration_time |
INT64 | When the ReddID expires |
active |
BOOLEAN | Whether the ReddID is currently active |
flags |
INT | Bitfield of profile flags/settings |
Maps ReddIDs to namespace-specific user IDs.
Column | Type | Description |
---|---|---|
reddid |
VARCHAR(32) | The ReddID (foreign key) |
namespace_id |
VARCHAR(15) | Namespace identifier |
user_id |
VARCHAR(64) | User ID within that namespace |
is_primary |
BOOLEAN | Whether this is the primary namespace for the ReddID |
auto_update |
BOOLEAN | Whether profile changes propagate to this namespace |
last_synced |
INT64 | When last synchronized |
Stores reputation information for ReddIDs.
Column | Type | Description |
---|---|---|
reddid |
VARCHAR(32) | The ReddID (foreign key) |
overall_score |
REAL | Aggregate reputation score (0-100) |
longevity_score |
REAL | Score component for account age |
transaction_score |
REAL | Score component for transaction history |
engagement_score |
REAL | Score component for community engagement |
verification_score |
REAL | Score component for verification depth |
auction_score |
REAL | Score component for auction behavior |
last_calculated |
INT64 | When the score was last calculated |
calculation_proof |
BLOB | Proof of calculation correctness |
calculator_signatures |
TEXT | JSON of node signatures validating the calculation |
Stores social connections between ReddIDs.
Column | Type | Description |
---|---|---|
from_reddid |
VARCHAR(32) | Source ReddID |
to_reddid |
VARCHAR(32) | Target ReddID |
connection_type |
INT | Type (0=follow, 1=friend, 2=endorse, 3=block) |
creation_time |
INT64 | When connection was established |
last_interaction |
INT64 | When last interaction occurred |
visibility |
INT | Privacy setting (0=public, 1=friends, 2=private) |
metadata |
TEXT | Additional connection metadata |
txid |
BLOB(32) | Transaction ID of the connection operation |
The ReddID auction system implements a specialized revenue distribution model:
Component | Percentage | Description |
---|---|---|
Burn | 60% | Permanently remove RDD from circulation |
Identity Infrastructure | 20% | Fund identity-specific infrastructure |
Node Incentives | 15% | Reward nodes participating in identity verification |
Development Fund | 5% | Support ongoing development of identity features |
A specialized fund dedicated to identity-related infrastructure:
- Purpose: Support services specifically related to digital identity
-
Funded Components:
- Verification services
- Reputation calculation nodes
- Dispute resolution system
- Privacy-enhancing features
- Identity recovery mechanisms
- Governance: Multi-signature control with community oversight
ReddIDs are priced according to several factors:
-
Length-Based Tiers:
- 3-4 characters: Premium tier (25,000+ RDD)
- 5-6 characters: High tier (10,000+ RDD)
- 7-9 characters: Medium tier (7,500+ RDD)
- 10+ characters: Standard tier (5,000+ RDD)
-
Desirability Factors:
- Dictionary words
- Common names
- Numeric-only IDs
- Pattern-based IDs (repeating characters, sequences)
-
Verification Level:
- Standard ReddIDs: Base price
- Verified individual: 1.5x multiplier
- Verified business: 2x multiplier
- Verified public entity: 2.5x multiplier
The renewal model balances stability with prevention of squatting:
- Renewal Period: 365 days standard
- Grace Period: 30 days after expiration
-
Renewal Pricing:
- Active ReddIDs (high reputation score): 25% of equivalent auction price
- Standard renewal: 40% of equivalent auction price
- Grace period renewal: 75% of equivalent auction price
- Reclamation: If not renewed during grace period, enters public auction
Specialized mechanisms discourage identity squatting:
- Activity Requirements: Regular blockchain activity maintains lower renewal fees
- Reputation Impact: Inactive IDs see reputation decay
- Bulk Ownership Penalties: Progressively higher costs for multiple premium ReddIDs
- Verification Requirements: Higher-value IDs require additional verification steps
The auction browser provides a specialized view of available ReddIDs:
Key features include:
- Categorization by ID type and characteristics
- Visual indicators for verification-ready IDs
- Reputation score estimates based on ID characteristics
- Quick filtering by length, character composition, and type
- One-click access to bidding interface
The profile manager provides comprehensive identity management:
Key sections include:
- Basic profile editor with avatar and bio
- Verification status and upgrade options
- Connected namespace identities
- Social connection management
- Privacy and visibility settings
- Reputation score breakdown
The social dashboard facilitates identity-based interactions:
Key features include:
- Connection visualization and management
- Activity feed of connected ReddIDs
- Reputation trending indicators
- Messaging interface (direct and encrypted)
- Discovery recommendations
The mobile interface provides key identity functionality:
Key aspects include:
- Simplified profile view and editing
- QR code for easy identity sharing
- Quick connection management
- Notification center for identity interactions
- Streamlined verification processes
Phase | Timeline | Focus |
---|---|---|
Design & Planning | Weeks 1-4 | Specification finalization, documentation |
Core Auction Development | Weeks 5-12 | ReddID auction functionality, blockchain integration |
Identity Framework | Weeks 9-16 | Profile system, reputation framework, social connections |
UI/UX Development | Weeks 14-20 | Identity interfaces, social dashboard, mobile experience |
Testing & QA | Weeks 18-24 | Testing, security audits, beta program |
Deployment & Launch | Weeks 25-28 | Phased mainnet deployment, monitoring |
-
Core ReddID Functionality:
- Implement ReddID validation rules
- Create auction mechanisms specific to identity
- Develop profile data structures and validation
-
Reputation System:
- Implement reputation calculation algorithms
- Build consensus mechanism for score validation
- Create caching and propagation systems
-
Social Framework:
- Develop connection types and validation
- Implement privacy controls
- Create discovery algorithms
-
Cross-Namespace Resolution:
- Build resolution protocol
- Implement bidirectional mapping
- Create update propagation system
-
User Interface Development:
- Design and implement identity-focused interfaces
- Create social interaction tools
- Develop mobile-optimized experience
Risk | Impact | Likelihood | Mitigation |
---|---|---|---|
Identity squatting | High | High | Progressive penalties, verification requirements, active use incentives |
Reputation manipulation | High | Medium | Multiple calculation nodes, consensus requirements, transparent scoring |
Privacy concerns | Medium | Medium | Granular privacy controls, encrypted options, minimal data collection |
Integration complexity | Medium | High | Clear interfaces, phased implementation, compatibility testing |
Adoption barriers | High | Medium | Intuitive UX, gradual feature rollout, educational resources |
The ReddID system includes comprehensive interoperability features:
-
Namespace Integration:
- Bidirectional resolution between ReddIDs and namespace IDs
- Consistent identity across all Reddcoin namespaces
- Unified management interface
-
Core Protocol Services:
- Integration with Reddcoin staking system
- Compatibility with ReddPay payment services
- Support for smart contract interactions
-
Application Ecosystem:
- Standard API for third-party applications
- SDK for developers to integrate ReddID functionality
- OAuth-style authentication support
-
Cross-Chain Resolution:
- Resolution protocol for external blockchain identifiers
- Bridge contracts for Ethereum, Binance Smart Chain
- Verifiable claims for cross-chain identity
-
Web Standards Compatibility:
- W3C DID (Decentralized Identifier) compatibility
- Verifiable Credentials support
- WebAuthn integration options
-
Legacy System Integration:
- OAuth bridging to traditional authentication
- Email-based verification processes
- API gateway for traditional systems
The ReddID system exposes a comprehensive API:
-
Core Endpoints:
-
/reddid/lookup
- Resolve ReddID information -
/reddid/profile
- Get/update profile information -
/reddid/reputation
- Access reputation data -
/reddid/connections
- Manage social connections
-
-
Authentication Methods:
- Signature-based authentication
- Challenge-response protocol
- Delegation capabilities
-
Data Formats:
- JSON primary representation
- Compact binary format for bandwidth-constrained environments
- Verifiable credential format option
The ReddID system includes specialized governance for identity concerns:
-
Policy Framework:
- Acceptable use policies
- Verification standards
- Reserved and protected identifiers
- Renewal policies
-
Decision Making:
- Technical governance by development team
- Economic governance by stakeholders
- Policy governance by community-elected representatives
-
Parameter Adjustment:
- Reputation calculation weights
- Economic parameters
- Verification requirements
- Privacy defaults
A comprehensive framework for identity-specific disputes:
-
Dispute Categories:
- Identity ownership disputes
- Trademark and brand claims
- Impersonation claims
- Verification challenges
-
Resolution Process:
- Initial automated assessment
- Peer-based review for standard cases
- Expert panel for complex disputes
- Binding arbitration for unresolvable cases
-
Enforcement Mechanisms:
- Profile flags and warnings
- Temporary suspensions
- Permanent revocation (extreme cases)
- Economic penalties
Integration with existing legal frameworks:
-
Trademark Protections:
- Pre-registration process for trademark holders
- Expedited dispute process for verified claims
- Legal compliance documentation
-
Privacy Regulations:
- GDPR compliance mechanisms
- Right to be forgotten implementation
- Data minimization principles
-
Recovery Mechanisms:
- Court order process
- Inheritance procedures
- Lost key recovery options
- ReddID System Architecture Diagram
- ReddID Auction Flow Diagram
- Reputation Calculation Model
- Cross-Namespace Resolution Diagram
- Social Connection Model
- ReddID Auction Browser Interface
- Identity Profile Manager
- Social Dashboard
- Mobile Interface Concepts