Freenet

News of the day — and using Freenet as decentralized, pseudonymous communication backend for applications

This is a proposal I wrote for the NLnet Open call for funding 2016-12. It got into the short list but was not selected, so I’m sharing it here. Maybe it spikes your interest or serves as inspiration for something exciting you want to realize with Freenet. I still plan to do this, but in hobby-time it will likely take a few years to realize instead of the 6 months I had planned. Initial work is available in pyFreenet/babcom.py

The project

Building the darknet one ref at a time

Freenet Logo: Follow the RabbitBuilding the darknet one ref at a time. That’s what we have to do. If you invite three people⁰ to Freenet and help those of your friends with similar interests to connect¹², and when the people you invited then do the same, we get exponential growth.

⁰: To invite a friend into Freenet, you can send an email like this:
    Let us talk over Freenet, so I can speak freely again.

¹: Helping your friends to connect works as follows:

Bitte aktiviert eure Freenet-Knoten

Wenn ihr mal mit mir über Freenet verbunden wart, bitte schaltet eure Knoten wieder an (oder schreibt mir eine Mail, damit wir euren neuen Knoten mit meinem verbinden können).

Ich würde gerne wieder vertraulich mit euch sprechen können. Gerade jetzt.

Solltet ihr die Mail verloren haben: Sie sagte in etwa das hier:

Über Freenet verbinden
Freenet Logo: Follow the Rabbit Freenet ermöglicht es uns, unsichtbare Nachrichten zu schreiben. Zusätzlich kannst du darüber unter Pseudonym schreiben. Um dich mit mir zu verbinden … (weiterlesen)

→ Freenet installieren ←

Über Freenet verbinden (E-Mail-Vorlage)

Beispiel-E-Mail mit der ich meine Freunde1 zu Freenet einlade. Fühlt euch frei, sie zu verwenden und weiterzugeben - gerne auch eure eigenen Fassungen.

Freenet ermöglicht es uns, unsichtbare Nachrichten zu schreiben.2 Zusätzlich kannst du darüber mit Pseudonym3 schreiben. Warum das wichtig ist habe ich in einer Präsentation zum SUMA-award festgehalten: Freenet nutzen: Technische Lösungen für freie Kommunikation im Internet (ab Folie 4 - ab Folie 7 praktische Lösungen)

Um dich mit mir zu verbinden:

  • Lade auf https://freenetproject.org Freenet herunter und installiere es,
  • wähle im Wizard „nur Freunde“¹ und
  • kopiere dann unter http://127.0.0.1:8888/addfriend/ den Textblock am Ende meiner E-Mail² in das Textfeld.
  • Schick mir dann den Text, den Freenet auf dieser Seite hier zeigt: http://127.0.0.1:8888/friends/myref.txt (häng die Datei an eine E-Mail an oder kopier’ den Inhalt einfach in den Text der E-Mail)

Sobald ich den Text dann auch bei mir eingetragen habe, sind wir verbunden. Wir können uns von da an einfach über die Freundesseite schreiben:


  1. Ich lade Leute zu Freenet ein, die ich (a) aus anderen Gruppen kenne und bei denen ich (b) nicht denke, dass sie ihren Freenet-Knoten hacken würden, um mich auszuspionieren. Dazu gehören langjährige Freunde, Arbeitskollegen, Vereinsmitglieder, Leute die ich schon lange aus Online-Spielen oder -Foren kenne, usw. Etwas Interesse für ihre Privatsphäre müssen sie logischerweise auch haben. 

  2. Unsichtbare, vertrauliche Nachrichten zwischen Freunden heißen in Freenet node-to-node Nachrichten (N2NTM). Es ist bei diesen Nachrichten zwar sichtbar, dass eine Verbindung zwischen uns besteht, aber nicht wie, wann und wofür sie genutzt wird. 

  3. Pseudonym heißt, dass du eine anonyme Identität hast, mit der du wiederholt schreiben kannst. Andere wissen nur, dass du beim zweiten Artikel der oder die Gleiche bist wie beim Ersten, aber nicht wer du bist. 

pyFreenet 0.4.1 with auto-spawn support in fcpupload

I just put up a new pyFreenet release (github):

