A community-led initiative to decentralize Donuts

ANNOUNCEMENT

Hi r/ethtrader,

Given the recent developments with Subreddit Points Donuts the past few weeks, we had some thoughts we’d like to share.

First, we want to acknowledge all of the work u/shouldbdan (and those involved) put towards putting Donuts on the blockchain. It is a pretty novel idea, and we think it reflects the creativity of this community.

We started Subreddit Points experiment to reduce the dependence of online communities on centralized actors and make them self-sovereign — communities that exist on their own and have the tools to chart their own destiny.

We’ve spent some time unpacking recent events, and we have a few concerns:

  1. The bridge between Reddit and the blockchain is centrally controlled by a bot. This makes the bot exceedingly powerful.
  2. u/ProofOfDonuts and u/StoreOfDonuts own too many Points. This potentially allows whoever controls the accounts to influence governance unfairly.
  3. Reddit is a central source of truth for Donuts balances and new distributions. If the goal is to make Donuts decentralized, it doesn’t make a lot of sense for Reddit to control these functions.

It might be worth thinking about a more decentralized design. One idea u/carlslarson suggested is to create an Ethereum smart contract that replaces Reddit’s database as the source of truth for Donuts. Reddit would then just read the data from this smart contract and provide a friendly user interface. The contract would need to take over some of the functions Reddit does now, such as distributing new Donuts every week.

We are open to discuss this further and will support a community-led project like this.

P.S. At this early beta stage of the project, the goal is to fail fast and learn things. If you see a flaw in the design, don’t panic! We can always fix the flaws and move forward.

Edit: Here's a link to u/carlslarson's welcome post about r/daonuts

Posted Feb 4, 2019, 7:17 PM UTC · edited

158131
HelloBucklebellRedditor for 12 months.•

I think I'm not alone in saying that this is a very exciting proposition, and could very well become the first killer app of the eth blockchain.

Imagine that, if this community actually became the living breathing proof of blockchain efficiency.

Blows my mind, just a bit.

36
Libertymark•

Exciting!!!!

8
[deleted]•

[removed]

-4
shouldbdanTokenize the donuts! https://donut.dance•

W^o^w.

*catches breath*

So the system would be something like this?

  1. Reddit keeps tracking and publishing how many donuts a user should get based on their interactions in the sub.
  2. A community DAO of sorts reads this information and uses it to generate donuts on chain. (Edit: Or maybe Reddit just interacts directly with the smart contract to generate the donuts?)
  3. Users register an Ethereum address with the DAO for their Reddit username to deposit donuts into

Ok so far?

Now how do people vote in polls, purchase the banner, purchase badges, etc? How do people use their donuts on Reddit?

22
carlslarsonDeveloper•

How do people use their donuts on Reddit?

They could initiate transactions from the Reddit ui.

I think the detailed answers to some of you questions depend on the model and implementation chosen. For instance, one model, I describe here involves creating a merkle tree of each weeks data. People can even monitor the karma independently to what reddit publishes and validate the merkle root is correct. The root would be accepted into the dao by a governance vote and then people self-validate the data they submit against that merkle root and claim their karma & tokens.

But yeah, a dao, tokens, karma scores, badges, banner, polls, could all be on-chain with the data displayed directly in Reddit. So instead of the reddit db we use the blockchain, but the interface looks the same.

10
burrrataRedditor for 5 months.•

So in this scenario Reddit would only be a GUI that interacts with Ethereum contracts and nothing more?

12
carlslarsonDeveloper•

For certain functionality, yes. I don't it would for all functionality (content upvoting, etc.) but for the components revolving around donuts. Another model is different kinds of bridges. Plasma is even a kind of bridge that could be appropriate. So there are really different types of models to explore.

11
burrrataRedditor for 5 months.•

Let's make a list of all the possible designs!

10
shouldbdanTokenize the donuts! https://donut.dance•

So instead of the reddit db we use the blockchain, but the interface looks the same.

