Instantly share code, notes, and snippets.

@super3 /payout.MD
Last active Mar 18, 2018

Embed
What would you like to do?
Storj Bridge Payout Formula

Payout Formula

paymentModelFunction = function(gbHours, telemReports, downloadedBytes) {
 gbHoursScaled =  (gbHours - mean(gbHours)) / sd(gbHours)
 telemReportsScaled =  (telemReports - mean(telemReports)) / sd(telemReports)
 downloadedBytesScaled = (downloadedBytes - mean(downloadedBytes)) / sd(downloadedBytes)
 
 basePayout = 10
 ghHourPayout = 12.2221 * gbHoursScaled
 telemReportsPayout = 0.1452 * telemReportsScaled
 downloadedBytesPayout = 12.6849 * downloadedBytesScaled
 
 finalPayout = ghHourPayout + telemReportsPayout + downloadedBytesPayout + basePayout
}

Payment Cut-off

farmerCutoff = function(farmerData, hoursInMonth) {
 subset(farmerData,
        GigabyteHours >= hoursInMonth | (TelemetryReportCount >= mean(TelemetryReportCount) &
        DownloadedBytes >= mean(DownloadedBytes))
 )
}
  • There are no rewards for storing less than 1 GB for the month.
  • However, if a user has telemetry reports, exchange reports, or downloads they may still receive a reward.
  • There are no rewards if a user has not been seen in the past week.

Details

  • Each component (gbHours, telemetry reports, and downloaded bytes) is scaled so that each metric ends up being a measurement of how far away you are from the mean
  • Those values are multiplied by certain weights and summed to arrive at a final value
@keneveyj

This comment has been minimized.

Show comment
Hide comment
@keneveyj

keneveyj Feb 27, 2017

Weighted standard deviations: doesn't that mean average node gets nothing; If you have avg stats you get 0 according to the formula? It creates a red queen race that the users can't win: imagine that we both run a bridge - you and me - the average is somewhere in between, so you get rewards and I don't; then I drop off and now you get nothing paid out as the mean is now higher. As a result nobody will get the rewards. Incentive design in games is hard, if players design the system it is too easy on them, if the rewards are too sparse - the opposite happens.

keneveyj commented Feb 27, 2017

Weighted standard deviations: doesn't that mean average node gets nothing; If you have avg stats you get 0 according to the formula? It creates a red queen race that the users can't win: imagine that we both run a bridge - you and me - the average is somewhere in between, so you get rewards and I don't; then I drop off and now you get nothing paid out as the mean is now higher. As a result nobody will get the rewards. Incentive design in games is hard, if players design the system it is too easy on them, if the rewards are too sparse - the opposite happens.

@super3

This comment has been minimized.

Show comment
Hide comment
@super3

super3 Mar 4, 2017

@keneveyj Note in the formula there is a base payout. If you have average stats then you would simply get the base payout which is currently 15 SJCX.

Owner

super3 commented Mar 4, 2017

@keneveyj Note in the formula there is a base payout. If you have average stats then you would simply get the base payout which is currently 15 SJCX.

@toomuchstorj

This comment has been minimized.

Show comment
Hide comment
@toomuchstorj

toomuchstorj Mar 9, 2017

So payout is at the beginning of every month? Or a month from where you start running it? Also I have 20+ 500gb drives im running.. Plus several larger ones, are the stats combined together as I have same payout address running on them all? Sorry if questions are dumb as I am new to this idea.

toomuchstorj commented Mar 9, 2017

So payout is at the beginning of every month? Or a month from where you start running it? Also I have 20+ 500gb drives im running.. Plus several larger ones, are the stats combined together as I have same payout address running on them all? Sorry if questions are dumb as I am new to this idea.

@super3

This comment has been minimized.

Show comment
Hide comment
@super3

super3 Mar 9, 2017

@toomuchstorj The community chat is the best place to ask these types of questions. So payouts are typical released for review on the 1st for the previous month. So released on March 1st for the month of Feb. They are then reviewed by the community, and paid out a week or so later. Yes, everything will be combined into a single payment on a single address for multiple nodes running on the same payment address.

Owner

super3 commented Mar 9, 2017

@toomuchstorj The community chat is the best place to ask these types of questions. So payouts are typical released for review on the 1st for the previous month. So released on March 1st for the month of Feb. They are then reviewed by the community, and paid out a week or so later. Yes, everything will be combined into a single payment on a single address for multiple nodes running on the same payment address.

@vetras

This comment has been minimized.

Show comment
Hide comment
@vetras

vetras May 9, 2017

Hi!
I'm sharing some things that were not clear to me on the formula above.
May be useful to others.
I found this information by searching the online community chat.

gbHours: The number of gigabyte times the number of hours they are online. Example: if you store 30 gigabytes for 10 hours, that is 300 GB/H

downloadedBytes: how much data has been downloaded from all of your node(s). In other words, how much you have uploaded from your "pc" to the renters. Value in bytes.

telemReports: I don't know

sd function: the standard-deviation function / computation

The unit of payment is SJCX coins.
Right now, 1 SJCX == 0.42 US$

vetras commented May 9, 2017

Hi!
I'm sharing some things that were not clear to me on the formula above.
May be useful to others.
I found this information by searching the online community chat.

gbHours: The number of gigabyte times the number of hours they are online. Example: if you store 30 gigabytes for 10 hours, that is 300 GB/H

downloadedBytes: how much data has been downloaded from all of your node(s). In other words, how much you have uploaded from your "pc" to the renters. Value in bytes.

telemReports: I don't know

sd function: the standard-deviation function / computation

