• Hacking to create a proof of concept program.
    • I will use I2P for NAT traversal.
    • there will be a centralized node that will give the addresses of the pages. in the future, it would be nice for it to be a dht.

Is it possible to use git to create a decentralized Wiki (p2p)?

  • hacking gollum (git) so that for each link it asks for the address of the page, to fetch the repository locally, and to create a new gollum instance to see the new page.
  • If we are to use a decentralized way to compute trust, we need to allow the computation of trust by parties we dont want them to know who we trust. That might be necessary because without it when we log off the internet, we wouldnt be able to propagate our ideas. Can we use [1] to do this?

Since secure multi party computations are slow, I have created a protocol of more relaxed and not well studied security properties which is much faster.


  • Read Sociology books on trust.
  • Formulate a precise way to implement it.
  • Search for funding
  • Add references to previous works.
  • Write down a dual way to compute rankings (with reputation). Show the computational limits of each. Done. Needs to be written down.
  • How do we use votes of previous commits to newer ones? Done. Needs to be written down.

It seems that the work of Luhman 'Trust and Power' is very relevant.

Open Decentralized Society

Breakthroughs in Computer Science have created new opportunities in the way Society can organize itself.Computers give us the opportunity to digitize Societal relations. This article uses graph theory to represent Society. Taking account of the advantages of such a digitization, it proposes ways that will open and decentralize Information, the Economy, the Law , the Political system. It starts axiomatically by the assumption that all men(or women) should be born equal to pursue happiness and builds upon that.


In 1985 Richard Stallman published the GNU Manifesto and started the Free Software Movement. Let's take a look at what constitutes a free software and how it creates a new economic paradigm.
Its users must have 4 freedoms:

  • the freedom to run the program
  • the freedom to study how the program works, and adapt it to your needs.
  • the freedom to redistribute copies.
  • the freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

If we consider the software as capital with which we create wealth for ourselves or for others, then free software makes capital abundant which in turn makes all people equal at creating wealth. One could argue that the development of the software required work that will not be compensated. This could be refuted by stating that because of free Software being common good, the effort you give to improve it is negligible to the total software that you receive free of charge. But even if there should be a mechanism that will compensate work, it should be a method that evaluates the effort, not a method that creates artificial scarcity to turn an abundant good into a tradable product.
Why is free software important? Because it is the closest thing we have now,that makes people equally equipped to pursue happiness, at least in the Digital world.
In my effort to find ways to create equity, I had to take some naive assumptions. Those are as follows:

  • People use information to take decisions.
  • The Economy is the results of humans actions in their pursuit of happiness while the economic system the rules of play.

That is why the distribution of information and the Economic model constitute the subject of this article. In the near future I intend to extend this to include a Law and political system that will have graph properties, ie each law or political system will be defined locally, as in per person and with the graph links extended globally if need be.

What are the technologies that will be thought as granted?

  • The internet. Each person should have a computer.
  • peer to peer technologies which provide anonymity and the ability to be the sole owner of your data.
  • Secure multi-party computation implementations that allow us to share information to do computations while our data be kept private.

What those technologies should provide is a private way to cooperate in way that noone can cheat.Those technologies are not ready yet, that is why it will be necessary to use other means to fulfill our goal, at least for the moment.

Decentralization of Information


How do we inform ourselves everyday? Almost all of our deductions are based on trust. This is only natural since the human knowlegde's growth necessitated that people specialize.Since our subject of expertise is limited in scope we rely on others for information. Most of the times, we dont have personal relations with the person that provides us that information, or a way to judge him and thus it is impossible to evaluate the information we get, after all this is not a subject we know about.

This problem is solved by automating the word of mouth phenomenon. This automation allows distant evaluation of people to be transformed into multiple direct personal evaluations. This way you have direct control of the flow of information that passes to you because an impossible evaluation of a person has been transformed into multiple possible ones. We may not be able to judge the other person but we do know our friends , coworkers,etc and their abilities(and their abilities to judge others)

This gives us and our friends a bigger role as a source of information leading to the complete decentralization of the flow of information.

Mathematical model and necessary simplifications


  • We evaluate how good our 'friends' evaluate someone's ability to inform us. This isn't the same with our evaluation of how he evaluates someones ability to evaluate etc. Those are in fact different judgements but we hope that they are aproximately the same, something similar to the aproximation of a sequence.
  • We assume that people are affected by their friends' opinion linearly. That is of course because this way we can use linear algebra to propagate information. Non linear ways with which propagation is easily computable should be researched.

Mathematical Model

There are 2 entities in our model.

  • Objects(articles, things, persons) with their respectice properties. (general properties)
  • Persons with properties that they can use to judge other persons' or objects' properties. (properties that judge other properties)