The interface looks the same? Do people need to have a Web3 browser to use donuts within Reddit in the new system? Are there only on-chain donuts or is there a distinction between on-chain donuts and on-Reddit donuts?

8
carlslarsonDeveloper•

There are different models to explore, but one option would be only having on-chain donuts. Yes, I imagine there would need to be a way to read and submit transactions to the network.

5
blockduaneRedditor for 2 months.•

What if reddit itself was a hotwallet like Metamask/MyCrypto, with your account holding your private keys? There could be incremental security; a fresh account may not need much protection at all since it holds little value in its keys. After a while the site may ask you to encrypt your account with a secondary password before any large donut transfers or votes. Then if you gained a lot of value over time it may suggest adding a authentication key like a Yubikey, Ledger Fido or Google Authenticator. Finally, it could even let you store your keys offsite in a hardware wallet and validate each action individually. You would also at any point have to option to enable a higher level of security. Credits to Alex Van de Sande for his talk at Devcon4. https://youtu.be/TztR_7IehjU

Integrating this right into the site could push adoption as users would just see the new feature without having to download any extensions or special browsers. They could also jump right in without initially getting caught up in the security.

Big day Carlslarson, congrats!

8
psswrd12345 •

Use 0x for backend!

4
aminok•

The root would be accepted into the dao by a governance vote and then people self-validate the data they submit against that merkle root and claim their karma & tokens.

Why not have Reddit itself construct the merkle tree, and sign its hash root, and have the smart contract simply validate that the signature is valid, using the signing key's corresponding public key?

A DAO would be great in the long run for multiple reasons, but my personal opinion is that for the first version of DAONUT, simplicity is the key, because it means less likelihood that something goes wrong (e.g. DAO users don't vote in sufficient numbers resulting in governance failure), and faster implementation and roll-out.

Once something is up and running, a more flexible and decentralized DAONUT smart contract can be worked on. In the meantime, data can be gathered on real-world use of the live implementation.

Or maybe I'm not setting my sights high enough, and a more comprehensive model is feasible for a first version of the DAONUT.

3
carlslarsonDeveloper•

Why not have Reddit itself construct the merkle tree, and sign its hash root, and have the smart contract simply validate that the signature is valid

I would say this is not decentralized enough if there is not mechanism to reject or validate the data coming from Reddit. I realize the counter argument to this is that we must trust them anyway... So ideally we have the content voting recorded directly on-chain. Otherwise, yeah I think this could be superior to the scheme I described.

A DAO would be great in the long run for multiple reasons

Well I guess for me governance is the primary application worth producing here. And it is also a foundation for other applications. But I can't deny they could be possible without the governance. A signed merkle root just gets released and everyone gets their tokens. I think the DAO is achievable for an mvp. I'm looking at working with existing frameworks like DAOstack or we could roll our own, basing on recdao or similar. Personally I think the pieces are available and they can be put together. If it's just a token what do we do with it? Is it still worth the effort?

2
aminok•

So ideally we have the content voting recorded directly on-chain.

Yes this would be ideal.

Well I guess for me governance is the primary application worth producing here. And it is also a foundation for other applications.

You have far more relevant experience in DAOs, with your work on building RECDAO, so I defer to your judgment in assessing what element of this project is most valuable in developing.

That being said, I think getting an ERC20 community point, aka donut, running as soon as possible would have significant benefits. Reddit is trialing community points with dozens of subreddits right now. If an ERC20-community-point model is proven to work on EthTrader, it can be rolled out to the other communities.

That would give Reddit a large set of communities to run blockchain-integration experiments on, and would give the Ethereum ecosystem a large number of community-point ERC20 tokens to start building tools for and around.

You're right that DAO-based decentralized governance can be a foundation for other applications. Its potential is enormous. What I'm wondering is if it's possible to get a token-only MVP launched first, so that it can run while the DAO is being worked on. But like I said, given your considerable experience on this, I defer to your judgment on the best course of development, and the best scope for the MVP.

If it's just a token what do we do with it? Is it still worth the effort?

We can trade it, and make it available to the DeFi infrastructure. Reddit can read the Ethereum blockchain and initiate on-site actions based on transactions involving the token. For example, once a user has linked their Ethereum account with their Reddit account, then the donut tip action can create a blockchain transaction with meta-data embedded in it, that indicates which comment the tip is being made for.

The Reddit server can read the Ethereum blockchain and when it sees that transaction, and after it has validated that the author of the comment referenced by the embedded URL is the same as the account associated with the receiving Ethereum address, have the u/CommunityPoints bot post a tip confirmation comment, e.g. "/u/aminok tipped 500 Donuts for this post!". That would enable people to directly tip Reddit comments without even logging on to Reddit. It would also non-Reddit users to tip, with the bot posting something like "an anonymous user has tipped 500 Donuts for this post!"

Likewise, the purchase of the banner can be done on-chain, with the Reddit server simply reading the on-chain activity, and executing on-site actions based on them.

You're of course right that a lot more can be done with decentralized governance than just a mere token.

3
TravisWash7 - 8 years account age. 200 - 400 comment karma.•

Sounds great hope you can save the old bridge, and imagine if Facebook integrated cryptocurrency in a similar manner.

2
[deleted]•

[deleted]

1
SpacePirateMGentleman•

YES! OMFG YES!!!

Awesome response from Reddit, great to see you guys embracing innovative decentralization!!

Adopting new tech will only make Reddit more successful :)

