I initialized it with all current registered users taken from the POH subgraph: 7961. Keeping the xDAI registry updated should be cheap: 0.25-2 usd per new human depending on gas and ETH prices and on batch size (however, I’m not planning to keep it in sync myself).
My hope is that this contribution helps in the creation of affordable social media, among other projects. I also wonder if UBI dripping could be moved to xDAI, in order to make transactions affordable.
I chose xDAI over BSC, Polygon and the like because of its stable and widely used native currency (xDAI is bridged DAI which is pegged to USD) and because Kleros is there.
In a world where social media platforms are prone to censorship and biased moderation, like Twitter, FB or even Telegram groups, and where websites like OnlyFans seem hopeless in moderating adult content while dealing with regulation pressure, I think we should be ballsy and start experimenting more seriously with decentralized content moderation and trustless payments.
Every now and then, let’s say once per week, get a list of new registrations and removals and send all of those addresses to updateBatch(). After a few minutes, the tx should reach the xDAI sidechain. Once it does, call updateBatch() on the xDAI contract. The bigger the batch of profiles, the cheaper the cost per profile.
People who don’t want to wait for the weekly update and don’t mind paying for the tx can easily call updateProfile() in the Mainnet contract.
@Spoon great job! I looked into the contracts and they look good to me. You can find my review here. Feel free to add comments. If you are thinking about redeploying with some of the suggestions, I recommend you to wait for more people to review the contracts.
UBI is now bridged as well. Here is the contract. For those that might be thinking about interacting with it from a smart contract, beware that the interface is slightly different. For instance, burnFrom() is not available (transferFrom() + burn() or transferFrom() to a dead address should probably be used instead).
It’s not in sync but it doesn’t matter. The first 8k humans were bridged and the rest of them can be bridged on demand permissionlessly. Bridging a single profile costs the user ~2 usd. If you want to sync all users yourself, it might cost about 2k usd in gas (very rough estimation).
Beware that this bridge reads from POH v1 directly, which means that it won’t support POH v2 registrations in the future. Another possibility is to redeployed the bridge pointing to the POH proxy instead of POH itself. Initializing a new bridge instead of syncing the current one is cheaper and AFAIK this contract is not being used at the moment. If you want to do this but you don’t know how to do it, I would do it for 1 ETH.
BTW, thanks! It means a lot to see teams being interested in this. Seems like my intuition about the importance of bridging profiles to good, cheap side chains like Gnosis Chain was not that wrong after all. You might be interested in supporting this HIP [Phase 2] HIP-54: Airdrop to Democratic Heroes.