Skip to content

Instantly share code, notes, and snippets.

@super3
Last active September 8, 2020 01:48
Show Gist options
  • Select an option

  • Save super3/a36a3d4967951ec678200f499364b81a to your computer and use it in GitHub Desktop.

Select an option

Save super3/a36a3d4967951ec678200f499364b81a to your computer and use it in GitHub Desktop.
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
@vetras

vetras commented May 9, 2017

Copy link
Copy Markdown

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

onbjerg commented May 10, 2017

Copy link
Copy Markdown

@vetras

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

@samskiter

Copy link
Copy Markdown

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

@myownman

Copy link
Copy Markdown

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

@GitOnHub

Copy link
Copy Markdown

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

Copy link
Copy Markdown

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

@super3

super3 commented Jul 6, 2017

Copy link
Copy Markdown
Author

@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

Copy link
Copy Markdown

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

Copy link
Copy Markdown

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

@Elipol

Elipol commented Aug 28, 2017

Copy link
Copy Markdown

Does value of "sth"Scaled can be negative?

@AndreyNazarchuk

Copy link
Copy Markdown

@bortkiewicz

Copy link
Copy Markdown

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

@cryptochrism

Copy link
Copy Markdown

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

Copy link
Copy Markdown

why does it take so long to get payouts?

@dugwood

dugwood commented Feb 17, 2018

Copy link
Copy Markdown

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

@KevinGabbert

Copy link
Copy Markdown

that page is no longer there. where do i look now?

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