Greenlight von Blockstream: Skalierbare, nicht-treuhänderische Lightning-Infrastruktur jetzt für Entwickler zugänglich
Lightning Network

Greenlight von Blockstream: Skalierbare, nicht-treuhänderische Lightning-Infrastruktur jetzt für Entwickler zugänglich

Christian Decker
Christian Decker

Vor etwas mehr als zwei Jahren konzipierte Blockstream Greenlight: eine bahnbrechende Lightning-Hosting-Infrastruktur, die Ihre Lightning-Deployments ohne Kompromisse oder Verwahrung skaliert. Die Tests mit Partnern im letzten Jahr haben gezeigt, dass Greenlight sowohl stabil als auch einfach zu bedienen ist. Heute stellen wir das Client-Repository als Open-Source-Lösung zur Verfügung und öffnen Interessenten die Möglichkeit, sich für unsere Entwickler-Preview anzumelden!

Was ist Greenlight?

Greenlight ist ein nicht-treuhänderischer (“non-custodial”) Lightning-as-a-Service (LaaS) für Unternehmen, Händler und Lightning-Apps. Ihre Benutzer bewahren ihre Schlüssel selbst auf, während wir uns um alles andere kümmern. Als Entwickler, der mit Greenlight arbeitet, können Sie schlicht mit unserer einfachen API kommunizieren und Lightning-Zahlungen nahtlos in Ihre Anwendung integrieren, ohne über Kenntnisse im Lightning-Protokoll zu verfügen oder eine langwierige Knoteneinrichtung durchführen zu müssen.

Bei Greenlight gibt es zwei Kontrollbereiche: den Benutzer und Blockstream. Eine beliebige Anzahl von Clients aus dem Benutzerbereich kann sich mit einem einzelnen Knoten im Blockstream-Bereich verbinden. Der Node, der auf der Infrastruktur von Blockstream läuft, empfängt Befehle, berechnet die Zustandsänderungen und wendet sich dann an den Unterzeichner, der ausschließlich der Kontrolle des Benutzers unterliegt, damit dieser die Änderungen überprüft und abzeichnet. Das Ergebnis ist ein selbstverwahrender, bedarfsgesteuerter Lightning-Knoten, bei dem Ihre Schlüssel auf Ihrem Gerät gespeichert werden und niemals unsere Infrastruktur berühren.

Die Philosophie hinter Greenlight und wie es die Verwahrung von Lightning für immer verändern wird.

Was ist heute bereits verfügbar?

Während wir Greenlight noch aktiv weiterentwickeln, sind die öffentlichen Schnittstellen stabil und können von Ihnen ausprobiert werden.

Das Client-Repository enthält mehrere Komponenten:

  • gl-client und seine Sprach-Bindings bieten ein einfaches API für die Interaktion mit Greenlight und Benutzerknoten. Der integrierte Signierer kümmert sich um die Verwaltung Ihres Seeds und hält ihn vor dem Knoten und damit vor uns, den Dienstbetreibern, verborgen. Die Ende-zu-Ende-Verifizierung (noch in der aktiven Entwicklung, in diesem Preview noch unfertig) im Unterzeichner stellt sicher, dass jede Statusänderung von einem authentifizierten Client autorisiert wurde, sodass eine mögliche Kompromittierung des Knotenhosts nicht zum Verlust von Geldern führt..
  • gl-testing bietet eine vollständige Scheinumgebung zum Testen Ihres Codes und nicht den echten Greenlight-Dienst. Weitere Informationen finden Sie in unserem Tutorial zur Verwendung von gl-testing in einem Python-Projekt mithilfe der Python-Bindungen in gl-client-py. Weitere Tutorials sind in Vorbereitung..
  • gl-plugin und gl-signerproxy ermöglichen es jedem, die von Greenlight-Knoten offengelegte Schnittstelle zu replizieren, einschließlich der Möglichkeit, einen Remote-Signer zu verwenden, anstatt den Seed auf einem exponierten Server zu belassen