We let people do 2 things:

  • If they know the subject, judge the object(article, thing, person) directly.
  • If they dont know the object, judge someone's knowledge of the subject or (and) judge someone's ability to judge other's knowledge. This second kind of judgement is necessary if we want to have 'long distance propagation'. Remember our simplification.

Example. We have a dental problem and want to find a good dentist but we dont know any dentist. We do know a pathologist and a physicist. We value the pathologist's opinion of who is a good dentist hgher than the physicist even if the pathologist isnt a dentist, doesn't know about the subject,ie how to help us.

How does the Propagation work?

  • People judge other peoples properties. They decide which property is needed to evaluate a general property. If they dont have knowledge about this property(that judges properties), they order partially those properties so there could be a fallback.
  • Due to the first remark, every general property defines a graph with different values in the directed links that propagate the information.

In the effort to digitize this network of flows, each person will be able to define new properties, both general properties and human properties that judge general properties. So if someone is asked to tell his opinion about a general property that he hasn't as of yet taken into consideration, how will he respond?
Example. In the previous example, the exact property that we had to digitize would be 'the ability that someone has to find good dentists'. We never thought we would need this kind of propagation, so din't have a value for that. Instead we had a property about how good a doctor someone is and his ability to find other doctors. We use that link's value for propagation perposes.
So once more, when someone asks about a general property of an object, the 'friends' decide which property they will use to propagate the information.

The Mathematical formula is as follows.
$ X_{n+1}=A_1*X_{n}+B_1*{\overline X_n}+B_2*{\overline C}+A_2*C $

$ X_{0} $ is irrelevant since $ A^{n} , B^{n} $ converge to the 0 matrix
$ X=(\sum_{i=0}^{+\infty} (A_1-B_1)^i)*((A_2-B_2)*C+B_1*1+B_2*1) $

  • C represents the vector of opinions about a specific general property of a specific object. 1 represents a vector with 1 everywhere.
  • Each row represents a person's evaluation of their friends ability to judge a subject($ A_2 $, (opossite)$ B_2 $) or their ability to judge others ability to judge($ A_1 $, or $ B_1 $).
  • Bs are used when we believe in the opposite of what our friends tell us.
  • For any column if we add all the elements of all 4 matrices $ A_1 $,$ A_2 $,$ B_1 $,$ B_2 $ we get 1. Each number represents how much we are affected by a specific source.
  • The elements of specific columns of $ A_2 $, $ B_2 $ are nonzero when these sources of information give their opinion. As a consequence for each subject we will have different matrices if we have different sources of information.
  • X represents the vector of the rankings for a specific article,for a specific property computed with the algorithm.

This is the formula that we get when we take the weighted mean of the opinion of our friends. If everyone does that, after a while we reach an equilibrium. That gives everyone in this group of people a number from 0 to 1 that represents the value of the general property of the object(article, object, person). It is important to note that this number is different for every person because they trust different people. They control their sources, thus they get the information they decided.
It is said that History is written always by the winner. News organization all over the world decide what information is important and they propagate it because they have economic resources to do that. Even organizations whose information is written by the public(Wikipedia) will have only one opinion that people will fight to change(power struggles) while not taking in account the fact that each person trust different people as their sources.

But if there is only one truth, how could we accept different truths in our system while trying to find that ultimate truth? I think that by mentioning all those truths in the same place, their own contradictions will pinpoint their weaknesses, while showing only the most prevalent will not produce new thinking. I believe that the method with which contradictory theories are presented so that new theories emerge needs to be researched. I take a naive point of view.


As it has become clear, in order to find the opinion automatically so as to propagate it we had to find the weighted mean of his friends opinion. That has the problem that if there are contradictory opinions inside that mean, they will not show up. In fact for evey general property , someone might want to get 2 different mean values which he knows represent different opinions even though none of them is his opinion. Not only that, since your opinion is propagated, you may want to show different opinions to different people. Since this project wants to automate the word of mouth phenomenon, we have to find a way that will allow people to lie. All the above work if each person is represented with multiple nodes(different rows) and others will be allowed to use these nodes as sources if the user allows them. Of course, that leads us to also implement a way that friends will use to verify if they are lied or not. That requires that both friends agree to do that or the person and his friend if the second friend doesnt want to use the method(false accusations).

The dual space of information propagation

In order to understand the dynamics of the network of flows, we have to understand the dual space of information. This is the most important part of the article.

  • Information is a catalyst of change in beliefs. So in the dual space it represents that. When you get new information, you either accept it as truth, thus changing your beliefs or if you already know about the subject you reject it and change your beliefs in the personal relations with the sources of your information.
  • The change in our beliefs or the change in our personal relations with our sources has an impact in its dual space, the information space. You change your flow of information to reflect that change.

