About twenty years ago it was a fun new experience to log into an application or website and see your own face in the website’s header. Soon, all you had to do was make an account with a popular social site or email provider and use it everywhere you went. This provided a great experience for a couple of reasons; you didn’t have to add another password to yet another database, and you could know at a glance that the website you were using had the correct account associated with it. It also provided a mechanism to build trust. If you, as a customer, could look at an e-commerce seller’s profile and double-check it on other websites, it increased your trust that the seller’s identity was legitimate and that they cared enough about their reputation that they would be less inclined to scam you. As a potential employer, you could glean information from a resume and a candidate’s online presence to gain insight into who they really are. Over time, however, privacy concerns have taken center stage**.** I do not need to elaborate on how very popular apps sell your data to the highest bidder or point out any of the other egregious examples of poorly secured identifying records that led to breaches like the “Mother of All Breaches” where 26 billion records were stolen from popular sites like Facebook, Venmo, Snapchat, and X. The novelty of everyone knowing everything about you everywhere you go online has worn off and the tech world is collectively working on a better way. This comes in the form of decentralized identities.

At its core, a decentralized identity is an open-standards based identity framework that uses digital identifiers and verifiable credentials that are self-owned, independent, and enable trusted data exchange. In layman’s terms, you control your identity and whenever you verify it with another party, they do not know the parts you don’t want them to. Instead of having to give up your address, phone number, date of birth, and last 4 digits of your social security number, every time you register for some new service or call a billing department, you only have to prove that you own the digital identifier (some kind of “key”) and all the verification happens in the background. Imagine if you could verify your school records with your employer without waiting for certified snail mail. After all, why does everyone need to know everything personally identifiable about you just to provide you with some service?

The advent of public blockchain technology being used for finance has brought with it massive amounts of innovation around identity and a shift in thinking about who should be responsible for gaining trust. In the onchain world of web3, everyone’s public identity is essentially their wallet address, which is a long stream of letters and numbers (like “0x217Ec1aC929a17481446A76Ff9B95B9a64F298cF”). If you want to send money to someone, that’s all you need - no phone number, email address, name, nothing else. When you conduct a transaction, it is the network’s responsibility to ensure that the funds go to the intended recipient and no one else, and all it needs is the public and private key pair that is represented by the sender’s wallet.

If you would like to customize your wallet address, there are many ways to do it, with the most popular being the Ethereum Name Service (ENS). All you would need to do is buy an ENS Non-Fungible Token and assign a name (with “.eth” affixed to the end of it). You could make your address “showmedaloot.eth” or “nevergonnagiveyouup.eth” and when you want to receive money through the blockchain that’s all you would have to share. This is the first major trend to come out of decentralized identities - making the unique identifier pretty. ENS is a service that is baked into the protocol. Webapps know that many users have one, and common auth npm packages know to look for them, and usually display them in the header, similar to the design norms we have gotten used to. Here are the steps to create a customized name and avatar image using ENS that will show up on nearly every dApp that implements it.

Create a wallet and view its randomly assigned address. This address will be your entire identity on the blockchain for now. For this article we will use the Coinbase Wallet Extension for Chrome. I’ve found Coinbase’s UX to be my personal favorite.On that note, I recommend Brave as a browser instead of Chrome, since Brave is more secure and you have to explicitly allow various connections for websites to track you. My wallet address after creating a new wallet is 0xFF4fBe946a76A8a1e11698c5744E6743e014049D. To view the public activity of any wallet, one could use Zapper which is a portfolio viewing webapp that has a user-friendly interface for viewing the details of all your onchain activity. In the upper-right corner, before signing in, this is what you see.

Connect Wallet button opens the next dialog

When you click “Connect Wallet” and choose Coinbase Wallet, the browser extension you just installed pops up to verify you wish to connect, effectively signing in.

the selection at the bottom is for the wallet connected to a Coinbase brokerage account

Since this is a brand new address, there is not much to see. In the upper right corner (and on the left side, just below the header) you can see a shortened version of the wallet address and a randomly generated image.

After going through the prompts on the ENS website, a unique customized identity is created.

