Sonr changelog
2023.04.24 Release - Venus Network - Sonr
In this release, we have introduced a new mint mechanism that mints tokens only during successful MPC wallet generation events. This approach incentivizes validator nodes in the Sonr system to actively participate in account generation. Validators are required to generate a minimum of 20 accounts every 100 blocks to prevent their stake from being slashed. Clients requesting new account creation receive credential creation options from the public REST API for their service origin and claim preconfigured wallet addresses. Additionally, we have implemented numerous bug fixes and improvements to enhance the overall user experience and security of the Sonr platform. Read on to discover the complete list of updates.
Features
Multiple Algorithm Support
Added support for multiple algorithms for registering credentials (credential.go, params.go)
Added support for EdDSA algorithm (params.go)
New Endpoints and Functions
Added a
GetOldestUnclaimed
andListAllUnclaimed
endpoint (did.go)Added a
GetCredentialCreationOptions
function (record.go)Added a
GetServiceAssertion
endpoint (routes.go)
Wallet and Identity Improvements
Changed the parameters for
NewWebauthnCreationOptions
to include an alias instead of a UUID (params.go)Added a
webAuthentication
struct (session.go)Added an Assign function to the WalletClaims interface (claims.go)
Added
AlsoKnownAs
field to DID document (claims.go)
Mint Mechanism and Coin Distribution
Added a call to MintCoins in the EndBlock function of AppModule
Bug Fixes
Status Code and Error Message Updates
Changed status code from 500 to 404 if unclaimed wallet is not found and added more information to the error message (service.go)
Changed status code from 403 to 403 and added more information to the error message if attestion verification fails (service.go)
Changed status code from 500 to 500 and added more information to the error message if controller creation fails (service.go)
Changed status code from 500 to 500 and added more information to the error message if JWT creation fails (service.go)
Linear Issues
More improvements & fixes
Deploy Hasura GraphQL API
Scaffold new x/hns Module
Create TLD Type for Genesis
Create SLD Type for Genesis
Add Params to set Query Resolver Address
Design/Implement Empty State for Accounts
Investigate from ERC-4337 Account Abstraction
Finalize Video Animator for Account Creation Demo Highlighting Technology
Investigate Sardine On-Ramp
Utilize AliasCheck for Login and Registering an Account
Add Chain ID to CreateAccount and DIDDocument
Sonr is a peer-to-peer identity and asset management system that leverages DID documents, Webauthn, and IPFS — providing users with a secure, user-friendly way to manage their digital identity and assets.
UCAN Storage Encryption
We are pleased to announce the completion of Client Storage Buckets implementation over IPFS and Highway Protocol. This update brings enhanced functionality and increased security to our platform. Here's a brief overview of the key features:
Highway Protocol Integration: We have integrated the Highway Protocol, a peer-to-peer networking solution that facilitates secure, efficient, and reliable communication among nodes in the network.
UCAN Spec Integration: The User Controlled Authorization Network (UCAN) specification has been integrated into our platform, allowing users to delegate control and access to their IPFS resources securely.
DID Document-based Token Issuance: We have incorporated Decentralized Identifiers (DIDs) into our token issuance process, allowing for a more secure and streamlined management of user identities and their associated digital assets.
This update marks an important milestone in our ongoing commitment to provide a secure, scalable, and user-friendly platform for decentralized identity and digital asset management. We look forward to continuing to enhance and expand our offerings in the future.
Mercury Upgrade Deployed!
The final software upgrade for our DevNet chain has been deployed, and we're all in on transitioning to TestNet! This release builds on the "rebuilt from scratch" announced on January 17, 2023.
➡ Highlights
IPFS Gateway and Resolver Deployed!
UCAN Storage Encryption
Tightened x/identity and Cosmos SDK Integration
Standardized Type Definitions
Cosmos Signature Authentication (Next Step IBC)
...and introducing ETHAccount, and BTCAccount interfaces!
➡ UCAN ❤️ Sonr
The UCAN Specification by the Fission Labs team was a stunningly seamless integration within the Sonr DID Spec. Documents can Issue/Verify Claims and create Attestation/Origin Tokens - all while using JWKs as an authorization header for the Vault API endpoints. We plan to utilize the recent WebTransport implementation by the Libp2p team for the upcoming motor.js.
➡ Generic Blockchain Accounts
There's little dispute that we will live in a Multi-Chain future. The Sonr MPC protocol offers a Decentralized Solution to the traditional onboarding mechanism in Web3, greatly alleviating user friction points. Our latest release has begun migrating our Account Interface to allow for custom transaction signing implementations. This includes the initial development of accounts for BitCoin and Ethereum.
So far, we have incorporated the following hashing functions:
Keccak-256 (Ethereum)
SHA-256 (Bitcoin)
BLAKE-3 (Sonr Authentication)
What's Next?
The primary focus of our next upgrade (Venus) is to coordinate the launch of our Testnet to the general developer audience. We anticipate reaching this goal by the end of March - Early April. Outside of what's on our roadmap, we will be prioritizing these initiatives:
IBC Integration and Cosmos Hub Testnet Interactions
Interchain Account Support with DIDDocuments
Rosetta Client Implementation for Generic Accounts
Upgrade Motor API to support x/identity
Full Changelog
Improvements
Build Account Abstraction for Network Fine-Tuning
Interface cryptotypes.pubkey over Share Config
Separate Vault, Auth Service for UCAN/MPC
Use Bitswap for PubKey Varints Encoding
Allow DID Service to operate as a Relaying party
Create protocol implementation under x/identity
Provide Server Context to underlying WebAuthn Service
Use Blockchain Keeper State to Query Accounts
Integrate Nebula Design System
Implement API Playground for Core Cosmos Modules
Inherit IPFS API and IPFS Node methods for Motor
Features
Introduce OrbitDB for structured IPFS Storage
Create Wallet Store Interface
Add WalletConfig to DID Controller Interface
IPFS NACL Secret Box Encryption
Introduce OrbitDB for structured IPFS Storage
Create Wallet Store Interface
Add WalletConfig to DID Controller Interface
IPFS NACL Secret Box Encryption
Support UCAN Token Generation Over Account
Implement x/identity PubKey MultiCodec
Add Challenge and Authentication Methods
Add Alias/Domain Registration Methods
Enable Proposal Based Upgrades
Chores
Add Method to return SignerData from AccountConfig.
Create Enum Types for Common Token Denominations
Build Conversion Ramp for Credentials
Utilize CosmoVisor for Upgrades
Backup Genesis File on Network Upgrades
Migrate Generation to buf.gen.yaml
Add Generation Script for Types
Integrate Upgrade Module
Merge Docs Repo with Blockchain Repo for Mint
Transfer CI/CD Pipeline from GitHub Actions to Buddy.Works
Bug Fixes
Publish IPFS Gateway to Sonr.Space API Endpoints
Restrict IPFS HTTP API Access to Validator Nodes
Publish the latest types to the registry on GitHub Actions Tag
A New Beginning: Introducing x/Identity
We are excited to announce the (soft launch) of our latest module for our Cosmos Blockchain. Sonr is a self-sovereign data platform that enables developers to build user-centric, privacy-preserving applications, all secured by a Cosmos-powered blockchain.
Sonr utilizes DID documents, Webauthn, IPFS, and multi-party computation, to provide a fully decentralized mechanism for identity and crypto asset management. This allows developers to create user-friendly and secure applications while ensuring users maintain control of their data and assets.
The x/identity module results from the culmination of multiple existing elements in the Sonr component stack. By leveraging the default P2P nature, we were able to optimize our "Decentralized-Wallet-As-A-Service" significantly.
180% Faster - Execution Time dropped on all tests from roughly 40s to >2s (huge news!!)
150M+ Encryption Parameters - Secure IPFS Storage
Much better Web Support - Libp2p over gRPC, HTTP, and WebTransport
And most recently, BTC, ETH, and FileCoin Wallet Generation Support.
Features
Implement x/Identity Module Query Methods
Implement x/Identity Keeper gRPC Message Service
Support CGGMP Algorithm
Build Host Interface for MPC Online Network
Create Motor Interface for Interacting with Remote P2P Peer
Design and Implement Next.js Login/Register Panel for WebAuthn
Design and Implement Flutter Dashboard View for Account Management
Integrate Libp2p JS to Interact with Vault Methods over gRPC
Enable Pubsub and IPLD on Highway Node
Build Offline Implementation of Point Network for MPC
Improvements
Add Docs API Playground for Core Cosmos Modules
Inherit IPFS API and IPFS Shell methods for Motor
Utilize Kubo as Library for Sonr Highway Protocol
Integrate Libp2p Pubsub for Broadcast Communication
Build gRPC Server with Libp2p Host for Vault System
Utilize GPT-3 for Generating Docs Glossary Terms
Create Vercel Serverless Functions to Store Docs
Enable Namespaced Routing Discovery for All Nodes
Chores
Utilize CosmoVisor for Upgrades
Merge Docs Repo with Blockchain Repo for Mint
Remove Deprecated Protocols
Remove Pseudo Network Interface
Upgrade Module to v0.46.x
Remove Isolated Process Generation
Build Protocol Initialization Sequence
Migrate Node Interface to Utilize IPFS CoreAPI for Embedded Node
Add x/Identity API Playground to Docs
Add Ecosystem to Links in Docs
Deploy Private IPFS Cluster
Bug fixes
Fix DID Document Resolution Tests
Fix DID Specific Query Methods
Transfer CI/CD Pipeline from GitHub Actions to Buddy.Works
Remove Deprecated Modules
Remove IPFS Shell Reference for Add/Get with Node