Evicting vaults - brainstorm


#41

In this case they also control the sections, so they remove the evict code and never get evicted because any other elder (if any at all) cannot get consensus to evict them. So its a mute point at that stage

In such a case where we know that there is this situation (or lesser) then that beta is restarted isn’t it. This is really a genesis condition isn’t it.

Even google instances have downtime st some stage so it isn’t forever. Google remains online because any instance can fail and the others take up the slack. But vaults are independent so if the instance goes down then so does the vault. So there will be age halving occurring on those vaults at various times.

I don’t discount the point but thought I’d explore it further.

But farming is done by adults as well as elders isn’t it. So even if elders are never evicted then adults will still be farming so its not the same really.

Also as you have more and more nodes being added the sections WILL split and this gives a new bunch of nodes the opportunity to become elders.

I just realised this too. If you buy a good node thats an elder then how do you insert your bad node software without causing some disruption to your node and getting your age halved?

This is what will kill eviction
But of course the elder nodes may install patches that remove the eviction and thus remain forever. This may not be a baddie, but a publicly available patch to remove the eviction. It is in the interest of all people with elder nodes to install the patch. Thus the idea is removed from the network.

And of course when people upgrade they will have their age halved since the vault is restarted. So is this your forced eviction already implemented? They have to upgrade at some time eventually.

As the elders upgrade other adults get the opportunity to become elders.

And of course as new nodes are added section splitting occurs (eventually) and some adults become elders

Also is there an advantage for earnings to migrate from adult to elder??? In other words would people particularly want to be an elder? Would only baddies particularly desire to be elders in order to control the section? A whole new issue I think. Reasons to be an elder and not just an adult.


#42

Good point. Farming is probably the primary value to operators, but voting has some value too.

The vault can hot-load code easily enough. It may not be standard to run this hot-load but it’s possible. If the vault-selling market takes off it creates an incentive to run the hot-load patch ‘just in case’ you decide to sell your vault in the future. Official upgrades might happen this way anyhow, right?

while forever {
    read config
    load new routines from config
    do any normal vault things in the queue
}

#43

To whom though.

I would think average joe and jane would be after earnings and not even consider if their node is voting or not. Then the other side is the baddie who definitely wants voting rights.

Of course you could have the node announce it has a new version as part of the protocol and this causes a age halving. The reason being the other nodes in the section have less trust in that node now.

If the baddie node never announces this then eventually its claimed version will be too old and its age halved because of that. And we could have each node announce its version for each datachain block. Thus too old version nodes are halved each new datachain block till they are no longer an elder and any new versions on each datachain block are halved. Reason being there is somewhat less trust for too old or version change.


#44

Quick reminder that if an attacker has more than 1/3 of all nodes, then none of this matters.

Having said that I never really liked the idea of having long running elders (i.e for life) because they become obvious targets for coercion. In other words, an attacker that can identify elders doesn’t need anywhere near as many as 1/3 of all nodes, since they only need to target (buy or coerce) the owners of those few elder nodes.

The question then is, if the approach is to randomly kick elders, why have elders in the first place? Any node that has good uptime can be selected to participate in consensus on a random basis. However you really need to make misbehavior an expensive thing, so you need some way to punish nodes economically when they fail to carry out their consensus duties.


#45

@ktorn now this is starting to lean towards the staking thread :flushed:. If I were to attempt to think like David I would say, entropy. Someone said earlier in the thread that random issues in connectivity, etc will affect node age and I agree. That may be rather simplistic of me but I think that randomness helps make node age as is, work pretty well. On the other hand in bio mimicry a nodes age should die. My fear would be if the death is predictable then that gives someone the perfect opportunity to sell to an adversary and capitalize. This is interesting stuff. So again I’ll say that magic word… entropy.

I’m just being cryptic and weird right now. :stuck_out_tongue_closed_eyes:

What if we had node age as is, plus random relocation of elders across sections, plus incremental staking. As a nodes age goes up they have more responsibility and so must stake? Spitballing atm this seems half baked but maybe will serve as inspiration to someone else.


#46

Thanks for letting me know – I did think it seemed a bit too obvious! :wink: But didn’t see it anywhere in my quick search on the forum.


#47

They only earn more because they have more chunks and been adults/elders for longer


#48

So it’s sort of like:

elders == 100% fee * chunks
adults == 70% fee * chunks
children == 50% fee * chunks

??


#49

No its farming rate for everyone.

Its the number of chunks that are being stored in your vault. If you been on longer then it is assumed you have more chunks and thus more opportunity for earning.

There is not any specifics for different levels of payments.

But since safecoin has not been fully fleshed out yet by the dev team there is no certainties,


#50

I don’t understand why you would have much of a chunk difference.

What I am proposing is that if the farming rate is variable, then we can reduce the reward for bad actors + (just thought of this) we also incentivise better hardware (node stability).


#51

Sounds good in theory but harder to implement and creates a class structure. For those who cannot stay online 24/7 there is already the lost of income since their node age is halved and may have to wait before they can be farmers again, and their vault cleared.

