project screenshot 1
project screenshot 2

PostThread

PostThread is a web3 social media app that rewards it users instead of extracting from them. To do this we use defi and blockchain innovations to create an economy that encourages users to post quality content and curate the platform.

PostThread

Created At

HackMoney 2022

Winner of

trophy

🥈 Worldcoin — Best use

Project Description

The following is taken directly from our wiki which I believe relays the information in a much more consumable manor so I urge the reader to redirect there. Thank youbutton.

https://blockit.gitbook.io/postthread-wiki/

Web2 social media has misaligned incentives due to it’s “free” nature. Since their users do not pay them they are beholden to those that do, which is mostly advertisers. In order, to get the most money they can from advertiser they are incentivized to keep their users on the site for as long as possible at any cost. That is the price we as a society pay. The best way to keep a user engaged is to play to their emotions. Sure cat pictures and memes can be harmless, but what happens when they try to rile up our political, religious or philosophical emotions. Blasting users with opinions they already agree with and representing others as evil and stupid is a good way to make a user feel comfortable and come back for more.

Whether you agree this is what has actually happened or not, I think the base argument stands, that a social media companies main priority is to keep us there and not necessarily to keep us happy, educated or well informed. Users are the product and the service. So we don't pay for the service and therefore are sold to advertiser, but users are also the service that is being consumed by other users. The majority of content on social media sites was created by the users themselves and those users are rarely compensation proportionally. We have no idea how these algorithms work. They feed us content, which we have seen influences our thoughts, actions and behavior, but how and why we are seeing them are completely hidden to us.

Thankfully, one of the beautiful things about the blockchain is that all its data is completely free and viewable by anyone. This gives us the power to take control of the algorithms that influence us. Perhaps PostThread will have an algorithm by default, but there is nothing stopping the community from changing it or developing their own. A user could even selecting which algorithm they want from a choice of many. Maybe advertisers will pay you to use their algorithm. Who knows, but it opens up a wide range of possibilities that were never available before and most importantly gives the power back to the individual. So why Reddit? Reddit has been around almost 20 years and has barely needed to change it's UI and functionality to go from 10 thousand users to over 400 million. I like to think of Reddit as the base of which all social media can be built from. What is a Twitter but reddit with a nicer UI and a character restriction. How about TikTok? Just reddit but only videos and Instagram is the same but also with pictures. Facebook is just reddit but designed around those you actually know in real life.

So first we get Reddit right and then we can fix all the other major social media platforms. We have created a 2 token system. One transferable token and one non-transferable. The non-transferable token are like a stimulus check you receive each day encouraging you to interact with the site as if you don't then you will not receive more the next day. You can use these tokens in all the same ways as the transferable token except that they cannot be staked on a post to earn yield. They can, however, be used to post, comment, vote, report and follow. All these activities give the user profile experience which give the profile NFT more value. If at a later point a user wants to spend money to stake the transferable token, they will earn a higher yield dependent on their level.