17
Libertymark•

Huge

7
krokodilmannchenper aspera ad astra•

Huge kudos to actually take this stuff serious, however it’ll develop.

9
ultanna5 - 6 years account age. 600 - 1000 comment karma.•

This could be an awesome incentive to people like me who read a lot and get a ton of infos from Reddit but comment rarely! I can be weeks without commenting something and I'm on Reddit everyday!

9
verslaluneRedditor for 6 months.•

Yes!!! I've been waiting for this ever since the donuts were announced. We've had devs building out infrastructure for over 2 years now, there's more than enough tools available now to make a convincing/scalable governance system within a subreddit. Damn this is exciting! I'll follow along and maybe provide some assistance along the way.

9
psswrd12345 •

This is really cool and if successful could easily spread to other subs. Looking forward to what you put together!

7
Nova06Ball •

This is a pretty cool idea and excited to see where it goes. Thanks to everyone working behind the scenes

7
DverToDreams•

It is nice to see a reddit admin discuss with the community ways to take this experiment to another level and implement ways of decentralizing it, so thank you for that.

Basically, my thoughts are that if the goal is to provide a governance system with donuts, then we must think about mapping a better solution rather than using reddit as a shiny front-end because of its massive issues.

To me it seems like it would be more work trying to iron out all the centralization issues, with many situations for bad actors to lead the experiment in the wrong direction, rather than developing something separate from Reddit. Someone might argue that we could use Reddit as an intermediary step until something better comes up, but I would argue that once the infrastructure is developed, it will be hard for other interfaces to gain traction.

With the recent news that Tencent, Chinese censorship powerhouse is set to invest 150 million dollars in Reddit. it seems incredibly counter-intuitive to work in conjunction with a corporation that goes against the fundamentals of the censorship resistant decentralized ethos.

Of course, all of us discussing this stuff here are using Reddit, and yes, it provides a nice infrastructure and the majority of crypto enthusiasts are already here, but should we really sacrifice our philosophy for convenience?

6
cutsnek•

Very interesting! I have enjoyed this experiment with donuts a lot. It has gotten a bit messy recently but that's ok:

Things that we learnt from this experiment.

Need clear parameters around use of donuts be it advertising, governance, trading etc.

If donuts have a monetary value what does that mean for the sub? How do we protect the community from people trying to game the system at the expense of the sub because they wish to make money.

Distribution - A lot of criticism has been placed particularly around automatic percentage of donuts given to mods regardless of activity 15% is way too high, even 8% is too high. This just creates mod super whales that can swing a governance vote any direction they want.

I think something along the lines of mods shall not be automatically allocated more than the top contributor (who is not a mod) for that week (if we must have mod auto allotment of donuts per week).

