Step 1 to building a Proof of Concept for User Authority
UserAuthority concept really has the potential to change Steem for the best, I believe it does! Introduced by @scipio in this post and that one, the UserAuthority is a new metrics working in a Google-like manner and determined by the UserAuthorities of the user's followers.
I won't get into too much details regarding why it is important to implement that, the two articles linked above will know how to convince you of that, I am sure. Rather, I will share the advancement of the project.
Step 1: creation of the followDB database collection
In order to be able to iterate and find the UserAuthority for 457,964 Steem accounts, we need to store the needed information in a local database. In the code submitted in this Pull Request , I read all the Accounts stored in the SteemData database, keep only the information needed, and store it in our local database collection followDB
. We are storing the following information
id
of username
of userfollowers
an array of the names of accounts following the user- Storing the size of followers could be handy
To run this and get your own version of the followDB:
- Go to the folder and create an empty
data
folder - Run mongodb in there
- From node,
npm install
on the folder - From node still.
node index
Next step will be to use this data to compute the UserAuthority.
Of course, we are now working on a proof of concept, so we take a shortcut using data from SteemData. On the production version, all data will be gathered from the blockchain.
Thanks @scipio for asking me to get onboard, we're going to make it real!
Posted on Utopian.io - Rewarding Open Source Contributors
Nice work @stoodkev ! We'll make this happen! :-)
Do you still contend that the impact should be on rewards?
Yes, it's (currently) still my opinion the complete Steem ecosystem will benefit from
vote_reward = UA * SP
. And I also read you would (currently) reject this hardfork proposal of mine. But please regard the following:Yes I've seen that somewhere before 🤔
Sure, I'm interested in any extra "intelligence" on the blockchain and ways to summarize activity, markers for suspicious or attack activity, etc. I'm following the project and look forward to what you do.
Of course the community has the say, but I have found in the past that the public debate is worth something too. Don't seem to be too many debating you on this. If I can shoot a hole in it too you'll be the first to know.
I'm actually trying to get the debate going! Please DO try to shoot a hole in it, mathematically and/or on anticipated behavior. It was your comment "be realistic" (regarding technical implementations) which pushed me forward on how to actually implement it natively steem-wide (via hashing the result index and instead embedding the hash for consensus).
Awesome 😆 I'm hoping to spend some proper time on it in the next while.
excellent work. It is a good first step. Please note that you are essentially creating a one dimensional index per person.
Extending that concept leads to categorical truth networks. For instance a network describing, authorities on comedy would not necessarily have any relation to a network describing authorities on physics - yet each person could have their own network definitions uniquely valid to them. A person having a high correlation for two network categories implies a SUBJECTIVE unity of those two categories in the mind of that person. A high correlation between two categories across a group of individuals implies an OBJECTIVE unity of those two categories for that group.
Keep that in the back of your mind as you craft the algorithm for the single dimension case. It is likely that the more general multi-dimension algorithm can be implemented without paying the full cost of the extra dimensions by using clustering similar to sparse matrices.
https://steemit.com/speakfreely/@dsonophorus/i-decide-what-is-or-isn-t-fake-news
Aahhhh, someone who actually understands matrices! Cool! :-)
PS: we are developing UA currently in the slowest possible technical environment - nodeJS - in order to blend-in well with existing APIs. For nodeJS, which I like a lot btw, is not performing "really well" on IO due to its asynchronous and non-blocking nature. But well, if we can make it work here, we can make it work..... (fill out the blanks).
I'm really pumped about this. I think it's brilliant. Let me know if you need any help with dev work, I'm a software developer with several years of experience.
You are welcome indeed! :-)
Have a look, here's the brand new UA-JS repo we just got started (if you want to get involved, please contact me at Discord, the Utopian-IO chat server (invite: https://discord.gg/Pc8HG9x) and look me up there: @scipio ;-) )
Please note: I've written a step-by-step implementation procedure we need to follow strictly!
Update: I added the "implementation plan" of ua-js in the README.md
Hey @stoodkev I am @utopian-io. I have just upvoted you at 22% Power!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
great work guys!
iam really thrilled to see how this is going to look like!
If you need help you know where to find me.
(sadly i can not work with mongo, just cant get my head around it ...)
Yours
Jan
Thanks! I ve started with mongo just for this work and yea, its not that intuitive when you re used of working with SQL queries but I think I'm starting to get it =)
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
This is a brilliant approach.... Keep up the good work....
Thx, follow along!
This is interesting. The thought that a users stake is also affected by their popularity might be something of an improvement on the model we currently have. Are followers going to be stake-weighted as well in your model, i.e. their stake will be a factor in determining the followed user's UserAuthority? I think this should be a consideration, as there are bot accounts with 6-7k followers that I don't think should have a wider voice as compared to real people.
Yes, you might want to check my two other (original) UserAuthority (UA) articles, in which I explain the math (probability distribution) backing UA.
I have no idea what this means... what the hell is a mongodb??? Does this affect me... am I still a real person?
mongoDB is the name of a database system ;-)
MySQL is a well-known relational database management system (RDBMS) and mongoDB is of another type: a NoSQL database.
I have no idea what any of that means. I write, to me this is a typewriter that lets me correct mistakes
Awesome post! I'm glad to see so many people working on this idea. I think we need checks and balances on steem. The check on steem power (bought power) would be User Authority (trust power?). You might have seen the post that I recently posted that talks about some other ideas. It's passed its payout period so not trying to spam you or anything. Just thought you might enjoy reading my ideas. https://steemit.com/steem/@littlejoeward/fixing-the-reputation-score-and-eliminating-spam-a-follow-up-to-user-authority
Good luck implementing this! I wish I could help more!