If you have Python3 and pip >= 8 you can get it with pip3 install -U --user --egg pyFreenet3. It provides a cleaned up fcpupload script with --spawn support (requires GNU/Linux):

pip3 install -U --user --egg pyFreenet3
echo 1 > testfile
fcpupload --spawn --fcpPort 9486 testfile 

I finally got the Freenet junit testsuite to run on Gentoo

Blindfolded Dog1

For years I developed Freenet partially blindfolded, because I could not get the tests to actually run on my Gentoo box.

As of today, that’s finally over: The testsuite runs successfully. My setup is still unclean, but it finally works. No more asking other contributors to run the tests for me.

To reproduce:

The Freenet social trust graph

Are trust relationships different in anonymous networks? This article should give you the tools to find out.

Update 2017: Now available from figshare with DOI 10.6084/m9.figshare.4725664

Recently we were asked in the #freenet IRC channel, whether we have a copy of the trust graph in the Web of Trust plugin (which provides service discovery and spam protection).

Freenet for Journalists, funding proposal

This is a funding proposal I sent to Open Technology Fund to make Freenet suitable for Journalists and their sources. Sadly it got rejected, but maybe it helps future proposals.

Project name: Freenet for Journalists
Duration: 24 months
Amount: 800000
Contact name: Arne Babenhauserheide
Contact email: arne_bab -ät- web -punkt- de

Descriptors

  • Status: It's basically done.

Mitigate the Pitch Black attack (the simulation works)

I fixed a small bug in the simulator of thesnark. With that, the simulator shows that the defense against the Pitch Black Attack works: A small number of attackers can no longer kill parts of the keyspace and can also no longer make certain parts of the keyspace inaccessible.

Attackers can still limit the convergence of the network towards a reproduction of the small world network, but since we know that Opennet works quite well with 30% backoff, this limited convergence should suffice for efficient routing.

peer distances under attack

Bitte installiert Freenet, Deutschland hat seit 2015 Vorratsdatenspeicherung

Die Bundesregierung hat am 16.10.2015 die Vorratsdatenspeicherung durchgewunken, nachdem sie zwei Tage vorher die Opposition durch rechtswidrige1 Erweiterung der Tagesordnung am Vortag ausgebremst hat (was das Bundesverfassungsgericht vor nicht einmal einem Monat verboten hat).2 Auf irgendwelche Fairness der aktuellen Regierung, oder auch nur Einhaltung geltenden Rechts, können wir daher offensichtlich nicht mehr vertrauen,3 und es wird Zeit, technische Lösungen zu nutzen.

Um zu verhindern, dass all eure Kommunikationspartner verwertbar aufgezeichnet werden, installiert bitte Freenet.

→ Freenet installieren (Direktlink) ←

Freenet

https://freenetproject.org


  1. Die Erweiterung am Vortag verletzt laut Halina Wawzyniak die Geschäftsordnung des Bundestages, die eine Information über die Tagesordnung 3 Tage vor der Sitzung vorschreibt. Erweiterungen sind nur zulässig, wenn keine einzige Fraktion widerspricht, doch die Linke und die Grünen haben widersprochen. Der Widerspruch der Opposition zur Erweiterung wurde von den Regierungsfraktionen widerrechtlich ignoriert

  2. »Es stellt daher eine Verletzung von Rechten eines Abgeordneten dar, wenn dieser erforderliche Informationen so spät erhält, dass er nicht mehr in der Lage ist, sich fundiert mit diesen zu befassen und sich vor der Beratung oder Abstimmung eine Meinung zu dem Vorgang zu bilden.« — Bundesverfassungsgericht, Urteil vom 22. September 2015 - 2 BvE 1/11, 111 

  3. Trotzdem ist die Verfassungsklage von Digital Courage gegen die Vorratsdatenspeicherung 2015 umso wichtiger: Wenn wir starke Mittel aufgeben, weil andere versuchen, sie zu entwerten, verlieren wir an Handlungsmöglichkeiten. 

follow the blue rabbit

========= blue-rabbit =========
follow the blue rabbit
through the looking glass
to find your real self
========= looking glass =========

Australia gets mandatory data retention

