RFC 57: Safecoin Revised

Not sure why you need to be concerned with this. Just have the max divisibility and apply a minimum transaction amount. (is dust level)

If dust level is 0.0001 then you can send 0.0001 and send 0.00012345 but not 0.000099999

Sorry, dust size. A while back I was pushing for the “quasi-infinite” divisibility of 128bit SC… can’t believe you are considering it. Wanted to recheck some premises…

I am open to using a 128 bit variable and maybe just using 96 bits of it and maybe the other 32 bits can be used for version.

In any case dust will still be needed for nano sized division since it will be easy to spam the network if anyone can send 1 nano transactions with a smallish network. The dust limit would allow for nano division or nano-nano division (10^-18) or nano-nano-nano division (10^-27). So the division size is not necessary to consider to the idea of implementing a dust limit.

And of course the reward payments could be considered a privileged transaction where there is no dust limit.

1 Like

As we might have 128 bit variable SafeCoin I little change the original StoreCost formula with linear HM from 1,7 to 0 for Farm Rate

SC = StoreCost = number of SafeCoins per one PUT
G = Not full nodes
F = Full nodes
N = Total numbers of nodes
FR = Farm Rate = maximum coin rewarded per one PUT
HM = Health Multiplier
FC = Farmed Coins may vary from 0,15 to 1

SC = F/(G*N)

FR = SC * HM

HM = (-2)*FC+2

This formula could work little better if you replace good nodes/full nodes ratio with one to counting empy/full storage place, but as it is not sure how easy it is to count, I work only with numbers of vaults.
The focus is straight to have as many PUTs as possible per one SafeCoin to reduce inflation of Coin and increase value.

For few years it is possible that SafeCoin would be still undervalued (You can upload files much cheaper to SafeNetwork than anywhere else) This can lead to some potential problems:

  • Low initiative to run own vault for profit
  • Lack of initiative to buy storage to run a vault
  • Use spare space in big datacentres for aditional profit.
  • Lack of spare space in the SafeNetwork

The iniative to run a vault would be focused on people with no SafeCoins, no other cryptocurrencies or no bank at all, as easy way how to get some. While SafeCoins would be still undervalued the best way would be keep or use.

Some samples

1 week 1000 nodes
1% full
SC = 0,000 01
50% full
SC = 0,001

1 year+ 1 000 000 nodes
1% full
SC = 0,000 000 01
50% full
SC = 0,000 001

50% full would reduce SC to 1/100 from 1% full.
With every 10 times more vaults the SC would be 10 times smaller.
If price of storage is decreasing to half every 5 years (2009-2017). The SafeCoin price would grow until it double the numbers of vaults in less than 5 years.
The number of coins in circulation should become stable after reaching 50% of all available coins.

EDIT: The formula is also interesting when is changed to: SC = F/(G*N^2). Than with every 10 times more nodes, SC is 100times lower.

1 Like

A very common use case with currency, is to divide it between several recipients. At this point there is often a remainder, as the amount can not be evenly divided.

If I may ask for one thing when implementing division for safecoin:
Force the user to handle the remainder, by doing:

 pub fn divide(Coins coins, u64 with) -> (Coins, Coins) {
        var share = new Coins(coins.Value / with);
        var remainder = new Coins(coins.Value % with);
        return (share, remainder);
}

This would be a common good practice I would say which forces a user to handle the remainder when dividing. This would minimise errors in badly written apps. Also it relieves the coding community from another little piece of tedious plumbing.

10 Likes

To add amount of data stored into formula we can calculate all data stored on SafeNetwork with log(storeddata in MB)+1

New StoreCost formula would be

SC = F/(G * N * SD)

SD = log(Stored Data in MB) +1
1TB = SD 7
1PB = SD 10

With every 10 times more StoredData in SafeNetwork the StoreCost would be SD( n+1)/SD( n) smaller.
10TB to 100TB would make 12,5% smaller SC.
1EB to 10EB would make 7,7% smaller SC.

