aboutsummaryrefslogtreecommitdiff
path: root/template/architecture.html.j2
blob: 7b69572f13aa8a6c41863560f1843dcc01ab4929 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{% extends "common/base.j2" %}
{% block body_content %}
<!-- Jumbotron -->
<div class="container-fluid">
  <div class="container text-center">
    <h1>{{ _("GNUnet System Architecture") }}</h1>
    <p>
    </p>
  </div>
</div>
<!-- TODO: This image is too big, it should scale dynamically -->
<div class="container-wide">
  <div class="text-center">
    <img class="img-fluid" style="width:auto" style="border:1px solid #222" src="../static/images/gnunet-arch-full.svg">
  </div>
</div>
<div class="container">
  <div class="row">
    <div class="col-lg-6">
      <h2>{{ _("Foundations") }}</h2>
      <p>
        {% trans %}
        The foundations of GNUnet are a distributed hash
	table (R5N), an SCTP-like end-to-end encrypted
	messaging layer (CADET), a public key infrastructure
	(GNS) and a pluggable transport system (TRANSPORT).<br>
	Using public keys for addresses
	and self-organized decentralized routing algorithms,
	these subsystems replace the traditional TCP/IP stack.
        {% endtrans %}
      </p>

    </div>
    <div class="col-lg-6">
      <h2>{{ _("Security") }}</h2>

      <p>
        {% trans %}
        GNUnet is implemented using a multi-process architecture.
	Each subsystem runs as a separate process, providing
        fault-isolation and enabling tight permissions to be
	granted to each subsystem.  Naturally, the
        implementation is a <a href="https://www.gnu.org/">GNU</a>
        package, and will always remain free software.
        {% endtrans %}
      </p>
    </div>
  </div>
</div>
{% endblock body_content %}