Australia gets mandatory data retention — with unchecked access by roughly any local or federal police agency and “Any other agency the Attorney General publicly declares”. (So much for separation of powers)

And they can use that in court.

→ » Australia: Now is the time to go dark « ←

Dear Australians: This is what we have been talking about the past 10 years. The tech for confidential communication might still be cumbersome to use, but you now need it.

If you want to use Freenet for that, I’ll gladly help you set it up.

Freenet as backing store for sites on the clearnet (in use today)

Chris Double (bluishcoder) changed his main website to be served directly from Freenet:

Thanks to this, the same article is now available from my inproxy.

And, naturally, from Freenet:

USK@1ORdIvjL2H1bZblJcP8hu2LjjKtVB-rVzp8mLty~5N4,8hL85otZBbq0geDsSKkBK4sKESL2SrNVecFZz9NxGVQ,AQACAAE/bluishcoder/20/2015/09/14/using-freenet-for-static-websites.html

Freenet Communication Primitives: Part 2, Service Discovery and Communication

Basic building blocks for communication in Freenet.

This is a guide to using Freenet as backend for communication solutions - suitable for anything from filesharing over chat up to decentrally hosted game content like level-data. It uses the Python interface to Freenet for its examples.

Mirror, Freenet Project, Arne Babenhauserheide, GPL
Mirror,
Freenet Project,
License: GPL.

This guide consists of several installments: Part 1 is about exchanging data, Part 2 is about confidential communication and finding people and services without drowning in spam and Part 3 ties it all together by harnessing existing plugins which already include all the hard work which distinguishes a quick hack from a real-world system (this is currently a work in progress, implemented in babcom.py which provides real-world usable functionality).

Note: You need the current release of pyFreenet for the examples in this article (0.3.2). Get it from PyPI:

# with setuptools
easy_install --user --egg pyFreenet==0.4.0
# or pip
pip install --user --egg pyFreenet==0.4.0

This is part 2: Service Discovery and Communication. It shows how to find new people, build secure communication channels and create community forums. Back when I contributed to Gnutella, this was the holy grail of many p2p researchers (I still remember the service discovery papers). Here we’ll build it in 300 lines of Python.

Welcome to Freenet, where no one can watch you read!

Freenet Communication Primitives: Part 1, Files and Sites

Basic building blocks for communication in Freenet.

This is a guide to using Freenet as backend for communication solutions - suitable for anything from filesharing over chat up to decentrally hosted game content like level-data. It uses the Python interface to Freenet for its examples.

TheTim from Tim Moore, licensed under cc by
TheTim
from Tim Moore,
License: cc by.

This guide consists of several installments: Part 1 (this text) is about exchanging data, Part 2 is about confidential communication and finding people and services without drowning in spam and Part 3 ties it all together by harnessing existing plugins which already include all the hard work which distinguishes a quick hack from a real-world system. Happy Hacking and welcome to Freenet, the forgotten cypherpunk paradise where no one can watch you read!

Vortrag: SUMA-Award für das Freenet-Projekt (Video)

Mein Vortrag beginnt bei 5:56.

Transkript / Untertitel

Ich bin dabei, den Text zu transkribieren, aber es wird noch etwas dauern, bis ich fertig bin. Sobald ich fertig bin, gibt es das als Untertitel-Datei. Was ich bisher habe als Text:

Mit Freenet sicher kommunizieren

Kannst du in wenigen Worten beschreiben, warum mit Freenet sicher zu kommunizieren ist?
— Falk Flak

Bei Freenet gibt es zwei Arten sicher zu kommunizieren:

  1. Du kannst dir ein Pseudonym erschaffen, unter dem du in Freenet-Internen Foren schreiben und anderen Nutzern anonyme, aber spamgeschützte E-Mails schreiben kannst. Die Daten werden dafür direkt zwischen Freenet Nutzenden über mehrere Schritte ausgetauscht, es gibt also keinen zentral kontrollierten Server. Du kannst Daten hochladen, die auch dann noch verfügbar sind, wenn du offline bist, aber nur für diejenigen, denen du den Link dazu gegeben hast.

  2. Du verbindest dich direkt mit Freunden. Von außen kann sichtbar sein, dass ihr euch kennt, aber nicht wann und über was ihr redet. Die Daten, die Freenet für den Normalbetrieb austauscht, sehen genauso aus wie Kommunikation zwischen dir und deinen Freunden, verdecken sie also.