Die letzten beiden Komponenten bilden die Grundlage für unsere Offboarding-Pläne: Wenn Sie Greenlight entwachsen oder mehr Kontrolle wünschen, ermöglichen wir Ihnen das Offboarding in Ihre eigene Infrastruktur, und alle Ihre Anwendungen funktionieren weiterhin. Das bedeutet, dass Sie, wenn Sie Ihre Anwendung mit der Greenlight-API entwickeln, automatisch sofort Unterstützung für Core Lightning erhalten. Weitere Informationen zum Offboarding finden Sie auf der offiziellen Greenlight-Dokumentations- und Tutorial-Website.

Einstieg

Gehen Sie zum Tutorial „Erste Schritte“ und befolgen Sie die Anweisungen. Sie benötigen zunächst einen Einladungscode, um einen neuen Knoten beim Dienst zu registrieren. Das Einladungssystem ermöglicht es uns, in dieser frühen Phase des Dienstes schrittweise und kontrolliert zu skalieren. Wir haben ein Formular (Formular ist auf Englisch!) eingerichtet, über das Sie eine Einladung anfordern können, und wir werden Ihnen so schnell wie möglich eine Einladung zusenden.

Ein minimal-Client, der einen Knoten registriert, ihn plant und dann getinfo auf dem Knoten ausführt, würde in Python so aussehen:

from glclient import TlsConfig, Signer, Scheduler
import secrets  # Make sure to use cryptographically sound randomness

invite_code = "..."seed = secrets.randbits(256)  # 32 bytes of randomnessnetwork = "bitcoin"

tls = TlsConfig()
signer = Signer(seed, network, tls)
scheduler = Scheduler(node_id=signer.node_id(), network=network, tls=tls)

# Now actually register the node, `r` will contain the credentials to use # when talking to the node
r = scheduler.register(signer, invite_code=invite_code)

# Use the credentials when talking to Greenlight from now on. 
Requires a refresh 
# of the `TlsConfig` and the `Scheduler`
tls = tls.with_identity(r.device_cert, r.device_key)
scheduler = Scheduler(
		node_id=signer.node_id,
        network=network,
        tls=tls
)
node = scheduler.node()  # Schedules the node on the service

# And finally we can use `node` to call `getinfo`
print(node.getinfo())

Und das ist schon Alles. Kein Einrichten von bitcoind, Datenbanken, Backups, Watch Towers, Gossip, Knotenkonfiguration usw. erforderlich. All das wird von unserer Seite erledigt, damit Sie sich auf das konzentrieren können, was Ihnen am wichtigsten ist – Ihre Benutzer und deren Bedürfnisse!

Was kommt als nächstes?

Wir haben bereits viel Feedback von unseren Kooperationspartnern erhalten:

Breez hat sein Breez SDK auf Greenlight aufgebaut, unser Angebot um LSP- und Swap-Dienste erweitert und sein bekanntes Breez-Wallet auf Greenlight migriert.

Die Validierung von Lightning Signer für unsere sichere Signaturinfrastruktur hilft uns, einer vollständigen Ende-zu-Ende-Verifizierung näher zu kommen.

Blockstream Green Wallet für internes Feedback und Tests.

Core Lightning für die beste Lightning-Implementierung dieser Größenordnung.

Wir können unsere vollständige Veröffentlichung kaum erwarten, aber dazu benötigen wir noch zusätzliches Feedback von den Entwicklern. Wir laden Sie ein, sich uns auf Discord im #greenlight-Kanal oder auf der Entwicklerseite der Build On L2-Community anzuschließen, um Ihre Gedanken und Erfahrungen auszutauschen, wo Sie auch nach kommenden Workshops zu Greenlight Ausschau halten können.

Wenn Sie gerade dabei sind, mit Greenlight etwas Aufregendes zu produzieren, würden wir uns freuen, auch davon zu hören! Und vielleicht können wir es sogar im offiziellen Blockstream-Blog vorstellen.

If you have specific preferences, please, mark the topic(s) you would like to read: