Price discovery for purchase of network resources

Thanks, David.

We’re not quite on the same page.

I’m not talking about fiat or btc.

I’m just referring to the network establishing how much safecoin to accept for any particular resource which it will sell access to by an individual account.

The price is a safecoin only price, because that’s all the network itself could accept. It’s either got to be a fixed relationship or it must be governed by some ratio or algorithm, but it’s something the network must control if it’s an exchange between the network and the individual.

EDIT to add: This probably hasn’t been considered as yet, but I’m pointing out that in will have to be, if the network is going to be in the business of selling upgrade services.

2 Likes

This is just a random thought,

A possible solution could be a farmer (ask) mechanism via the Vault interface.

Farmers would set the (ask) price in Safecoin per Gb.
Consumers would then decide if they want to buy storage at the current price.

So instead of trying to balance (Safecoin) to (Fiat) to (Storage). We just remove the mud and let free market arbitration take over. This is the closest we can do without direct trade between farmers and consumers. Farmers know they want the highest Safecoin per Gb possible, while Consumers decide if they are willing to pay that price.

Example:

Bob asks 2 Safecoin per Gb… for 100Gb
Tim asks 1 Safecoin per Gb… for 1000Gb
Kim asks 3 Safecoin per Gb… for 500Gb

Total 1600Gb is available for purchase from the Network.
The first 1000Gb can be bought at 1 Safecoin per Gb, then the price rises to 2 Safecoin per Gb for the next 100Gb, and 3 Safecoin per Gb for the next 500Gb… and so on. The farm rate is adjusted by the (ask) price IF a sale was made at that price. If all 1600 Gb was bought… Kim would farm 3 times faster than Tim.

Even though the farmers are not selling their storage directly to the consumer, they can influence their farm rate which means higher earning. It’s still a little messy… but possible?

There is a “blind” issue. If a farmer asks 5 Safecoin per Gb… for 4000Gb. Their vault gets filled up but they are not earning any Safecoin because the highest sale price was 3 Safecoin per Gb. Would they need to reduce their ask price or should they be allowed to farm at the minimum Safecoin per Gb? That’s a difficult situation.

Initially farmers will set the highest price and see if there are any takers. Then they will have to lower their price to a level determined by consumers in order to increase their farm rate from the minimum. Okay, I see how that can work. A little complicated though. We would need to explain to them why they are farming at the minimum rate even though their vault has been filled up. The reason is because no one has accepted their price yet.

I think once a Sale has been made at their price, it must be locked in. This would prevent someone who originally sold their storage at 1 Safecoin per Gb from increases it to 5 Safecoin per Gb later on. What happens if a farmer resets their vault? Even the POR token system has this problem.

Because a farmer can RESET their vault, it might be best to not sell storage at all. Similar storage services impose big penalties when a farmer resets. Is this something we are going to do? I’m trying very hard to make it work but haven’t found a decent solution yet. Sorry guys… :frowning:

2 Likes

I think we really need to be careful about the assumptions that our solutions enter in. For instance, my understanding of the software design is that the whole vault/farmer/routing core is not a layer at which an individual user directly controls what these layers do. I think to plug a user control at that layer would likely require a massive rework and probably would not be desirable anyway.

This is not to critisize you. I think we all can sometimes start developing sophisticated strengthing exercises and responses for muscles that don’t exist yet and may not be practical to grow.

That’s why I’m continuing to focus on the price discovery aspect. A whole set of capabilities that’ve been being discussed on this and other threads depend upon such a mechanism existing. Yet I don’t even know whether it is even feasible to implement it.

If price discovery for the sale of resources by the network (as in “the distributed software function made up of the combined interaction of all MaidSafe clients”) can’t be established (or is too complex and affects other aspects of implementation too much) then other solutions need to be found for the problems that “sale of resources” was proposed to resolve (such as buying up from a free account without actually supplying resources, or increasing usage above the resources one is providing).

We cover a lot of interesting stuff in these discussions, but I think we can easily get pretty far afield from the meaningful nuts and bolts. Again, that’s directed as much or more towards myself as anyone else. :blush:

Edit to add: And that’s why I think it’s necessary to establish whether or not it’s practical to introduce price discovery for resources sold BY the network, and if so, what are the possible configurations and, finally, what would be optimum. If not doable or practical, we’re chasing our tails.

I agree, though I find it very interesting to just brainstorm the possibilities that one day might be implemented.

I will vote for free market supply and demand always.

I’m not sure I’m following on your farming rate adjustment though. Could you explain what you mean and why it’s important to adjust this a little more.

Agreed to a point, but too big a sea of maybes makes my head explode. :wink:

If we’re going to do useful work here, we should consider nuts and bolts workability to a large degree, and ensure we’re working within agreed-upon contexts, even when projecting.

The farm rate is the speed at which a farmer can earn Safecoins. Example 1 coin per hr (very fast), 1 coin per 24hrs (very slow).

Because there is no direct exchange between the buyer and the seller, what is the point of a farmer setting a price when they never see the money? So in order for them to actually receive Safecoin they asked for, the Network (broker) would adjust their farming rate if their price was accepted by a consumer.


Example…

Let’s say the average farm rate is 1 Safecoin per 24hours.
The average price is 1 Safecoin per Gb.

Kim puts in her (ask) price and says she wants 3 Safecoin per Gb. And someone actually buys storage from the Network at that price. Network allocates storage to the cosumer and adjusts Kim’s farming rate from 1 Safecoin to 3 Safecoin per 24hrs.

Meanwhile Tim’s farm rate is 1 Safecoin per 24hrs because he sold his storage at the average rate of 1 Safecoin per Gb.

As you can see… Kim is farming 3 times more Safecoin than Tim because she was able to get her price.

Because of this setup, the market is based on real supply and demand.

  • If there is very little storage available, chances are, new farmers will enter the market and offer their resources at that higher price.
  • If there are too many farmers and very little consumers, then the opposite happens.

This was just a brainstorm to mimic a free market exchange system without a direct exchange taking place. Why not just pay Safecoin directly to the farmer? Because that is not how data is stored on the Network. I also think this setup is more complicated which is the main reason we are trying to avoid a POR token system.

I think the cost of taking over the network is important. However, this must be relative cost and not just Safecoin cost.

If it costs £100m to control all nodes, the amount of Safecoin this represents is not important.

1 Like

Let me know if I misunderstood you.

If we have 1,000,000Gb of storage available, we make that storage cost $100 per Gb.
Therefore, it would cost $100,000,000 to DOS the Network.

If we have 100,000,000Gb of storage available, we make storage cost $1 per Gb.
Therefore, it would cost $100,000,000 to DOS the Network.

Exactly.

I would be flattered if someone would spend $100million to DOS the Network, lol.

This means it costs 10,000 Safecoin per Gb today.
Obviously, we are just playing with some magic numbers. But lets see it through.

How about 5 million at launch. Then it can increase as the Network gains more value over time.
Meanwhile the cost goes down as more storage is added, yes?

If we have 1,000,000Gb at launch then $5 per Gb.
If we add 10,000,000Gb over time, then $0.5 per Gb.
And 100,000,000Gb, then $0.05 per Gb.

Would an alternative be to have a bureau de change type system which just converts various currencies to Safecoin for exclusive use on the network. The price would still be market set and fees paid at this entry point and maybe even automatically distributed to builders/farmers and such? This would mean users wouldn’t have to pay any fees.

If you adopt the above method and make Safecoin the only currency in which to do business, then we can “live in Safecoin” much more effectively. I do not understand the current free market argument for allowing other currencies to be honest. I envisage a world where Safecoin is the reserve currency, due to the network effect. I don’t understand how if we aim for this and everyone is trading in the same fair currency, this is a worse situation than everybody still dealing in various other fiat (govt diluted) or crypto currencies – how does that enable better free trade? I just don’t get this point as it doesn’t appear to help those we aim to help, ie the 3rd world type commerce. People can theoretically earn safecoin and can exchange goods between disparate villages, however currently somebody could demand payment in bitcoin somewhere in the chain and possibly ruin the micro economy.
This idea also seems to simplify a lot of network systems whilst giving Safecoin a definite reason to retain value it also seems to kill a flock of birds with 1 stone which I won’t bore by elaborating further on here. Anyway, I’d be interested to know the thinking behind this aspect if anyone can help?

