I meant a safecoin can be used as a poor man’s wallet needing no other development than the one I propose for safecoins.
Then I don’t quite understand what you mean by “paying farming”?
If it is a user recycling a fraction of safecoin to pay for a put, then the count of values before and after the payment is the same. The temporary splits can be avoided by shortening directly an existing key: in my example intermediate keys (31, 37), (38, 44) and (45, 51) could be removed and existing key (31, 255) could be shortened to (52, 255), possibly in 3 steps because the user buys 3 puts => no limit is exceeded (value must be re-signed, but that doesn’t change its size)
If it is the network paying a reward to the farmer, then no division occurs at this time:
-
Either a brand new safecoin is created with one value (with key (0, max(u64)) => no limit is exceeded
-
Or a new value is added to an existing safecoin. In that case this insertion might sometimes fail because a MD limit is reached => this is not worse than what was planned (a farmer got always nothing when attempted address was an existing safecoin).
About “who owns a safecoin?”:
A safecoin is a MD with a reserved tag (7 was the Maidsafe plan) and a DivisibleOwnership variant (in my proposal). Users own parts of safecoins, these parts are the values of the MD. Initially when an address is farmed for the first time, the lucky farmer (A) will own a part that corresponds to a whole safecoin. Each time A pays someone else or put some files in the network, A’s part will shrink. If A pays someone else (B) a division occurs and ownership of new part is transferred to B.
After several divisions a MD limit can be reached that prevents further payments with division. But payments without division are still possible from this MD, meaning ownership transfer of existing values, which is still better than transferring a whole safecoin. Divisibility allows finer grained payments but there is still a limit and this limit is a compromise between performance and number of values in a MD to be defined by Maidsafe team.
Furthermore values constantly shrink and then disappear with PUT operations, so at one time divisibility will be possible again for this MD.
Creating fees for divisions with a price increasing with the number of existing values in the MD can be an incentive to avoid this situation (with a double effect: people become reluctant to split values and more values are recycled).
Another possible mitigation is possible on the client side: when a farmer receives a whole safecoin (and so the fee is still low) he/she can split it in various denominations to avoid later division problems.