Login mit Lightning

LSATs sollen pseudonyme Anmeldungen ins Lightning Netzwerk bringen. Damit holt Bitcoin etwas nach, was bei vielen anderen Kryptowährungen bereits lange Standard ist – aber hier wie da noch weit davon entfernt bleibt, eine Massenreichweite zu erlangen.
Eines der großen Probleme im Internet ist das Login und die damit verbundenen Accounts. Die meisten Webseiten verlangen mittlerweile eine Registrierung, und wer bei vielen Seiten angemeldet ist, verliert leicht den Überblick und erhöht das Risiko, zum Opfer eines Datendiebstahls zu werden. Abhilfe bringt üblicherweise die Anmeldung mit einem Zentralaccount – etwa von Google oder Facebook – was aber die ohnehin schon dramatische Abhängigkeit von diesen Sirenenservern noch erhöht.
Die Blockchain-Technologie verspricht seit langem eine dezentrale Anmeldung durch “Bitcoin” oder ein Token: Ein System, bei dem eine Bitcoin-Adresse zum Account für alles werden kann, ohne dass es einen Mittelsmann gibt, der den eigenen Zugang zu Accounts kontrolliert. Für Ethereum und Bitcoin Cash gibt es das bereits mit der Metamask bzw. Badger Wallet, jeweils ein Browserplugin aus derselben Familie. Mit einem Button auf einer Webseite können die User Nachrichten signieren, um sich bei der Webseite einzuloggen. Ein Beispiel dafür, wie gut dies geht, findet man auf Lazy Fox (Bitcoin Cash) oder den vielen dezentralen Börsen (Ethereum). Auch Bitcoin SV (BSV) hat mit Moneybutton eine solche Lösung, zwar nur semi-dezentral, aber dafür auch mit der Option, Daten zu verschlüsseln. Beipsiele für Logins mit MoneyButton findet man etwa auf Twetch oder Baemail.
Mit LSATs soll dies nun für Bitcoin möglich werden – natürlich durch das Lightning Netzwerk. Entwickelt wurde es gemeinsam von Tieron und Lightning Labs. Die “Lightning Service Authentication Token (LSATs)” sollen es Usern ermöglichen, sich bei verschiedenen Seiten und Services zu authentifizieren. Dies geschieht durch eine Kombination einer Mikro-Zahlung und Authentifizierungs-Header. Vor kurzem hat Tieron nun eine Sammlung von Werkzeugen für die Authentifizierung durch Lightning veröffentlicht. Dies ist die Boltwall, die Now-Boltwall, LSAT-js und LSAT Playground.
Der Weg zu diesem Ergebnis war spannend. Tierion begann 2019, an einer Lösung für Lightning-PayWalls zu arbeiten, der sogenannten Boltwall. Diese hat zunächst die Macaroons von Lightning genutzt, um eine Zahlungsaufforderung zu erhalten, und die PayWall heruntergefahren, wenn die Zahlungsaufforderung beglichen wurde. Oloaluwa Osuntokun, CTO von Lightning Labs, schlug dann vor, “Lightning Service Authentication Tokens” einzuführen. Dies traf sich hervorragend mit der Boltwall, weshalb sich Tieron daran gemacht hat, mit Lightning Labs zu sammen einen LSAT-Standard zu entwickeln.
Der konkrete technische Ablauf der LSATs beinhaltet weiterhin Macaroons, Zahlungsaufforderungen, Zahlungsbeweise, Hashes, Preimages und mehr. Wenn ein User auf eine geschützte Seite geht, ohne sich authentifiziert zu haben, antwortet der Server mit der Meldung “402: Payment required”. Die Meldung enthält zudem einen Authenticate Header, mit dem ein Macaroon und eine Invoice korrespondiert. Nachdem der User bezahlt hat, erhält er ein Preimage mit 32 Byte, das er zusammen mit dem Authenticate Header in ein Token schmilz, mit welchem er sich dann anmelden kann.
Für Tierion sind die LSATs lediglich ein (wichtiger) Schritt zu einer größeren Vision: Der zu Echtzeit-Zahlungsströmen zwischen Maschinen. Solche Mikro- und Nano-Zahlungen im Hintergrund der Weberfahrung, die zwischen Browser und Server stattfinden, stellen mittlerweile einen Kern der Vision von Lightning dar. Die LSATs könnten Usern helfen, sich auf private bzw. pseudonyme Weise einzuloggen, um solche Zahlungsströme zu genehmigen.
Man sollte aber auch erwähnen, dass die LSATs von den verfügbaren Methoden, sich durch eine Blockchain einzuloggen, eine der komplizierteren ist. Während man bei MoneyButton und der Badgerwallet lediglich ein Javascript auf eine Seite laden muss, um dann per HTML einen Button zu generieren, mit dem sich ein User auch dann einloggen kann, wenn er noch kein Guthaben auf der Wallet hat, verlangen die LSATs auf der Demo-Seite, dass man die Joule-Plugin für den Browser verwendet. Ich habe diese zwar installiert, aber sie funktioniert weder mit dem Light-Node auf meinem PC – Electrum – noch mit den Lightning-Apps auf dem Smartphone – noch mit dem Lightning-Node auf meinem Server. Die praktikablste Möglichkeit wäre vermutlich, einen Node auf meinem PC aufzusetzen, was aber seine Probleme hinsichtlich der Privatsphäre mit sich bringt. Zwar funktioniert die Demo auch mit einer reinen Zahlungsaufforderung für den Node, aber das düfte für die meisten User wenig attraktiv sein.
Zudem muss derjenige, der die LSATs auf seiner Webseite verwendet, natürlich auch einen Lightning-Server haben, um Zahlungen anzunehmen. Auch dies dürfte die Anwendung für die meisten Anbieter nicht unbedingt attraktiv machen.
Sieht man über diese Beschränkungen hinweg, fügt sich Bitcoin mit den LSATs in einen Trend unter Kryptowährungen ein, der mehr als erfreulich ist. Die Zeichen dafür, dass man in einigen Jahren seine Online-Accounts nicht mehr durch zentrale Mittelsmänner oder Dutzende von Registrierungen managen muss, sondern durch einen Login mit dem eigenen und privaten Schlüssel, stehen gut. Welche der Optionen, die Krypto bietet, sich durchsetzen wird, dürfte vermutlich weniger von der Technologie dahinter abhängen, sondern davon, welcher es als erstes gelingt, eine gewisse Massenreichweite aufzubauen. Und davon ist noch jede Form des Logins durch Krypto weit entfernt.
“Abhilfe bringt üblicherweise die Anmeldung mit einem Zentralaccount – etwa von Google oder Facebook – …“, was mir hier fehlt ist, dass sich (endlich !) mit FIDO2 bzw. Webauth ein Standard zu etablieren beginnt, der ohne diese Identity Provider auskommt und eben mit dem Passwortwirrwar aufräumt. Wie ordnet sich dass in das Thema ein, bringt es vielleicht Vorteile sich mit einer Walletadresse zu authifizieren, welche ich weis darüber zu wenig.