Sonr changelog

2023.04.24 Release - Venus Network - Sonr

changelog cover

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

New Endpoints and Functions

  • Added a GetOldestUnclaimed and ListAllUnclaimed 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

changelog cover

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:

  1. 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.

  2. 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.

  3. 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!

changelog cover

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

changelog cover

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