As you can see, the dynamics of this system are recursive.(i guess there are many more scientific names for that). One important thing to note, though, is the fact that the dual space of information flow cannot be quantified. People have many ways or reasons to change their beliefs. If we wanted to represent that, we would have to find a representation of both rational and irrational human thinking, create a programming language that people would use to digitize their logic (and then let the machines take over the world, Matrix). (We let that for further research lol)

Why is the dual space important? There are many algorithms that could find similarities between people in specific subjects ,that we will also use, that could propose to people which person should be the source of their information. This project doesn't do that. It wants that every link in the graph be a representation of a real relation in the dual space. So every link has to pass through the dual space to receive a value. This is very important. We want to represent real relations, people should use their unquantified reasoning to do that. That gives the system the power of billions of brains. It gives the system the quantification in the information space of the soul(or mind) of society, each link representing a neuron.

Network Dynamics


The Automation in the way the information propagates leads us to problems when we want to have accountability of the source. Reverse-tracing the problem in the graph requires that we step in the dual space(conversation) in every step. The dual space as we already know is slow. Remember that we might got the information from very far.
How do we solve this? What we do is change the graph only locally in a way that could be temporal or not. We go into the dual space, converse with our friends. If they agree with the information, they may convince us, thus we have a change in our beliefs or they dont so we have to change our personal relation which results in a change of value in the information space,graph. If they dont agree, we also change the graph temporally, we change the flow of information depending on the value we get for this disagreeing information. If your friend can't change in the dual space(which will also be reflected in the info space) his sources of information(and the friend of his friend etc) then that change in the graph gets permanent. This way we get an instant change in the graph while waiting for the reverse tracing of the person that has bad resources or is not trustworthy anymore. This way we retain the feature of the system to be instant while always having each link representing a real relation.


You say that we change our flows of info, how? We cant do that if we dont have alternatives. Thus the system will have to provide with an algorithm people with the same beliefs in the matter. It will try to dissuade people from accepting sources without knowing them, having a way to evaluate them themselves.For this, it is important that we help people create new relations. We need to have ways that groups of people of the same beliefs or individuals talk either online with IM, forums, video calls or in conferences, bars, cafes. It should work like a dating site where the thing in common is an idea. Political parties ,environmental groups ,etc,all over the world were used to express people's opinion. Our way would be dynamic; Creating dynamically groups that are used to create real relations. (dual space). No more static groups. It is common that people are not represented well by existing groups.

Tools that show problems in the flow

Our motives in the decentralization of information was to give everyone the ability to decide the flow of info he will receive and to protect him from someone that want to influence him for his personal gains. Have we achieved that? Not yet. What are the problems?

  • Even if we have taken control of the network, the number and kind of sources of information play an important role in the quality of the info we get.

If a big organization (government, cooperation, news agency) tells us a fact without giving us a way to verify it, we become victims of that exact nature, since the people we trust cannot access the necessary information to judge that fact. Whistleblowers will remain to be important.

Solution. Explanation through an example. Let's say that we are given an article that has big value in trustworthiness(or whatever other property). This value has been propagated with the existent sources. We take the possibility that all sources are present, change the $ A_1 $, $ A_2 $, $ B_2 $, $ B_1 $ accordingly, and put the base vectors in C. Each number we get is the infuence we have from a specific source. We check the percentage of trust in sources that havent given us their opinion. If this is big, we could inform user that due to luck of sources, you may be getting the wrong information. Not only that we could create a system that would buy opinions from the sources you most trust. I have an algorithm in which multiple persons can together buy an article.


This decentralization of information acts as ranking system per general property. it is also a personalized ranking system. This way we could create a search engine which ranks the information we get on the property we want. What this article suggests is an extension of the wikipedia encyclopedia with these new features:

  • every person should have a profile.
  • There should be this new search engine, with the added ability to show recent (week,day, all-time)

information (news ranked by the respective general property metric).

  • In each article we should be able to rate its specific properties.
  • we should be able to search for people and rate the influence they have on us for a specific property(ex. A doctors opinion is important for medical things,

even if he has an opinion on physics, you might not want his opinion on this subject.).

  • For each page there should be an indicator of the possible lack of sources and the ability to buy new sources.
  • Most importantly there should be a way per page, property, subject to help people create real relations in the dual space(conversations, talks, skype, video conference etc).For example one such feature could give them the ability to talk with someone who is also online and wants to talk about this subject. Also it would have buttons per page, subject that will create groups of common interest and will help them meet in real life. As i said this is the most important thing if we want to reflect real relations but also the most ambiguous since it is in the dual space.

We need to have a non-profit organization that will be organized in such a way that will securely protect the private information of users while promoting and funding peer to peer and multi-party computation technologies.

Open Source Economy

Back to the basics, a new class of currencies

Open Source Capital or Network Capital,dependant on the graph of economic flows

Documents , Links

The wiki is more up to date than OpenSociety.pdf Media:OpenSociety.pdf Media:example.pdf

View edit history of this page.