RFC 57: Safecoin Revised

Safecoin whitepaper Proof of Resource:

The ability for a node to carry out these actions will be determined by a combination of its CPU speed,
bandwidth availability, unused storage capacity and on-line time.

Is it possible to check correctly CPU, bandwidth, unused storage and network on-line time even with cheating farmers ? If this will be not checked, than PoW will be only Proof of delivery each requested chuck ?

If PoR is going to be abandoned, how the farmers will be motivated to share more bandwidth and not to use temporary cheap(or free) cloud storage with limited bandwidth and play with total numbers of vaults and available storage? They were motivated to provided above average resources to get higher FR, but If average user will limit own resources to network will still get same reward ? That would limit several use cases in a future.

1 Like

IMO the farm rate is just one factor for farmers. To even be a farmer you have to prove you have all the resources required. Thatā€™s why Safe Network also has the ā€˜adultsā€™ and ā€˜eldersā€™ criteria that are prerequisites to farming.

1 Like

PUTs arenā€™t transferable though right? otherwise they would become another ā€œcoinā€ which isnā€™t what we want. If 1 nano safecoin buys a huge amount of value like 1 trillion PUTs. Safecoin itself is no longer able to do micro transactions because you canā€™t pay for tiny things anymore.

3 Likes

If you are on-line 24/7 for several months, but with download 100Mbps/1Mbps upload connection you can provide 100Gb or 100TB, but once there are several requests in a same time for couple chunks and you will not provide it in next xxxx miliseconds due slow response time, you will become child or banned ?

What if one chunk is so famous, that 10 000+ users want it in the same time ?
What criteria you have to meet to always provided requested chunks when is hardly possible for average farmer ?

1 Like

I donā€™t think the detail has been worked out yet and probably wonā€™t be fully until we have an alpha testnet with vaults ā€¦ then the variables can be adjusted until we get what we want. But the aims are there ā€¦ so unless itā€™s impossible, it will be worked out I believe.

1 Like

Thatā€™s where caching is supposed to come into play. The data chunk could be provided by others closer to the requestor.

4 Likes

I understand what you are saying but if

How will the farming reward here work. That needs to be able to make payments as small as 1000TB / 1MB (a single PUT). Which is now significantly smaller than 1 nano. Farmers will be unable to receive any reward until they have provided 1000TBs worth of storage. That value will only grow and grow, what happens when its 5000PB. But my new laptop in the future isnā€™t as high end as the rest of the world and I only have 3000PB. I canā€™t earn any rewards?

I personally donā€™t see the need for PUTs at all if you have an infinitely divisible coin.

2 Likes

Still, in the early days of the Safenetwork if the smallest value was 1 nano. if the average vault was 1TB, but I only provided 100mb. I can earn nanoā€™s, the network is able to provide me for something in exchange for what iā€™m providing. Even if its insignificant, itā€™s still simply able to allocate 1 nano to me.

When 1 nano is considered more than 1 PUT. Iā€™m now able to earn twice or nothing at all based on the value I provide to the network. Because of luck? (1 person gets 1 nano, another gets nothing) when actually they both deserve 0.5 nano. That seems broken to me, and should be fixed at the source of the problem, an infinitely divisible coin.

1 Like

I get it, I just donā€™t like it.

(Safenetwork internal AI thoughts, year 2121): Hmmm :thinking: unable to make fractional nano payments. Time to activate random probability payments mode. *[If name = zeroflaw] Luck == 0

It seems flawed, because it only occurs in the future.

What happens if 1 nano coin = someone can eat today. You really think itā€™s fair that should come down to luck?

1 Like

Itā€™s an unfortunate interpretation of the mechanism.
Itā€™s like looking at one second of life, and considering everything that happened there, the only thing to ever happen.

Probabilistic doesnā€™t mean that it comes down to luck.

You could practically say that if you stay on for a while, you will get paid. The amount you get paid is not going to be exactly calculable at every time, but the longer you stay on the more equal your reward is to anyone else with same time online and machine.
After a while, the difference will be so small that itā€™s ā€œdustā€.

Edit: To nuance things a bit though, with a normal distribution and big enough population, there will be instances that get very little or very much. They will be very few proportionally. But as we know, it isnā€™t the majority that is loudest in social media, it is the few and very motivated.
This normal distribution has not been addressed anywhere afaik, and IMO itā€™s not important to do so now either. But I am aware of cases where the normal distribution is mitigated, so could be worth checking that out at least.

3 Likes

I agree.

