-
Notifications
You must be signed in to change notification settings - Fork 0
Identity Validation Fixes
O edited this page Dec 23, 2025
·
1 revision
-
Fixed: Implemented proper ECDSA signature verification using
CPubKey::Verify() -
Location:
src/consensus/o_tx_validation.cpp::ValidateUserSignature() - Status: COMPLETE
-
Created:
IdentityProviderRegistryclass to store provider public keys -
Files:
src/consensus/identity_provider_registry.hsrc/consensus/identity_provider_registry.cpp
- Features: Thread-safe, supports whitelisting, provider activation/deactivation
- Status: COMPLETE
-
Fixed: Updated
ValidateProviderSignature()to use registry with cryptographic verification -
Location:
src/consensus/o_tx_validation.cpp::ValidateProviderSignature() - Status: COMPLETE
- Fixed: Changed whitelist behavior to fail-safe (empty whitelist = no providers allowed)
- Security: Only whitelist providers with valid public keys and active status
- Status: COMPLETE
-
Renamed:
BrightIDUserβVerifiedUser,CBrightIDUserDBβCIdentityUserDB - Files: Core structures in headers updated
- Backward Compatibility: Type aliases added for gradual migration
- Status: PARTIALLY COMPLETE (core structures done, .cpp file updates in progress)
-
Created:
IIdentityProviderabstract interface andRegisteredIdentityProviderimplementation -
Files:
src/consensus/identity_provider_interface.hsrc/consensus/identity_provider_interface.cpp
- Status: CREATED but has compilation issues (forward declaration needed)
- Cryptographic Verification: All signatures now verified using ECDSA
- Provider Whitelist: Fail-safe default (empty = deny all)
- Public Key Management: Centralized registry for provider public keys
- Signature Validation: Both user and provider signatures properly verified
- Fix compilation issues in
identity_provider_interface.cpp(forward declaration/include order) - Complete
.cppfile updates forVerifiedUserrenaming (145+ references) - Update all usages of
g_brightid_dbto consider new naming - Test the new signature validation with actual transactions
- Configure provider public keys in the registry
- Compilation: In progress (some errors to fix)
- Unit Tests: Not yet created
- Integration Tests: Not yet created
Β© O International
A Nonprofit Association Focused on the Creation of a Water Price-Based Stable Coin
Association de Loi 1901 β France NumΓ©ro de Siret (French SIREN): 924 014 467 00014