Eine kurze Präsentation dazu: Freenet Nutzen: Technische Lösungen für freie Kommunikation im Internet

Es gibt auch einen längeren Vortrag zu Freenet aus der Chaotischen Viertelstunde bei Noname e.V.:

Secure communication with GnuPG and E-Mail

How E-Mail with GnuPG could hide when you talk, where you talk from and what you talk about.

or in technical terms:

E-Mail with perfect forward security, hidden subject and masked date using GnuPG and better frontends.

If you regularly read my articles, you’ll know that I’m a proponent of connecting over Freenet to regain confidential and pseudonymous communication.

Here I want to show how it would be possible to use E-Mail with GnuPG to get close to the confidentiality of Freenet friend-to-friend communication, because we have the tech (among the most heavily scrutinized and well-tested technology we use today) and we have the infrastructure. All it requires are more intelligent E-Mail clients. Better UI which makes the right thing easy.

Real Life Infocalypse

Freenet Logo: Follow the Rabbit DVCS in the Darknet. The decentralized p2p code repository.

In this guide I show by example how you can use the Infocalypse plugin for distributed development without central point of failure or reliance on unfree tools.12

If you think “I have no idea what this tool is for”: Infocalypse gives you fully decentralized Github with real anonymity, using only free software.

# freenet -> local
hg clone freenet://ArneBab/life-repo
# local -> freenet
hg clone life-repo real-life
hg clone real-life freenet://ArneBab/real-life
# send pull request
cd real-life
hg fn-pull-request --wot ArneBab/life-repo
(enter message)
# check for pull-requests
cd ../life-repo
sleep 1800 # (wait for confidential delivery)
hg fn-check-notifications --wot ArneBab

If you like this, please don’t only click like or +1, but share it with everyone who could be interested. The one who knows best how to reach your friends is you — and that’s how it should be.


  1. This guide shows the convenient way of working which has a higher barrier of entry. It uses WoT Pseudonyms to allow you to insert repositories by Pseudonym and repository name. If you can cope with inserting by private key and sending pull-requests manually, you can use it without the WoT, too, which reduces the setup effort quite a bit. Just skip the setup of the Web of Trust and Freemail and plugins. You can then clone the life repo via hg clone freenet://USK@6~ZDYdvAgMoUfG6M5Kwi7SQqyS-gTcyFeaNN1Pf3FvY,OSOT4OEeg4xyYnwcGECZUX6~lnmYrZsz05Km7G7bvOQ,AQACAAE/life-repo.R1/4 life-repo. See hg fn-genkey and hg help infocalypse for details. 

  2. Infocalypse shows one of many really interesting possibilities offered by Freenet. To get a feeling of how much more is possible, have a look at The Forgotten Cryptopunk Paradise

Freenet protects your DickPic!

Afraid that the NSA could steal your DickPic? Freenet to the rescue!

Freenet protects your DickPic!
(mirror via Freenet)

Unfug zu Freenet auf golem.de

→ Auf Golem.de wurde heute ein … mäßig guter Artikel zu Freenet veröffentlicht. Die Zusammenfassung ist „Hauptsächlich Schmuddelinhalte, viele von 2008, mehrere Minuten Ladezeit, begrenzter Speicherplatz und wenig Anonymität außer mit Darknet“. Das hier ist meine höfliche Antwort.

Update: Nachdem ich mich auf Twitter beschwert habe, hat der Autor versprochen die im Artikel völlig fehlenden Kommunikationsprogramme zu erwähnen. Doch das einzige, was ich finde, ist die Zeile „So gibt es beispielsweise Foren (FMS), Microblogging-Dienste (Sone) oder Chat-Programme (FLIP), die nachgerüstet werden können.“ unter der Überschrift „Daten werden in Schlüsseln gespeichert“ - also da, wo niemand nach Kommunikationsprogrammen suchen würde. So sieht eine Minimalkorrektur aus, wenn man die Wirkung des Artikels nicht von Fakten trüben lassen will. Informieren, dass was fehlte? Änderungshinweis? Fehlanzeige. Nichtmal einen Kommentar im eigenen Forum war es wert.