IMO, there could be a relatively simple algorithm for this.

Firstly, we don’t care about the fiat value, so let’s ignore that. The market will figure out how many Safecoins a pound or dollar can buy and this will get priced in by users and farmers. This leaves the price in Safecoin, per gb of storage.

How does the network set this rate? It could periodically access total utilisation, say, once per day. If this matches the target rate, the Safecoin price per gb would remain the same - we have a goldylocks state of just right.

How about if we have more storage than users need (under target utilisation)? We can drop the rate the network pays for storage. Perhaps this could be by a percentage relative to the delta between current and target utilisation.

What if we have less storage than users need (over target utilisation)? We do the reverse and increase the Safecoin price the network pays for storage. Again, the delta between target and actual utilisation could be used to set the rate change.

As the network controls both the payments from users and the payments to the farmers, no third party need be involved. The network can set both prices and charge/pay out accordingly.

This could be expressed as:

Target utilisation rate = T
Current utilisation rate =C
Delta between T and C = D
Current price as Gb per Safecoin = P
Future price as Gb per Safecoin = F

Assuming over utilisation (raise price):

T = 0.75
C = 0.85
D = C - T = 0.1
P = 150
F = P + (P*D) = 150 + (15) = 165

Assuming under utilisation(lower price):

T = 0.75
C = 0.60
D = C - T = -0.15
P = 150
F = P + (P*D) = 150 + (-22.5) = 127.5

Ofc, the numbers may need weightings added etc, but I hope it illustrates the point.

As for a starting price, we could take today’s approximate storage cost against the Safecoin market price or some such. It should then find its own way.

5 Likes

You wouldn’t have to do this once per day either, I wouldn’t think. This data is available at anytime and changes when storage is used and farmers go on/offline. Perhaps the formula would have to change just a little if running it “constantly”.

1 Like

I suppose a daily rate may be easier for users/farmers. Perhaps it could be based on a frequently sampled rate over 24 hours or some such?

THANK YOU. I don’t know if it’s the perfect solution, but it at least is something the Network can handle autonomously. I was starting to think I was talking crazy because I couldn’t get anyone to follow the simplicity of the question. :smiley: I’m sure that was because of my not clearly stating the question in the first place.

1 Like

This is my thinking to. If we use the rank stabilisation mechanism I discussed earlier where when nodes are located in the network they are accepted if they have rank above the average (current) and the current close group is below average. They are rejected if the close group is currently above average.

Bit techie, but the close group knows their own close groups average rank. So kinda like this network average is based on all the groups surrounding your group.

This flattens the imbalance of network data storage capability (an important factor for the new network design with safecoin). Importantly here it also allows a more accurate network average metric. It will vary across the network, but that’s OK. There are arguments about moving vaults etc. We do not need to go that deep here. Folk will not go to massive extra hassle (some will, but negligible).

Then we use a metric very close to the suggestion here. Under average nodes get safecoin via mining at a pretty slow (but increasing) rate, At average and above they are on max rate (average → average + 20%) it then drops off again. So no vault will earn safecoin if it’s way oversupplying. We may need to look at that though as splitting a vault is possible. I hope people do split vaults as it adds to the number of good nodes on the network (safety in numbers does work in decentralised systems).

I hope this reads OK. We can document this, but be good to argue the algorithm, coding this part is pretty quick, getting it right will be where the time is spent. It’s not that there is a load of options, but the shape of this curve is interesting. I prefer a sigmoid curve like approach, but I have no tie to that mechanism for sure. It will work, but it may work better if it is refined more and that means more thought.

All this input on these matters is superb BTW.

5 Likes

Thank you so much for this clarification of the balancing on the safecoin issuance side of the equation. I really have a much clearer picture of it.

I was tempted to let the subject drop here but it feels awkward that you still have not addressed the side of the equation I’m talking about, and it concerns me because it’s very important.

In my frustration of not having my question understood by others, I put together an almost pedantic presentation of the point for @happybeing in a private message to ensure I wasn’t crazy. Here it is for full clarity. I know you’re very busy but I beg your indulgence.


Definitions:

The Network: The autonomous interaction of all nodes running the MaidSafe client, thus comprising the decentralized SAFE network.

