From The Treasure of the Sierra Madre to Blazing Saddles to Cryptocurrency wallets, badges and their like associate people with roles. RadixDLT employs various tools and features on its layer 1 platform, among which personas, badges, and Radix Off-Ledger Authentication (ROLA) play significant roles. This article expounds on these features and their individual functionalities within the RadixDLT ecosystem.
An Introduction to Personas, Badges, and Radix Off-Ledger Authentication (ROLA) on the RadixDLT Platform
Personas represent user identities within the RadixDLT network. They play a crucial role in data storage, sending and receiving transactions, and enabling access to decentralized applications (dApps). To create a persona, a pair of cryptographic keys – a private and a public key – are required. The private key is responsible for signing transactions while the public key verifies these signatures.
On the other hand, badges serve as digital tokens signifying skills or achievements. These are used as proof of meeting specific prerequisites like completing a course or passing an exam. Badges are created and stored by dApps within the RadixDLT network.
A fundamental distinction between personas and badges pertains to their usage and permanence. Personas are used for user identification and, once created, are irrevocable. In contrast, badges represent achievements or skills and can be revoked by the issuing dApp if deemed necessary.
The following table highlights some differences between personas and badges:
| Features | Personas | Badges | Personas (Real World Examples) | Badges (Real World Examples) |
| Purpose | Identification of users | Representation of achievements or skills | A user profile on Amazon.com for purchasing items and reviewing them, A Stack Overflow user providing answers and comments on programming questions | A Coursera badge indicating completion of an advanced machine learning course, A LinkedIn badge showing proficiency in Python programming |
| Permanence | Permanent | Temporary | A user profile on Twitter used for posting tweets and interacting with other users, A Gmail account used for sending and receiving emails | A badge given for attending the 2023 TechCrunch Disrupt conference, A limited-time badge earned on Duolingo for a 30-day learning streak |
| Revocability | Irrevocable | Revocable | A permanent user profile on a banking application like Chase Mobile for managing financial transactions, A Netflix subscription account for streaming movies and shows | A Microsoft Certified: Azure Fundamentals badge that expires after two years, A seasonal “Winter Explorer” badge on the Fitbit platform, earned for reaching a certain step count during winter months |
| Creation | Via private and public keys | Issued by dApps | A unique user profile on a job search platform like LinkedIn, created using a unique username and password, A cryptocurrency wallet on Binance created using a unique set of public and private keys | A badge issued by GitHub for contributing to open-source during the annual Hacktoberfest event, A Salesforce Trailhead badge earned for completing a specific learning module |
Radix Off-Ledger Authentication (ROLA)
ROLA is a method for user authentication on Radix dApps that enhances security by eliminating the need to store personal data on the blockchain.
The procedure of ROLA involves a user’s Radix Wallet generating a proof of control (PoC) for their identity or account. This proof is subsequently sent to the dApp, which verifies the user’s identity without requiring any personal data.
Steps to Implement ROLA
- Connect to the dApp using a Radix Wallet.
- The dApp requests a PoC from the Radix Wallet.
- The Wallet generates the requested PoC for the user’s identity or account.
- The PoC is sent to the dApp.
- The dApp verifies the PoC, authenticating the user in the process.
Benefits of using ROLA include enhanced security and privacy, scalability, and decentralization, as it does not require storage of personal data, doesn’t rely on centralized verification, and is suitable for expanding user bases.
ROLA Setup Procedure
- Creation of a Radix Wallet: A user is required to input an email address and a password to create a Radix Wallet. It also involves generating a 24-word recovery phrase for wallet recovery purposes.
- Generation of a PoC: The type of PoC to be generated depends on the dApp to be authenticated. PoC types include identity, account, or device-based proofs.
- Sharing the PoC with the dApp: After generating the PoC, it is shared with the dApp for user authentication.
Proof of Control (PoC)
PoC is a consensus mechanism utilized for user or device identity verification. This proof is generated using the user’s private key in the form of a signature. The dApp can then verify the PoC using the user’s public key. If the signature is valid, it confirms that the user maintains proper control over their Radix account.
ROLA as an Application of a Zero-Knowledge Proof
ROLA is an example of a Zero-Knowledge Proof (ZK-proof), a type of cryptographic proof that allows a party to prove knowledge of a certain piece of information without disclosing the information itself. ROLA applies ZK-proofs to allow users to prove control over their Radix account without revealing any further information about their account, such as their identity or balance.
The Specific Zero-Knowledge Proof Utilized in ROLA
The specific ZK-proof used in ROLA is the Succinct Non-interactive Argument of Knowledge (SNARK) proof. SNARKs are efficient ZK-proofs that are highly suited for blockchain applications.
SNARK proofs leverage a cryptographic method called homomorphic encryption, which allows computations to be performed on encrypted data without the need for decryption. This feature makes SNARKs efficient and compact, desirable traits in blockchain applications.
ROLA’s SNARK proof is based on the Groth16 cryptographic scheme, a secure, well-studied SNARK scheme. By using SNARK proofs, ROLA provides secure, privacy-preserving user authentication for Radix dApps. The small and efficient ZK-proofs are ideal for use in blockchain applications, and the use of homomorphic encryption allows for the generation of ZK-proofs that do not reveal any personal user information.

Leave a comment