Idea for divisible Safecoins

There are ways to mitigate it. But as far I can see @polpolrene’s idea doesn’t track tx amounts, so the attack vector is much smaller. Still there but as in SAFEcoin transactions the rate of transactions that you can perform is limited so sending ultra small amounts everywhere is limited. Also when you see what I’ve done this is even limited further by limiting the transactions size to correspond to the size of the network. So initially the transaction limit might be 0.1 or 0.01 of a SAFEcoin. Then as the network grows a new update might include decreasing it to say 0.001 or 0.0001

3 Likes

Sorry for the silly question, but what is a wallet? How is it represented on the network?

Should it not be automatic, based on demand? E.g. the minimum acceptable transaction size would be the 1/100th of average recent transaction size (well, something more sophisticated, but you get the idea)

Network size can be measured automatically by the average proximity of nodes in your group.

I have a proposal for the data structure behind a wallet to include a number of things. I am asking things of @frabrunelle first.

Basically a wallet is a list of SAFEcoins you (the wallet) own. The wallet address is simply an ID.[quote=“Tim87, post:22, topic:11616”]
Should it not be automatic, based on demand?
[/quote]

Unfortunately NO. We humans do not like being able to send 0.001 of a SAFEcoin one day only to find we can only send 0.01 the next. Especially after I promised the 0.002 of a SAFEcoin to my friend.

The reason for doing it in an update is so people have Certainty and it only decreases in amount. Unless of course a major issue arises.

Problem I can see with that is that I may be able to send as low as 0.001, but my friend next door might be limited to 0.01. A bit unfair.

1 Like

I think this would not happen in practice, due to a combination of:

  • nodes will be quite evenly distributed; it’s hard to make a dense-spot in the network
  • use a large factor-of-safety / smoothing on the limit so differences in network density are reduced

As a user, I would prefer automatic adjustments with slight risk of variation than manual human intervention in the economic rules. But that’s me, I understand others may have different desires.

2 Likes

No, what I meant was I’d rather have the minimal denomination be based on stats about how Safecoins (or fractions) are being spent in the wild (is what I meant by “demand”) and not based on some made-up formula that would tie it to network size or similar.

1 Like

When I said “recent” I meant something like “smoothed out over the past couple of weeks” – no sudden changes.

If it’s well thought out, the situation you mention would never come up, as the limit would always be a little below what’s practical, yet high enough to make abuse much harder.

Well to base it on usage demand means that either 1) those who want smaller miss out even if the network can handle it 2) the usage is often dependent on the minimum size.

Better to reduce the minimum when the network/software can handle the load. This would be a longer term (maybe a few months) stats and give a good headway in case people do a lot more transactions.

To do it any shorter term @mav is inviting trouble and /OR criticism of the system as people one week can do 0.001 and the next maybe not. Better to delay the introduction on the smaller 0.001 for an update and the network has plenty of headroom.

Its not a network parameter as such but a combination of usage demand, software development (efficiencies), overall network size, and variability of network size over time. Maybe later on it can be automatic but early on it would delay things or be trouble. And likely to only be reduced every 6 months to a year.

1 Like

Isn’t the network better at measuring / deciding this than humans?

I don’t trust people to a) make this decision and b) actually do the upgrade (due to laziness, malice, ignorance, technical, whatever).

Perhaps a solution would be the limit can only go one way, getting smaller never larger?

2 Likes

I’m not sure I understand this, but maybe it’s just a symptom of sleep deprivation.


Anyway, this thing could be made pretty smart pretty easily. For example:

  • client managers keep track of the past 1,000 transactions in a ring buffer
  • they also keep an exponential moving average of the smallest transactions, computed over the past 2 (3, 4, 6, … ?) months: whenever a new transaction comes in, they check if it’s among the bottom 5% of those past 1,000 transactions, and if so, they add it to the average
  • switch to the next smaller 10-based fraction if the average approaches it enough (e.g. closer than 50x)
  • introduce some hysteresis: make either the switching up or the switching down “lazier” to avoid flip-flopping between the states

The switching doesn’t need to come as a surprise, because everybody could see how close we are to switching to a smaller or larger denomination.

When you can quantify the human side of the inputs to the decision making. To get this will require fine tuning - many updates.

The move has to have hysterics to prevent the flipping from one minimum to another every few hours/days. This would need to be over months. Better that the minimum never goes higher but always reduces to keep people happy and a system that can be relied on by the public.

I am thinking that unless the change is network wide then the general public will be “what the hell”. Granted the change could occur progressively over a (small) period of time, say a few days.

tl;dr