This works at the start of the network because you are able to pay farms in dust, and overtime that builds up into a reward they can use. Overall, it will be fairly well distributed.

When 1 nano is no longer considered dust, you can no longer distribute over a longer period of time. If 1 nano becomes worth a salary and gets paid out once yearly. You could have people that end up with nothing and others with twice what they deserve.

The only way to fix this, is with a smaller unit of measurement. Which can be distributed over a longer period of time.

1 Like

You need to show that it needs fixing.
Merely extrapolating and finding an absurd number in the extreme is not enough.
We can do that with a number of things, maybe even most things. So, considering what things will be like in 1 billion years for example.
Is it worth the time though?

Settling on a number, which has been done above, is by considering changes reasonably far ahead in time, and thatā€™s pretty much all we can do.

If you do have a practical way to ensure infinite divisibility, you are more than welcome to describe it. If you are just asking others to find the way, you are still lacking convincing argument to why that would be worth the time.

5 Likes

I kinda tried on post 234. Its not that well explained but I was aiming for the following 4

  • infinite divisibility (I know my implementation isnā€™t exactly infinite, but can go a lot smaller than nano)
  • human readable
  • builtin spam protection
  • replaces the need for PUTs

Nano is too small to start with, and will eventually not be small enough. We can define anything we like here, and the attractiveness of using u64 nano is a great quick win implementation.

1 safecoin = 1,000,000,000? have I got the correct number of zeros? to be honest Iā€™m not 100%.

What I like about the Safenetwork is its aimed for everyone. Safecoin is for humans to use, it should be built with usability in mind. Thats never going to be easy, but I think its worth the effort.

2 Likes

Iā€™ve done some basic number-crunching based on world wealth and minimum upload sizes and stuff, and come to the conclusion that even without major technological advancements, 64-bit resolution just wonā€™t be enough. 96-bit or 128-bit is the way to go.

Iā€™d also like to add that computer storage measurement units have addressed this problem, and I personally would prefer the minimum value being referred to as 1 safecoin, just like the humble bit. A bit is too small to be of practical use for the average person, but people can think in terms of TB now because theyā€™ve gotten used to it. It also allows for binary prefixes which may be useful for technical reason, so 1 mebisafecoin would be 1 048 576 safecoin.

Edit: Thanks for pushing against the proposed technical/intuitive ugliness of the initial suggestions.

7 Likes

Hey, thatā€™s great. Why donā€™t you please go through it here? Weā€™re just the kind of audience for it :sunglasses:

4 Likes

Edit: Disregard all of this, the next post shows it to be invalid.

Letā€™s say weā€™re living in 2040. Times have changed as the population increases to 10 000 000 000, or maybe decreases, and who can tell what the climate will look like by then. Wealth inequality and internet coverage are also hard to predict.

Total wealth: Ā£3 000 000 000 000
Market cap of safecoin: Ā£1 000 000 000 000
Mean wealth: Ā£300
Median wealth: Ā£60
Amount the median person will spend on uploading per year: Ā£10 in safecoin
Amount uploaded by the mean person per year: 1 000 000 000 000 bytes (1 TB, as videos will get more HD and uploading will become more common)
Average cost per byte uploaded: Ā£0.000 000 000 01
Smallest file type that might need to be uploaded regularly: 10 second voice recording, 10 000 bytes (10 kB)
Cost per small file: Ā£0.000 000 1

It wouldnā€™t be ideal to overcharge by too much when rounding up the upload cost for a small file. That could cause problems when mass-uploading small files for instance. So letā€™s say we want a resolution of Ā£0.000 000 01 for upload costs.

With a market cap of Ā£1 000 000 000 000, and a minimum value of Ā£0.000 000 01, the market cap is the minimum value times 10^20, or 2^66.4.

And thatā€™s assuming what I consider to be sane and plausible projections. Of course, it wouldnā€™t be a disaster if upload costs got rounded up significantly for small files, but it could be avoided by using 96-bit or 128-bit.

1 Like

Ah, I knew that but completely forgot. That is a solid point. I guess 64-bit is enough after all. Thanks!

2 Likes

Amazing thread, and amazing community. Just saying.

10 Likes

That is round about USA yearly budget and seems very low for total wealth in 2040

1 Like

Wouldnā€™t the budget be higher than the actual amount of money? Inflation is an issue, but I just kind of ignored it for simplicityā€¦ But given the new information (buying PUT bundles rather than individual uploads) I think 64-bit would handle even extreme inflation/wealth inequality scenarios.

1 Like