Normally you start with an about page. Like hanging a sign at my front door or those ubiquitous posters in US front yards informing passers-by about causes. The goal: Making sure everyone knows what this is about.
And here lies the problem: I don't know what this will be about. I write about networks and systems and (science) fiction, but I have no home for more technical web3 writing. Right now, this place will be for my more technical web3 writing. I can foresee an overlap between my blog on networks and the writing here.
I first thought about researching chains, starting with Pocket Network as we got a grant from them. But then events catapulted me into the world of Flashbots, servers and MEV extraction. Resurfacing normality on Sunday I decided "this will be my post number 1". I wowed to put quantity before quality.
With another turn of events I was reminded of the 100Builders I joined. Ups. Did nothing for this project. I made another promise to myself: Change it this week. Work everyday a bit on it. I wish I could commit 100% to this project, but I don't have that luxury.
For 100Builders I'm creating an offchain reputation score based on Discord data. It's the first step. My vision is that users can mint their reputation as a dynamic NFT. Or it's a credential linked to their wallet and stored on Verida. Or...it should be something private users can decide to share. The score should be derived on other people's actions and yours.
Why Web3 Reputation
In web3, you can join a bunch of discord servers, but you don’t know their members. Some servers are full of scammers and you have to trust the community that everyone is looking out for each other. I joined the Flashbot server and kudos to them for their excellent communication norms. That’s a hard server to be a mod in! That’s the social layer of web3.
Then there is onchain, where you double and triple check if the address is correct. Having the address shorten makes it more human-readable, but easier for scammers to misuse. Change some letters and boom your money is gone to a different address.
So here we are, interacting in an online world full of strangers using a trustless system (blockchain) and we are suppose to send money to someone? Or let an anon work on our bounty? Or have permissionless DAOs, where anyone can join and contribute? All that with minimal information about who that person is. Of course it’s full of scammers. But the beauty of web3 is developing new ways of coordination between people. And this is where reputation comes in.
A reputation score based on onchain and offchain information will lower coordination costs. Offchain data would be voluntary but will give the score a huge boost. By analyzing how a person behaves in Discord or Twitter, we get a lot more information about the state of the mind of that person. There are also other sources of information that can be included in the reputation score (e.g., Karma given via collab.land or praises given using the praise app).
For me, everything interacts with everything. If I share information with someone, I’m assuming that that information will travel further, “infecting” other people. So it’s only natural that my reputation is derived from my actions and my interactions. The more data sources included in the algorithm the better
Discord Data Dumb
There is no other way to describe the data Discord is giving you. It's like someone grabbed a box full of Legos and dumbed them in the middle of your living room and worked away. Have you ever seen such a mess? I did. With Lego, the hardest part is crossing the living room without walking on Lego. With the Discord data is figuring out what id belongs to what.
There is a message id, linked to a channel id, linked to a guild id. Pretty logic? All users have IDs and unless you haven't dm'ed them, they remain a number.
There's no way to see if your message is a post or a reply. Or maybe there is, but I need to figure out what each type means.
Most annoyingly there is no way to know what reactions you got from a post.
Can't wait to know your Discord data? There are a couple of cool repos letting you visualize the data:
State of my web3rep
Progress is progress, isn't it? I picked out the most important things I want from the file. Silently whispering "keep it simple, keep it simple" to me. I've created an empty react app. This will be my first react app. And picked my database (fluree, because someone praised it for security).
I'm undecided what I should focus on tomorrow:
Option 1: Algorithm (most exciting part)
Option 2: Front-end: Page for uploading the data and storing it the db.
🧐 Option 2 sounds more logical. I can then write the query to get the variables for the algorithm. It's like when analyzing data for research: The exciting part always have to wait