This should help with a case when network is quite large with slow grow of new nodes, while still grow of average storage size. But compare to big difference between 1% of full nodes and 50% of full nodes it is marginal change. And if it is worth to calculate all chunks.

1 Like

I read up there somewhere that safecoin will be worth more than bitcoin… if 1 Maid is worth $10.000 only the circulating amount of Maid will be worth 4 TRILLION dollars… right? then, we´ll need everybody who uses the internet to be on board with us…

This probably isn’t the topic to discuss this, but I will do my best to answer your question.

I think it is more speculation that the use case for Safecoin is much higher than that of BTC, and thus the value should ultimately be higher, but we are a long way from that. I think market cap could certainly surpass BTC in the not so distant future, if the network is successfully launched, but hitting $10K USD per coin is unlikely any time soon.

You have to remember that a lot of coins will be farmed early, to help spur network growth. I believe estimates have us getting in the 1-2 Billion coins range in the first few years, so even if the network is successful the inflationary nature of farming at such a high rate will depress the price of a single coin. The continued farming, even while the rate is slowing down, will apply a downward pressure on the price of the coin for probably the first decade or so, after which, the rate will have slowed to a point that price pressure is still there, but largely unseen.

I say all that to say, $10K for a single coin is highly unlikely any time soon, as that would put the market cap in the first few years in the $10-20T range as coin supply increases. Long long term, if this actually does become the Internet 2.0, perhaps that is not outside the realm of possibility, but I would not expect it to push anywhere past $100/coin even in the wildest of moon scenarios for the foreseeable future.

This is all speculation and completely my opinion, so take it with a grain of salt. In the end, none of us know what will happen. It isn’t impossible that the network gets released and takes the world by storm and 2 years later many people on this board are suddenly billionaires.

3 Likes

https://github.com/maidsafe/rfcs/pull/334/files#diff-e02a6c4824ac9023ea49862628d124ccL39

  • struct Coins(u64);
  • The inner value will represent a count of nano-safecoins, and will never exceed the upper limit of issuable safecoin (i.e. 2^32 safecoin, or equivalently 2^32 * 10^9 nano-safecoins).

So it looks like little less than 2^64 or 2^32 * 2^32

4 Likes

As @anon86652309 said it would be in the end.

3 Likes

Exciting stuff! Looking forward to testing these coins out. Won’t it be nice to have free, instant, anonymous, highly divisible, transactions to play with? :wink:

12 Likes

This will be awesome :stuck_out_tongue:

3 Likes

Final Comment Period

The Safecoin Revised RFC will remain open for 10 more days to allow any final comments.

Thanks for your contributions! :slightly_smiling_face:

9 Likes

I will close these polls in about 5 days to allow for a post to be made in this topic providing some feedback for yourself @Lindsey and @anon86652309 to consider.

Yes you can change your choices in the polls and it would be good to get as many to vote as possible, even if you say you do not want to choose.

1 Like

Great to see so many contributors to this. One of my favorite topics, and many powerful minds churning out really insightful discussions. Just catching up on these now

4 Likes

@Lindsey, @anon86652309 here are the results from the 3 polls and trying to not be biased the outtake of the interested community members. All polls had around 58 voters

NOTE: This is input into the future of the SAFEcoin RFC(s) and not needed for the upcoming release, but for later alpha/beta release.

Poll 1

The first poll is about whether we keep to 2^32 SAFEcoins or expand the number to fill the 2^64 while keeping 9 decimal places (or 28 places if we got with u128).

  • 40% - Keep with 1 MAID === 1 Safecoin
  • 49% - Use max allowed variable for safecoin 1MAID => 4.294967296 safecoin
  • 11% - passed on voting

It would seem from this result that there is more wanting to maximise the value to suit the variable used and change the swap rate from MAID to Safecoin. While very close it does suggest the majority wish to maximise.
Conclusion is that this should be seriously considered and discussed at further length

Poll 2

Use u64 giving 9 decimal places or use u128 (96 bits or even 128 bits) giving 18 or 27 decimal places.

  • 50% - u64 (9 places)
  • 37% - u128 (18 or 27 places)
  • 13% - passed on voting