Was im Beitrag fehlt sind die Bereiche, in denen Freenet-Nutzer sich praktisch austauschen: Die Foren (FMS), Microblogging (Sone) und Chat (FLIP).

Für neue Nutzer sind die nicht gleich sichtbar (Zusatzsoftware), aber sie sind der Grund, warum wenig in Blogs steht: In den Plugins und Foren findet die ganze Interaktivität statt.

Trotzdem listet Nerdageddon über 300 Seiten, die seit 2013 hochgeladen oder aktualisiert wurden, allerdings keine einzige von 2008 - ich weiß also nicht, woher die Information mit den alten Seiten kommt.

Freenet: The forgotten cryptopunk paradise

PDF

PDF (to print)

Org (source)

Text (for email)

A long time ago in a chatroom far away, select groups of crypto-anarchists gathered to discuss the death of privacy since the NSA could spy on all communications with ease. Among those who proposed technical solutions was a student going by the name sanity, and he published the widely regarded first paper on Freenet: A decentralized anonymous datastore which was meant to be a cypherpunk paradise: true censorship resistance, no central authority and long lifetime only for information which people were actually interested in.

Many years passed, two towers fell, the empire expanded its hunt for rebels all over the globe, and now, as the empire’s grip has become so horrid that even the most loyal servants of the emperors turn against them and expose their dark secrets to the masses, Freenet is still moving forward. Lost to the eye of the public, Freenet shaped and reshaped itself - all the while maintaining its focus to provide true freedom of the press in the internet.

Let us talk over Freenet, so I can speak freely again

