I was just thinking about the network as a metaphor of a living organism and strated to wonder if death would have any beneficial role for the network?
I am thinking of a node having a maximum lifetime after which it would be kicked out of the network, no matter what. What would follow out of that? At least no elder would be elder forever. The position would be recycled. Could this be a good way to guarantee some updates? A chance to have a possibility for evolution, for the network to adapt to changing surroundings? Maybe some random deaths of nodes as well?
Might suck if youāre a farmer and your node is just killed off by the powers that be That said, randomized node de-aging or something akin to that might not be an awful idea. Might force some churn in the elder group, so the elders donāt one day become a static group of nodes that almost never go down
If a node goes offline for over a few minutes then it likely has been gone too long. Node age will mean it will be seen as non responsive in this case (responsiveness means he missed too many operations, so long period in quiet network, short in busy network).
If a node is non-responsive it will be relocated on next startup with age/2. So there is a form of de-aging.
Yeah, and the question is also about people. The elders (or elder owners) would not become a static group of people. Then late-comers would also have chance, and the particiaption could be more attractive.
In general, death would keep network dynamic. No-one could get a static position, which I find interesting.
As a marketing trick for hindus & buddhists, there could be programmed re-birth. And you could born in higher ranks, if you have done well in previous life. And according to buddhists, a really really good node would not born again at all!
Between the storms in summer, the ice in winter, and the random squirrel vs transformer scenarios, my home loses power and/or internet for a few days cumulative each year. Does this mean by the time my node finally reaches elder status, a power outage for a couple hours knocks me back down? How can residential nodes ever achieve that state? It seems that if there isnāt some kind of grace period built in there are going to a lot of disenfranchised users out there.
Think about it like this. An Elder is a node in a section. Together they reach consensus on what is valid. If they can go off line for a long period, what happens. The group is lower. So now say half of them go off, we can lose consensus. So how long can a node just not bother to participate when itās one of a very few who make decisions?
Then an Adult, you go offline with a whole bunch of data. Now the replication count is say 2 not 3. So should the section make new replicants?
You see active participation is quite important, the only way to prevent this is to make nodes almost worthless and if that is the case why would they farm anything?
I am positing issues I see here, not saying this is the ultimate design, it may not be, but if nodes need to be responsive then all I can see is a measure of that responsiveness and we write off the nodes data, only to relocate him on re-entry to the network. Otherwise we need a much more complex replication system and also some way to say the decision group is less than it should be and thatās OK?
Why would you expect to operate as an elder if you arenāt reliable? Your vault will likely still earn farming rewards as an adult so nothing to worry about.
Death at old age could even out the effect of power outages and probably lead to a more even elder distribution geographically. I guess we still wouldnāt want very short lived elders. But do we want āas eternal as possibleā elders either?
My opinion is that the benefit of network must come first, and after that we should even out the playing field so that the chance of becoming an elder would be as equal as possible. My guess is that the ability to run node without interruptions is heavily concentrated in areas already wealthy. By limiting the maximum age we would give a chance to people living in less developed areas too. (And increase the elder distribiution.) But how short lifespan can elder have without crippling the network? I have no capabilites to evaluate this.
Thank you for the explanation. It makes sense. Ideally all nodes should have 100% uptime otherwise chaos could ensue. My main concern here is that by requiring this 100% uptime, this will effectively lock out all residential/hobbyist farmers. Non-server grade hardware is a lot better than it used to be, but drive failures, power supply failures, network outages, etc. are statistically common in this type of environment. Over time as farmers become more commercialized, and thus centralized, I see a potential attack vector. Weāve seen with other cryptos that a lot of computing infrastructure is ending up in places that arenāt necessarily āfriendlyā to open networks. What happens if, over time, a significant portion of elders end up there just because they have long running, stable compute farms? Central governments could force compute farms to shut down that have 100% up time, it is much harder to stop millions of residential enthusiast machines getting 99% up time, and potentially impossible (outside of nuclear war) to stop billions of nodes with 95% up time. Would it be possible to have more āless reliableā elders in a section? Basically machines that have this 95% plus up time and always respond with the correct answers as long as they are running? For someone doing routine maintenance, or even a power outage on a machine with an inexpensive UPS, a message could be sent to the network saying āIām going down because of a problem, but Iāll be backā and then on reboot say, āIām here now, whatād I miss?ā. If youāre gone for days, sure, youāll be booted out of the Elder club, but going down for relatively short periods seems like it would be OK as long as the pool of elders is big enough to compensate. Just throwing ideas out there, could be way off track here
NOt at all, right now we sledgehammer this and say, hey we donāt care why you went off we have a single panalty and itās age/2. However, it could have been graceful and you could have done admin to allow the enetwork to keep going. So panalty shoudl be less and so on.
Also we do age/2 for the main panlty, it may be too harsh and age-1 might be enough. So nodes can drop but not too often etc.
All worth hammering out as we do these next networks and tests.
Thereās a similar topic eviciting vaults that may also be of interest.
I am slightly in favor of periodic random death of nodes (not just elders).
But Iām also in favor of changing age increments from exponential to linear (reason - āvirtually all age will be roughly within the range 7-20ā).
Iām also in favor of reducing the significance of elders with respect to message routing. The change in workload between adult to elder is probably too extreme (both the type of work and amount of work). I reckon an age-weighted probability for deciding who is in the message delivery groups would be more appropriate, so as nodes age their messaging load gradually increases. Getting off topic though so Iāll leave it at that, lots of pros and cons to each approach.
Just throwing some ideas around to chew on, would not want to introduce changes that delay the next testnet!
I have actually liked a post in there, proving that I have read it, and actually now kind of remember it vaguely. Funny how old thoughts can later surface as a novel ideas.