With this move to a decentralized model of donut records and distribution (which is super exciting) do we have to hit the reset button on the experiment? In terms of wiping the ledger and starting it fresh on the blockchain. Otherwise we are taking records from a centralised source reddit (not accusing reddit of doing anything foul!) and saying no funny business has happened. With trading the core use of donuts has been a bit tarnished (a form of governance).

Also wouldn't it be awesome to have a genesis bake of donuts on chain?

Finally I've seen suggestions around minimum votes placed (eg couple thousand) before a vote can be valid based on 200k+ sub size. I question this considering it seems on average these days we have about 2k active users at any one time. It would be interesting to see on average what are the unique users per month at the moment, how much do they contribute (if anything) compared to the peak of the 2017 bubble. In short are we really a 200k sized sub today or are most of those ghosts from bubbles past.

I think a clear proposal needs to be made around all of the above around what we learnt and what will be implemented if this goes forward.

​

​

5
carlslarsonDeveloper•

It would be interesting to see on average what are the unique users per month

A week towards the end of Jan had 3100 unique commenters.

I hope you consider putting some of these thoughts over on r/daonuts. There's kind of two inter-related sides to the project:

  1. discussion of governance and community mechanics. so hopefully applying some of the lessons we've learned here like you've mentioned.
  2. technical side, development, etc.

Also wouldn't it be awesome to have a genesis bake of donuts on chain?

Of course this now has to happen.

5
burrrataRedditor for 5 months.•

Let's roll with the donut theme as long and hard as we can 🍩

6
aminok•

With this move to a decentralized model of donut records and distribution (which is super exciting) do we have to hit the reset button on the experiment? In terms of wiping the ledger and starting it fresh on the blockchain. Otherwise we are taking records from a centralised source reddit (not accusing reddit of doing anything foul!) and saying no funny business has happened. With trading the core use of donuts has been a bit tarnished (a form of governance).

I strongly oppose this.

  1. People traded donuts on the assumption that they would continue to exist. If every change in donuts/daonuts leads to a ledger reset, people will not be able to trust the donut balances they have. Everything else about daonuts can change, as it's rapidly iterated on to try out new mechanisms. Let's just ensure that people's balances don't.
  2. Whatever was distributed till now will grow to be an increasingly small percentage of total donuts ever issued, so any problem that exists with the current distribution will work itself out on its own.

As for trusting Reddit to provide the records that the donut distributions are based on - that's not going to change with the move to daonuts, so there isn't even an upside to resetting the donut count.

2
DeviateFish_Debugger•

I strongly oppose this.

I wonder why...

3
carlslarsonDeveloper•

As for trusting Reddit to provide the records that the donut distributions are based on - that's not going to change with the move to daonuts

While I agree it's unlikely to change it's not technically impossible. Content voting would need to be on-chain either instead of or in addition to any voting that went to Reddit backend.

2
aminok•

I agree, that is the ideal, but far away.

2
carlslarsonDeveloper•

ideal, but far away

I'm not sure. It's not so crazy to have votes recorded on-chain in addition to Reddit back-end. Particularly on a high throughput, low or free tx sidechain.

1
peppers_bagholder•

I noticed when it comes to governance, the majority of this sub is fine with trusting centralized actors (the mods). My thoughts are more along the lines of breaking things, similar to your fail fast and learn things. Take governance to the limits and see what our boundaries are, if there truly are any. Worst (or best) thing that could happen is a contentious decision and a forking of the community, which I would be fine with.

5
burrrataRedditor for 5 months.•

Agreed! Check out r/daonuts for discussions on what that might look like :)

2
sneakpeekbot•

Here's a sneak peek of r/daonuts using the top posts of all time!

#1: Daonut Design Flavors
#2: Where do you see this project going and how would you like to contribute?
#3: How should Daonuts be written?


^^I'm ^^a ^^bot, ^^beep ^^boop ^^| ^^Downvote ^^to ^^remove ^^| ^^Contact ^^me ^^| ^^Info ^^| ^^Opt-out