Why set it up this way? We want to keep the same "free" nature of current social media since much of the population would be uninterested in a platform they had to pay to interact with. Also this creates incentives for people to post every day, but also not to spam or post low-quality content since there is a limit to the amount of free activities they have. If you wish to continue after using up your non-transferable tokens you can always of course spend the transferable ones. The transferable token is highly inflationary to discourage speculators. Historically, we have seen many blockchain game tokens reach unsustainable prices due to speculators. This may seem great for gamers that have already played and earned in the game but is very negative for the future success of the game due to it being so expensive for new users to enter. Unfortunately, this leads to less users and activity. Social media is all about activity, so if our app does well, our token does well. We do not want cost to discourage people from interacting with our app. If someone wants to speculate on the token they can purchase it just like they would any other token. However, to keep the value of their investment, an investor must use the tokens to earn the high yield. Every interaction on the site can be thought of as staking your tokens and that stake will always earn you tokens. Staking them on a higher quality post will earn you more, but if you accidently stake on a low-quality post you will still earn your tokens back. The idea is that each day the token supply will increase by a substantial amount, but so will your token amount if you interact with the site. The goal of PostThread is to reward the users that use and provide to the platform, so we plan to reward them with 1% of the total supply of the token per day. If there is not enough activity on the site, then rewards will go up and if there is too much activity on the site, then transaction fees will go up. Burning tokens does benefits holders of the token, but not all holders should be rewarded equally. In our effort to limit speculation, we believe there are better ways to benefit holders that are actively helping the platform. Therefore, the number of tokens will always increase, but hopefully be directed to those who deserve them the most. Every post can be thought of as a token farm. The sooner a user stakes their tokens into a post after creation, the more yield you will earn from a post's bonus. After a full 24 hours have passed, the post bonus is determined, at which point you can withdraw your tokens plus the bonus. The bonus amount is determined by how many upvotes, downvotes and staked tokens a post receives. The exact algorithm will be constantly changing through votes in the DAO making it harder for people to "game the system" and allowing the community to voice how they want their site to be rewarded. Posting on our site is synonymous with making a transaction on the Ethereum blockchain after the EIP-1559 upgrade. Every user must pay a base fee and there is an option to tip/pay stakers of your post. After 24 hours, all stakers can collect their full stake with a yield dependent on how well the post scores.

The base fee a user pays is calculated using the tokenomics outlined in EIP-1559 and the entire base fee is converted to the non-transferable variant to be distributed daily to users. The fee is near zero when there is not much activity on the site but increases as more content is posted. Therefore, when the site first launches and not many people are on it, it will be free to post and earn. If the site is successful and many users enter the ecosystem, then users will have to begin paying tokens in order to post. More posting leads to more rewards and therefore higher inflation, but also leads to more burning and therefore deflation. We expect these tradeoffs to lead to a healthy economy.

The base fee also discourages spamming and low-quality content. Our goal is to design an economic system that punishes bad actors. These bad actors can come in many forms, such as misinformation, bots, reposters, spammers, multi-accounters, etc. Since these things are bad for the platform, users are incentivized to weed them out. We want the PostThread community to come together to organize and curate the platform and we feel the best way to do that is to allow users to organize and "vouch" for each other. To do this, we have designed a system around who a user is following and who is following them. Curating a substantial following is key to increasing your influence on the site. Every user receives a weight of 1 when they mint their profile. Their weight increases as they continue to interact with the system. Each interaction a user makes reduces their capture rate by 10%. The capture rate is a multiplier on how much their weight will increase from every interaction. The capture rate regenerates overtime until reaching a max of 1 and it increases exponentially. Therefore, it is not recommended to drain your capture rate as it would take much longer to regenerate from 10 to 20, rather than 90 to 100. There is another weight multiplier that is based off a user's following and followers. The multiplier is determined using Google's PageRank algorithm. In summary, users share their multiplier with those they are following and increase their multiplier by getting followed. Therefore, a user with no followers will have a multiplier of 0 and will not increase any of their followers ranks. Also, the PageRank algorithm makes it so a user with many accounts following themselves do not increase their total multiplier at all since each account will give and receive an equivalent amount of multiplier increase. If a user wishes to simply lurk on our site and not work towards developing a following, they can still increase the value of their profile by upvoting and downvoting posts. These interactions will increase their weight and allow them to potentially sell their profile to someone who is new to the platform and wants to develop a following, and/or have a higher influence on the site. This means someone with no money in the site can potentially earn by helping to curate the content by giving feedback on how the feel about a post.

In the current state of web2, you are the product of the social media websites you interact with. The site collect your data and then sell it to advertisers. Those same sites then sell advertising spots to those same advertisers to advertise to you. This is extractive. You get a "free" service but they are forced to extract value from you somehow.

