Objection in the model of the web of trust of Ucoin

hello all

I have an objection in the model of the web of trust that Ucoin follows.
I think the web of trust should be done into the level of assemblies , and not into the level of individuals. Or at least you should support both models.

We can solve the problem of trust and the problem on “one person-one public key” in Ucoin, with assemblies. Credentials should not be produced of course by a central authority, but in a decentralized way.

The procedure is simple.

We give the specifications of the credentials, and every Ucoin member creates a pair of public and private keys in his/her home and print the public one (print it in QR code is preferable). Then a Ucoin assembly takes place, and behind the polling both people put the printed public key into an envelope, then they put the envelope into a physical ballot box. Then the ballot box opens, the public keys are scanned, and a committee announces a list of valid public keys. Everyone confirms that his/her public key is inside the list, whithout of course revealing what the key is.

Those public keys are anonymoys now, and can be used for anonymous ucoin money until the next cryptoparty, where the above explained procedure will be repeated. We have to repeat cryptoparties once in a while (every 4 years?), because it is possible for some people to lose their credentials, for whatever reason.

The first assembly should elect at least one trusted representative, that must observe any next assembly and confirm that the exchange of the keys in the cryptoparty took place in a correct manner (means ensuring that no person can have 2 keys). The second assembly will also elect at least one trusted observer to inspect the next assemblies, and so on…
Alternatively if we dont want to elect representatives designated to observe any following assembly (it is a hard work, isnt it?), then all the cryptoparty Ucoin assemblies should take place the same day and time (it is impossible for a person to be in two places at the same time!). Of course in the case of concurrent assemblies, in every assembly at least one person should participate that he/she is sent (as a trusted one) by each of all the other assemblies (without of course having already apply anywhere credentials, by no means! The envoy should apply credentials only at the place of dispatch, otherwise the “one person-one credential” rule is abused)

**This is the model Ucoin should follow. **
TRUST AMONG ASSEMBLIES AND NOT TRUST AMONG INDIVIDUALS.
Or at least you should support both models.

Technical suggestion:
With a few changes in the code we could make for every individual of the web of trust to be able to have multiple public keys instead of having just one public key. And of course every public key will receive the Universal Dividend. That way the Ucoin individual is transformed as equivalant to an assembly with a list of public keys. That way you can support in Ucoin both models, and the model of individual trust and the model of assemblies trust. And let the community to decide in what mode they will run the Ucoin software, in the individual mode or in the assembly one.

uCoin is already compliant with what you propose, because it can be reduced as a “pubkey selection” problem which is a pure human decision and is not relevant at uCoin software level.

Because uCoin have no idea what a human is, this is an undefined term. uCoin only recognize public keys and relations between them. The WoT rules are here as requirements to avoid massive cheating, and will work even if pubkeys are selected during assemblies. The assemblies would just be an help for people to have confidence in the existence of a unique human behind the key (which is a thing that remains to be proven - I am not convinced).

But If you really want vertical control over the pubkeys that can be members of the community, then you will have to make another software, or at least fork it to behave this way.

Just my opinion.

Forgive me for the questions, but I am newbie here.

Because uCoin have no idea what a human is, this is an undefined term. uCoin only recognize public keys and relations between them.
The WoT rules are here as requirements to avoid massive cheating, and
will work even if pubkeys are selected during assemblies. The assemblies
would just be an help for people to have confidence in the existence of
a unique human behind the key (which is a thing that remains to be
proven - I am not convinced).

I see what you mean. Let me think of it a little more. But in the meanwhile more questions arrive in my head.

The WoT rules are here as requirements to avoid massive cheating

Who decides the WoT rules?

Who decides the initial values of the WoT, that are used for the Ucoin software to start running?

Depending on the currency parameters, these rules may become either very
hard or very easy to pass. For example, if each member must be directly
signed by every other member (distance = 1), then it won’t be possible
to have fake accounts (unless everyone agrees with that). But such a
community would be small. In the opposite, a distance of 5 would mean it
exists a path of 5 links between 2 members (from one to the other).
This would be much easier, making a wider community, but making fake
accounts easier too. This is all a matter of which parameters are used
for which maximum community size.

I think a WoT of Assemblies must decide those parameters also. If you run your software without leting assemblies to decide those parameters, you start in a wrong way. This decision of the assemplies should be predicted in the software. The software must change parameters on the runtime, if this is decided.

This is somehow Reflection_(computer_programming), but the decision of the change of the behavior of the program is done by trusted assemblies. In my model the cryptoparty assemblies (as described above with the physical ballot box scheme) is the ultimate level of trust. Cryptoparty assemblies are even below the WoT parameters of the software (that are about to form the WoT rules) and they should be able to decide (democraticaly) those WoT parameters on the runtime.

you will have to make another software, or at least fork it to behave this way.

It is useless to start making yet another software, before discussing the specifications with people who can understand. Maybe I am wrong (and I will like you to address that error) or maybe what I am asking is already in your code.

You can answer me in French if you think your answer can be more accurate.

