App idea - automatic rewards sharing groups

An idea was floated by @ocrdu about different economic idea for Steemit, with a post here. The idea is:

If a group of like-minded people want to share all their rewards equally among themselves, a cooperative endeavour if you will, shouldn't they be given the tools to do so?

I was inspired 😃 I decided to work out an idea that would do this automatically. Of course in HardFork17 we will get reward sharing, though we don't know exactly what that will entail, but this is a proposal that would work with the current system, be updatable to the new HF17 and has a few automatic components to take the headache out of organizing something like this.

It's outlined below, but an exciting implication of this is that could be a way to actually create company-like structures on Steemit without any outside contract, as the agreement is essentially constantly validated by correct action. And of course existing companies or groups can apply their own already agreed distributions, perhaps based on shares.

As always, critique and additions welcome. I have created an idea ticket for this at Steem FOSSbot org too.

Proposal

Overview

Several users all run an app (which would technically be a bot) individually so they do not have to trust each other with their keys. The app automatically distributes rewards after post payment and verifies correct distribution. It is important that the group is created with the consent of all users in it agreed beforehand and outside of the app.

Each post authored by a group member must tag all other users (or post-HF17 use the correct reward distribution when posted). Not doing this will cause other members of the group to reject your membership. To get it back, all other members will have to add you again. To avoid group splits or complete disintegration, good faith and cooperation is required.

Pre-HF17 process

Process

  1. Users add each other in the app. This has no effect on the blockchain and is extremely informal. You can add anyone whether they consent to be added or not
  2. When a user in the group makes a post, they must tag everyone in the group.
  3. Each users' app is watching for posts from these users
    1. If they are tagged they wait X time to confirm payment.
      1. If payment is received, no action is taken as this is correctly as it should be.
      2. If no payment is received, the user is removed from this user's copy of the group list
    2. If they are not tagged, the user is removed from this user's copy of the group list
  4. When this user makes a post, they tag the other users in the group list
  5. After the reward for the post is paid, it is automatically distributed to users on the list according to the distribution calculation

Notes

Note that this assumes that all posts must be group posts. Perhaps there could be some additional indicator which marks a post as a group post, but this leads to further complications so I would suggest all posts must be group posts.

Also note that "group posts" here do no necessarily have to involve the users in the group in any thematic and content context, just in rewards.

Adding / removing users

In general, this is not a solution that will work without extra-app communication and dialogue between members, nor is it meant to be fully automatic. A group will disintegrate if users do not follow the form, which is a feature not a bug because consensus is really important here.

Every member of the group must have the same copy of the members list at all times. This need only be agreed on once and any defecting user will be automatically removed from the list by observation of posting action.

To add a user after this first period, again all users must have the correct list. If not there will be a break down. For example, if half the users added User A and half did not, when anyone on the half with the new user sends rewards for a new post, their reward proportions will be incorrect according to the other half, who will remove this user. This goes both ways and will cause a split in the group, and also applies if only some of the group remove a user.

This could be seen as a good feature in the sense that if there is a group disagreement on adding or removing a new user, the group will split. You might have guessed but this kind of effect is inspired by the way blockchains work. The disagreement in the group is reflected in the structure that emerges and as far as I can see is quite consistent.

Calculating rewards

The reward calculation distribution could be done in several ways and perhaps the app should offer more than one way. In the interest of simplicity it would be best to choose one however.

The simplest way is to agree a proportion for each member beforehand and add this to the app. For example:

User A at 15%
User B at 45%
User C at 30%
User D at 10%

Or if users wanted to be equal, it is simple to divide evenly, such as the case above with 4 members, at 25% each.

If the rewards are not distributed correct by any one user, they are rejected from the group by the other members. Therefore it is very important to have the proportions agreed beforehand.

Note that these settings could easily be read from a file or the blockchain for ease of use.

Cavet for pre-HF17

Before HF17, only liquid Steem can be transferred instantly. This should be taken into account for calculations. The payout of liquid Steem seems to be 62% of vested Steem (i.e. Steam Power) payout. Calculation should not be a problem even in this case as the algorithm will be deterministic (always the same) and as long as everyone has access to the same blockchain (of course a basic requirement).

This would make some distribution configurations impossible to do directly but could be applied like rolling ledger keeping track of who has been "overpaid" by themselves due to automatic investment of reward by the system. As long as all members are similarly active and paid (probably unlikely!) it would work out. Otherwise it will be a "best effort" system.

After HF17 this will not be a problem unless there are similar restrictions on reward proportions.

Use cases

As in @ocrdu 's original idea, it would be great for likeminded cooperatives or similar, where everyone get's an equal share. However it would also be great for a company structure or a group with various degrees of "shares". This is basically the first proportional example above.

With the push to make Steemit more attractive to businesses, this would be an interesting app for them, especially for groups who do not formally exist outside the blockchain here. In other words, you could use this to form a kind of company on Steemit without the use of any other kind of agreement. If someone in the group does not follow the pre-agreed payouts, they are automatically ejected, thus ensuring cooperation or revision of terms.

Post-HF17 idea update

A general solution [to reward splitting] is allowing for arbitrary splitting of a post’s rewards to a list of parties—such as author, hosting provider, blog site, or referrers—to provide for different business models and applications.

This takes the manual work out of the process and simplifies the idea. We have yet to see how this will happen, but no matter how (whether it is percentage based, with minimums, etc.) it can be applied to this idea.

The main idea stays the same, but tagging is no longer required because post reward beneficiaries will be publicly available to read from the blockchain.

Updated process

  1. Users add each other in the app. This has no effect on the blockchain and is extremely informal. You can add anyone whether they consent to be added or not
  2. When a user in the group makes a post, they must set the reward distribution correctly between group members
  3. Each users' app is watching for posts from these users for after payout
    1. If payment is received, no action is taken as this is correctly as it should be.
    2. If they are not on the list and do not receive payment, the posting user is removed from this user's copy of the group list
  4. When this user makes a post, they set it up to split the rewards according to the the distribution calculation

Addendum

Retrospective on last post

My last ideas post reached the top of the trending page yesterday and which I was overjoyed with! 😁 Thank you so much, yesterday was a happy day for me 😆

I created a planning project with placeholder name "Helping Hand". There's nothing really there yet but I'll be adding to it gradually and developing after it is solid enough. As I said in the post, help welcome, in all forms. 😇

And an additional small idea for steemit.com

I agree with some people who have said that Steemit related posts should not be the most visible thing to newcomers. I suggest that a voluntary tag be added to prevent post from being shown on the trending page, either at all, or perhaps should only show for logged in users. It might be a bit of a silly idea but I know it would be quite simply to implement.

I don't think @sneak is taking ideas at the moment but it's one for the pile. I've added the tag #no-trend to this post as an idea for it. Of course, I'm not so big headed yet to think this will make it to top of trending! 😅

H2
H3
H4
3 columns
2 columns
1 column
22 Comments