Skip to content

Commit

Permalink
Appended Dividends for Automation
Browse files Browse the repository at this point in the history
Specified Divident Addresses with a regular pay-out time interval.
  • Loading branch information
patrickdugan committed Apr 1, 2014
1 parent 01e80af commit 3049e5b
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -767,6 +767,20 @@ Note that this transaction is very similar to "simple send", with just one extra

Another use-case for this transaction type would be a giveaway, where someone wants to raise interest in their new coin or property by giving some away to everyone who owns (for instance) Mastercoins.

### Mark Address as Automatic Dividend Dispensary

Although manual administration of dividends could work periodically, many applications of dividend payments will depend on automated logic of other financial instruments. Introducing a timer interval to an address that automatically looks up addresses containing its target smart property and paying proportionally to the number of units at those addresses provides an important building block for financial instruments. In order to reduce spam, we can install a minimum time interval at the protocol level, in the below example a 6-hour interval is used:

1. [Transaction version](#field-transaction-version) = 0
1. [Transaction type](#field-transaction-type) = 15
2. [Currency identifier](#field-currency-identifier) = 1 for Mastercoin (must push)
3. [Time Interval](#field-time-period-in-seconds) = 21600
4. [Currency identifier] (#field-currency-identifier) = N for user-created fundraise share or currency that attracts payout.

This function can be used to distribute profits by having a separate fund address push a certain amount of currency to the dividend dispenser address, based on a mathematical formula. This function could also tie in with escrow funds to facilitate standardized CFD contracts.

The payments are, by default, sent without fee because the confirmation time is less relevant in a passive income vehicle - however, it could be possible to add a field specifying a minimum threshold of BTC or MSC needed to trigger a payout at an address when a given timer resets to 0, such that average payout is above some reasonable threshold (such as .1 MSC or .001 BTC) and a .0001 BTC fee is attached to each pay-out.


## Distributed E-Commerce

Expand Down

3 comments on commit 3049e5b

@ProphetX10
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should go into the product requirements document and be evaluated first, additionally there is no discussion of compliance and regulatory issues when implementing this

https://github.com/mastercoin-MSC/Master_Protocol_Product_Requirements

@dacoinminster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to add a potential attack vector concern Peter Todd raised with pay-all (dividends). Every TX of this nature requires updating the balances of hundreds, thousands, or even millions of addresses. This makes each command potentially extremely computationally expensive. Somebody flooding the network with pay-all commands (or payments to a dispensary address such as this) could effectively bring the network down.

Consequently, we need to include an anti-spam fee for any command which potentially affects a large number of balances, preferably proportional to the number of addresses affected.

@ProphetX10
Copy link

@ProphetX10 ProphetX10 commented on 3049e5b May 7, 2014 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.