Then, going back to Zapper, I noticed that without taking any action, my customizations are reflected in the website!

You will notice, however, there is a little ENS-specific icon in the lower right hand corner of the avatar.

This is because I uploaded an image, rather than assigning an NFT that points to an image behind the scenes. It’s an important distinction. NFT’s are typically irrevocable links to small buckets of data that a wallet owns. Rather than taking an image on your computer and uploading it to a website’s database, the website can look at publicly assigned NFT’s of a given wallet and show that to the user without storing anything itself. An identity becomes governed by the things the user owns.

When you think about it, this makes sense. When you think about yourself and who you really are… are you your birthday? Are you your social security number or your address or your house or phone number? Most often you think about your past, your memories and experiences, your words, and your deeds. Github Badges are a great way for a developer to use their experiences to build their public identity, and in a large way, this is how NFT collectors view their collections. There are even special kinds of free NFT’s that are specific to events you attend called POAPs (Proof of Attendance Protocol). If you wanted to, you could mint this article you are reading right now and forever prove you read it, or at least got as far as this sentence. NFT’s are extensions of ourselves, and users take pride in how their identity is represented online while wanting to keep other things private.

nft://8453/0x3EBCc5CAd07091a05c45C5DE6864e1FaaD7b8777/1?showBuying=true&showMeta=true

After assigning my ENS profile image as an NFT I created and own, it shows up in my Zapper profile as being certified. This NFT is going to be the default image at the top whenever I visit decentralized applications (dApp’s). When I visit Uniswap, another dApp for swapping tokens, this is what I see after connecting my wallet.

The reason this works is because all of the data and protocols are publicly available due to the nature of the Ethereum blockchain, but many companies in the corporate world opt to use Distributed Ledger Technology in a closed system, so as to not expose confidential data. This can present extra challenges in displaying rich images, since the web address to the images would not be public, and nodes on the chain would be responsible for housing the data, which incurs real, often unforeseen costs. But there are still ways to take the principles mentioned above and apply them to your use case. Instead of the pretty unique identifier looking like a username, you could make it a short string of characters that are easy to remember and used internally. An employee or server could have six to eight digits representing their start date or creation date as their unique identifier, and the image could be a base64 hash of colors representing that date. In my experience, the key is to make users feel like they’ve earned it. Filling out details to create a profile can be tedious, so you have to give your users some reward to enhance their experience and give them a reason to do it in the first place. Things like making the shape of an avatar change from a circle to a hexagon, or using color and icons to show an identity has been verified have become commonplace. These are ways to increase trust at a glance.

Another challenge that closed systems face is that since the ledger is not public, users are not as concerned about non-repudiation. Oftentimes, just knowing that a permanent record exists of all your interactions onchain acts a deterrent from nefarious activity that may look “scammy” to others. So why not show all these actions in a very obvious place in the UI? Then users would at least know that within the closed system, their actions are being tracked and their history and reputation matters. It would also make it easier for them to find important historical context on their account.

I happen to own one of the first NFT’s ever created on the Optimism chain, just barely beating the competition by about one day. I am never going to sell it, because to me it represents the race to be first and the late nights and weekends spent learning about blockchain technology, which ended up reinvigorating my love of development and taught me so much about sovereignty in one’s digital footprint. It is that experience that I value much more than looking at a picture of myself from however many years ago, sitting in the upper right corner of a screen.

So to recap…

  • Make the unique identifiers pretty

  • Allow customization

  • Make the customizations based on things the user has that represent experiences

  • In closed systems, be creative and reward users for making their identity robust

  • Show them their history so they know every action they take is stored permanently in an immutable ledger

Mirror文章信息

Mirror原文:查看原文

作者地址:0xFF4fBe946a76A8a1e11698c5744E6743e014049D

内容类型:application/json

应用名称:MirrorXYZ

内容摘要:4bYKCcnUlRw-16UH35SQ3YzYiRfgEoKgAUXamvV2FPM

原始内容摘要:MnKSvYuHGFcPRj5z4VkWI5cxuFkfgsUzL9dtFgoD4DA

区块高度:1452958

发布时间:2024-06-26 17:27:38