2
deathlyblackBurrito•

At a certain point one has to ask "Why reddit?". Much of what is being suggested here has come up before in one form or another in some now long dead ICO coin, and whilst ethtrader may be able to successfully hijack the model by nature of its already relatively large userbase, the fact remains that it's still effectively just a subreddit. Any subreddit can theoretically be deleted without warning at a moments notice by the site admins, not to mention that we know that ahem certain people have a thing for manually editing other peoples comments on the site.

Whilst I generally applaud the overall vision behind the great daonut experiment, I do feel that perhaps creating a system that could easily end up carrying quite a lot of the communities weight, with such an obvious point of failure could be a mistake. I love and use reddit just as much as the next person, but am skeptical - neigh wary - of potentially handing reddit the keys to too much value.

If we want this experiment to last, It should be planned to last from the get go with all potential issues in mind, even if one of those issues is its place on reddit in the first place.

Aside from that u/carlslarson and u/internetmallcop I think you're both doing a pretty wonderful job, so... thanks? I guess?

4
burrrataRedditor for 5 months.•

Why Reddit: because we're here now and want to try it out?

Could Reddit break it? Yeah, but they're donuts so who cares?

Is it perfect? No, but it's a start and we're iteratively working to bridge web2/web3 communities in an organic and fun way :)

8
carlslarsonDeveloper•

What is a subreddit community? If we identify it we can strive to protect it, make it portable, and self sovereign. We don't necessarily have to do this in one big leap. Roughly I would say that the community is:

  • The identities and reputations of those who participate
  • The body of content they have collectively produced, and their ranking of that content.

What else is it? Actually I think this is a great topic for r/daonuts.

Thanks for you feedback!

3
breakingethRedditor for 2 months.•

So actually earning, spending/tipping and trading Donuts was by far the most fun I've ever had on ethtrader. I would love the trading to continue, but please don't over engineer it a la Gnosis (other examples?) so that it's never actually ready. The genius of u/shouldbdan was to just go fucking do it.

4
BlockchainTechDDRedditor for 2 months.•

The problem with adding a decentralized idea to a centralized one unfolding in real time.

4
bitchstolemykodoto the moon, alice!•

The lack of understanding in this thread is mind-blowing. None of this will ever work.

And this takes the place of putting our efforts into a true decentralized solution?

This is an outrageous farce.

2
DeviateFish_Debugger•

The mods like their business model: sell upvotes, sell governance, but always keep the lion's share of the tokens

1
bitchstolemykodoto the moon, alice!•

I have no beef with the mods and I've already stated my reasons why I'm opposed to this. And I'll say it again, if the mods were to try doing something like this on a website of their own making I'd give them my support.

The front office is going to end up shooting this down for good anyways. For all of the reasons it doesn't make sense from a crypto PoV there's a reason from a business PoV as well. Esp. for a US company that I'm assuming would be averse to making a BVI move?

You know what does make sense from a business PoV? Slowing the growth of crypto. When scaling happens the transition away from reddit begins. They surely know that. Why would they work to hasten that inevitability?

reddit wants to help us pioneer new solutions in community governance? Why?

2
DeviateFish_Debugger•

How much do you want to bet the next thing they'll propose is to pivot this "donuts" thing to the "new, decentralized reddit" for "governance purposes"?

1
[deleted]•

[deleted]

1
TotesMessenger•

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

 ^(If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads.) ^(Info ^/ ^Contact)

3
Libertymark•

Exciting!

3
aItalianStallion🐎🐎🐎🐎🐎•

Awesome idea! Let me know if I can do anything to help

3
zedss_dead_baby_Redditor for 10 months.•

Wow this is really something!!

3
gerryhussein4 - 5 years account age. 500 - 1000 comment karma.•

All I will say at this stage is that it is great these experiments are happening here. Something good is likely to emerge from this...

3
jtnicholBig Hugs From KC•

I agree. But it needs work.

1
[deleted]•

[deleted]

3