Products

Science

About us

Login

Donate

Products

Science

About us

Login

Donate

Products

Science

About us

Login

Donate

Products

Science

About us

Login

Donate

Self Framework

Self Framework aims to promote the adoption of decentralized identity solutions and pave the way for a more secure and equitable digital landscape by creating a secure, privacy-preserving, and user-centric solution for managing digital identities.

Structure

Structure

Self Framework SDK

The Self Framework SDK is designed to facilitate seamless integration of third-party applications and services with the Self Network. It provides developers with a set of tools and APIs to interact with the Self Network for secure and privacy-preserving authentication and data sharing.

Self Network

Responsible for providing a decentralized storage solution for the Self Profile data. Ensuring a secure and resilient infrastructure for storing personal data and authentication credentials.

Self Profile

User Interface layer for user interaction and data management. Self Profile instances as EVM smart contracts: Each Self Profile instance is represented as a smart contract on a blockchain, utilizing the account abstraction feature.

Self Network Core concepts

Decentralized storage

The Self Network is built on top of the EVM L2 blockchain Nova, a cutting-edge blockchain platform designed for high transaction volumes and ultra-low transaction fees. Nova's strong security guarantees and Data Availability Committee (DAC) make it an ideal choice for the Self Network, ensuring a high level of data integrity and resilience without the need to develop a dedicated blockchain infrastructure from scratch.

EVM’s account abstraction paradigm allows the Self Network to represent each Self Profile as a smart contract, providing a versatile and extensible foundation for managing user profiles. Additionally, Nova's high throughput and EVM compatibility enable the Self Network to effectively scale to support a wide range of future scenarios.

The InterPlanetary File System (IPFS) is a decentralized, peer-to-peer file storage system designed to make the web faster, safer, and more open. By storing the Self Profile declaration graphs on IPFS, the Self Network can take advantage of the platform's content-addressed, distributed nature to provide secure and resilient storage for user data.

Encrypting the declaration graph data before storing it on IPFS ensures that users' personal information remains private and secure, even in a public, decentralized storage system. This approach aligns with the Self Framework's objectives of providing a privacy-preserving and secure solution for managing digital identity and personal data.

Creating Self Profile

Self Profile instances as EVM smart contracts: Each Self Profile instance is represented as a smart contract on a blockchain, utilizing the account abstraction feature.

Self Profile creation using a factory pattern: New Self Profile accounts are created by cloning a singleton reference implementation through a factory pattern, which is responsible for ensuring Self DID uniqueness.

Unique handle management

The Self Framework generates a unique identifier (DID) for each user, adhering to the W3C DID standard. To ensure uniqueness, the Self Network implements a registration mechanism that verifies the availability of a given handle before assigning it to a new user. The Self Framework's DID management system aligns with the Decentralized Identifier (DID) specifications set forth by the World Wide Web Consortium (W3C). This ensures interoperability with other decentralized identity systems and compliance with established standards in the digital identity space.

Social recovery

To safeguard users against the loss or theft of their unique identifiers, the Self Framework incorporates a social recovery mechanism. This feature allows users to designate trusted contacts who can assist in recovering their DIDs and associated data. The recovery process employs a secure, multi-signature scheme that requires a majority of designated contacts to authenticate the recovery request.