If a token is created as a standard eosio.token, what are some approaches for paying out dividends to token holders?
It's hard to visualize a dividend because to me that would imply paying others in EOS (a currency in which you do not directly control the inflation nor supply of).
With that said I see a few approaches. One would be just artificially increasing the supply of the token and issuing that over time. This would be an inflation effectively, but with a dividend type feeling due to the shareholders potentially receiving an equal share based on total stake.
Another approach could be where the dapp takes a cut each time the token is used for its utility or transferred to another user. This could create a fund from which dividends could be redistributed to everyone using the token (or just burning the token effectively causing deflation equally to all users).
From a psychological perspective, I think the end user would rather see the additional tokens coming in rather than not being able to see the tokens destroyed.
Dividends traditionally come from excess profit a company is taking in, so not all of the funds in that account would have to be redistributed.
You could also limit the accounts the dividend could apply to by creating a stake-like option like steemit used where users would elect to lock up their tokens for a longer period of time (weeks to months) in order to be eligible to receive the dividend based on how many tokens they've locked up.
By incentivizing users to lock up their tokens, this effectively reduces the float, or total amount of tokens that can be traded. In simple terms, less supply with the same demand leads to a price appreciation of the asset in question.
If you mean on a technical level there's a few ways of giving out this effect.
Some dApps I've seen have a very centralised method where they'll calculate the dividend rewards for users every 24 hours perform the dividend by transferring the EOS to the users in bulk.
I'm currently developing another method, done entirely on contract. It's based off the eosio.token contract, which allows people to create dividends by simply transferring EOS to the contract and specifying the token you want to issue a dividend towards in the memo.
This will record the total dividends for the token, then, when people want to claim their dividend they just hit a
claim action and they will receive whatever EOS they're entitled too.
This makes it very scalable as there isn't a need for bulk CPU every 24 hours, users can get their dividend every 5 minutes should there be a new dividend every 4. Plus, the
claim action can be triggered by anyone, so your users can enjoy their EOS rewards being sent to their accounts automatically if that's something the dApp developer wants to provide.
I think it's very important that we think bigger with token contracts on the network, too many dApp devs just fork the
eosio.token contract and do what they want with it, despite plenty of other dApp devs who would have similar feature requests.
Let me know if you'd be interested in checking it out when I release the contract.