c3d2-wiki/Echt_Dezentrales_Netz%2Fmod...

301 lines
11 KiB
Plaintext

[[PageOutline(1,,inline)]]
= About the Module Comparison =
On a sunny day at the CCC Camp 2015 Paige (Maidsafe), Alex (Ethereum), Carlo (Secushare) and Christian (GNUnet) decided to help making the modules of their projects comparable. What these projects have in common: They aim to build a better-<mouse-over: more private and secure> internet.
The following tables will help identifying the multiple implementations of similar concepts and jobs and to synchronize vocabulary as a basis for further analysis and testing.
For the purpose of filling these and more we will organize workshops inviting [[EDN#Promising_Projects | promising projects]].
= Rawlist of existing modules/patterns =
All of the [[EDN:Recherche | projects regarded]] have modules of similar functionality implemented or plan to do so as these functionalities have emerged to realize certain criteria of ours and have services functioning in a p2p-archtitecture.<br>
Some functionalities/patterns are:
* Decentralized lookup and naming (i.e GNS vs. DNS)
* Distributed Hashtable (DHT)
* Hashtable routing
* Onion routing vs. authority free onion routing
* NAT traversal
* Link-Layer Crypto: encryption layer over transport links
* Automatic transport selection
* Pluggable interfaces for UDP, TCP, HTTPS, raw wi-fi, sneakernet
* Mesh Routing, End-to-End Circuits
* Hidden Services
* Virtual Private Networking VPN
* User interface
* Messaging protocol
* Filesharing
* File synchronisation
* Blockchain
* Distributed channel state storage
* Social networking abstraction
* Distributed Social Graph implementation
* Multicast: tree distribution channels + pubsub
* Byzantine consensus
* Cryptographic payments
* Gossip
* More in [http://www.researchgate.net/publication/221034643_A_Pattern_Language_for_Overlay_Networks_in_Peer-to-Peer_Systems "A Pattern Language for Overlay Networks in Peer-to-Peer Systems"]
If your project has a module that possibly does a similar job to a listed one, just add a row to the concerning table. If you have modules that do not fit, try making up suitable categories.
{| class="wikitable"
!
! I2P
! COR
! Tor
! GNUNet
|-
| Decentralized lookup and naming
| x
| -
|
| x
|-
| Distributed Hashtable
| x (i2p-)
| -
| x
| x
|-
| Hashtable routing
| x
|
|
|
|-
| Onion routing vs. authority free onion routing
| x
| -
| x
| -
|-
| NAT traversal
| x
| -
| (for HS)
| x
|--
| Link-Layer Crypto: encryption layer over transport links
| x
| -
| x
| x
|-
| Automatic transport selection
| x
| -
| x wizard guided transport selection
| x
|-
| Pluggable interfaces for UDP, TCP....
| x
|
| x
|
|-
| Mesh Routing, End-to-End Circuits
| -
| x
| -
| x
|-
| Hidden Services
| x
| -
| x
| -
|-
| Virtual Private Networking VPN
| x (tunnel ip)
| -
|
| x
|
|-
| User interface
| x webinterface
| -
| -
| x
|-
| Messaging protocol
| ? proxy for irc
| -
| -
| x psyc
|-
| Filesharing
| x
| -
| -
| x
|-
| File synchronisation
| -
| -
| -
| -
|-
| Blockchain
|
|
|
|
|-
| Distributed channel state storage
|
|
|
|
|-
| Social networking abstraction
| -
|
|
| x with secushare
|-
| Distributed Social Graph implementation
|
|
| No
|
|-
| Multicast: tree distribution channels + pubsub
|
|
|
| in progress
|-
| Byzantine consensus
| -
| -
| x (directory services do)
| x
|-
| Cryptographic payments
|
|
|
| x
|-
| Gossip
|-
|-
|
| x
|}
----
= User Interface & Usability =
<pre>
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= Ind.ie =||= Cocoa =|| Messaging Client Heartbeat Frontend || || [https://source.ind.ie/project/heartbeat-cocoa/tree/master Source] || ||aral ||
</pre>
= Many-To-Many Application Layer =
== File Sharing ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUNET =||= fs =|| anonymous censorship-resistant file sharing || [https://gnunet.org/svn/gnunet/src/include/gnunet_fs_service.h API] || [https://gnunet.org/svn/gnunet/src/fs/ Source] || [https://gnunet.org/file-sharing-service Doc] || grothoff ||
=== File Synchronisation ===
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= Ind.ie =||= Pulse =|| secure and distributed file synchronisation engine || || [https://source.ind.ie/project/pulse Source] || || aral ||
=== Blockchain ===
== Social Networking ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= secushare =||= social =|| social networking abstraction || [https://gnunet.org/svn/gnunet/src/include/gnunet_social_service.h API] || [https://gnunet.org/svn/gnunet/src/social/ Source] || [https://gnunet.org/design-social-messaging-system Paper], [https://gnunet.org/internetistschuld Video] || tg & lynX ||
||= secushare =||= psyc =|| extensible rich messaging protocol || [https://gnunet.org/svn/gnunet/src/include/gnunet_psyc_service.h API] || [https://gnunet.org/svn/gnunet/src/psyc/ Source] || [https://gnunet.org/design-social-messaging-system Paper], [http://youbroketheinternet.org/#30c3scalability Video] || lynX ||
||= secushare =||= psycstore =|| distributed channel state storage || [https://gnunet.org/svn/gnunet/src/include/gnunet_psycstore_service.h API] || [https://gnunet.org/svn/gnunet/src/psycstore/ Source] || [https://gnunet.org/design-social-messaging-system Paper], [http://youbroketheinternet.org/#30c3scalability Video] || tg ||
----
= Scalability Layer =
== Content Distribution ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= secushare =||= multicast =|| tree distribution channels + pubsub || [https://gnunet.org/svn/gnunet/src/include/gnunet_multicast_service.h API] || [https://gnunet.org/svn/gnunet/src/multicast/ Source] || [https://gnunet.org/design-social-messaging-system Paper] || tg ||
== Look-Up & Naming ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= GNS =|| decentralized database that enables users to securely resolve names to values || [https://gnunet.org/svn/gnunet/src/include/gnunet_gns_service.h API] || [https://gnunet.org/svn/gnunet/src/gns/ Source] || [https://gnunet.org/gns-implementation Doc], [https://gnunet.org/internetistschuld Video] || grothoff ||
== Consensus Service ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= consensus =|| … || [https://gnunet.org/svn/gnunet/src/include/gnunet_consensus_service.h API] || [https://gnunet.org/svn/gnunet/src/consensus/ Source] || … || florian.dold ||
----
= One-to-One Application Layer =
== Hidden Services / VPN ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= VPN =|| hidden services and virtual private networking || [https://gnunet.org/svn/gnunet/src/include/gnunet_vpn_service.h API] || [https://gnunet.org/svn/gnunet/src/vpn/ Source] || [https://gnunet.org/gnunet-pt Manual] || grothoff ||
== NAT traversal ==
== Payment ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= TALER =||= TALER =|| taxable anonymous micropayment || ? || ? || [http://taler.net Website] || grothoff ||
== Telephony ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= conversation =|| telephony system over CADET and GNS || [https://gnunet.org/svn/gnunet/src/include/gnunet_conversation_service.h API] || [https://gnunet.org/svn/gnunet/src/conversation/ Source] || [https://gnunet.org/book/export/html/2244 Manual], [http://youbroketheinternet.org/#30c3apps Video] || bart.polot ||
----
= Routing =
== Anonymizing Circuits ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= brahms =|| authority-free onion routing || … || … || [https://gnunet.org/brahms Paper] || julius.bünger ||
== Distributed Hashtable ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= DHT =|| distributed hash table, key-value lookup || [https://gnunet.org/svn/gnunet/src/include/gnunet_dht_service.h API] || [https://gnunet.org/svn/gnunet/src/dht/ Source] || [https://gnunet.org/developer-handbook-dht Doc] || grothoff ||
||= SAFE Network =||= Routing =|| a secured DHT, based on a Kademlia-like implementation || [http://maidsafe.net/routing/master/routing/index.html API] || [https://github.com/maidsafe/routing Source] || [http://maidsafe.net/Whitepapers/pdf/MaidSafeDistributedHashTable.pdf Technical paper] || [https://forum.safenetwork.io Forum] ||
== Mesh Routing, End-to-End Circuits ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= CADET =|| confidential ad-hoc decentralised end-to-end transport || [https://gnunet.org/svn/gnunet/src/include/gnunet_cadet_service.h API] || [https://gnunet.org/svn/gnunet/src/cadet/ Source] || [https://gnunet.org/cadet-subsystem Doc], [http://youbroketheinternet.org/#30c3meshnet Video] || bart.polot ||
----
= Link-Layer =
== Transports ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= transport =|| pluggable interfaces for UDP, TCP, HTTPS, raw wi-fi, sneakernet || [https://gnunet.org/svn/gnunet/src/include/gnunet_transport_service.h API] || [https://gnunet.org/svn/gnunet/src/transport/ Source] || [https://gnunet.org/transport-service Doc] || grothoff ||
||= GNUnet =||= ats =|| automatic transport selection || [https://gnunet.org/svn/gnunet/src/include/gnunet_ats_service.h API] || [https://gnunet.org/svn/gnunet/src/ats/ Source] || [https://gnunet.org/ats-subsystem Doc] || grothoff ||
||= SAFE Network =||= Crust =|| reliable P2P network connections in Rust with NAT traversal || [http://maidsafe.net/crust/master/crust/index.html API] || [https://github.com/maidsafe/crust Source] || [http://maidsafe.net/Whitepapers/pdf/DHTbasedNATTraversal.pdf Technical paper] || [https://forum.safenetwork.io Forum] ||
== Link-Layer Crypto ==
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= core =|| encryption layer over transport links || [https://gnunet.org/svn/gnunet/src/include/gnunet_core_service.h API] || [https://gnunet.org/svn/gnunet/src/core/ Source] || [https://gnunet.org/gnunet-core-subsystem Doc] || grothoff ||
----
= Operating System, Libraries =
||= Project =||= Module =||= Description =||= API =||= Source =||= Docs =||= Contact =||
||= GNUnet =||= util =|| library functions such as logging and configuration || [https://gnunet.org/svn/gnunet/src/include/gnunet_util.h API] || [https://gnunet.org/svn/gnunet/src/util/ Source] || [https://gnunet.org/libgnunetutil Doc] || grothoff ||
----
[[Kategorie:EDN]]