- Learn the Basics
- Technology
Learn the Basics
Technology
Collection of Components and Technology used in Sonr
Identity
Our base DID (or decentralized identifier) follows a syntactic structure of the root (your DID), followed by a method (or in our case sonr), then followed by a public key.
DID Documents are a key component of the decentralized identity (DID) ecosystem. DID Documents are used to represent the identity of a subject (such as a person or organization) on a decentralized ledger, such as a blockchain. A DID Document contains information about the subject, such as their public keys, authentication methods, and other relevant data. DID Documents are stored on a decentralized ledger and can be accessed and updated by the subject or their authorized agents.
DID Documents are designed to provide a secure, decentralized, and interoperable way to manage digital identities. They are a key building block of the decentralized identity ecosystem, which is being developed to provide individuals and organizations with control over their own digital identities and data. DID Documents are intended to enable a wide range of applications and use cases, from enabling secure online authentication to enabling decentralized applications (dApps) to interact with digital identities in a secure and interoperable way.
Verifiable credentials are digital documents that contain verifiable information about an individual or organization. They are designed to be secure, decentralized, and interoperable, and can be used to represent a wide range of information, such as educational qualifications, professional licenses, or membership in a particular organization.
Verifiable credentials are an important part of the decentralized identity ecosystem because they provide a secure and decentralized way to manage and share information about an individual or organization’s identity. Because verifiable credentials are stored on a decentralized ledger, such as a blockchain, they can be accessed and verified by anyone with the appropriate permissions. This allows individuals and organizations to control their own digital identities and data, and to share it with others as needed.
The WebAuthnAuthentication2018
type is a specific implementation of the
WebAuthn standard that is used in DID Documents. It includes information about
the authentication method used, such as the challenge, domain, and
verification method, as well as the time at which the authentication was
performed. This information can be used to verify the authenticity of the
subject’s identity and the authenticity of the DID Document.
WebAuthn (Web Authentication) is a standard for secure and scalable online authentication that can be used with DID Documents. WebAuthn is designed to provide a secure, interoperable, and user-friendly way to authenticate users online. It allows users to authenticate to online services using a variety of different authentication methods, such as biometric authentication (fingerprint or facial recognition) or hardware tokens (such as a security key).
WebAuthn is designed to be compatible with DID Documents and can be used to authenticate users using their decentralized identities. By using WebAuthn and DID Documents together, online services can provide users with a secure and decentralized way to authenticate themselves and access their data. This can help to improve the security and privacy of online authentication, while also making it easier for users to manage and control their digital identities.
Peer-to-Peer (P2P)
Sonr is built to be decentralized, self-sovereign, and interoperable.
Libp2p is a network stack and peer-to-peer (P2P) networking protocol for building decentralized, distributed applications. It is designed to be modular, extensible, and resilient, allowing developers to easily build complex, scalable P2P systems.
Libp2p is written in the programming language Go, and it is used by a number of popular blockchain and decentralized technologies, such as the InterPlanetary File System (IPFS), Filecoin, and Ethereum. It is also a core component of the Cosmos SDK, which is a toolkit for building blockchain applications on the Cosmos platform.
Libp2p provides a number of key features that make it well-suited for building decentralized applications, including support for multiple transport protocols, encryption, authentication, and peer discovery. It also has built-in support for a variety of popular P2P protocols, such as BitTorrent, Bitcoin, and Kademlia.
InterPlanetary File System (IPFS) is a distributed, peer-to-peer (P2P) file-sharing protocol and network that is designed to make it easy to share and distribute large amounts of data over the internet. It is a decentralized system that does not rely on any central servers or authority, and it allows users to access and share files using a global network of participating nodes.
IPFS uses a combination of content-addressing and a distributed hash table (DHT) to store and retrieve files. When a user adds a file to the IPFS network, it is given a unique identifier (called a “content ID”) that is based on the file’s content, rather than its location. This allows the file to be easily accessed and shared using the content ID, even if the original location of the file changes or is no longer available.
IPFS has a number of advantages over traditional client-server-based file-sharing systems, such as improved performance and scalability, and greater resilience and security. It is also well-suited for sharing large amounts of data, such as videos, images, and other multimedia content.
Handshake is a decentralized, open-source protocol for registering and managing internet domain names. It is designed to be a more secure, decentralized alternative to traditional domain name systems (DNS), which are typically controlled by a small number of centralized authorities.
In the Handshake system, users can register and manage domain names using the Handshake native token (HNS). This allows users to have full control over their domain names, without having to rely on a central authority to manage them.
Handshake domains are similar to traditional internet domains, but they have a few key differences. First, they use the “.handshake” top-level domain (TLD), rather than the more common TLDs such as “.com” or “.org”. Second, they are not compatible with traditional DNS servers, so users must use a Handshake-compatible resolver in order to access Handshake domains.
Blockchain & Cryptography
Sonr is built to be decentralized, self-sovereign, and interoperable.
The Cosmos SDK is a software development kit (SDK) for building blockchain applications on the Cosmos platform. The Cosmos platform is a decentralized network of independent blockchains that are interoperable with one another, meaning that they can exchange data and value with each other through a shared hub.
The Cosmos SDK is written in the programming language Go, and it provides a modular, scalable framework for building blockchain applications. It includes a variety of modules and libraries that developers can use to create custom blockchain applications, such as modules for handling governance, staking, and inter-blockchain communication (IBC).
One of the key features of the Cosmos SDK is its support for building applications using the Cosmos Hub’s native token, ATOM. Developers can use ATOM to incentivize user behavior, secure the network through staking, and as a unit of account for their applications.
CosmWasm is a type of smart contract that is designed to run on the Cosmos blockchain platform. It is written in WebAssembly (Wasm), which is a low-level, high-performance binary format that is designed to be executed by a virtual machine. This makes it well-suited for running complex, computationally-intensive tasks on the blockchain.
CosmWasm smart contracts are modular, meaning that they can be composed of multiple independent components that can be reused and combined in different ways. This allows developers to build sophisticated, customizable smart contracts without having to start from scratch each time.
CosmWasm also offers a number of security features to protect against common vulnerabilities, such as the ability to perform contract upgrades without affecting the underlying state of the contract, and the ability to perform on-chain verification of contract code to ensure that it is free of errors and malicious intent.
Delegated proof of stake (DPoS) is a variant of the proof of stake (PoS) consensus algorithm that is used by some blockchain networks. In a PoS system, the creator of a new block is chosen in a deterministic way, depending on their stake (or ownership) in the network. In a DPoS system, this decision is made by a group of “delegates” who are voted in by the stakeholders in the network. The delegates are responsible for validating transactions and creating new blocks, and they are rewarded for their work with a share of the network’s transaction fees.
A multi-party computation (MPC) wallet is a type of cryptocurrency wallet that uses MPC technology to enable multiple parties to share control over a single wallet without revealing their individual secret keys to one another. This allows users to securely manage their funds and make transactions without having to trust each other or a third party.
In an MPC wallet, the secret key for the wallet is split into multiple parts, with each part held by a different party. In order to make a transaction, a quorum of parties must come together and combine their parts of the secret key to create the full key, which is then used to sign the transaction. This ensures that no single party can access or spend the funds in the wallet without the consent of the other parties.
MPC wallets are often used in situations where multiple parties need to share control over a single wallet, such as in a business setting where multiple employees need to be able to access company funds. They can also be useful for individuals who want to share a wallet with their family or friends without having to fully trust them with their secret keys.