Multi-chain DID for ULAS Network: Empowers the advent of DeSoc in the Web 3.0

ULAS Network
ULAS Network
Published in
5 min readJun 22, 2022

Ulas is a Web 3.0 social network consensus, built on core modules like Cosmos SDK, Tendermint Core, and CosmWasm. It is one of the most important networks of the Cosmos ecosystem.

Based on Ulas, we are expecting a wide range of social graphs to be built based on the web3.0 identity system. We use the multi-chain DID mechanism to realize the identity system.

The value of multi-chain DID

Autonomous and controlled user identity

The ultimate goal of multi-chain DID (decentralized identity) is to empower users with autonomous control over their own data in a Web 3.0 world. Ulas ensure citizens’ freedom to talk, share and connect in the social space by protecting their data privacy to resist censorship through blockchain.

Multi-chain Web3 Identity & Data Value Maximization

Ulas multi-chain DID is the foundation of web3.0 identity. with the help of IPFS + IPNS storage, it can expand and integrate the multi-chain data of Web3.0 identity to maximize the data value.

How to implement multi-chain DID technically

Referring to the DIF and W3C DID standards, we have launched a multi-chain DID mechanism based on the Ulas chain (Cosmos ecosystem).

Such implementation through the wallets from different chains, using the signature to achieve a relationship mapping between multi-chain addresses and DIDs and finally achieving DID aggregation of multi-chain identities.

In terms of the specific implementation, we split the multi-chain DID into two modules.

  • Non-transferable contract based on CosmWasm implementation
  • Relational mapping and data storage based on IPFS implementation

Non-transferable Contracts

Cosmwasm is the mainstream smart contract engine module in the Cosmos ecosystem (it can be understood as EVM module of ETH). Ulas links into the Cosmwasm module and implements a series of self-designed contract templates. Non-transferable contracts are an important part of the multi-chain DID mechanism. It is deployed on the Ulas chain. The contracts are integrated and bound through IPFS, attributes to tokenUrl.

Secondly, the non-transferable contract is similar to the NFT contract design — each TokenID of the contract is unique, but the ID format is implemented based on the W3C DID standard: did:ulas:0123...ghi, as follows.

Non-transferability is the most important feature of this contract, and more of its features are similar to Soulbound Token (SBT) mentioned by Vitalik, reference [EIP-4671: Non-Tradable Tokens Standard](https://eips.ethereum. org/EIPS/eip-4671), Non-Tradable Tokens is the core module to build the value of personal reputation score and social relationship upon it.

Relationship Mapping and Data Storage

As we all know, blockchain is not suitable for storing large-scale and high-frequency user data, so it is necessary to seek off-chain storage solutions. On the one hand, it saves citizens’ gas fees, and on the other hand, it improves the read/write/storage speed of user data, both of which are crucial for user experience.

Based on the above requirements, we selected the IPFS storage solution, whose decentralized storage features make user data controllable and censorship-resistant, and the redundant backup mechanism also provides a solid guarantee for storage security.

The read/write/storage speed of IPFS is still different from the current centralized cloud service, so we established an encrypted caching mechanism based on the centralized cloud service to make the user’s experience better.

After satisfying the above requirements, we build a data structure based on JSON for multi-chain DID aggregation mapping:

The user confirms the private key signature through the wallet and transmits the signature information to the Ulas chain through the API. The signature verification function implemented by the underlying module of the Ulas chain will verify it. When the verification is passed, the program will execute the IPFS aggregation mapping data write, and finally, complete the user DID integration with the new chain address, which also completes the new relationship mapping.

When users use Ulas Dapp, they can choose the specified chain data and assets of the specified blockchain for public & binding operations, and the data for related operations are stored in the specified namespace allocated by IPFS — IPNS, that is, each The DID and IPFS storage mapping are unchanged, which avoids IPFS rebuilding the CID(Content Identifier), without bothering the remapping procedure between DID and CID. In short, this will further enhance the user experience.

Application scenarios for multi-chain DID

Web3 Social Graph

The primary scenario of multi-chain DID is to build a profile of non-transferable, aggregated on-chain data & assets, off-chain identity & asset proof Web3.0 identities around Web3 Social Graph. With the profile, citizens from either Ethereum or Cosmos can socialise with friends from other chains, transfer the asset, and expand their social graph that is based on multi-chain data.

Unified Login

Multi-chain DID is generated by a set of private keys. The set of keys will further ensure the unity of multi-chain wallet login without the necessity to create a new private for every chain. The multi-chain login will then be achieved.

Note: Ulas has integrated Cosmos and EVM ecosystem within its unified login system. You can simply use Ulas account to login to both Keplr and MetaMask wallets.

Authentication

A large number of networks involving value, especially the networks of financial products, all require good KYC and AML, especially KYC. It is necessary to obtain the identity information of users, and it is very complicated to authenticate once for each financial website registration, using multi-chain DID for authentication can simplify this process, binding the multi-chain DID with the information under the chain to authorize authentication will do the work. In the future, DID can be used for proxy authentication of each financial network.

Privacy Protection

In the future, the multi-chain DID will be based on the PDC (Personal Data Center) scheme, where personal data is encrypted and stored in the personal data centre (IPFS designated namespace IPNS) and associated with the personal DID. Everyone is responsible for their own data. When a request occurs of obtaining private data of the user, the authorization of the DID is required to decrypt the access.

multi-dimensional privacy protection and secure access to data will be further achieved through selective disclosure and zero-knowledge proof schemes.

How to claim multi-chain DID

We’ll be launching our multi-chain DIDs for collection this week. Stay tuned!

For any queries, don’t hesitate to reach us on:

Website: https://ulas.network

Discord: https://discord.gg/cBzxqDyECp

Twitter: https://twitter.com/ulas_network

Medium: https://medium.com/ulasnetwork

--

--

ULAS Network
ULAS Network

ULAS Network — Foundation of trustless society Landed in #Ulas, a shining star in #Cosmos