Is "proof-of-activity" actively used on any existing blockchain that you are aware of?
I can imagine a system similar to the way that mining pools check that their members are actively mining, by issuing work that is easier than mining a full block, and counting up how many of these "shares" each miner in the pool solves. By having 'shares' on the CLAM network, which are 10 times easier to solve than actually staking a block, and which are worth nothing in terms of direct block reward, we have proof that a particular output is (or at least has been) "trying" to stake and so can give it increased weight. This weight boost could decay over time, requiring a regular stream of shares to be incoming in order to keep the boost in place.
Even if we figured out such a system, I don't think it would help. Just-Dice has a large pool of old, constantly-working outputs and so would probably benefit the most from having 'age' added back into the equation.
I think, in the end, it doesn't matter if it is technically possible or not.
It essentially grows out of a fundamental mis-conception: the idea that the number of 'nodes' is beneficial or improves security/trustlessness.
The number of nodes, from a technical perspective, is a detriment to the efficiency of the network - with the exception of maybe redundant storage.
Though, if you are concerned with making sure chain data is 'redundant' then you likely have bigger problems
Unfortunately, many equate a 'node' with a 'person'.
Additional participants ARE beneficial, of course.
This is all of course similar to your last comment.
One participant with 1 'node' or 'wallet' is little different than one participant with 100.
In the end, I think the 'issue' of Just-Dice and network control is a matter of incentives.
costOfStakingYourself = effortToSetItUp + abilityToKeepItSecure + costOfRunningStakeHardware;
costOfStakingJustDice = (amountEarnedStaking * 0.1) + perceivedJustDiceRisk;
if( costOfStakingYourself < costOfStakingJustDice ){
doStakingYourself();
} else {
doStakingOnJustDice();
}
So:
- Make it easier/user-friendly to set up a node and stake.
- Make it easier to understand how to keep a private node secure.
- Make the client more efficient to reduce the hardware needed to run a node.
- Make fee/subsidy adjustments such that the 'amountEarnedStaking' relates to/pays costs.
Just shooting from the hip here - regardless, it these situations are almost always a failure of incentives, however you frame it.
Making the client more efficient is a step in the right direction.
Not sure how far that gets us.
Security is always a difficult topic to teach or even achieve, entirely.
Making the client more efficient is not all that useful, considering it can run on pretty much anything at the moment, I would expect.
I think some ground could be gained by better matching network fees to network costs - but, 'petitions' headed that direction haven't seemed to get any traction.
I can imagine a system similar to the way that mining pools check that their members are actively mining, by issuing work that is easier than mining a full block, and counting up how many of these "shares" each miner in the pool solves. By having 'shares' on the CLAM network, which are 10 times easier to solve than actually staking a block, and which are worth nothing in terms of direct block reward, we have proof that a particular output is (or at least has been) "trying" to stake and so can give it increased weight. This weight boost could decay over time, requiring a regular stream of shares to be incoming in order to keep the boost in place.
Even if we figured out such a system, I don't think it would help. Just-Dice has a large pool of old, constantly-working outputs and so would probably benefit the most from having 'age' added back into the equation.
I like this concept.
Would need to be careful that you don't end up regressing to PoW, of course.
But, if we were going to go down this path and track 'shares', it might make more sense to solve the 'orphan' problem at the same time and go full-p2pool-esque?