On PostThread, advertisers can bid using BLK for a space on our platform. By using the BLK token for this, advertisers are essentially paying users to advertise to them since the users are the ones who earned the coins. The purpose of the DAO is to curate the website. Since the site will be decentralized, all censorship will be the responsibility of the DAO. There are posts that could be illegal such as child pornography and links to illegal websites, etc. We hope the DAO will be effective in voting to have these types of posts deleted. There may arise occasions where the DAO votes to remove posts it believes to be offensive, misinformation or just bad for the platform. There are no plans to moderate what can and cannot be voted upon. The DAO can vote on any change to BlockIt that has a function in the smart contract or vote on a developer to make the change. BlockIt is open source so any member of the community can create a function, purpose a merge on github and have the community vote to implement the changes through the DAO. The number of votes a user gets in the DAO is based off of the number of comments, posts and tokens they have as well as the weight of their profile. Each comment and post will have a weight itself based on how well it scored. They are also NFTs so they can be traded to someone who wishes to have a higher influence in the DAO. This is another way a user can earn by selling a successful post to another user who wishes to have a vote in the DAO. After a vote there will be a bounty to make the action happen. The price of the bounty depends on the results of the vote and how many votes took place. If say 90% of votes were for a post to be deleted and 90% of users participated in the vote, then the bounty to take the post down will be very cheap, so that anyone can instigate it. However, if the vote was split and only 50% of users were for it then it will be expensive. Even if all users were against a vote or no users participated in a vote, there will still be a bounty that can be bought. The price just may be incredibly expensive or possibly impossible to buy if there are not enough tokens in existence. The reason for this is that there may arise an occasion where a user has gained too much influence on the vote and therefore the community will have to enact changes with their wallet instead of votes in the DAO. For now, when a user mints a post, they will specify which category they want the post to be under. This will allow for easier searching and grouping of posts, but there will not be designated subblockit communities at the start. There is a main page with all posts and a filter by category button.

In the future, as the community grows, it will want to segment into smaller groups with their own moderation, rules and potentially economy. We are open to this and would like to allow for it, but feel it is not needed at the start. Some ideas for the future however are to allow users to mint a subblockit and create their own DAO and token. This would allow them to make and enforce their own rules

How it's Made

We began the project by replicating Reddit, but on the blockchain. Then we started incorporating crypto economics into. Structuring posting in the same way as validating blocks in the blockchain seemed like the perfect start and led to our name PostThread based off of BlockChain. We designed staking rewards similarly as well with stakers "validating" posts by staking on them and therefore increasing their visibility. Next up was dealing with the bot issue. How do you set up an economy that disincentivizes bots? We implemented graph theory concepts of closeness, degreeness and bewteeness. When you take the weighted average of these three values (giving the highest weight to the lowest score) we find that it will be difficult for a disingenuous actor to get a high score. This is due to the fact that every addition to the network lowers everyones score. So creating 1000 bots and having them all follow you does no good because you've lowered and raised your score at the same time. Also implementing a leveling system that weights valuable users higher improves this system even more, which is what we also implemented. Next was finding a way for users to have an input and therefore stake in the platform. The DAO is capable of altering any parameter set by us as well as implementing admin level function. Every vote in the DAO can implement a function within the contract, so it can delete posts and users by burning NFTs. Also in the spirit of full decentralization the contracts are deployed on polygon and the frontend is hosted on IPFS. We incorporate web3 wallets such as metamask, walletconnect and coinbase wallet. We also allow users to progress in their level much quicker by proving their identity with World ID or by completing random daily tasks using chainlinks randomness. I was very satisfied by what just my teammate and I were able to accomplish in 2 weeks. All functionality is implemented in solidity and interactable on the website. We were only held back by the appearance of the UI, since we did not have much time to work on CSS and could have benefited greatly from another member that had expertise in UX. However, we believe going forward we will develop a beautiful website that will rival that of all the web2 social media websites combined in appearance and functionality.

background image mobile

Join the mailing list

Get the latest news and updates