Comprehensive Design Document Reddid - reddcoin-project/reddcoin GitHub Wiki
Version 3.1 | April 2025
This document presents an integrated design for Reddcoin's two-tiered auction system with a complementary identity linking layer. The system builds upon the existing Reddcoin infrastructure to create a fair, efficient, and economically sustainable mechanism for allocating human-readable identifiers and identity profiles within the Reddcoin ecosystem.
The integrated system is composed of three interrelated components:
- Namespace Auction System - For registering top-level namespaces (.redd, .crypto, etc.)
- User ID Auction System - For registering user identifiers within namespaces (alice.redd, bob.crypto)
- ReddID Profile System - For establishing cross-namespace identity profiles with social features
The design implements a hierarchical structure where top-level namespaces are auctioned first, those namespace owners define rules for user IDs within their namespace, and ReddIDs provide a cross-namespace identity layer that connects user IDs across the system through direct registration rather than auctions.
This approach achieves several key objectives:
- Market-driven price discovery for valuable namespaces and user IDs
- Prevention of squatting through economic disincentives
- Creation of deflationary pressure on RDD supply
- Sustainable funding for ongoing development
- Rewards for network participants through fee distribution
- Simplified registration process for cross-namespace identities
- Establishment of a reputation and identity layer across the Reddcoin ecosystem
- System Overview
- Core Architecture
- Auction Mechanics
- Identity Features
- Blockchain Integration
- P2P Protocol Extensions
- Database Schema
- Economic Model
- User Interface Design
- Implementation Plan
- Governance Framework
- Interoperability
- Appendices
The Reddcoin Identity and Naming System implements a three-tier architecture:
-
Namespaces (Top Level)
- Analogous to top-level domains (.com, .org) in DNS
- Examples: .redd, .crypto, .gaming, .finance
- Controlled by namespace owners who define rules and economic parameters
- Auctioned with highest minimum prices (10,000-100,000 RDD)
-
User IDs (Second Level)
- Identifiers within a specific namespace
- Examples: alice.redd, bob.crypto, store.finance
- Follow the rules established by namespace owners
- Auctioned with namespace-specific price tiers
-
ReddIDs (Cross-Namespace Identity)
- Cross-namespace identity profiles
- Link multiple user IDs across namespaces to a single identity
- Provide reputation, social connections, and profile features
- Directly registered with a fee set by the namespace owner
The integrated system consists of these key components:
- ReddIDManager: Central controller orchestrating all identity and naming systems
- NamespaceManager: Handles namespace operations and configuration
- AuctionManager: Manages auction processes for namespaces and user IDs
- ProfileManager: Manages ReddID profiles, social connections, and reputation
- ReddIDDB: Database layer for persistent storage of all system data
- ReddIDP2PManager: P2P protocol extensions for network communication
The system implements a strict hierarchical relationship where:
- Namespaces must exist before any User IDs can be registered within them
- Namespace parameters control and restrict User ID parameters
- User IDs must exist before they can be linked to a ReddID
- ReddIDs provide cross-namespace identity linking and social features
- Ownership of user IDs and ReddIDs is verified using cryptographic keys
- Revenue from lower tiers flows partially to higher tiers creating aligned incentives
The core architecture consists of the following components:
- Central controller for the entire identity and naming system
- Coordinates interaction between all components
- Implements validation interface for blockchain integration
- Manages lifecycle of all components
- Provides public API for applications and wallet integration
- Handles namespace registration, configuration, and renewals
- Enforces namespace auction rules
- Stores and validates namespace parameters
- Transfers namespace ownership
- Manages namespace expiration and grace periods
- Implements auction mechanisms for namespaces and user IDs
- Processes bids, finalization, and settlements
- Distributes auction proceeds according to revenue models
- Extends auctions based on anti-sniping rules
- Manages auction states through their lifecycle
- Manages ReddID profiles and properties
- Handles social connections between ReddIDs
- Calculates and stores reputation metrics
- Provides namespace resolution for ReddIDs
- Manages cross-namespace identity linking
- Persistent storage layer for all system data
- Implements schema for namespaces, user IDs, and ReddIDs
- Stores auction history and bid information
- Manages social graph data and reputation history
- Provides efficient query mechanisms
- Extends the Reddcoin P2P protocol for identity and naming
- Propagates auction announcements and bids
- Distributes profile updates and social connections
- Synchronizes namespace configurations
- Validates reputation calculations
The interaction between components follows these main flows:
-
Namespace Creation
- User requests namespace auction creation via NamespaceManager
- AuctionManager creates and validates auction parameters
- ReddIDP2PManager announces auction to network
- After auction ends, NamespaceManager configures the new namespace
-
User ID Registration
- User requests ID auction within a namespace
- AuctionManager validates against namespace rules
- After auction ends, ID is registered to winner
- Revenue is distributed according to namespace parameters
-
ReddID Registration
- User requests ReddID registration via ProfileManager
- ProfileManager validates the request and collects the registration fee
- The fee is distributed according to namespace parameters
- ReddID is registered and profile created
-
Cross-Namespace Resolution
- ReddID links to multiple User IDs across namespaces
- Resolution requests are processed by ProfileManager
- Linked identities can be discovered and verified
The system integrates with the Reddcoin ecosystem through:
- Blockchain Integration: Via OP_RETURN transactions for all state changes
- Wallet Integration: For bid placement, profile management, and key management
- Node Integration: For P2P message propagation and validation
- RPC Interface: For application interaction and user interface support
- External API: For third-party service integration
The system implements specialized auction types for each tier:
-
Standard Auctions: Default for most namespace names
- Duration: 14-30 days
- Deposit: 20% of bid amount
- Reserve price: 10,000-100,000 RDD based on length
-
Premium Auctions: For high-value namespace names
- Longer duration: 30 days
- Higher deposit: 25% of bid amount
- Higher reserve prices: 2-5x standard prices
-
Standard Auctions: Default auction type for most names
- Duration defined by namespace (typically 3-7 days)
- Deposit requirement defined by namespace (typically 10%)
- Reserve price determined by namespace length-based pricing tiers
-
Premium Auctions: For high-value names (short, dictionary words)
- Longer duration (typically 7-14 days)
- Higher deposit requirement (typically 15-20%)
- Higher reserve prices
-
Renewal Auctions: For names approaching expiration
- Current owner gets right of first refusal
- If not renewed, enters public auction
- Grace period implemented before public auction
All auctions follow a standardized state flow with variations by type:
[Initial State] → [Auction Creation] → [Auction Open] → [Auction Ended] → [Settlement] → [Ownership]
Key state transitions include:
- Auction Creation: Creator establishes parameters and makes deposit
- Auction Open: Bidding period active, bids must exceed minimum increment
- Anti-Sniping Extensions: Extensions triggered by late bids to prevent sniping
- Auction Ended: Bidding closed, awaiting finalization
- Settlement: Highest bidder wins, proceeds distributed, losing bids refunded
- Ownership Period: Winner receives ownership with renewal requirements
Each tier implements tier-specific bidding rules, with common features:
-
Minimum Increments:
- Namespaces: 5% minimum bid increment
- User IDs: Namespace-defined increment (typically 5%)
-
Deposit Requirements:
- Namespaces: 20% deposit of bid amount
- User IDs: Namespace-defined deposit (typically 10-15%)
-
Anti-Sniping Protection:
- Namespaces: 12-hour extension if bid placed within final 24 hours
- User IDs: Namespace-defined extension (typically 12-24 hours)
-
Bid Validation:
- All bids must include proof of funds
- Bids must be cryptographically signed by bidder
- Bids below minimum increment are rejected
- Bids below reserve price are rejected
The settlement process follows these steps:
- 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
- Auction proceeds are distributed according to the tier-specific revenue model
- Deposits from losing bidders are refunded (minus processing fees)
- The resource (namespace or user ID) is registered to the winner's address
- All participants are notified of the auction outcome
ReddIDs are registered directly rather than through auctions, with the following process:
-
Fee Determination:
- Registration fees are set by namespace owners
- Fees vary based on factors like name length and desirability
- Premium names may have higher registration fees
-
Registration Process:
- User selects a unique ReddID identifier
- System validates availability and eligibility
- User pays the registration fee
- Fee is distributed according to namespace parameters
- ReddID is assigned to the user's cryptographic key
-
Renewal Process:
- Annual renewal fees to maintain ReddID ownership
- Fees determined by namespace configuration
- Usage discounts for active ReddIDs
- Grace period for late renewals
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 uses Reddcoin's OP_RETURN capability to record identity and naming data on-chain, with specialized formats for each operation type.
Namespace Auction Creation
0 2 3 7 8 16 17 25 26 34 35 39 74
|-----|--|----------|----|---------|----|-----|-----|------|---------|----|----------|
magic op auctionId type nameHash ns start end reserve depositPct configHash
Namespace Bid Placement
0 2 3 7 8 16 17 25
|-----|--|----------|----|---------|----|-----|
magic op auctionId hash bidAmount time
Namespace Auction Finalization
0 2 3 7 8 16 17 25
|-----|--|----------|----|---------|----|-----|
magic op auctionId hash winAmount time
User ID Auction Creation
0 2 3 39
|----|--|-----------------------------|
magic op name.namespace_id (37 bytes)
User ID Bid Placement
0 2 3 7 8 16 17 25
|-----|--|----------|----|---------|----|-----|
magic op auctionId hash bidAmount time
User ID Auction Finalization
0 2 3 39
|----|--|-----------------------------|
magic op name.namespace_id (37 bytes)
ReddID Registration
0 2 3 35 36 44 45 109
|----|--|-----------------------------|-----|-----|------------|
magic op reddid_id (32 bytes) time fee profile_hash
ReddID Profile Update
0 2 3 35 36 100
|----|--|-----------------------------|-----|-----|
magic op reddid_id (32 bytes) time ipfs
ReddID Connection Operation
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 operation codes:
Code | Symbol | Description |
---|---|---|
OP_NAMESPACE_AUCTION_CREATE |
{ |
Create a new namespace auction |
OP_NAMESPACE_AUCTION_BID |
} |
Submit bid for a namespace |
OP_NAMESPACE_AUCTION_FINALIZE |
[ |
Finalize namespace auction to winner |
OP_NAMESPACE_AUCTION_CANCEL |
] |
Cancel a namespace auction (by creator only) |
OP_AUCTION_CREATE |
% |
Create a new user ID auction |
OP_AUCTION_BID |
` | ` |
OP_AUCTION_FINALIZE |
" |
Finalize user ID auction to winner |
OP_AUCTION_CANCEL |
' |
Cancel a user ID auction (by creator only) |
OP_REDDID_REGISTER |
$ |
Register a new ReddID |
OP_REDDID_PROFILE_UPDATE |
# |
Update ReddID profile information |
OP_REDDID_CONNECTION |
+ |
Create/modify social connection |
OP_REDDID_RENEW |
* |
Renew a ReddID registration |
New consensus rules are implemented to enforce:
- Validity of naming and identity operations
- Uniqueness of identifiers across the system
- Correct sequence of state transitions
- Appropriate fee payments
- Authorization of operations
- Namespace rule compliance
- Profile data validity requirements
The P2P protocol is extended with new message types to support the identity and naming system:
Message Type | Value | Description |
---|---|---|
MSG_NAMESPACE_AUCTION_ANNOUNCE |
0x11 |
Announce a new namespace auction |
MSG_NAMESPACE_AUCTION_BID |
0x12 |
Announce a bid on a namespace |
MSG_NAMESPACE_AUCTION_FINALIZE |
0x13 |
Announce namespace finalization |
MSG_NAMESPACE_AUCTION_CANCEL |
0x14 |
Announce namespace cancellation |
MSG_NAMESPACE_CONFIG_REQUEST |
0x15 |
Request namespace configuration |
MSG_NAMESPACE_CONFIG_RESPONSE |
0x16 |
Provide namespace configuration |
Message Type | Value | Description |
---|---|---|
MSG_USERID_AUCTION_ANNOUNCE |
0x17 |
Announce a new user ID auction |
MSG_USERID_AUCTION_BID |
0x18 |
Announce a bid on a user ID |
MSG_USERID_AUCTION_FINALIZE |
0x19 |
Announce user ID finalization |
MSG_USERID_AUCTION_CANCEL |
0x1A |
Announce user ID cancellation |
Message Type | Value | Description |
---|---|---|
MSG_REDDID_REGISTER_ANNOUNCE |
0x21 |
Announce a new ReddID registration |
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 |
MSG_REDDID_RENEW_ANNOUNCE |
0x29 |
Announce a ReddID renewal |
Since the full namespace configuration and profile data are too large for OP_RETURN, they're distributed through the P2P network:
- When a namespace auction is finalized, the winner's configuration is stored locally
- A configuration hash is included in the blockchain transaction
- Nodes can request the full configuration by sending a
MSG_NAMESPACE_CONFIG_REQUEST
- Nodes with the configuration respond with a
MSG_NAMESPACE_CONFIG_RESPONSE
- Receiving nodes validate the configuration against the hash from the blockchain
Similar to namespace configurations, profile data is distributed via P2P:
-
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
Nodes can subscribe to specific types of identity and naming events:
-
Namespace Subscription:
- Nodes can subscribe to specific namespaces of interest
- Filter by namespace ID to receive only relevant updates
- Prioritize relay to interested nodes
-
ReddID Subscription:
- Nodes can subscribe to specific ReddIDs of interest
- Filter updates based on social proximity
- Prioritize updates from high-reputation identities
-
Efficient Relay:
- Messages are relayed based on subscription preferences
- Nodes maintain subscription tables for efficient routing
- Time-sensitive messages (bids, auction endings) receive priority
Stores core namespace configuration.
Column | Type | Description |
---|---|---|
id |
VARCHAR(15) | Namespace identifier (PK) |
owner |
BLOB | Owner's address |
allow_numbers |
BOOLEAN | Whether numbers are allowed |
allow_hyphens |
BOOLEAN | Whether hyphens are allowed |
allow_underscores |
BOOLEAN | Whether underscores are allowed |
min_length |
INT | Minimum name length |
max_length |
INT | Maximum name length |
renewal_period |
INT | Days until renewal required |
grace_period |
INT | Days in grace period |
namespace_revenue_pct |
INT | % of auctions going to namespace owner |
burn_pct |
INT | % of auctions being burned |
node_pct |
INT | % of auctions going to node operators |
dev_pct |
INT | % of auctions going to development fund |
min_auction_duration |
INT | Minimum auction duration in days |
max_auction_duration |
INT | Maximum auction duration in days |
min_bid_increment |
REAL | Minimum bid increment percentage |
reddid_registration_fee |
INT64 | Fee to register a ReddID |
reddid_renewal_fee |
INT64 | Fee to renew a ReddID |
config_hash |
BLOB(32) | Hash of this configuration |
last_updated |
INT64 | When configuration was last updated |
expiration |
INT64 | When namespace ownership expires |
Stores pricing tiers for different name lengths within a namespace.
Column | Type | Description |
---|---|---|
namespace_id |
VARCHAR(15) | Namespace identifier (PK, FK) |
min_length |
INT | Minimum length for this tier (PK) |
min_price |
INT64 | Minimum price for names in this tier |
Stores information about registered user IDs.
Column | Type | Description |
---|---|---|
name |
VARCHAR(64) | Name portion of the ID (PK) |
namespace_id |
VARCHAR(15) | Namespace portion of the ID (PK, FK) |
owner |
BLOB | Owner's address in binary format |
registration_time |
INT64 | When the ID was registered |
expiration_time |
INT64 | When the ID expires |
last_transaction |
INT64 | Timestamp of last transaction using this ID |
transaction_count |
INT | Number of transactions using this ID |
metadata_hash |
BLOB(32) | Hash of additional metadata (optional) |
Stores information about all auctions in the system.
Column | Type | Description |
---|---|---|
auction_id |
BLOB(32) | Unique identifier for the auction (uint256) |
name |
VARCHAR(64) | Name portion of the ID being auctioned |
namespace_id |
VARCHAR(15) | Namespace portion of the ID |
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 in binary format |
deposit_amount |
INT64 | Required deposit amount |
state |
INT | Current auction state |
type |
INT | Auction type (0=standard, 1=premium, 2=verified, 3=renewal) |
metadata_hash |
BLOB(32) | Hash of additional metadata (optional) |
block_height |
INT | Block height when auction was created |
txid |
BLOB(32) | Transaction ID of the auction creation transaction |
Stores information about all bids placed.
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 (unix timestamp) |
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 (for non-winners) |
Stores core profile information for each ReddID.
Column | Type | Description |
---|---|---|
reddid |
VARCHAR(32) | The ReddID (primary key) |
owner |
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 |
registration_fee |
INT64 | Fee paid for registration |
renewal_fee |
INT64 | Current renewal fee |
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 |
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 |
Each tier of the system implements a specialized revenue distribution model to create aligned incentives throughout the ecosystem.
For each successful namespace auction, the revenue is distributed as:
Component | Percentage | Description |
---|---|---|
Burn | 70% | Permanently remove RDD from circulation |
Node Incentives | 15% | Reward node operators maintaining the network |
Development Fund | 15% | Support ongoing development and improvements |
For each successful user ID auction, the proceeds are distributed according to the parent namespace configuration:
Component | Percentage | Description |
---|---|---|
Burn | 50-80% | Permanently remove RDD from circulation (namespace configurable) |
Namespace Owner | 5-10% | Revenue share to namespace owner (namespace configurable) |
Node Incentives | 5-25% | Reward node operators maintaining the network (namespace configurable) |
Development Fund | 5-15% | Support ongoing development and improvements (namespace configurable) |
For ReddID registration and renewal fees, the revenue is distributed as:
Component | Percentage | Description |
---|---|---|
Burn | 50-70% | Permanently remove RDD from circulation (namespace configurable) |
Namespace Owner | 10-20% | Revenue share to namespace owner (namespace configurable) |
Node Incentives | 10-20% | Reward nodes participating in identity verification |
Development Fund | 5-15% | Support ongoing development of identity features |
Pricing across the system varies by tier and follows these general principles:
Based primarily on length, with shorter names commanding premium prices:
- Single character: 100,000 RDD minimum
- Two characters: 50,000 RDD minimum
- Three characters: 25,000 RDD minimum
- Four+ characters: 10,000 RDD minimum
Defined by namespace-specific pricing tiers, but generally following:
- Short names (1-2 characters): Premium pricing (typically 50,000-100,000 RDD)
- Medium names (3-4 characters): High pricing (typically 10,000-25,000 RDD)
- Standard names (5-9 characters): Moderate pricing (typically 5,000-10,000 RDD)
- Long names (10+ characters): Base pricing (typically 2,500-5,000 RDD)
Direct registration fees set by namespace owners, typically following:
- Premium ReddIDs (3-4 characters): 20,000-30,000 RDD
- Standard ReddIDs (5-8 characters): 5,000-10,000 RDD
- Long ReddIDs (9+ characters): 2,500-5,000 RDD
Additional factors affecting price include:
- Dictionary words
- Common names
- Numeric-only IDs
- Pattern-based IDs (repeating characters, sequences)
- Verification status
The renewal model balances stability with prevention of squatting:
- Renewal Period: 180-730 days (configurable, default 365 days)
- Grace Period: 14-60 days (configurable, default 30 days)
- Renewal Fee: 25% of equivalent auction price
- Reclamation: If not renewed during grace period, enters public auction
- Renewal Period: Defined by namespace (typically 365 days)
- Grace Period: Defined by namespace (typically 30 days)
-
Renewal Pricing: Based on namespace configuration:
- Standard renewal: Percentage of equivalent auction price (typically 50%)
- Grace period renewal: Higher percentage (typically 75-100%)
- Usage discounts: Reduced fees for actively used IDs
- Renewal Period: 365 days standard
- Grace Period: 30 days after expiration
-
Renewal Pricing:
- Active ReddIDs (high reputation score): 25% of registration fee
- Standard renewal: 50% of registration fee
- Grace period renewal: 75% of registration fee
The system implements multiple anti-squatting mechanisms across all tiers:
-
Economic Disincentives:
- High initial acquisition costs through auction mechanism for namespaces and user IDs
- Substantial registration fees for ReddIDs
- Substantial renewal fees
- Progressively higher costs for bulk ownership
-
Usage Requirements:
- Activity-based renewal discounts
- Transaction count tracking
- Reputation impacts for inactive IDs
-
Ownership Limitations:
- Progressively higher pricing for multiple premium identifiers
- Verification requirements for high-value identifiers
- Time-delay between multiple registrations
-
Governance Controls:
- Reserved names for trademark holders
- Dispute resolution process
- Malicious use penalties
Key features include:
- Filtering by namespace status and characteristics
- Search functionality for specific namespaces
- Detail view showing configuration and auction status
- One-click access to bidding interface
Key features include:
- Primary organization by namespace
- Filtering by auction type and status within namespace
- Search functionality for specific names across namespaces
- Clear display of namespace rules and requirements
- One-click access to bidding interface
Key features include:
- Username availability checker
- Fee calculator based on namespace and name characteristics
- Profile setup wizard
- Payment processing
- Linking to existing user IDs
Key elements include:
- Clear auction information and status
- Current highest bid information
- Minimum bid requirement calculation
- Deposit amount calculation
- Countdown timer for auction end
- Confirmation controls
Key features include:
- Organization of owned resources by type (namespaces, user IDs, ReddIDs)
- Active bids tracking across all auction types
- Auction watchlist with filtering
- Notification center with alerts
- Renewal reminders grouped by type
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
Key features include:
- Connection visualization and management
- Activity feed of connected ReddIDs
- Reputation trending indicators
- Messaging interface (direct and encrypted)
- Discovery recommendations
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
The implementation follows a phased approach to ensure stable, sequential deployment:
Phase | Timeline | Focus |
---|---|---|
Design & Planning | Weeks 1-6 | System specification, documentation, architecture |
Namespace Development | Weeks 7-16 | Core namespace functionality, auction system |
User ID Development | Weeks 14-22 | User ID auction system with namespace integration |
ReddID Development | Weeks 18-26 | Direct registration, profile system, social features |
UI/UX Development | Weeks 18-30 | Unified interface for all three systems |
Testing & QA | Weeks 22-34 | Testing, security audits, beta program |
Deployment & Launch | Weeks 31-38 | Phased mainnet deployment, monitoring |
The implementation follows a clear dependency chain:
- Namespace System: Must be implemented first as the foundation
- User ID System: Depends on namespace system for rules and parameters
- ReddID System: Integrates with both prior systems for cross-namespace functionality
-
Core Protocol Extensions:
- Define OP_RETURN formats for all operations
- Implement validation rules for each resource type
- Create consensus rules for system operations
-
Database Development:
- Implement comprehensive database schema
- Create efficient indexing for common queries
- Develop synchronization mechanisms
-
P2P Protocol Extensions:
- Implement all message types and handlers
- Create configuration distribution system
- Develop subscription mechanisms
-
Economic System Implementation:
- Implement revenue distribution logic
- Create pricing tier calculation systems
- Develop fee calculation algorithms
-
Identity System Implementation:
- Implement profile data structures
- Create reputation calculation algorithms
- Develop social connection framework
- Implement direct registration process for ReddIDs
-
User Interface Development:
- Create auction browsers for namespaces and user IDs
- Build ReddID registration interface
- Develop configuration and management interfaces
- Create identity and social dashboards
- Develop mobile-optimized experiences
Risk | Impact | Likelihood | Mitigation |
---|---|---|---|
Namespace squatting | High | High | Progressive pricing, verification requirements |
Integration complexity | High | Medium | Clear interfaces, phased implementation, comprehensive testing |
User confusion | Medium | High | Improved documentation, intuitive UI, gradual feature rollout |
Performance bottlenecks | Medium | Medium | Optimized data structures, caching strategies, load testing |
Privacy concerns | Medium | Medium | Granular privacy controls, encryption options, minimal data collection |
Adoption barriers | High | Medium | Intuitive UX, gradual feature introduction, educational resources |
Governance disputes | High | Low | Clear governance framework, dispute resolution process |
The Reddcoin platform maintains governance over system-wide parameters:
-
Parameter Boundaries:
- Minimum/maximum values for namespace configuration
- Revenue distribution ranges
- System-wide fee minimums
- Protocol rules for all operations
-
Reserved Resources:
- Reserved namespaces for official use (.redd, etc.)
- Protected identifiers for system operation
- Trademark protection mechanisms
-
Protocol Evolution:
- System upgrade processes
- Feature addition procedures
- Backward compatibility requirements
-
Security Response:
- Vulnerability reporting and handling
- Emergency response procedures
- System integrity protection
Namespace owners have governance rights over their namespace:
-
Configuration Authority:
- Character rule definition
- Length requirements
- Pricing tier configuration
- Revenue distribution within allowed ranges
- ReddID registration and renewal fee settings
-
Operational Control:
- User ID auction approvals (optional)
- Premium name designation
- Namespace-specific renewal policies
- Usage discount configuration
-
Namespace Evolution:
- Configuration update procedures
- Feature enabling/disabling
- Service integration options
-
First-Level Dispute Resolution:
- Preliminary trademark disputes
- Name squatting complaints
- Usage policy enforcement
A comprehensive framework for handling disputes includes:
-
Dispute Categories:
- Identity ownership disputes
- Trademark and brand claims
- Impersonation claims
- Verification challenges
- Usage policy violations
-
Resolution Process:
- Initial automated assessment
- Peer-based review for standard cases
- Expert panel for complex disputes
- Binding arbitration for unresolvable cases
-
Enforcement Mechanisms:
- Warning notifications
- Temporary suspensions
- Permanent revocations (extreme cases)
- Economic penalties
- Profile flags and indicators
-
Appeal Process:
- Multi-level appeals
- Community oversight
- Transparent decision documentation
- Review mechanism for disputed decisions
-
Cross-Component Integration:
- Seamless data flow between all system components
- Consistent interfaces and formats
- Unified event handling
- Integrated state management
-
Core Protocol Services:
- Integration with Reddcoin staking system
- Compatibility with ReddPay payment services
- Support for smart contract interactions
- Identity-based transaction authorization
-
Application Ecosystem:
- Standard API for third-party applications
- SDK for developers to integrate identity functions
- OAuth-style authentication support
- Webhook notification system
-
Cross-Chain Resolution:
- Resolution protocol for external blockchain identifiers
- Bridge contracts for Ethereum, Binance Smart Chain
- Verifiable claims for cross-chain identity
- Inter-chain message passing
-
Web Standards Compatibility:
- W3C DID (Decentralized Identifier) compatibility
- Verifiable Credentials support
- WebAuthn integration options
- OAuth/OpenID Connect bridge
-
Legacy System Integration:
- Email-based verification processes
- API gateway for traditional systems
- Progressive migration paths
- Hybrid identity solutions
The system exposes a comprehensive API:
-
Core Endpoints:
-
/namespace/*
- Namespace management endpoints -
/userid/*
- User ID management endpoints -
/reddid/*
- ReddID profile and social endpoints -
/auction/*
- Auction interaction endpoints -
/reputation/*
- Reputation data endpoints
-
-
Authentication Methods:
- Signature-based authentication
- Challenge-response protocol
- Delegation capabilities
- Session management
-
Data Formats:
- JSON primary representation
- Compact binary format for bandwidth-constrained environments
- Verifiable credential format option
- IPFS content addressing
- System Architecture Diagram
- Database Entity Relationship Diagram
- P2P Protocol Message Flow
- Auction System Flow Chart
- Namespace Integration Diagram
- Reputation Calculation Model
- Cross-Namespace Resolution Diagram
- Social Connection Model
- Namespace Auction Browser Interface
- User ID Auction Browser Interface
- ReddID Registration Interface
- Bid Placement Interface
- User Dashboard
- Identity Profile Manager
- Social Dashboard
- Mobile Interface Concepts