Network Resource: Some quantity of storage (and potentially other network facilities) which are provided by farmers and the network as a whole, and used by user accounts.

Resource Cap: That level of storage (or other resources as may be quantified in the future) available to a particular user. This would come in the form of (a) a quid pro quo (or ratio thereof) in exchange for resources provided by the User, or it could be (b) an arbitrary cap provided to a free user account, or (c) raised to some other amount (as under discussion here) over the cap in (a) or (b).

Price: a quantity of safecoin which, when paid, will result in the upgrade to a certain amount of higher Resource Cap.

User/User Account: That set of interface parameters set by an agreement between an individual human and The Network.

Assumptions:

–That the Network can (or will be able to) track the usage of
resources by individual Users.

–That the Network can track and enforce limits on usage by individual Users.

– That the Network can have an evolving metric of resource available vs resource in use.

– That the Network has the ability to raise the assigned Resource Cap for an individual User Account.

– That the Network has the ability to accept safecoin in exchange for the assignment of a higher Resource Cap for a particular User Account. (What the Network does with this safecoin is not under discussion herein.)

Questions:

–Are all the above Definitions and Assumptions accurate and true?
If not, we need to clarify and start over.

–Assuming that the above Definitions and Assumptions are accurate and true, what is the mechanism by which the Network determines the Price (in safecoin) to charge per unit Resourse?

This is important because it is a pivotal function, central to a number of other solutions proposed–e.g., balancing network resources (one aspect, anyway), security (i.e., free captcha type accounts with limited resources to avoid bot exploits, which one could then upgrade), upgrading resource via purchase for any reason, a source of safecoin for recycling, and I’m sure others. It’s not something that can just be left “to the market” of individual users because parameters have to be coded into the network software if the purchase is to be “from the Network”. Farmers and vaults are completely automated so the only level of individual choice is at the User level.


@Traktion finally got the point and layed out at least a proposed algorithm for handling, above, though I have no idea about the implementation end.

If I’m beating a dead horse, I apologize, but it still seems to be something important which may be being overlooked.

Thanks, John

Edit to add: I see now the the name on this thread would better have been “Price Setting for purchase of network resources”. If I’d understood what I was asking better at the time, that might have avoided some confusion.

I am in 100% agreement with this, the algorithm needs finalised to make it well balanced and good looking (we need beautiful maths), but I think this is the best mechanism.

We should start this week again with dev meetings, mumble based (office.maidsafe.net) so points like this one may be bashed out a bit quicker. I know exactly what you mean, I am terrible at getting a point via email most of the time. Mumble will I hope help with the trickier concepts we are all discussing here (well I am mostly listening, and that brill). Hope @dyamanaka makes it as he seems to be exceptional at making the message read well.

2 Likes

Thanks, David, for your indulgence. I appreciate your level of swampedness!!

1 Like

To even try to, or believing any other person or group of people can, fully understand the needs of a market, even with technology and algorithms is the age old fallacy of the Statist. From an economics perspective as long as the “users” [demand] of the network and the farmers [supply] are free from force or coercion, there will always be “sufficiency” and equilibrium mind boggling to the most brilliant central planner even if the “just enough” exceeds or falls short of individuals expectations or “targets”. So, in summary Traktion, as long as there is “network utilization” at all then the network (like any market free from force) WILL discover the price sufficient enough for the “farmers” or someone willing to provide the network resources. The greatest challenge in all of this is those that have a stake (or “horse in the race”) being able to resist that, almost irresistible, urge to “do something”, or to nudge the invisible hand one way or another to achieve some preconceived target or desired outcome (nothing wrong with goals or targets) out of fear it will not naturally arrive there because of the inability to “grok” “how the hell it will get there”, from the perspective of the individual, given the complex and sometimes paradoxical nature of these invisible market forces. As any “Chairman of the Federal Reserve” would tell you, if an honest one were to exist, every attempt to “force” or nudge the market toward a desired outcome, even for the best of intentions and by only just the tiniest of a fraction of a percent, has huge unintended consequences, the results of which are almost always antithetical to the original intention.
Just my “2 Milli-bits” (and an excuse to join the conversation in an area I am comfortable and competent in- can’t code…). Bless.

4 Likes