Some Questions about SAFE

Hi all,

If someone would be kind enough to answer the following questions I’ll really appreciate it. Although I’ve tried to do my own research as much as possible, not being technically knowledgeable forces me to ask the community about things which may be obvious to others.

So, let’s get started:

In Node Ageing RFC it says:

"A node joining proof

On joining a group a node will require to prove capablity.

This is on every join attempt to a group and the proof must be sent directly to each node as a connection is made. The steps to create this proof are:

Concatenate the key create to join the group 32768 times to create a chunk of ~1Mb in size.

Increment an integer value to the end of this message until the sha3 of the message has 5 leading zero’s (a proof of work similar to hashcash). A simple script demonstrates this process with sha256 time (perl -e ‘$n++ whileecho "A Public key$n"|sha256sum!~/^00000/;print$n’)"

What exactly does the above mean? A node is to prove its capability but I don’t really understand the methods above, if someone can ELI5 the above to me I will be grateful.

Is SAFE measuring capability of a node based on computational power alone?

Every Vault that joins SAFE is in essence bringing with it resources: Storage capacity, Bandwidth and Computational Power.

Higher ranked nodes are rewarded more because they receive more GET requests. In a sense it shows higher trust of the network.

Also, the more storage capacity a vault has - the more data chunks it will store and so the more GET requests it will receive = more chances of rewards.

If we look at it from a POS perspective, every Vault is basically staking a certain storage amount in the network - rather than SAFE coins themselves - but I have not yet come across material in which SAFE network gauges capability of a node based on its storage capacity.

Is there a reason there is no GET score of a node (cumulative number of GETs a vault has gotten over its life) or some other reputation or capability mechanism of a node based on its storage capacity.

Are Fat Nodes (for example 100 GB storage capacity) equal to Slim Nodes (for example 1 GB storage capacity) ?

Obviously Fat Nodes get more reward as they receive more GET requests - I am talking in terms of network trust.

In terms of rank - if two nodes one with 1 GB storage staked into SAFE Network and another with 10 GB storage staked into SAFE network - join at same time and stay connected to SAFE network 24/7 for 4 weeks - will their age and hence rank be the same?

Would it not make sense to have Fat nodes age more quickly than Slim nodes? Or have those nodes with more Cumulative GETs age more quickly than those who are just joining SAFE network for the first time with no history? By ageing faster I mean that it should be easier for them to have a higher rank - other things being equal.

Perhaps network should mandate certain storage capacity if a node is to go beyond a certain rank - let’s say rank 5 - so to achieve rank 6 - the node should have a minimum storage capacity and so on - I’m sure community can think of better means to give rank advantage for storage size.

To be clear I am completely in favor of everyone being able to farm using whatever device they fancy - I am advocating for nodes with more storage capacity to be trusted and ranked more by the network.

If storage size calculation is an issue, SAFE network can perhaps record number of GETs for each vault

As a person who is not technically literate when it comes to computers and coding - I am just trying to understand why SAFE network is not taking into account storage capacity of different nodes into their ranking system.

As far as my simple mind has understood SAFE network - I understand Node Ageing to be more related with the amount of time a node has been active in the network and behaved well - it doesn’t look into storage capacity of node.

Every node will bring differing amount of storage capacity to the network, so not every node is equal.

To me, 20 nodes of 1 GB are not equal to 1 node of 20 GB - if nothing else the quorum of network takes into count number of nodes - and a malicious actor looking to infiltrate SAFE would be better off creating 20 nodes of 1GB if SAFE regards 1 node of 20 GB = 1 node of 1 GB in quorum calculation and node ranking.

I am sure 20 nodes of 20 GB will cost more than 20 nodes of 1 GB.

So I think infiltration of the network with malicious nodes will be made much more expensive if nodes with higher storage capacity are ranked higher. And I think we all can agree that the more expensive it is to attack SAFE, the better.

If someone more technically abled can shed some light on why storage capacity cannot be calculated easily or is not included in rank or is in fact included but I have not been able to understand SAFE network - I will appreciate it. Thanks.

5 Likes

I don’t have the time to explore this deeply with you, but I don’t follow why you think bigger nodes should be trusted more than smaller nodes. So I just pose that question.

Also, how do you know how much capacity a node has? The only way to know is by it acquiring data to store, and the node showing that it has that data at a later time, so it’s not easy to say this node has X GB until some long ish time later, so I’m not sure how node aging can differentiate between node capacity very easily. Not saying it can’t, again just posing the question.

In general, the network prefers to have many small nodes than a few larger ones because it helps randomise the storage locations of chunks, so you might want to bring this into your thinking as well.

Sorry I can’t go into more depth with you, You raise a lot of interesting questions so good to chew them over like this. :slight_smile:

5 Likes

