PromptNetwork is a decentralized network that manages the sharing of private information between creators and collectors.
Please note that the current version uses a centralized network, the first decentralized network, the Arctic network, is scheduled to go live in Q4.
We require the use of a key management system (PromptNetwork) to protect private data stored on public blockchain and IPFS networks. Without it, it would be practically impossible to share private data on public infrastructure.
To secure private data from start to finish, three different types of encryption are used for various purposes and stages.
- 1.Symmetric Encryption
- Before creating an NFT, the creator initiates a request to PromptNetwork for a symmetric key to encrypt private metadata.
- The encrypted metadata is then combined with public metadata, uploaded to IPFS, and a CID is obtained.
- This CID serves as a reference for the NFT creation.
- 2.Asymmetric Encryption
- The network matches the creator with one of its nodes, then the creator encrypts the symmetric key using the selected node's public key.
- The selected node acts as a trusted proxy and utilizes its private key to produce a transform key for the next process.
- 3.Transform Encryption
- A token holder requests authorization to access the creator's NFT metadata by signing a message with their private key and sending it to the node.
- A node receives a signed message, extracts the public key, and confirms the ownership of the NFT by verifying it against the smart contract.
- A node uses a transform key and the token holder's public key to re-encrypt the symmetric key and sends it back to the token holder.
- The token holder receives a encrypted message from the node, which they can then decrypt with their private key to access the creator's symmetric key, which then allows them to decrypt the original content stored in the NFT's metadata.
A sequence diagram
The current version of the project is based on a centralized model, designed for simplicity and quick development, and is maintained by the core contributors.
Current Version Architecture
It works by when creating, the user first obtains a data encryption key from the network. This key is then used to encrypt the private metadata that needs protection and added as metadata to the NFT. The token holders then can prove ownership of the NFT to the network and receive a decryption key, which they can then use to decrypt the data.
The decentralized network specifications and details are currently in preparation. Please check back for updates.