doc update
This commit is contained in:
parent
1dda1b27a8
commit
6a42d261f1
53
doc/meow.tex
53
doc/meow.tex
@ -14,7 +14,7 @@
|
||||
|
||||
The \textffm{Meow} protocol is a privacy driven instant messaging protocol.
|
||||
That protocol might be used for creating secure and distributed chat services or allowing machine to machine communication.
|
||||
This document describes the services provided by the protocol, the messaging structures and the transport protocols that might be used.
|
||||
This document describes the services provided by the protocol.
|
||||
\begin{quote}
|
||||
|
||||
\centering
|
||||
@ -43,7 +43,7 @@ The server requires very few ressources and will run on any low cost single boar
|
||||
\textffm{Meow} also provides an anonymizing transfer service very similar to the Tor Onion protocol, we call it the Matriochka protocol.
|
||||
Any server can be used for building the transfer chain.
|
||||
Some of them might be marked as trusted.
|
||||
Random delays might be set for each forwarding step, making the overall message tracking much more difficult, even with a global network survey.
|
||||
Random delays and random payload padding might be set for each forwarding step, making the overall message tracking much more difficult, even for organizations having capabilities of global network surveillance.
|
||||
It is strongly advised to use trusted servers as your first node and message server (the one that holds your incoming messages).
|
||||
|
||||
\subsubsection{Presence protocol for direct messaging}
|
||||
@ -54,7 +54,7 @@ If that flag is set, your encrypted IP will be published on the server, allowing
|
||||
\subsubsection{Peer based privacy settings}
|
||||
You might define specific communication privacy preferences for each of your contacts:
|
||||
\begin{itemize}
|
||||
\item simple server based communication allowed for Joe,
|
||||
\item simple server based communication allowed for Sarah,
|
||||
\item preferred direct communication with Julian, fallback to my own server,
|
||||
\item required matriochka protocol for Edward, first node is one of my trusted servers, my message node is my own server, randomly switch from trusted server lists for others.
|
||||
\item ...
|
||||
@ -110,7 +110,7 @@ Well, that option offers a few advantages :
|
||||
\item no social network algorithm will select people that think/behave/vote/eat... just like you. Diversity makes a better world;
|
||||
\item a smaller community of users, skilled enough to operate a \textffm{Meow} chat app... that might provide a first filter;
|
||||
It's a bit like in the early ages, when people had to be able to start a win98 computer, connect it to internet, then download and install ICQ...
|
||||
If you lost some time in social networks, and experienced ICQ in the 2000's, you'll understand.
|
||||
If you lost some time in social networks today, and experienced ICQ in the 2000's, you'll understand what we'd like to revive.
|
||||
\end{itemize}
|
||||
|
||||
\section{Identities and keys}
|
||||
@ -136,7 +136,7 @@ The Ekp might be changed anytime by its owner and the new public key will be sen
|
||||
A contact conversation Lookup Key Pair(Lkp) is also associated with your conversation. The Lkp public key is used to identify your conversation on a server.
|
||||
The private key allows you to sign your request and prove the server that you are the legitimate recipient for a message.
|
||||
This Lkp can be changed anytime by its owner and the new public key will be sent along the last message.
|
||||
The Lkp and the Ekp are only changed once the change has beeen acknowledged by your contact.
|
||||
The Lkp and the Ekp are only changed once the change has been acknowledged by your contact.
|
||||
|
||||
\subsection{Server identity}
|
||||
Each server has a Server key (Skp). That key allows you to cypher the messages that you're sending to the server.
|
||||
@ -175,49 +175,44 @@ TODO
|
||||
\subsection{Synchronization messages}
|
||||
TODO
|
||||
|
||||
\section{Transport protocols}
|
||||
\subsection{URLs}
|
||||
Server urls do define the protocol used for communicating with the server.
|
||||
Some of the protocols will be described hereafter, but that list is not exhaustive and might be extended in the future.\\
|
||||
Examples of a valid url:
|
||||
\begin{verbatim}
|
||||
http://myserver.com
|
||||
https://user:pass@myauthenticatedserver.net:8443
|
||||
mqtt://mymqttserver:6203
|
||||
udp://myudpserver.org:41325
|
||||
serial://dev/ttyS0
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{HTTP/S}
|
||||
TODO
|
||||
|
||||
\subsection{UDP}
|
||||
TODO
|
||||
|
||||
\subsection{Internetless alternative routing}
|
||||
TODO
|
||||
|
||||
\section{Server Features}
|
||||
\subsection{Server catalog}
|
||||
Each server will cache a list of all the servers that it is aware of.
|
||||
This server list will be shared between servers in a lazy exchange mode.
|
||||
|
||||
\subsection{Antispam}
|
||||
|
||||
\subsection{Self defense}
|
||||
The servers do integrate self defense mechanisms. Any threat to the \textffm{Meow} network by any computer,
|
||||
computer group or organization, might result in a distributed response from volunteering \textffm{Meow} servers and clients.
|
||||
An information about threat, desired defense action and request for assitance, might be submitted by any server or group of servers.
|
||||
Server owners and client users might accept or refuse to participate to the response action.
|
||||
|
||||
|
||||
|
||||
|
||||
TODO : Request and actions definition consensus mechanism
|
||||
\section{Backup}
|
||||
\section{Recovery}
|
||||
|
||||
\section{Very secure devices}
|
||||
You don't trust your phone ?
|
||||
We're planning to provide very secured minimal devices dedicated to very sensitive \textffm{Meow} communication.
|
||||
|
||||
\section{Roadmap}
|
||||
\subsection{Nations}
|
||||
Beyond the scope of user directories, we plan to implement the concept of virtual Nations.
|
||||
Nation will allow people to regroup around common political funding values.
|
||||
They're not exclusive, you might be a citizen of several virtual nations.
|
||||
|
||||
Today still, most people don't really choose the nation they live in.
|
||||
You just have to live with the goverment decisions.
|
||||
In the best scenario that government was elected, and might represent at most 25\% of the population.
|
||||
In most case, they will vote laws to satisfy the powerful people who supported their election, and the most powerful lobbies.
|
||||
|
||||
\textffm{Meow} Nations aim to be the next lobbying power to influence real life politics, "the poor man's lobby".
|
||||
|
||||
Virtual nation in that perspective will be probably quickly flagged as terrorist nation by the old world media, but well,
|
||||
one man's terrorist is another man's freedom fighter.
|
||||
If requiring more democracy, using the same technique that is preventing it from happening, has to qualified that way, so be it.
|
||||
|
||||
|
||||
\end{document}
|
Loading…
Reference in New Issue
Block a user