The man that decides to start a free money with uCoin decides those rules. So if other humen don’t like those rules, they can start another free money without other WoT rules.

No. You can violate the economical freedoms by instauring asymetry in time, but this is not correct concerning a free money.

But you can start a new money with your own rules. This is correct.

The creators of the currency. They choose the initial values, and then it won’t be changeable for the whole lifetime of the currency.

Well, say that to Bitcoin users first. The rules of money creation did not change from the beginning, is that a problem for their users? Those who weren’t OK with these rules started another currency, and other users joined them (LiteCoin, PeerCoin, NXT, etc). What is “a wrong way” in this?

The software must do nothing, it is a software, a mechanical thing, it does what is coded in it. If you want it to behave some way than another, then you just need to code it.

What you say is possible, but in another software. I won’t do it. I prefer the Bitcoin way. Also uCoin is GPLv3 licensed, there is no problem at all if someone wants to change its behavior, it won’t affect the behavior I’ve chosen for my personal usage.

Well if you think assemblies are useless, or at least not as much wisheable as the current WoT model we have, then I don’t see the point of this conversation.

You are coming to us with must, should be done this way, not into this other way, authority. So on one hand you seem to know “what is better”, and on the other hand you say “maybe I am wrong”.

Please make a decision, otherwise your discourse will be inconsistant and you can say one thing and the opposite, both “true”.

Please read again my quote, I edit it a lot of times.

and dont count my “must” and “should” words.
I am not a native english speaker. Just try to undestand what I am trying saying.

No. Assemblies who decide to change Debian to Ubuntu, don’t change at all my copy of Debian I chosen to use, and they don’t have any right to change it. I can decide, by myself, to change my copy of Debian for the proposed Ubuntu one, or not.

We are not talking about your Ubundu my friend.
We are talking about money, and money belongs to all the community.

Money belongs to the community of individuals who accepted to join it together. If you don’t like it, then don’t join it. If you prefer another money definition, then develop it, adopt it, use it. Don’t say to us what we should do or not, we won’t listen you at all.

Well, say that to Bitcoin users first. The rules of money creation did
not change from the beginning, is that a problem for their users? Those
who weren’t OK with these rules started another currency, and other
users joined them (LiteCoin, PeerCoin, NXT, etc). What is “a wrong way”
in this?

This is exactly the wrong in the design of bitcoin.
This is the reason why it didnt scale.
Fork is not always the good solution, a glue must be added in the software to join people together.

This glue is the trusted assemblies that can vote.

No. Bitcoin is not a free money, that’s the point. Users(t) who joined the bitcoin have not the same rights than users(t+x) who join it later. So users(t+x) create their own money to create their own compensation.

This list of money(t) + money(t+1) + money(t+2) + … + money(t+x), corresponding to newcomers(t) + newcomers(t+2) + newcomers(t+3)+ … + newcomers(t+x) are all fully integrated in a free money, like uCoin is precisely defining.

What you said is yet another reason bitcoin didnt scale.
You are right, but this does not mean that I am wrong.

What I claim is that both your coin, and Bitcoin lacks of that glue that will join people together.
Instead of making millions of forks, just try the glue.

Then make the glue. And let people who want to join your assemblies join it, and let the others who prefer not to use glue not using it.

So everyone will be free.

1 Like

So you dont agree with that glue?
This is the question.
If you agree with it, then why not help me make that glue?
I am here asking for people to help the glue idea.
I may have the glue idea, but I dont think I am capable to implement it, thats why i am asking for help.
thats all.

Please note also that the glue could be totally handled by a meta currency and cross chain transaction, later on when uCoin is developped and used by many people.

Could you please explain this furhter?
I would like to discuss the flaws of what I am proposing.

I don’t.

Also I don’t care if “Bitcoin did not scale”.

Galuel already said that the whole point with Bitcoin and all is that they are no Libre currencies (he said free money, a synonym). This is the true glue to us, so the glue you propose to us is nothing compared to this one.

Also you are french, you can read the Théorie Relative de la Monnaie, see excellent videos like this one at Ubuntu party to be able to understand why we think so.

There is no such thing as “absolute true”. It is always refering to a truth referential.

For example in the referential where you are right, you are always right.

So here:

  • if you take the “assemblies and scaling are a must have” referential, then you are right
  • but if you take the “libre currency is a must have” referential, then you are wrong

It’s that simple!

So you just need to choose what matters to you.

Cgreek:

You did not answer to my question.
How Ucoin can be a free coin, when at the same time YOU decide the rules of the Web of Trust?

The glue of the “free coin” manifesto is not enough, when there is always YOU behind who can play with the parameters of the Web of Trust and that wat either refuse the enter of people, or in the reverse invite everybody.

A coin cannot be free when there is someone behind that initiates its parameters of such an important thing as the Web of Trust is.

Because :

  1. Any one can creates a new currency with ucoin, so anyone can set the parameters he wants for his currency.
  2. The software is under GPLv3 so anyone can fork it and implement different WoT rules he thinks would be better