For those who stay online for longer they age more and when they go offline for some reason the halving will not cause their age to go to child again.

So in that sense the longer you are online the more ability you have to earn.

To then penalise them further with lower earning rate will make those who have to go offline more often never want to farm, but we need as many as possible to be nodes for the security, even if 8 hours a day. So in effect a tiered payment rate will reduce overall security. In my opinion


#52

On the other hand, this provides more of an incentive for people to run 24/7.

I guess I wonder how many have no choice but to go offline for a period of time versus how many choose to go offline for a period of time (or who habitually do so and need an incentive to break the habit).

If payment is by chunk number now, then we have a linear growth (with age) farming rate, but if we add a tiered farming rate on top of that then it more of an exponential growth (with age) farming rate (overall).

I suspect this will be difficult to know unless we were to try both - as people’s behaviour changes with incentives/punishments.

Perhaps though something like this would be better:
elders == 120% fee * chunks
adults == 100% fee * chunks
children == 80% fee * chunks

but again, I think experimentation would be good here … or maybe if the network itself can be adaptive in these numbers to automatically provide the best incentive based on the networks conditions - so some additional A.I. code to enhance the networks healing and autonomy.

Sorry I’m doing so much editing while you are writing a response neo! I’m a pain in the ass I know …


#53

We have to consider younger people whose parents will not allow computer left on 24/7 even though it might be on 18 hours a day.

We have to consider the growing mobile computing market (phones, laptops, tablets) that already exceeds desktops in shear numbers and soon the capable mobile computing devices will exceed the desktops.

We need to encourage 100% of the people to be nodes. We will never get that many obviously. But to add a barrier to being a node for upto 12 hours a day where they will basically never earn enough because of tiered payments means that the potential audience for being nodes is reducing year by year with the #desktops dropping and #mobile devices increasing.

I think it pretty certain that mobile devices of necessity will be much less likely to be able to be on 24/7 no matter how much incentive there is. But we need them on as nodes even if for a few hours while charging or longer if laptop that can be on from 4pm to 8am

In my opinion tiered payments will dis-incentivise the mobile device world and only help as an incentive for those with desktops who can leave their computer on for 24/7. And in my opinion this is a very much small group compared to the rest (for average people). Obviously for the much small group who are technically inclined in this area will have SBCs as vaults 24/7


#54

We would know quickly because if the one level sees more than expected nodes compared to clients then its obvious. If we see a good number then we can have confidence. But if few then consider tiered.

No because it all takes time to code test and test and then release and make sure it cannot be gamed. So in my opinion trying for the sake of an idea is not good. It has to have more than “perhaps it might help”

For the security. Less nodes from the random public is less security


#55

I don’t understand that - my mobile device IS on 24/7 … do a lot of people in your experience turn theirs off? Because nobody I know do.


#56

Yes but most do not unlimited bandwidth and even free wifi hotspots limit usage. So the opportunity to be a node may only happen at home. Also the battery usage and at this time we will depend on laptops to be the bigger %age uptake for mobile devices and they are very limited in battery and again mobile quotas. You cannot expect people to be nodes at work or school because of the T&Cs of those networks and quota limits. (stealing bandwidth from a workplace is a fireable offence for most companies)

Phones - battery drain of a always communicating app is heavy.

BTW I had misbehaving APP the other day chew through 36GB on mobile bandwidth before flattening the battery (overnight while I slept)


#57

Well what about a tiered system that just gives a bonus amount for adults and seniors - so same base amount for children? And/or alternatively what about this being left up to the network to decide automatically based on detectable signals of overall node age percentages?


#58

So why doesn’t the age halving penalty do that already.


#59

I don’t know - maybe I don’t understand it - but if the rate is the same for all farmers, then what is my incentive - is it just to have ‘control’ through voting power or something? I am probably too ignorant to be proposing anything, but it’s helping me understand the system better, so thanks for your patience.


#60

Ageing. A new node has to be a baby for a while then child then adult then elder.

The halving occurs when a node goes offline/reset.

So if old enough to be farming then going offline could mean one of two things

  • age is now too low to farm and the node has to wait (age more) to be able to farm again with a clean vault.
  • age is still high enough to farm so they can continue farming.

So if a node goes off line too often and not enough on time then they will be waiting to farm and when they do have to farm with a slowly filling vault. Thus earn much slower than older nodes.

Thus there is an incentive to be on as long and as often as possible. This is already a large disincentive for those who cannot be a node for too long and/or often enough in a week. To add a second layer of reduce earning ability is to de-incentivise a even large %age of people

As to the network security. If we make the reasonable/logical assumption that there will always be a fixed number of baddies (thus a fixed # of malicious nodes) then the more random public people we can have as (good) nodes the better the security. I think we need to do this even if it means (minor to none) incentivise of capable nodes that are not 24/7 rather than anything more to reduce their ability to earn. Ageing is severe enough in my thinking.