Skip to content

Swapy Financial ID

Túlio Braga edited this page Jan 19, 2018 · 10 revisions

Swapy Financial ID is an ERC20 app wallet in which you can create your self-sovereign identity, manage and share your data, and sign transactions. The main features we expect Swapy Financial ID to have are:

  • Create a financial profile using Ethereum and IPFS;
  • Connect to other D'Apps by reading QRCodes or native app integration;
  • Communicate with the connected D'Apps to sign transactions;
  • Share specific financial identity parts to other users;
  • Receive requests to sell your data;

Connecting to D'Apps and signing transactions

Users are able to connect to other D'Apps using their Swapy Financial ID. Swapy will provide a simple library in which D'Apps can use to integrate their identification/authorization to our self-sovereign identity. An integrated application can provide a QRCode (if it is a desktop/browser app) or a "Connect with Swapy" button (if it is a native mobile app) that dispatch an authorization request to the Swapy Financial ID app. The authorization request opens a channel between the Swapy Financial ID app and the D'App, so any transaction dispatched by the D'App may be signed by the ID wallet.

Actively sharing data (single recipient)

There are different ways to actively share data using the Swapy Financial ID app. First of all, the user willing to share his data must browse his identity and select the pieces he would like to share to create a sub-identity with a sub-tree. The simplest way to share consists of generating a QRCode in which the recipient can read and retrieve the data. Another approach consists of saving the sub-identity in the IPFS and sharing the sub-tree hash (IPFS location) with the recipient. Yet, the user may communicate the data using end-to-end encryption, for example using Signal Protocol although it requires a centralized infrastructure (decentralized communication research in progress).

To ensure privacy, Swapy Financial ID combines cryptography and the Selective Disclosure concept. The app encrypts the sub-identity using the recipient public key beforehand. If the sharing approach involves saving the data at the IPFS, it also encrypts the sub-identity tree hash (IPFS location). This way, only the recipient will be able to decrypt and read the sub-identity since he is the only one who holds the private key needed.

Selling data

To sell data, the user may enable its mobile app to browse the Swapy Data Market orders searching for a match between the filters the data buyer set and his financial identity. The user may choose this process to execute in the background, time at a time, or actively dispatch the process by pressing the correspondent button. If the Swapy Financial ID app finds a match between a data buyer order and the user's financial identity (Zero-Knowledge proof), it will disclose who is the buyer, which pieces of data he wants to buy, and whether the sale requires being identified or anonymous. The data owner confirms or cancel the order. To learn more how the buying process happens, read the Swapy Data Market page.