Today we published the White Paper that accompanies our iXRPL demo.
iXRPL has the following components:
- The User Mobile App: The User uploads their identity documents and XRPL account information via the mobile app to get verified by iXRPL. The app also maintains the rolling encryption keys for the User’s personal documents. When the User wishes to, they can grant access to their digital identity to a third-party service by scanning a QR code.
- RoboNotary: The RoboNotary is a software agent responsible for verifying the validity and truthfulness of the User’s personal documents with the aid of one-time decryption keys sent by the User. Upon verification, the RoboNotary “stamps” the User’s XRP Ledger account with the iXRPL digital identity called “Human UUID”.
- iXRPL Smart Contract: iXRPL’s service is implemented as a decentralized HotPocket smart contract. It is responsible for storing the User encrypted documents, performing encryption key roll over, and serving document access requests from notaries and consumer services when approved by the Users.
- Human UUID: This is a “unique mathematical identifier” assigned to each human being based on legal information contained in their identity documents. The Human UUID is generated by the RoboNotary which verifies the personal identity documents submitted by the User. Once assigned, it is immutable.
- XRPL Account Stamping: Upon generating a Human UUID for a User, the RoboNotary will also “stamp” the User’s XRPL account with the generated Human UUID. This will be publicly visible to anyone and can be considered as a verification seal issued to the respective XRPL account by the RoboNotary. The Trust Lines feature provided by XRPL is used for this feature in iXRPL
- End-to-End Encryption: iXRPL uses strict encryption and key rollover policies to make the personal document storage as secure as possible. The encryption keys always stay with the User, making the personal documents stored in iXRPL inaccessible without the User’s explicit consent. Whenever another party (the RoboNotary or a consumer service) needs to access stored documents, they get a one-time decryption key from the User. The moment the documents are accessed, iXRPL re-encrypts the documents with a rollover key rendering already-issued decryption key invalid. iXRPL also ensures to never to keep any encryption keys stored on the smart contract. They are always stored on the User’s mobile app.
- Consumer Service Integration: Any consumer service can integrate with iXRPL and provide an end-user facility like “Login with iXRPL”. They can display a QR code that is understandable by the iXRPL mobile app. With the QR code, the consumer service can specify what pieces of identity information they are interested in (e.g. birth year and family name). iXRPL mobile app conveys this information to the User in a friendly manner so the User can choose to only send the decryption keys for that specific set of information allowing for a fine-grained privacy control for the User.
Together, these components create a Decentralized Public Key Infrastructure (“DPKI”) smart contract-based identity solution that puts the individual in control of their KYC’d identity and meets the design principles we established for our project.