Introducing Persona — A New Way to Web3

Luke Williams
The Ubiq Report
Published in
5 min readMar 17, 2022

--

Every address on the blockchain has its own unique story. It can represent a smart contract, a service, an oracle, an individual’s sole address or one of many. An address has a rich history, from inception to its final transaction. It can experience both the good times and bad, have a multitude of interactions and relationships, own assets, participate in governance and much more.

But when we talk about these addresses, whether they represent a human or a fridge, things begin to get a little complicated.

“0xa16f just rugged.”

“The address ending in 7Eac58…”

“Can you confirm the last four characters of your address?”

Imagine a world where the only identifier you have is your social security number. It might seem crazy, but we’ve been creating a Web3 for algorithms instead of a Web3 for people.

In the early days of the internet, pseudonymity (a near-anonymous state in which a user has a consistent identifier that is not their real name) was the norm. You were your ideas and the contributions you made to your communities. There was a clear separation between the physical and the digital realms. Genuine interactions and an environment that valued the freedom of speech led to some of the most innovative ideas we cherish today.

The emergence of Web2 led to a massive consolidation of the internet. We moved from independent forums to Facebook groups and subreddits; distributed IRC servers to Discord; self-hosted blogs to Medium; cartoon avatars to selfies. During this great shift, we saw not only a centralization of power, but also identity. For many, any separation between the physical and the digital realms completely dissolved, with a single identity merging both worlds entirely.

And unfortunately, this has been abused in so many ways — from tracking our every move for ad purposes, to shadow-banning or even outright cancellation. We stopped being users of the internet and instead, became its product. We’ve also made ourselves completely vulnerable by connecting everything. When one of our accounts is compromised, it’s likely that others, if not all, will follow. A single digital identity, whether based on a username, email or hash, has become a central point of failure.

But fortunately, we’re no longer in the world of Web2. The rise of crypto and blockchain technology has paved the way for Web3, which is revolutionary, but not without its own unique set of issues.

On a blockchain protocol level, the address (or public key) serves as an entity’s on-chain identity. A cryptographic signature created by the public key’s corresponding private key is used to verify a transaction or message. Digital assets, such as NFTs, may serve as extensions of an identity but at the root is always the key pair.

However, we are not algorithms. A 40-character hex string is not an ideal representation of a digital identity. In an ecosystem built by humans, for humans, a human-friendly name should not be a paid luxury or scarce resource, it should be the default.

Enter Persona.

Persona is a Javascript module that provides a simple, human-friendly identity for Bitcoin and Ethereum-formatted addresses (e.g. Ubiq) by giving them a first name, last name, sex and zodiac sign.

Transform an address from this:

0xb3C4E9ca7C12A6277DEB9eef2dEce65953D1C864

To this:

Kimiko Hirose, female, taurus.

Here are just a few examples of how Persona can be used to improve Web3 experiences:

Block Explorer

Ubiqscan.io without Persona
Ubiqscan.io with Persona

The data becomes more intuitive and easier to read with Persona.

dApps

Without Persona
With Persona

Personalizing dApp interfaces becomes much easier with Persona. “Hello Hideaki, Welcome to my dApp!” is a warmer greeting than “Connected as 0x3eA7…3Af9”.

Wallets

Persona can provide a useful default account title that matches external services and dApps, simplifying multi-account usage.

In many ways, Persona is comparable to Mist Wallet’s Blockies, or MetaMask’s Jazzicons (the colorful icons unique to each address). In fact, they work together incredibly well.

However, where Persona excels is when it comes to human-to-human communication. A name is much easier to communicate verbally or via text than an image or a hex string.

“Kimiko Hirose just rugged.”

“The address belonging to Kimiko Hirose”

Not only does Persona make things more intuitive, it can be used to verify that an address made it to a remote destination without being altered in transit, much like the Jazzicons/Blockies do locally when copying an address from one application to another.

“The address you provided resolves to ‘Kimiko Hirose’. Is this correct?” works via Discord, Telegram, Twitter, in person, and even over a phone call.

The conundrum of not knowing what to enter into a blank username field is often the reason people default to creating an online identity centered around their physical world identity. It’s also the reason many people reuse the same username across many services. Persona takes the pressure off by providing a new default identity to build upon for each address. Personalizing Web3 wherever you go, for as many addresses as you’d like without a second of thought. As an homage to Satoshi Nakamoto, the great pseudonymous creator of Bitcoin, all Persona names are of Japanese origin.

Persona can be easily integrated into any Javascript-based project, as any other module can be. You can see it live now at ubiqscan or check out the module itself on NPM or Github.

Stay tuned for more articles explaining the mechanics behind Persona and other fun stuff.

Join me to help shape a usable Web3 centered around user sovereignty — we can do a lot better than replicating the mistakes of Web2.

--

--