2.9 KiB
Endorser.ch Context
Project Overview
Endorser.ch is an API for creating and querying claims in privacy-preserving ways. The system allows users to make cryptographically signed claims (attestations) and confirmations while maintaining control over their personal identifiers' visibility.
Core Principles
-
Privacy-Preserving: Store and retrieve textual data publicly while ensuring identifier visibility is fully controlled by each user.
-
Accessibility: Provide service without cost to users in selected communities, with rate-limiting to manage usage.
-
Verification: Support only cryptographically signed claims and confirmations, ensuring authenticity.
-
Discovery: Enable discovery of other users through visibility networks or users' preferred messaging networks.
-
Utility: Support specific use cases like counting confirmations or aggregating claim totals.
Key Technical Concepts
Decentralized Identifiers (DIDs)
- The system uses DIDs as the primary user identification mechanism
- Visibility of DIDs is controlled by the user
- Hidden DIDs are represented as
HIDDEN_TEXTin responses
Claims and Confirmations
- Claims are attestations made by users about events, actions, or tenures
- Confirmations are verification of claims by other users
- All claims and confirmations are cryptographically signed using JWTs
Merkle-Chained Claims
- Claims are chained together using cryptographic merkle hashes
- The entire system maintains a most-recent merkle hash of all claims
- Each user has their own most-recent merkle hash available
- Observers with visibility permissions can verify they have the latest data
- This enables data integrity verification for both individual users and the entire system
- Supports efficient synchronization and verification of claim histories
Visibility Control
- Users explicitly control who can see their identifiers
- Visibility can be granted or revoked between users
- Claims may be visible but with identifiers hidden
Location-Based Features
- System supports geospatial data for claims and profiles
- Location data can be searched and retrieved in privacy-preserving ways
- Tile-based location indexing for efficient spatial queries
User Profiles
- Users can create and update profiles with descriptions and locations
- Profiles are searchable by text and location
- Visibility rules apply to profile data
Implementation Goals
- Simple-to-deploy service with minimal dependencies
- Fast response times for common operations
- Well-defined rules for visibility and access control
- Scalable architecture for growing user bases
- Resistance to abuse through rate-limiting and verification requirements
Top Use Cases
- Attendance verification for events
- Community participation tracking
- Location-based claim verification
- Peer-to-peer endorsements with privacy controls
- Building trust networks with controlled visibility