In der digitalen Welt stehen soziale Medien seit Jahren im Mittelpunkt der gesellschaftlichen Kommunikation. Doch die zentrale Kontrolle durch einige wenige Unternehmen und Plattformen sorgt immer wieder für Kritik, insbesondere hinsichtlich Datenschutz, Zensur und Nutzerkontrolle. Genau an dieser Stelle setzt das AT Protocol an, ein revolutionäres dezentrales Social-Media-Protokoll, das erhebliches Potenzial besitzt, diese Herausforderungen neu zu definieren und gleichzeitig Entwickler zu inspirieren, eigene Projekte auf einer zukunftsorientierten Infrastruktur zu realisieren. Das AT Protocol bildet die technologische Basis für Bluesky, eine innovative Social-Media-Plattform, die dezentralisierte Speicherung und den verteilten Zugriff auf Nutzerdaten ermöglicht. Im Gegensatz zu klassischen Plattformen, bei denen alle Inhalte und Nutzerdaten auf zentralen Servern einer Firma liegen, nutzt Bluesky das Konzept der Personal Data Stores (PDS).
Dabei handelt es sich um individuelle, kryptografisch gesicherte Datenspeicher für jeden Nutzer, die auf verteilten Servern liegen und über Webdienste für die Kommunikation bereitstehen. Der Aufbau der Daten im AT Protocol folgt einem ausgeklügelten System, bei dem sämtliche Inhalte in sogenannten merkle search trees organisiert sind. Dies erlaubt effiziente Abfragen und Synchronisationen sowohl beim Lesen als auch beim Schreiben. Die Datensätze selbst sind in einem speziellen Format, DAG-CBOR, codiert und durch kryptografische Signaturen abgesichert. Das zugrundeliegende Datenbanksystem ist SQLite, was einerseits Stabilität und Verlässlichkeit garantiert und andererseits eine hohe Performance bei geringer Serverlast ermöglicht.
Ein zentrales Element im Netzwerk ist der Relay, ein Indexer, der die verstreuten Daten der individuellen PDSs abruft, indiziert und zu einem durchsuchbaren Feed zusammenführt. Dieser so genannte Firehose-Feed ist eine Art Echtzeitstrom aller öffentlich zugänglichen Posts innerhalb des Netzwerks. Aktuell wird der Relay von Bluesky plc betrieben, was innerhalb der Community Diskussionen über die tatsächliche Dezentralisierung auslöst. Dennoch steht das Protokoll offen, und es gibt Bestrebungen, weitere Relays zu implementieren und so eine breitere Vielfalt an Indexierungsinstanzen zu schaffen, die langfristig eine echte dezentrale Architektur mit hoher Ausfallsicherheit gewährleisten. Die zugrundeliegende Datenmodellierung des AT Protocols ist über sogenannte Lexicons definiert, die Schema-Vorlagen für unterschiedliche Typen von Datensätzen darstellen.
Diese ermöglichen es Anwendungen, gezielt Inhalte zu verarbeiten, zu filtern und intelligent aufzubereiten. Entwickler profitieren dadurch von einer klaren Struktur und können auf dieser Basis eigene Apps und Tools bauen. Die Offenheit und Flexibilität des Protokolls motiviert zunehmend Entwickler dazu, eigene kreative Projekte zu realisieren. Ein eindrucksvolles Beispiel hierfür ist GitFeed, eine von der erfahrenen Softwareentwicklerin Vicki Boykis erstellte Anwendung, die den Jetstream von Bluesky nutzt, um Posts mit GitHub-Links herauszufiltern und in einem simplen Feed darzustellen. GitFeed wurde bewusst als kleines, übersichtliches Go-basiertes Webprojekt realisiert, dessen Fokus darin liegt, GitHub-bezogene Inhalte aus dem Firehose herauszufiltern und dynamisch als erfrischbaren Stream bereitzustellen.
Dabei verbindet die Anwendung das Backend mit SQLite als leichtgewichtiger Datenbank und einem minimalistischen Frontend in Vanilla JavaScript. Dass Go als Programmiersprache gewählt wurde, hat den Grund, dass es eine robuste, statisch typisierte Sprache mit einfacher Deployment-Pipeline ist, welche sich besonders für Backend-Prozesse mit hoher Performance eignet. Ein wesentlicher Teil der Arbeit mit dem AT Protocol besteht darin, Daten aus dem Jetstream zu verarbeiten. Der Jetstream stellt eine Alternative zum Firehose dar: Während der Firehose eine große Menge roher Daten mit komplexen Formaten liefert, streamt der Jetstream Inhalte in JSON und reduziert somit Bandbreite und Komplexität. Diese Datenquelle ist für Projekte wie GitFeed ideal, da sie eine schnelle Entwicklung ermöglicht, auch wenn es Abstriche bei Stabilität und Funktionsumfang gibt.
Die Anbindung erfolgt über WebSockets, ein Netzwerkprotokoll, das eine beständige Verbindung zwischen Client und Server erlaubt. In Go wird dies mit der bewährten gorilla/websocket-Bibliothek umgesetzt, wobei für das Empfangsmanagement sogenannte "read pumps" eingesetzt werden, die fortwährend neue Postdaten verarbeiten, filtern und in die Datenbank schreiben. Die Handhabung von Verbindungsabbrüchen und Wiederverbindungen ist dabei essentiell, um eine stabile Datenaufnahme zu gewährleisten. Das Datenmodell für die empfangenen Posts besteht aus verschachtelten JSON-Objekten, welche unter anderem die NutzerdID (DID), Zeitstempel, Typen und eingebettete Medien oder Links enthalten. Besonders die Facets bieten eine strukturierte Darstellung von Link-Features, die GitFeed gezielt auswertet, um nur Beiträge mit GitHub-URLs einzubeziehen.
Im Frontend wird dann ein einfacher Webserver über das eingebettete net/http-Paket in Go bereitgestellt, der REST-Endpunkte zur Verfügung stellt. Das frontendseitige JavaScript kommuniziert asynchron mit dem Backend, holt die gefilterten Postdaten in umgekehrter chronologischer Reihenfolge ab und rendert sie für den Benutzer übersichtlich. Auf Monitoring oder skalierbare Architekturen wurde im Projekt bewusst verzichtet, da GitFeed als Demonstrator und Side-Project mit geringer Nutzerzahl konzipiert ist. Die Wahl von SQLite als Datenbank ist dabei ein pragmatischer Ansatz, der eine einfache lokale Speicherung mit guter Performance nach sich zieht. Die Datenbankpflege beinhaltet auch einen automatischen Löschmechanismus, der ältere Einträge entfernt, um die Datenmenge überschaubar und die Anwendung responsiv zu halten.
Neben der rein technischen Umsetzung zeigt das Projekt auch, wie mittels moderner KI-gestützter Entwicklerwerkzeuge die Coding- und Lernprozesse beschleunigt werden können. Die Autorin nutzte verschiedene lokale Large Language Models (LLMs) und AI-Tools, um sowohl Backend- als auch Frontend-Code zu generieren und Fehler schneller zu beheben. Dies spiegelt den Trend wider, wie KI-unterstützte Programmierung in Kombination mit neuen Protokollen innovative Softwareentwicklung vorantreibt. Die Dezentralisierung von sozialen Medien durch Protokolle wie AT Protocol bietet nicht nur technologische Vorteile, sondern auch neue Chancen im Hinblick auf Community-Building, Vertrauenswürdigkeit und Kontrolle der Nutzer über ihre Daten. Projekte wie GitFeed zeigen, dass bereits heute mit verhältnismäßig überschaubarem Aufwand interessante Tools entstehen können, die neue Nutzungsmöglichkeiten bieten.