Thanks for sharing your thoughts happybeing.

Regarding bigger nodes warranting more trust:

If we consider storage provided by each node as a resource being staked in the SAFE network - then 20 GB should be valued more than 1 GB.

Currently SAFE network is structured to reward storage naturally i.e. the more storage you provide, the more data chunks get stored, the more GET requests = more chances of being rewarded SAFE coins.

So in that sense 1 node of 20GB will work out same as 20 nodes of 1 GB - meaning that GET requests should be somewhat similar and rewards of 20 nodes with 1 GB will be similar to the 1 node of 20 GB over time.

My point was that currently - network Quorum calculation is structured such that 1 node of 20 GB is considered same as 1 node of 1 GB. Basically if both the nodes join the network at the same time - over time they will achieve the similar rank and each will have one vote in the close group consensus.

So if a party divides 20 GB into 20 nodes of 1 GB - they get a more Quorum power so to speak - although their stake in the network is the same as the party with 1 node of 20 GB.

Obviously I think bandwidth and computing capacity should act as bottlenecks so every device will have a maximum number of nodes they can make - and if there was no incentive to attack SAFE Net - 20 devices of 1 GB having more Quorum power than 1 device of 20 GB would not have been an issue.

Assuming SAFE net wants to target everyday people with extra storage capacity - it is not wrong to assume most normal people would just download software and run a vault with all the storage capacity - the extra hassle of setting up multiple vaults will be a bit too much and as far as I can tell - financial rewards of running one vault of 20 GB should be more or less be equal to running 20 vaults of 1 GB - hence no extra financial advantage of running multiple vaults - I know SAFE coin farming is geared towards rewarding the average sized vault more and if everyone divides their storage capacity very efficiently people will have a financial incentive to have more vaults, but again, average user would just want to plug in and forget that they are running a vault and not do intensive research and calculations regarding optimum size of vault etc.

So as of now - 1 node with 100 GB would have same quorum power as let’s say a similarly ranked 1 node of 100 MB - a malicious actor can run 1000 nodes of 100 MB and they will be staking same resource of 100 GB but would be in control of much more Quorum power. (Bandwidth and computing power come into play I’m sure and the cost of running 1000 nodes would be more - I’m not technically literate enough to figure out how much)

A malicious actor hence has no incentive whatsoever to have bigger nodes to infiltrate and attack the network as it is structured right now - if the network trusts bigger nodes more, let’s say smaller nodes cannot be ranked more than 5 - then the malicious actor planning to infiltrate and disrupt the network would face a higher cost to attack the network as they would most definitely need nodes ranked higher than 5 to meet the Quorum requirement of rank being >50 % of group. And the more expensive it is to disrupt SAFE network, the better.

I agree, the network is better off if everyone runs multiple vaults - as it means more randomly stored data and more nodes. And you are right calculating how much storage capacity a vault is offering is hard.

But we have to assume that if SAFE network plans on gaining large scale acceptance, then many users would just run a vault and allocate it a maximum number of storage they can afford to rent to SAFE network, running multiple nodes on a same device assumes advanced knowledge.

Also a user with low bandwidth would be better off running one vault with maximum capacity rather than multiple vaults - which makes the SAFE network vulnerable - as attackers would most probably rent servers with nice bandwidth and create multiple nodes of 100 MB

OR - the SAFE Net program can be engineered such that it automatically runs multiple vaults on the same device - so if a user says, I have 100 GB to give to SAFE Network - the program automatically calculates the optimum storage per vault based on device bandwidth and computing power and then automatically runs multiple vaults of lets say 10 GB

I just think a rank 5 node of 100 GB should not have the same quorum power as rank 5 node of 100 MB - I am sure the community can come up with better ways to make sure that doesn’t happen.

Again, I’m not that technically literate and I may be ignorant of some very basic concepts or such - just wanted to share my thoughts.

1 Like

It is, because over time 20GB will have capacity to acquire more chunks, serve more GETs, and earn more SafeCoin. Though you correctly point out that one can do better (at least in the short term) by splitting storage up until CPU or bandwidth becomes saturated. So essentially everyone is being encouraged to run more smaller nodes, but simply taking that to the max is not the best strategy. But that is by design, because the network works better with more smaller vaults and fewer bigger vaults.

As you say, I expect many people will just run a single node and make do with providing one bigger amount of storage. I don’t see that as an issue, because whatever we do, there will always be advantages to be gained by the few who spend more time looking into the details and making use of their knowledge.

The question is just whether or not to give an incentive to run bigger vaults by aging them faster, and since the network works best with more smaller vaults I think it is impossible to argue this. To justify it, I think you must demonstrate that it is better for the network to incentivise fewer larger vaults, and this seems to run counter to a fundamental principle.

1 Like