There is a clear message that the majority wish to remain with the 9 decimal places. Although there is a clear indication that a significant number see 18 (or 27) places as desirable. This could be due to the subset of voters who know IoT choosing the larger number of decimal places over those who are not into IoT who mostly choose 9 places. Without further polling we will not know.

My opinion is that getting a significant percentage choosing the higher number of places, this option could be also a subject for further investigation.

Conclusion is that if it is technically reasonable to do then it should be investigated further

Additional thought on this poll was that if we expect SAFE to become international system for exchange of value ( >40 to 4000 trillion exchanged/year) as well then the price of one safecoin will have to handle at least 10,000 USD and perhaps approach 1 million USD. This would require more than 9 places. The question is if we expect this to be happening or not. This is one question i don’t know enough to answer at the moment

Poll 3

The question if whether you would want the exposure of nano safecoin immediately or wait

  • 78% - Yes expose nano now
  • 10% - No only micro now
  • 12% - passed on voting

This is a clear result, even if all who passed re-voted to only micro now it is still a clear decision.

Conclusion is that the community wants to see nano exposed from the beginning

My suggestion @anon86652309 is that some minimum transaction amount is built in to the safecoin spend so that we prevent spamming of 1 nano safecoin transactions. Still have the 9 places but just it has to be over a minimum amount. Then as the network grows then this minimum value drops either dynamically calculated or set with each release of the node software.

To be clear a minimum value of (example) 0.001 would still allow 0.001000001 since that is over the minimum and obviously 0.000999999 would not. The idea is not number of places allowed but just minimum transaction amount.

Dynamic could be on number of sections in the network as a gauge of the network size and thus ability to handle the spam transactions.

15 Likes

I think it’s a really good thing that these polls were held. The polls highlight a few concerns I have regarding this sort of crowdsourced decision making:

  1. The volume of voters doesn’t present an n that’s statistically significant enough to be truly representative
  2. I agree that the result of Poll 1 should be further discussion because it would seem at least a super majority (e.g. 2/3 in favor) should be required to make such weighty changes like altering the conversion rate of MAID to SAFE (i.e. deviating from what was committed to during the ICO)
  3. There is some danger in following the will of under-informed, non-technical voters (i.e. the discrepancy between the results of Polls 2 and 3 seem to indicate that voters may not truly understand what they are voting for or against)

In sum, when do you need a democracy and when do you need a republic?

23 Likes

That is why i tried to keep it in terms that “the polls suggest”

I did try but not really enough people voted, but since the weekly updates are usually under 100 likes it would seem the number in the community willing to participate in decisions is going to be around or under this figure and the polls seemed to have reflected this.

So in effect the polls gave a single voice of the 60 to the developers and not to decide the majority of those who will use the network.

As I said above and this is more of a representative democracy currently since the contributing community members have a voice and the devs make the decisions based on technical and their educated opinion and the community voice.

9 Likes

Hi All,

Sorry if this has been explained or covered already… but I won’t be able to get through all 419 previous posts to check…

I can’t find the article I read, but somewhere it explained how SAFE will generate coins. Basically there was a big array of coins, sized for the maximum number of (integer) SAFE coins… When calculating whether a farmer is to receive a reward it was to select an address from this array at random. If the resulting address is empty then it would assign that 1 SAFE coin as a reward to the farmer. If it was full then the farmer gets nothing… So then if a coin is paid to store data on the network, the network would delete those coins and they would be available again for farming rewards. I can see how that would work from supply/demand perspective, so that’s fine…

However I don’t understand how that will work with the decimal safecoin system, unless the rewards array is big enough to represent all decimal safecoins and not just integer values, and even then that would have its own set of problems

Does this make sense or need I elaborate further? Is there a proposed solution for it?

Thanks

I am sorry to say that you do need to read some of the topic.

It has changed

It is now coinBalances and your coins are held in a balance looked after by the section that the balance is stored in

And thus it is now a decimal system with values down to nano level (0.000000001)

4 Likes