OpenUDC is poorly designed

46 views
Skip to first unread message

camille...@laposte.net

unread,
Jul 26, 2014, 3:32:46 PM7/26/14
to ope...@googlegroups.com
Hi everyone !

I am a 22 years old computer science student mainly C++ developer interested in topics such as information/wavelet theory, machine/deep learning, real time ray tracing. I discover the RMT and openUDC about two months ago. As I am by no mean an economy expert when I discovered the RMT I started to inform myself on fractional reserve banking systems (federal fund rate, cash reserve ratio, credit multiplier effect). It took me about an afternoon to get this theory was absolutely great. However I think you mustn't explain or promote it well enough since by the time it was founded it should have had much more echo among economists in my opinion. I think, the wiki explanation could greatly be improved.

Recently, I started to study bitcoin cryptographic system, openPGP and PKI X509. Bitcoin lie probably among the worst thing a man could have design thought it's a beautiful piece of engineering. Anonymity is a wrong ideal. You cannot tax bitcoin as it's extremely hard to track who own what (it's about quotient graph) and impossible if the owner goes about it right. Whit out talking about the symmetry problem openUDC tries to solve.

However openUDC is really badly designed too. I think it cannot work as it is thought. For example, imagine 5 evil people signing fictive public keys to share the universal dividend created by theses keys. How would you avoid such a scheme in the current system ?

More important : this is sad but a web of trust **cannot** replace a block-chain. JBar explanations about speed of acknowledgment solving the double spending problem are simply wrong. Web of trust is known for a while and bitcoin wouldn't have been a big deal if it could have used a web of trust.

Webs of trust have worked for centuries with (g)old coins but in the abstract numerical world you can duplicate things. First genius of bitcoin is to have consider the dual view point about money which is transactions. The second genius of bitcoin was to achieve to perform the transactions in a synchronous manner over the network. This was done thanks to the block chain and OpenUDC **needs** one.

Block chains have some ethical consequences (or issues if you wish). You need incentives and computing power to make them secure. Proof of stake and more recent proof of transaction come **as a complement** for alternative currencies. Furthermore proof of stake increase the inequality of wealth which is one of the things OpenUDC wanted to avoid in the first place.

OpenPGP web of trust is really archaic (I am not the only one to criticize it) and not properly design for a cryptocurrency. People need to go to key signing party which are annoying but maybe to nerds as I. "Real" trust is based on our social network as should modern web of trust be.

I have really thought in the last two days about the design of a modern web of trust and how it should interleave with a crypto currency design. I think I found a pretty simple solution to this problem I would like to expose.

Imagine the people as a set of vertices. The trust should be a real function over this set of vertices. But the first thing you notice when you talk about trust it is that it's relative. Two persons/vertices will not trust the same people. Second things to notice is that you cannot own trust. Trusting myself is a poetic tautology, one only lend me trust I lend to others. So when a trust relation vary, it propagates a wave within the graph of trust relations. Such a wave is of course evanescent since I am not really concern about trust relation variation far away from my trusted neighborhood (I am speaking about graph here).

We can build a crypto currency meeting these requirements. Essentially, transaction chain would include money **and** trust (as meta-currency) transactions. The incentives of the block chains would consists of transactions fees decreasing with the trust of the transactions. Money would be created thanks to the RMT mechanism but distribution would be function of trust (almost equal but not exactly to avoid fictive keys) but trust amount would be fixed. As a node, you would be able to compute the trust of another node by listing all the trust transaction applying the correct evanescence law (geometric of probably something else to be determined). Since the transactions in a block chain occur in a synchronous manner every x minutes, the trust wave I describe will propagate as in a finite difference scheme (except there will be rocks falling into the watter at each time step).

You **cannot** avoid proof of work. The incentives cost securing the block-chain will be probably much lower than current banking transaction fees and hopefully negligible in front of the universal dividend redistribution scheme.

Entering in the mathematical and cryptographic details I have though of but not written yet may take a while to formalize and I do not have that much time for now but I am ready to answer questions.

I don't know if you receive an e-mail each time I post something. If so I apologize because it's been some time I have been "editing" this post.

Matthieu Vergne

unread,
Jul 26, 2014, 5:13:53 PM7/26/14
to OpenUDC
Hi Camille,
 
I don't know if you receive an e-mail each time I post something. If so I apologize because it's been some time I have been "editing" this post.

Yes we do, so it is quite redundant {'^_^}. If you can prefer to add rather than edit, it would be nice.

 
I am a 22 years old computer science student mainly C++ developer interested in topics such as information/wavelet theory, machine/deep learning, real time ray tracing. I discover the RMT and openUDC about two months ago. As I am by no mean an economy expert when I discovered the RMT I started to inform myself on fractional reserve banking systems (federal fund rate, cash reserve ratio, credit multiplier effect). It took me about an afternoon to get this theory was absolutely great. However I think you mustn't explain or promote it well enough since by the time it was founded it should have had much more echo among economists in my opinion. I think, the wiki explanation could greatly be improved.

As an "external one" (I am not involved in OpenUDC nor uCoin, but I follow the mailing list since a while) I think there is much more than simple advertisement in play here. I am not that surprised it does not spread that much, personally (but the unconditional income movement does, there is a European website and all, quite nice). However you can try to help a bit by sharing and speaking around you about this stuff. {^_°}
 
Recently, I started to study bitcoin cryptographic system, openPGP and PKI X509. Bitcoin lie probably among the worst thing a man could have design thought it's a beautiful piece of engineering. Anonymity is a wrong ideal. You cannot tax bitcoin as it's extremely hard to track who own what (it's about quotient graph) and impossible if the owner goes about it right. Whit out talking about the symmetry problem openUDC tries to solve.

However openUDC is really badly designed too. I think it cannot work as it is thought. For example, imagine 5 evil people signing fictive public keys to share the universal dividend created by theses keys. How would you avoid such a scheme in the current system ?

More important : this is sad but a web of trust **cannot** replace a block-chain. JBar explanations about speed of acknowledgment solving the double spending problem are simply wrong. Web of trust is known for a while and bitcoin wouldn't have been a big deal if it could have used a web of trust.

As you are going, you take the risk to let the people think your opinon is not relevant, as you are making the opinion of the other wrong in such a religious way. I suggest you to take a more relative stand: people have worked and thought about all this stuff during a while, trying different cases, thinking hard in concepts and facts to get and implement their ideas. Of course, none of them intend to have some absolute perfection, but each of them is designed with precise objectives in mind to face specific problem. You can have a different idea, but it does not mean the others are wrong.

Try first to see which cases these systems deal well with, then which cases make them out. Do the same with your own idea and compare (especially the ones where it does not work, these are the hardest to find in general). Try to see why some could favor some cases or others, this way you could probably understand why these solutions are doing that way. And if you are able to go to the level of formal definitions and proofs, then you can try to show what can and cannot works. Yet, any formal proof is based on assumptions, assumptions which are not guaranteed to be exhaustive. So pay attention to avoid such absolute opinions even with formal proofs.

RMT is based on relativity, but relativity is first of all a matter of perspective. If you want to master the theory, you should master first the perspective it lies in. And from my point of view this point is not fully achieved yet.
 

OpenPGP web of trust is really archaic (I am not the only one to criticize it) and not properly design for a cryptocurrency. People need to go to key signing party which are annoying but maybe to nerds as I. "Real" trust is based on our social network as should modern web of trust be.

I also disagree with the idea of these signing parties. This implies that people should have some geographical proximity, which seems to me obsolete considering the current international tendency. But this is a matter of choice, and this choice lies in assumptions and objectives. You cannot reject it straight just because you have a different view on what is trust. In particular, trust is a hard thing to manage and, as far as I know, no globally agreed formal theory exists to represent and manage it properly.

NB: I am making a PhD in expert finding, and the notion of expert depends also on some social criteria, where trust is an influent factor. So I am quite aware of this problem.
 
I have really thought in the last two days about the design of a modern web of trust and how it should interleave with a crypto currency design. I think I found a pretty simple solution to this problem I would like to expose.

If you want people who work on that since years ago, try to be more positive on their work. Otherwise you decrease your chance to have them consider your own work, saying that "you are wrong" the same way you do. {'^_^}
 

Imagine the people as a set of vertices. The trust should be a real function over this set of vertices. But the first thing you notice when you talk about trust it is that it's relative. Two persons/vertices will not trust the same people. Second things to notice is that you cannot own trust. Trusting myself is a poetic tautology, one only lend me trust I lend to others. So when a trust relation vary, it propagates a wave within the graph of trust relations. Such a wave is of course evanescent since I am not really concern about trust relation variation far away from my trusted neighborhood (I am speaking about graph here).

I don't get your idea here. If you try to provide some formalism, here are my comments:

- The trust should be a real function over this set of vertices -> then what takes this function as argument? a single vertice? a subset of the vertice set? What this function is supposed to represent? The level of trust? Some intermediary values that you will use to compute the level of trust?

- But the first thing you notice when you talk about trust it is that it's relative. Two persons/vertices will not trust the same people. -> I agree, and actually not only the people one trusts in are relative, but also the "amount" of trust to each of them: even if both of us trust the same person, probably we do not trust her as much. And more than that, probably we trust her for some things but not others, so different dimensions of trust could be considered.

- Second things to notice is that you cannot own trust. Trusting myself is a poetic tautology, one only lend me trust I lend to others. -> this one I disagree. I do not trust myself 100% (though I could understand it is uncommon). But what really strike me is the notion of "lending trust". For me it appears that you mix the thing (could be abstract) that you lend because you trust someone and the trust itself. Moreover, considering that we are speaking about economical stuff, your sentence should trike you: if I can only lend trust that someone lent me, who is actually generating that trust first before to lend it to the others? I think you should refine your idea, probably the way you describe it is not exactly what you mean.

- So when a trust relation vary, it propagates a wave within the graph of trust relations. Such a wave is of course evanescent since I am not really concern about trust relation variation far away from my trusted neighborhood (I am speaking about graph here). -> the way I understand this let me think that this amount of trust is first of all generated by people themselves. But then I don't feel that the trust I generate is like "added" to the trust one lends me, that I could then reuse to trust in others. It appears to me a purely personal value, yet it could be (personally) computed based on information I get also from others.

Try to be more formal if you can. With informal stuff you always face the problem of personal interpretation.
 
We can build a crypto currency meeting these requirements. Essentially, transaction chain would include money **and** trust (as meta-currency) transactions. The incentives of the block chains would consists of transactions fees decreasing with the trust of the transactions. Money would be created thanks to the RMT mechanism but distribution would be function of trust (almost equal but not exactly to avoid fictive keys) but trust amount would be fixed. As a node, you would be able to compute the trust of another node by listing all the trust transaction applying the correct evanescence law (geometric of probably something else to be determined). Since the transactions in a block chain occur in a synchronous manner every x minutes, the trust wave I describe will propagate as in a finite difference scheme (except there will be rocks falling into the watter at each time step).

Here I notice a problem with this trust: you need to value it to do this kind of computation. How would you give it such value? And not only you: if this trust has to be given by people themselves, how should they value it? If it is relative, how can you ensure that the values provided are consistent (that 5 given by A corresponds to 5 given by B) so that your calculation makes sense? Numbers can be added easily, but if you add 5 cats with 5 carots, it is hard to make sense of it.
 
Entering in the mathematical and cryptographic details I have though of but not written yet may take a while to formalize and I do not have that much time for now but I am ready to answer questions.

Then here is my question: when will we get this formalism? {^_^}

Picky question, just do what you feel is needed. But do not forget this is what everyone do, so don't be too harsh with the ideas of the others. From my experience, when people disagree honestly, it is first of all a matter of interpretation. And if you want me to understand, you will need some formalism {^_°}.

Matthieu

camille...@laposte.net

unread,
Jul 26, 2014, 7:16:07 PM7/26/14
to ope...@googlegroups.com
Once I reread myself you are right I look too sure and I am casting away a lot of hard work and I shouldn't be so vehement. In my defence it's partly because I am really excited about the ideas been discuss here. I find there is a lack of explanation and maybe questioning about the way openUDC work.

There is no cryptocurrency that avoid the double spending problem (ucoin acknowledge it doesn't solve the problem) I am aware of that doesn't use a block chain with a proof of work involve and I cannot imagine how that could work. I definitely should have rename my post : Why with the current explanations that I get I can't see how openUDC could work. The question of false keys still stand btw.

I will explain more the web of trust as I see it work tomorrow, time to sleep.

Cédric Moreau

unread,
Jul 27, 2014, 12:35:02 PM7/27/14
to ope...@googlegroups.com
Hello Camille,

I've just made a post about proof-of-work and Bitcoin's blockchain on uCoin Forum (the brand new and shiny forum!). You will a closer look at what uCoin's project plan to do about it (actually, what I plan to do).

I think proof-of-work under its current form will die, and that a GNU one is coming.

Cheers
Cédric


--
OpenUDC aims to provide a open standard for Universal Dividend Crypto-Currencies.
 
homepage: http://openudc.org --- git's home: https://github.com/Open-UDC/open-udc.git --- Multi User Chat: open...@muc.jappix.com.
---
You received this message because you are subscribed to the Google Groups "OpenUDC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openudc+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

camille...@laposte.net

unread,
Jul 27, 2014, 5:26:03 PM7/27/14
to ope...@googlegroups.com
Thank you Cedric I will definitely look into it. I don't have much time to dive into it for now but from what I have read you seems to pointed out the right issues about bitcoin and the **big** problem ucoin and openUDC have to face alias synchronization. Reading your solution now : this is a great idea which of course couldn't work without identification (ex. in bitcoin) but should totally work in ucoin or openUDC ! Have you think about incentives, transaction fees. I am not sure you need it though since solving 6 blocks in a row like in bitcoin should be impossible to someone not owning 99.999% of the network computing power maybe just linking the client with a mining daemon should do it.

You however did not speak of fictives identity for universal dividend fraud or I missed something.

Matthieu : Retrospectively, I couldn’t have made a worse introduction since rethinking about the model of trust that I thought could work and was in fact completely flawed. (for the simple reason that cycle in the graph could create an infinite amount of trust "like a larsen").

About identities frauds, governments use biomesurments to avoid those, however this raises other issues (I cannot see these data store on each node of the network, and hashing+salt as used for password can't work here since the measurement aren't exactly the same so locality sensitive hashing should be used but they do not garantee cryptographic security so we're stuck :-().


camille...@laposte.net

unread,
Jul 27, 2014, 5:55:24 PM7/27/14
to ope...@googlegroups.com
ps : Sorry for the above grammatical mistakes. In fact for biomeasurements above if we can get a robust fingerprint (in computer-scientific meaning and i am sure such algos exists), salt it and hashing it with SHA256 (iterated) it could work. By the way, thank you again for not having yelled (but answered) at my jerk intro. Again it seems to me that openUDC design or the info I could get on it didn't answer the numerous questions we could ask and it (you sure have noticed) annoyed me a bit.

Have a nice evening.

Camille

jbar

unread,
Jul 27, 2014, 6:16:12 PM7/27/14
to ope...@googlegroups.com, camille...@laposte.net
There is a misunderstanding concerning the OpenPGP web-of-trust.

In fact if almost all link between certificates are publicly availables.
The value for each link is relative to each certificate.

You have to sign some other certificate and then try the command:
gpg --update-trustdb

It will ask you to set a trust in each certificate you have signed for
signing correctly others certificate.

In other word, it will ask you if the degree of evilness-goodness for
each certificate you have signed. You may also set or change this
degree on a key you don't even have sign yourself, using the trust
command after "gpg --edit-key".

So 5 individuals signing a false certificate, won't be enough
to have the false certificate being recognized, depending on "evilness"
of the signing certificates. The certificate's signatures of a person
recognized as "fully evil" will be simply ignored.

What lacks are studies, methods and implementation to automatize the
answer of the question : Which certificate may be considered
"globally" as owned by an existing individual, and which certificate
is "fake".

Considering that lacks, I have introducing a human interaction to say
"that certificate is owned by an existing individual"
The udid2 permitting also to say
"this existing individual has only one certificate registered to get
the Universal Dividend (UD)"

The human interaction is done through "voters".
The voter decides and have to agree, regarding their own web-of-trust
(with their own degrees of trust-evilness), about which certificate is
eligible for the UD, which is not.
(Note: the voters also decide for which will be the next voters, and
for the amount of the UD).

You'r will be right to say that if a majority of voters are dumbs
or evils, they may also agree to introduce fake certificate.

Then I anwser that, as bitcoin where, if a majority of node (CPU
Power) agree to be evil together, they may create a big mess and
destroy the bitcoins : that is an acceptable risk.

Moreover I may pop-up the ultimate jocker :
OpenUDC is transparent and not anonymous. So if you suspected some
succeeded in doing nasty things, you may investigate, put
them to the pilori and fix the prejudice.

>
> Webs of trust have worked for centuries with (g)old coins but in the
> abstract numerical world you can duplicate things. First genius of bitcoin
> is to have consider the dual view point about money which is transactions.
> The second genius of bitcoin was to achieve to perform the transactions in
> a synchronous manner over the network. This was done thanks to the block
> chain and OpenUDC **needs** one.
>
> Block chains have some ethical consequences (or issues if you wish). You
> need incentives and computing power to make them secure. Proof of stake and
> more recent proof of transaction come **as a complement** for alternative
> currencies. Furthermore proof of stake increase the inequality of wealth
> which is one of the things OpenUDC wanted to avoid in the first place.
>
> OpenPGP web of trust is really archaic (I am not the only one to criticize
> it) and not properly design for a cryptocurrency. People need to go to key
> signing party which are annoying but maybe to nerds as I. "Real" trust is
> based on our social network as should modern web of trust be.

Your not the only one to criticize OpenPGP Web of Trust. But lot of
critics don't even know sufficiently OpenPGP and how far we could go
with it.

Your are not supposed to make big key signing party once or twice a
year. A lots of key I have signed, and signed me, was after an informal
meeting around a table, in a pub, or even in corridor. Where I
exchanged some little piece of paper with my fingerprint and udid2 (or
just the name and forename with whom didn't know about udid2) and
checked our respective ID card or passport.

Once you're trained, it doesn't cost more than 20 sec to exchange
fingerprint and check ID, and u can do that almost everywhere.

For your very close friends or your close family, you don't even need
to check their ID card or passport (as u are supposed to know their
real names and birthdate), just to hear them telling you "my
certificate is this one"

That is a habit to take.

Social network (twitter, facebook) are full or fake accounts. And even
if Google try to hunt them, imposing to tell a name and forename that
seems corrects, they didn't succeed. (Moreover they are centralized,
which means who administrate the center points are GOD).

>
> I have really thought in the last two days about the design of a modern web
> of trust and how it should interleave with a crypto currency design. I
> think I found a pretty simple solution to this problem I would like to
> expose.

Your not the first to tell that. I hope you can do better.
>
> Imagine the people as a set of vertices. The trust should be a real
> function over this set of vertices. But the first thing you notice when you
> talk about trust it is that it's relative. Two persons/vertices will not
> trust the same people. Second things to notice is that you cannot own
> trust. Trusting myself is a poetic tautology, one only lend me trust I lend
> to others. So when a trust relation vary, it propagates a wave within the
> graph of trust relations. Such a wave is of course evanescent since I am
> not really concern about trust relation variation far away from my trusted
> neighborhood (I am speaking about graph here).

What is a vertice ? u means vector !?
BTW, that isn't very clear to me. It looks like you are trying to
design what is already implemented in GnuPG ...

>
> We can build a crypto currency meeting these requirements. Essentially,
> transaction chain would include money **and** trust (as meta-currency)
> transactions. The incentives of the block chains would consists of
> transactions fees decreasing with the trust of the transactions. Money
> would be created thanks to the RMT mechanism but distribution would be
> function of trust (almost equal but not exactly to avoid fictive keys) but
> trust amount would be fixed. As a node, you would be able to compute the
> trust of another node by listing all the trust transaction applying the
> correct evanescence law (geometric of probably something else to be
> determined). Since the transactions in a block chain occur in a synchronous
> manner every x minutes, the trust wave I describe will propagate as in a
> finite difference scheme (except there will be rocks falling into the
> watter at each time step).
>
> You **cannot** avoid proof of work. The incentives cost securing the
> block-chain will be probably much lower than current banking transaction
> fees and hopefully negligible in front of the universal dividend
> redistribution scheme.
Yes we can.
POW is CPU-based defiance model, which imply a lot of perverse
consequences (energizing and ecological ones, reducing the lifetime of
hash algorithms, contest for "who's got the bigger").

WOT is a human-based trust model.

>
> Entering in the mathematical and cryptographic details I have though of but
> not written yet may take a while to formalize and I do not have that much
> time for now but I am ready to answer questions.
>
> I don't know if you receive an e-mail each time I post something. If so I
> apologize because it's been some time I have been "editing" this post.
>
signature.asc

Matthieu Vergne

unread,
Jul 27, 2014, 6:27:41 PM7/27/14
to OpenUDC
2014-07-28 0:16 GMT+02:00 jbar <jeanjacqu...@gmail.com>:
What is a vertice ? u means vector !?

In a graph, you have the vertices (nodes), plural of vertex, and edges (links). This is graph jargon.

camille...@laposte.net

unread,
Jul 27, 2014, 6:41:58 PM7/27/14
to ope...@googlegroups.com
Thank you JBar. You addressed a lot of my questions about the web of trust (although relying on passport means relying on a centralized network). Clearly, I did not look into openPGP closely enough. For the POW you didn't expose how you could get rid of it. Cédric proposed a lightweight (ecological) proof of work, have you thought of a similar system for openUDC ?
Reply all
Reply to author
Forward
0 new messages