I don't what you guys are thinking but I do not want by balance publicly displayed. I am sure any merchant that uses flexcoin agrees with me.
I am afraid you did not understand my point correctly. I have pointed out that balances will only be published
anonymously! And to have even more camouflage, a balance can be split into SEVERAL ANNONNYMOUS items. But maybe it is clearer with an example:
Concrete Example: How Flexcoin can prove that they do not run a fractional system:Imagine that FlexCoin has total funds of 100 BTC and a total of 3 users as of 12.08.2011, 00:00 GMT:
- User 1:
Balance = 30.00 BTC
public FlexCoin address = "coffeshop"
Secret IDs (defined by user 1 himself, only visible in his login area):
ID1 = bitbyte --> 30.00 BTC
- User 2:
Balance = 60.00 BTC
public FlexCoin address = "michael"
Secret IDs (defined by user 2 himself, only visible in his login area):
ID 1 = bitfan --> 52.41 BTC
ID 2 = newyork --> 7.59 BTC
- User 3:
Balance = 10.00 BTC
public FlexCoin address = "pizzaservice"
Secret IDs (defined by user 3 himself, only visible in his login area):
ID 1 = freak0815 --> 7.10 BTC
ID 2 = MrXYZ --> 2.90 BTC
Now here is how FlexCoin's published lists will look like (e.g. as downloadable comma separated ASCII text file, and listed in HTML on its website):
List 1: List of Secret IDs with balances:Secret IDs Balance
-----------------------
bitbyte 30.00
bitfan 52.41
freak0815 7.10
MrXYZ 2.90
newyork 7.59
-----------------------
TOTAL 100.00
List 2: List of Bitcoin addresses of FlexCoin's Bitcoin wallet(of course Bitcoin address must be shown completely, so it can be verified in blockexplorer by everybody):
Bitcoin Address Balance
-----------------------------------------------------
1gDh45GdsGglAw2qe4HaHst... 14.25
15GdDggkaL57wjhAfsd6dzh... 5.13
1Ldfge64mdaYsFrZ68sffgh... 1.75
1gshgsJdrh546EHs6eDGhfd... 14.64
1AAhEh22bSH4wD2tSHlFtfh... 7.41
1dKZtTROvBCMf54GgUGgShd... 3.58
1jfFhgKSBfqfmNnXUu9M4Zi... 11.25
1fHed34Zr6r7KFsgHJKr1DF... 9.47
1JeC5sM8MgHD8oTKqSni6fZ... 12.49
1QwKLLoTdWRTnsu9gEoPbiS... 20.03
-----------------------------------------------------
TOTAL 100.00
If FlexCoin runs a fractional system (i.e. if sum of all Flexcoins is greater than sum of all Bitcoins possessed by Flexcoin), they would have to hide this by one of the following means:
- In List 1, omit one or several secret IDs (danger: If a user checks the list and does not find his ID)
- In List 2, also list such Bitcoin addresses that do not belong to FlexCoin (danger: if a user finds a listed address to be his own private address, and he realizes that FlexCoin would falsely pretend this to be their address)
Practically, especially the 2nd kind of fraud (List 2) might be difficult to detect in reality. So, FlexCoin should make it practical for everybody to check their integrity. This can be easily done in the following way, to make their trustworthiness more apparent to the world:
- Flexcoin maintains only a small number (e.g. =10, i.e. small enough to be captured by the human eye) of public BTC addresses in their Bitcoin wallet. This is easily possible, they just need to run a slightly modified version of the official bitcoin client software, modified in that it does not generate new addresses automatically. This way it is easier to verify and check by everybody
- Flexcoin regularly moves their set of operational Bitcoin addresses to new ones, and announces the set of new addresses BEFOREHAND. Suitable interval would be e.g. once every 3 months. Idea: 1 week before the end of the 3 month period, Flexicoin publishes 10 new Bitcoin addresses that will be used starting from next quarter. Then, at the given point in time, they move all their Bitcoins from their 10 old addresses to their 10 new ones.
- --> Advantage: This way, FlexCoin proves to the world:
(a) that they are still in control of their Bitcoins (and have not lost their private keys), and
(b) that the addresses that they list in List 2 above really belongs to them, and not to any random Bitcoin user in the world!
You see, it would be easy for Flexcoin to prove:
- that they are not running a fractional system, AND
- that they are under control of all their Bitcoins
At the same time,
the anonymity of the users is fully guaranteed, because they are only listed in the public list with their SECRET IDs. Moreover, to make these users even more anonymous, Flexcoin could implement mechanisms that allows each user to define SEVERAL secret IDs, and the user could be allowed to specify HOW he wants to distribute his funds between the different secret IDs (e.g. in percentage, or in absolute numbers or some formulas) Given this fact,
AND given the fact that "List 1" (see above)
is not
updated on a minute or hour basis but
only once a day (or even once a week would be sufficient), also an outside user could hardly "back-engineer" which secret ID belongs to which FlexCoin Address. For example, a "curious attacker" could transfer a certain amount of 123.45 BTC to the "coffeshop" address. Then he looks at the published list (List 1 above) and checks which of the secret IDs has 123.45 BTCs more funds than last time. However, unluckily for our "curious friend", he was probably not the only one who has sent some BTCs to "coffeshop" since the last update of "List 1" (which was e.g. 1 week ago) [but our "curious attacker" has lost 123.45 BTC in this example]. Therefore, this sort of "curiosity attack" will not work, i.e. the users account information are kept secret. On top of that, the user can change his Secret IDs any time, and he could even write an automated script (if this is supported by the flexcoin platform) to change his secret IDs according to a given schedule in the future.
Idea for an
additional business opportunity for Flexcoin:
Flexcoin could make this "annonymizing feature" a feature for premium users and request an extra fee for this. For example, every user has one secret ID free (of course also for this free secret ID the user must be able to chose the name of this ID by himself, otherwise FlexCoin could map the same ID to several users and thereby hide a fractional system). If a user wants to use more than one secret ID (for an increased degree of "camouflage"), this service could be sold to this user for a certain fee! For an even further degree of camouflage (e.g. the user is able to program a sequence in the future in which the Secrete IDs change, and also the percentages of funds allocated to the different secret IDs could be scheduled by the user).
Hope this was clear now, for both nmat and Flexcoin Funder :-)
As I said, it is not just a fancy proposal that I am making here, it is in fact my EXPECTATION that Flexcoin is implementing this mechanism in the future and puts it on its feature roadmap. I assure that I am not holding any intellectual property rights for any of these ideas - but donations are of course always welcome for the work I have done here :-)
In my view, implementation of this feature would be a BIG quality certificate for any web service provider that administers Bitcoins for its users, as Flexcoin intends to become one. And given the ambitious plans flexcoin has expressed, I have no doubt that they just
have to implement it if they want to be trusted. As a side effect, they would set a new standard of trust!