Decentralized Identity and Access Management with Ethereum
DIAM: it’s the obvious acronym for decentralized identity and access management, in which you take the computer software concept of IAM (identity and access management) … and make it decentralized.
It turns out that using the Ethereum blockchain, it is a lot simpler than you would think. About twelve lines of code in our case.
If you want to see a prototype of DIAM in action, all you have to do is:
🕒 wait about 15–20 minutes for our script to pick up your new token and add it to the database (yes, this needs improving).
🗺️ visit https://orthoverse.io/map and find out where your land is currently situated.
🏰 visit https://orthoverse.land and log in using the Ethereum address holding your NFT.
If you go to your newly purchased land, you’ll find an editing bar appears, and you (and only you) can start digging and placing blocks.
Your Ethereum address represent your identity — only you can sign the log on challenge with its private key.
The NFT represents the access management: owning a specific NFT gives you access to editing that section of the database representing a particular area in the world.
The really neat things are that:
1️⃣ you create your own Ethereum address (we don’t have control over that), and
2️⃣ you own your access management NFT, and so you can hold it, or sell or give your editing access to someone else (we don’t have control over that either),
3️⃣ other projects can interpret the NFT in their own way so, for example, someone completely unconnected to our project could run a fan site that only NFT holders can log into and chat in (we also don’t have control over that).
And that’s a simple demonstration as to how NFTs can be about more than speculation, jpegs, and branding exercises.
So now, instead of a voxel game, imagine the NFT represents a “premium account” on a social media site, or “100 million compute units per month” on a cloud computing service, or “an audio book every four weeks” and you might start to understand why this is significant.