I sent this email to many of my friends to regain confidential private communication. If you want to do the same, feel free to reuse the text-version (be sure to replace the noderef textblock with your own noderef from http://127.0.0.1:8888/friends/myref.txt). This text is also available in Freenet.

About 10% of my friends joined - which is enough to build the darknet and makes it possible for me to speak freely again.

First: The Essence of this text:

I’ve been censoring my emails for years. Not just what I write, but also whom and when.

Freenet allows me to write invisible messages to my friends. Those are messages I do not need to censor. They give me freedom. Surveillance can show that we could write, but not whether, when or what we actually write. If Freenet is used for that, it needs very little resources.

This is how to connect:

  1. Download and install Freenet from https://freenetproject.org,
  2. in the automatically opened setup wizard select “only friends”
  3. Copy the textblock1 you got with my email and paste it into the textfield on http://127.0.0.1:8888/addfriend/
  4. Then just send me what Freenet shows on the page http://127.0.0.1:8888/friends/myref.txt (attach it to an email or just copy it into the email)

As soon as I add you, too, we are connected. We can then write messages via the friends page (click my name):

  • Write message,: http://127.0.0.1:8888/friends/
  • Read messages: http://127.0.0.1:8888/alerts/

  1. Censored version of my textblock (you’ll get an uncensored version by email) identity=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    lastGoodVersion==XXXXXXXXXXXXXXXXXXXXXXX
    location==XXXXXXXXXXXXXXXXXXXXXXXX
    myName=XXXXXXX
    opennet=XXXXX
    sigP256=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    version==XXXXXXXXXXXXXXXXXXXXXXX
    ark.number=XXXX
    ark.pubURI=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    auth.negTypes=XX
    ecdsa.P256.pub=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    physical.udp==XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    End 

„Lasst uns über Freenet kommunizieren, dann kann ich wieder frei sprechen“ — Mail an Freunde

Diese E-Mail habe ich im September an viele meiner Freunde geschickt,[^email][^freunde] weil ich gemerkt habe, dass ich elektronisch fast nichts Persönliches mehr geschrieben habe.[^selbstzensur] Wenn ihr das gleiche Problem habt, fühlt euch frei, meinen Text anzupassen und an eure Freunde zu schicken. Einen mit minimalen Anpassungen verschickbaren Text findet ihr unter 2014-11-01-ueber-freenet-verbinden-mail.html.[^anhang]

Die 6 eingerückten Absätze am Anfang enthalten die essenziellen Infos, wie ich sie für eine gute Freundin zusammengefasst habe. Die ursprüngliche Mail kommt danach.

Die Kurzform ist: Ich zensiere inzwischen meine Mails, sogar wann ich wem schreibe - nicht mehr nur aus Vorsicht, sondern auch emotional motiviert.

Freenet ermöglicht es, unsichtbare Nachrichten zu schreiben. Es ist zwar sichtbar, dass eine Verbindung besteht, aber nicht wie und wann sie genutzt wird. Und wenn es v.a. dafür genutzt wird, braucht es auch wenig Leistung.

Der Rest der Mail zeigt nur, wie es geht:

  1. Auf https://freenetproject.org Freenet herunterladen und installieren,
  2. im Wizard „nur Freunde“ wählen und dann
  3. auf http://127.0.0.1:8888/addfriend/ den Textblock1 in das Textfeld kopieren.
  4. Dann mir einfach schicken, was Freenet auf der Seite hier zeigt: http://127.0.0.1:8888/friends/myref.txt (an eine Mail anhängen einfach in den Text der Mail kopieren)

Sobald ich das bei mir eingetragen habe, sind wir verbunden. Wir können uns dann einfach über die Freundesseite schreiben:

  • Schreiben: http://127.0.0.1:8888/friends/
  • Lesen: http://127.0.0.1:8888/alerts/

Hi,

Ich kommuniziere mehr und mehr über Freenet,2 v.a. mit Darknet-Kontakten, also Leuten, die ich persönlich kenne. Und das würde ich auch mit euch gerne machen. Dabei wird nämlich komplett verborgen, dass wir uns überhaupt unterhalten: Jede Nachricht untereinander wird in der allgemeinen Verschlüsselten Kommunikation von Freenet versteckt.

Wenn euch das schon überzeugt und ihr keine 2 Seiten Begründung lesen wollt, springt einfach vor zu Freenet Installieren: Uns zu verbinden braucht nur 5 Minuten und eine Antwort per E-Mail.


  1. Ausge-X-te Version meines Textblocks (steht in der Mail) identity=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    lastGoodVersion==XXXXXXXXXXXXXXXXXXXXXXX
    location==XXXXXXXXXXXXXXXXXXXXXXXX
    myName=ArneBab
    opennet=false
    sig=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    sigP256=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    version==XXXXXXXXXXXXXXXXXXXXXXX
    ark.number=XXXX
    ark.pubURI=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    auth.negTypes==XXXXXX
    dsaGroup.g=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    dsaGroup.p=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    dsaGroup.q=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    dsaPubKey.y=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ecdsa.P256.pub=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    physical.udp==XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    End 

  2. Freenet ist freie Software und wird seit 14 Jahren entwickelt - bleibt uns also vermutlich erhalten. Eine Kurzfassung seiner Möglichkeiten findet ihr in den Folien zu einem Vortrag beim Chaostreff Heidelberg (Info, Video). 

I now have a spam-resistant, decentralized comment system via Freenet

In the last years, spam became worse and worse. The more my site grew, the more time I had to spend deleting blatant advertisements. Even captchas did not help anymore: Either they were so hard that I myself needed 3 tries on average to get through, or I got hundreds of spam messages per day. A few years ago, I caved in and disabled comments. The alternative would have been to turn my Website into a mere PR-outlet of Facebook, twitter or one of the commenting platforms out there.

But this all changed now. I finally have decentralized, spam-resistant comments using babcom with Freenet as backend!

» babcom: decentralized, spam-resistant comments! «

A bitcoin-marketplace using Freenet?

A few days ago, xor, the developer of the Web of Trust in Freenet got in contact with the brain behind the planned Web of Trust for Openbazaar, and toad, the former maintainer of Freenet questioned whether we would actually want a marketplace using Freenet.

I took a a few days to ponder the question, and I think a marketplace using Freenet would be a good idea - for Freenet as well as for society.

Freenet is likely the most secure way for implementing a digital market, which means it can work safely for small sums, but not for large ones - except if you can launder huge amounts of digital money. As such it is liberating for small people, but not for syndicates. For example a drug cartel needs to be able to turn lots of money into clean cash to pay henchmen abroads. Since you can watch bitcoin more easily than cash and an anonymous network makes it much harder to use scare-tactics against competing sellers, moving the marketplace from the street to the internet weakens syndicates and other organized crime by removing part of their options for creating a monopoly by force.

If a bitcoin marketplace with some privacy for small-scale users should become a bigger problem than the benefit it brings by weakening organized crime, any state or other big player can easily force the majority of users to reveal their identities by using the inherent tracability of bitcoin transactions.

Lots of site uploads into freenet

I just finished lots of new uploads of sites into freenet - with the new freesitemgr (which actually uploads quickly when WoT is disabled, check todays IRC-logs tomorrow to get background on that). You can get the new freesitemgr from github.com/ArneBab/lib-pyfreenet-staging or via infocalypse:

hg clone freenet://USK@kDVhRYKItV8UBLEiiEC8R9O8LdXYNOkPYmLct9oT9dM%2CdcEYugEmpW6lb9fe4UzrJ1PgyWfe0Qto2GCdEgg-OgE%2CAQACAAE/pyfreenet.R1/14 

The sites are also available via my freenet inproxy:

freenet-team - an introduction of most of the freenet hackers I know.

mathmltest - example of mathml in freenet.

winterface-deadlines - deadlines for the Winterface GSoC project

freenet-funding - the freenet fundraising plan, still lacking good design and crisp presentation slides or a video

freenet-meltdown - on the recent massive performance degradation which lasted a few month and ended with the link length fix.

fix-link-length - background on the link-length fix which made freenet actually do small world routing again instead of random routing (into which it had degraded, partially due to local requests, partially due to having so many peers per node that random routing actually worked for the current network size, so the pressure by routing-success to go back to small world routing was too weak compared to the pressure from local requests to randomize the connections)

download-web-site - how to download a single page from a website - for example to mirror it into freenet. Hint: For all the sites on draketo.de or 1w6.org you are allowed to do so freely (licensed under GPL).

guiledocs - the online documentation for GNU Guile with a focus on Scheme (using Guile): A powerful lisp-like language with multiple implementations.

decorrespondent-metadata - experiment how much information one can glean about your life from just one week of metadata, in dutch.

netzpolitiz-metadaten - same article translated to german. License: cc by-nc-sa

Adventures of a Pythonista in Schemeland - the adventures of a Pythonista in Schemeland: A deep understanding of Scheme for Python users. I learned to love Scheme with this. BSD license.

programming-languages - The Programming languages lecture. License: cc by-nc-sa

tao of programming - "When you have learned to snatch the error code from the trap frame, it will be time for you to leave."

Exact Math to the rescue - with Guile Scheme

I needed to calculate the probability that for every freenet user there are at least 70 others in a distance of at most 0.01. That needs binomial coefficients with n and k on the order of 4000. My old Python script failed me with an OverflowError: integer division result too large for a float. So I turned to Guile Scheme and exact math.

USK and Date-Hints: Finding the newest version of a site in Freenet's immutable datastore

Freenet provides a global, anonymous datastore where you can upload sites which then work like normal websites. But different from websites, they have a version-number.

The reason for this is, that you can only upload to a given key once1. This data then gets stored in the network and is effectively immutable (much like immutable data structures in functional programming).


  1. If you try to upload to a given key twice, you can get collisions. In that case, it isn’t clear which data a client will retrieve - similar to race conditions in threaded programs. That’s why we do not write to the same key twice in practice (though there is a key-type which can be used for passwords or simple file-names. It is called KSK and was the first key-type freenet provided. That led to wars on overwriting files like gpl.txt - similar to the edit-wars we nowadays get on Wikipedia, but with real anonymity thrown in ☺). 

Manipulation in Fremdbestimmter Kommunikation

Kommentar zum BeHaind Video Soziale Massenmanipulation - Politiker flippt aus - Sailor Moon

Ganz klar, es gibt Manipulation. Und die wird es immer geben, wenn die Kommunikation von anderen kontrolliert wird.

Ich verwende deswegen zusätzlich zu Twitter und G+ auch GNU social und Sone.

Inhalt abgleichen
Willkommen im Weltenwald!



Beliebte Inhalte

sn.1w6.org news