Yes a programmed solution built into the network core s/w would be the best, but at this time I feel that the time to create a reliable function to determine this maybe too long, and developer change might be better till the minimum is already very small (say 8 digits of the possible 18 digits)

2 Likes

If the minimum is 0.1 say, then many may decide that its not worth using fraction of a coin and just set their price at whole SAFEcoin or more likely other altcoins. At that stage SAFEcoin maybe worth 10 cents and the incentive is not there since its not micro-payments yet.

So then your usage stats show little use

But when its at 0.0001 and SAFE coin is worth say 50 cents then it is nearly micro payments and a lot of people who were using altcoins start using divided safecoin

One of the ways the Safecoin design discourages attack is by limiting the damage a single compromised group can do. A compromised group can only steal the Safecoins it controls. Additionally, in many scenarios, someone will notice the theft.
If the cost of successfully attacking and controlling a group is much greater than the total Safecoins under control of a group, there is no financial incentive to attempt the attack.

With account credits as described, the reward from a successful attack is unlimited. A compromised group could set the credit count on any wallet it manages to astronomical levels. Additionally, no one would be able to detect this attack until people start to notice an inexplicable inflationary force affecting the currency.

Maybe you could overcome this issue by drastically limiting the amount of credits an account may hold (to say 2 or 3 Safecoin). My hunch is that it will be difficult to ensure you have plugged all the holes.

1 Like

I would propose it to be 1 SAFEcoin max, and have a procedure to unfreeze a coin if it ever got higher.

Actually its harder than that because another group has to agree with the compromised group to issue/transfer coins. I would propose that any credit balance is handled the same way.

1 Like

Sorry, I overloaded the term. By group, I meant the entire consensus chain required to change Safecoin data.

Whatever the limit is, you would then also need to ensure making a large number of wallets in a given group is expensive, and that rapidly transferring credits out of the compromised group to make room to forge more credits is not possible, etc.
Maybe it is possible to secure all edge cases, it just looks like a lot of surface area to attack.

1 Like

Ah yes, but as soon as you can control multiple groups at the same time (need that to control all safecoins kept by one group, then you have the whole network. Lets face it if you can control many groups at the same time then you can just move from one set of groups to another and get all coins owned by yourself and the network is basically dead since noone will trust it.

Thus there is a limit that once you get over all the safecoins are eventually yours, one set of groups after another.


Another point also that as the network grows the coins looked after by any particular group reduces, so the attack becomes less profitable as the network grows.

I understand the problem, and it can be solved by introducing new network rules:

1: The network does not accept transactions over 1000 Safecent
2: If you have 1000 safecent the network will automatic converted it to 1 safecoin

You will therefore not be able to choose to pay 1000 000 Safecents, the network does not allow it…

If you have 1001 safecent the network convert it to 1 safecoin and you have only 1 safecent left.
If you want to pay 1.999 safecoin you sent 2 safecoin and recive 1 safecent back, just like when you shop at the store and receiving change…

Have just read about Safenet in a few weeks so maybe I missed something

/Nimos

Still takes 1000 transactions to convert from 1000 safecents to 1 (or 10) safecoin. The additional load on the network is multiplied by the division amount. Once you match bitcoins 8 places its 100 million transactions to convert from 1 safecoin to all the safexxx SD objects.

And when we want even lower for vaults to be paid 1/10^12 of a coin then you need 1000 billion transactions (and the SD objects created) to just split one coin enough to start paying those small amounts. And vaults will be paid even less (like 1/10^18) at times.

Once you go to SDs for SAFEcents/milli/micro/nano/pico then the problem becomes nigh on impossible in our lifetime to split one coin.

1 Like

I have never understood the function of dividing such small fractions…
If a SafeCoin is worth 100$ why would you want to divide it into smaller parts than 10 cent of value ? What can you buy for less than 10 cents? And conversion is done only if necessary to carry out the transaction, that is, if the other party can not give change back. The automatic conversion might take place at a higher amount (3000 Safecent) so that there is greater probability you can give and recive change…

If you compare it with real Money ( Physical ) you can not pay in smaller factions and there is also no need for it…

This gives a lot of transactions. Remember, when I transfer 400 full Safecoins to an address my client_managers already need to contact 400 different groups at max. That’s already a lot of messages.

It is much smaller so that’s why I proposed to include an extra group to keep credit transactions extremely safe.

You wanna split a coin > your client_managers sign and contact the > disjoint group responsible for the Safecoin.

That’s 3 parties involved. We might wanna add the closed group of you/your client_managers as well so we have 4 parties involved for all credit transactions. That’s to keep it way more SAFE.