The unit of payment is SJCX coins.
Right now, 1 SJCX == 0.42 US$

@onbjerg

This comment has been minimized.

Show comment
Hide comment
@onbjerg

onbjerg May 10, 2017

@vetras

telemReports is the number of telemetry reports, which is anonymous statistics sent to Storj for analysis

onbjerg commented May 10, 2017

@vetras

telemReports is the number of telemetry reports, which is anonymous statistics sent to Storj for analysis

@samskiter

This comment has been minimized.

Show comment
Hide comment
@samskiter

samskiter May 10, 2017

Why do below average miners get paid (close to) nothing?

samskiter commented May 10, 2017

Why do below average miners get paid (close to) nothing?

@myownman

This comment has been minimized.

Show comment
Hide comment
@myownman

myownman May 15, 2017

Is there any work being done to display these variables to the client?

myownman commented May 15, 2017

Is there any work being done to display these variables to the client?

@GitOnHub

This comment has been minimized.

Show comment
Hide comment
@GitOnHub

GitOnHub May 18, 2017

This is a peculiar reward mechanism to put it mildly. It makes the aggregate payout liabilities proportional to the number of farmers, which is pretty comfy for StorJ. To farmers it's mostly confusing and feels unfair. Even when supplying resources to the network you can end up with no rewards, and your very real costs of electricity, inconvenience and equipment depreciation are only marginally being taken into account at an unknowable rate.

To offer a counterpoint, as I understand now the parameters of the formula may currently be more favorable than those displayed here because of subsidies. I suspect there are better reward models possible that pose the same minimal risk for StorJ at a similar level of aggregate payouts.

GitOnHub commented May 18, 2017

This is a peculiar reward mechanism to put it mildly. It makes the aggregate payout liabilities proportional to the number of farmers, which is pretty comfy for StorJ. To farmers it's mostly confusing and feels unfair. Even when supplying resources to the network you can end up with no rewards, and your very real costs of electricity, inconvenience and equipment depreciation are only marginally being taken into account at an unknowable rate.

To offer a counterpoint, as I understand now the parameters of the formula may currently be more favorable than those displayed here because of subsidies. I suspect there are better reward models possible that pose the same minimal risk for StorJ at a similar level of aggregate payouts.

@Joshfindit

This comment has been minimized.

Show comment
Hide comment
@Joshfindit

Joshfindit May 25, 2017

It's concerning that each of the previous 4 edits to this document have reduced the payout.
Any official statement on these?

Joshfindit commented May 25, 2017

It's concerning that each of the previous 4 edits to this document have reduced the payout.
Any official statement on these?

@super3

This comment has been minimized.

Show comment
Hide comment
@super3

super3 Jul 6, 2017

@Joshfindi Because the base payout was in SJCX (now STORJ), and has increased significantly. This is actually priced in USD for the service, so we have to adjust when there are significant changes.

Owner

super3 commented Jul 6, 2017

@Joshfindi Because the base payout was in SJCX (now STORJ), and has increased significantly. This is actually priced in USD for the service, so we have to adjust when there are significant changes.

@cornwr1e

This comment has been minimized.

Show comment
Hide comment
@cornwr1e

cornwr1e Jul 13, 2017

The question was asked before and maybe I have missed the answer. But how do I as a "farmer" see these values : gbHours, downloadedBytes, & telemReports?

cornwr1e commented Jul 13, 2017

The question was asked before and maybe I have missed the answer. But how do I as a "farmer" see these values : gbHours, downloadedBytes, & telemReports?

@justvanbloom

This comment has been minimized.

Show comment
Hide comment
@justvanbloom

justvanbloom Aug 4, 2017

intresting. but when does storj actually payout? there is indeed need for more transparency here.

justvanbloom commented Aug 4, 2017

intresting. but when does storj actually payout? there is indeed need for more transparency here.

@Elipol

This comment has been minimized.

Show comment
Hide comment
@Elipol

Elipol Aug 28, 2017

Does value of "sth"Scaled can be negative?

Elipol commented Aug 28, 2017

Does value of "sth"Scaled can be negative?

@AndreyNazarchuk

This comment has been minimized.

Show comment
Hide comment
@AndreyNazarchuk

AndreyNazarchuk commented Dec 15, 2017

@testitem

This comment has been minimized.

Show comment
Hide comment
@testitem

testitem Jan 25, 2018

I have 20 gigabytes of storage dedicated to STORJ, but only 1Mib is used. Am I going to get the payout?

testitem commented Jan 25, 2018

I have 20 gigabytes of storage dedicated to STORJ, but only 1Mib is used. Am I going to get the payout?

@cryptochrism

This comment has been minimized.

Show comment
Hide comment
@cryptochrism

cryptochrism Feb 16, 2018

so when do we get paid, have been involved for a few months. Where's the payout spreadshee? how come payouts aren't automatically sent?

cryptochrism commented Feb 16, 2018

so when do we get paid, have been involved for a few months. Where's the payout spreadshee? how come payouts aren't automatically sent?

@cryptochrism

This comment has been minimized.

Show comment
Hide comment
@cryptochrism

cryptochrism Feb 16, 2018

why does it take so long to get payouts?

cryptochrism commented Feb 16, 2018

why does it take so long to get payouts?

@dugwood

This comment has been minimized.

Show comment
Hide comment
@dugwood

dugwood Feb 17, 2018

@cryptochrism: log on to https://community.storj.io/ and you'll find the spreadsheet in the #payments channel.

dugwood commented Feb 17, 2018

@cryptochrism: log on to https://community.storj.io/ and you'll find the spreadsheet in the #payments channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment