So erstellen Sie einen Bitcoin Lightning Node unter Linux

Index
  1. Warum ist Bitcoin langsam?
  2. Wie funktioniert das Lightning-Netzwerk?
  3. Einrichten Ihres eigenen Bitcoin Lightning Node
    1. Abrufen der Abhängigkeiten
    2. Einrichten eines einfachen Bitcoin-Knotens
    3. Konfigurieren Ihres einfachen Bitcoin-Knotens
    4. Starten Sie Ihren Bitcoin Lightning Node
  4. Finalisieren Ihres Bitcoin Lightning Node
    1. Peering mit Remote-Bitcoin-Lightning-Knoten
    2. Senden und Empfangen von Blitzzahlungen
  5. Häufig gestellte Fragen
    1. Ich verwende Dojo als meinen Bitcoin-Knoten. Ist es möglich, es mit C-Lightning zu verwenden?
    2. Mein Wallet unterstützt keine „bc1“-Adresse. Ist es immer noch möglich, auf meinen Lightning-Knoten einzuzahlen?
    3. Meine Lightning-Zahlung schlägt gelegentlich fehl. Ist mein Knoten kaputt?

Einer der größten Schmerzpunkte bei der Verwendung von Bitcoin sind die langen Transaktionszeiten. Dies kann für neue Benutzer, die gerade erst in diese digitale Währung einsteigen, frustrierend sein. Eine der einfachsten Möglichkeiten, dies zu verbessern, ist die Verwendung einer sekundären Zahlungsschicht wie Bitcoin Lightning.

Bitcoin Lightning ist ein System, das benutzerdefinierte Bitcoin-Transaktionen verwendet, um Vermögenswerte schnell außerhalb des regulären Blockchain-Prozesses zu verschieben. In dieser Hinsicht ähnelt Lightning dem Tor-Netzwerk, wo es TCP/IP als Rückgrat beim Routing anonymer Verbindungen verwendet.

Mit Bitcoin können Sie ganz einfach ohne zentrale Instanz Geld über das Internet tauschen. Jede Transaktion, die Sie tätigen, geht direkt an den Zahlungsempfänger und Sie verteilen sie über das gesamte Netzwerk.

Warum ist Bitcoin langsam?

Infolgedessen dauert jede Zahlung, die Sie innerhalb von Bitcoin vornehmen, einige Zeit, um abgeschlossen und bestätigt zu werden. Zum Beispiel dauert eine normale Bitcoin-Transaktion normalerweise 10 bis 30 Minuten, um gelöscht zu werden.

Wie funktioniert das Lightning-Netzwerk?

Im Kern funktioniert Lightning, indem es eine „On-Chain“-Zahlung erstellt, die eine Menge Bitcoin auf Ihrem Knoten parkt. Lightning verwendet dann Ihr geparktes Bitcoin, um einen Kanal zwischen anderen Lightning-Knoten zu erstellen.

Auf diese Weise können Sie zusätzliche „Off-Chain“-Zahlungen über Lightning erstellen, die nicht in der Blockchain gelöscht werden müssen, wodurch die Zahlungszeit zwischen zwei Benutzern erheblich verkürzt wird. Zum Beispiel dauert eine normale Lightning-Transaktion nur etwa eine Sekunde, um zu löschen.

Einrichten Ihres eigenen Bitcoin Lightning Node

Um mit Lightning zu beginnen, ist es gut, einen eigenen persönlichen Knoten zu haben. Ähnlich wie beim Einrichten eines Bitcoin-Knotens ermöglicht Ihnen ein Lightning-Knoten die volle Kontrolle über Ihre Transaktionen in seinem Netzwerk.

Um die Installation zu starten, müssen Sie eine Reihe von Ressourcen verfügbar und bereit haben:

  • Maschine mit einer anständigen Menge an Speicher und Arbeitsspeicher. In meinem Fall verwende ich einen alten Dell Optiplex-Desktop mit 1 TB Speicher und 2 GB RAM.
  • Konstante Internetverbindung, da ein Lightning-Knoten regelmäßig mit anderen Knoten kommunizieren muss, um seinen Zustand aufrechtzuerhalten.
  • Kleine Menge an Bitcoin, mit der Sie Ihren Lightning-Knoten „finanzieren“ können.

In Kenntnis dieser Faktoren konzentriert sich dieses Tutorial auf die Installation c-Blitz zu einem Ubuntu 22.04.1 LTS-Rechner.

Abrufen der Abhängigkeiten

Der erste Schritt bei der Installation von c-lightning besteht darin, ein neues Benutzerkonto zu erstellen, um sicherzustellen, dass alle Dateien und Einstellungen für Ihren Knoten von Ihrem Hauptbenutzer getrennt werden:

sudo useradd -s /bin/bash -d /home/lightning -m -G sudo Lightning sudo passwd Lightning

Wechseln Sie zu diesem neuen Benutzer, indem Sie Folgendes ausführen: su Lightning, und fügen Sie dann ein Drittanbieter-Repository hinzu, das alle Programme enthält, damit c-lightning funktioniert:

sudo add-apt-repository -u ppa:lightningnetwork/ppa

Installieren Sie die Abhängigkeiten des Knotens:

sudo apt install software-properties-common Lightningd snapd

Einrichten eines einfachen Bitcoin-Knotens

Von hier aus müssen Sie einen einfachen Bitcoin-Knoten installieren und konfigurieren. Wie oben besprochen, ist Lightning ein Overlay-Netzwerk, das mithilfe benutzerdefinierter Bitcoin-Transaktionen funktioniert, um „Fondskanäle“ zu erstellen.

Um diese Kanäle zu erstellen, muss Ihr Lightning-Knoten neben einem einfachen Bitcoin-Knoten laufen, der durch Ausführen des folgenden Befehls installiert werden kann:

sudo snap install bitcoin-core

Erstellen Sie einen symbolischen Link zwischen Ihrem Stammverzeichnis „snap“ und dem Ordner „bin“:

sudo ln -s /snap/bitcoin-core/current/bin/bitcoin{d,-cli} /usr/local/bin/

Starten Sie den anfänglichen Block-Download für Ihren Bitcoin-Knoten:

Dieser Befehl schickt den Knoten in den Hintergrund, um die gesamte Bitcoin-Blockchain herunterzuladen und zu überprüfen. Sie können den Fortschritt überprüfen, indem Sie den folgenden Befehl ausführen:

tail -f /home/$USER/.bitcoin/debug.log

Es ist wichtig zu beachten, dass dieser Vorgang zwischen einigen Stunden und einigen Tagen dauern kann. Beispielsweise brauchte mein Dell Optiplex-Desktop 5 Tage, um sich vollständig mit dem Bitcoin-Netzwerk zu synchronisieren.

Konfigurieren Ihres einfachen Bitcoin-Knotens

Sobald Ihr Knoten mit dem Netzwerk synchronisiert ist, stellen Sie sicher, dass er mit Lightning kompatibel ist, indem Sie zuerst den Bitcoin-Knoten stoppen:

Bearbeiten Sie seine Konfigurationsdatei unter „/etc/bitcoin.conf“:

nano /home/$USER/.bitcoin/bitcoin.conf

Deaktivieren Sie zwei Optionen: walletbroadcast und prune. Die erste Option weist Ihren Bitcoin-Knoten an, seine Daten nur mit Lightning zu verwenden, und die zweite Option stellt sicher, dass Sie die gesamte Blockchain auf Ihrer Festplatte speichern.

walletbroadcast=0 prune=0

Starten Sie Ihren Bitcoin-Knoten neu, indem Sie den folgenden Befehl ausführen:

Starten Sie Ihren Bitcoin Lightning Node

Starten Sie Ihren Lightning-Knoten, indem Sie den folgenden Befehl ausführen:

Lightningd --network=bitcoin --log-level=debug --daemon

Dieser Befehl schickt den Knoten in den Hintergrund und erstellt seine Konfigurationsdateien unter „/home/$USER/.lightning“. Testen Sie mit diesem Befehl, ob Ihr Lightning-Knoten ordnungsgemäß ausgeführt wird:

Lightning-cli --lightning-dir=$HOME/.lightning getinfo

Finalisieren Ihres Bitcoin Lightning Node

Wenn c-lightning ausgeführt wird, können Sie Ihren Knoten fertigstellen, indem Sie die „Fondskanäle“ zwischen verschiedenen Lightning-Peers erstellen. Wie oben besprochen, ist ein „Fondskanal“ eine benutzerdefinierte Bitcoin-Transaktion, die es Ihnen ermöglicht, Ihre Bitcoin zu bewegen, ohne sich an die Blockchain zu binden.

Um dies zu erstellen, „deponieren“ Sie zuerst Bitcoin auf Ihrem Lightning-Knoten, indem Sie mit dem folgenden Befehl eine Empfangsadresse für Ihren Knoten generieren:

Gehen Sie zu einer externen Brieftasche und senden Sie Bitcoin an diese Empfangsadresse. In meinem Fall sende ich 0,00050000 BTC mit meiner Bitcoin Core Wallet.

Sobald sich die Transaktion in der Blockchain befindet, aktualisiert Ihr Lightning-Knoten automatisch seinen Guthabensaldo. Zeigen Sie dies an, indem Sie den folgenden Befehl ausführen:

Peering mit Remote-Bitcoin-Lightning-Knoten

Beginnen Sie damit, Ihren Knoten mit seinen Peers im Netzwerk zu verbinden, damit Sie Bitcoin über Lightning senden und empfangen können.

Suchen Sie zunächst sowohl den öffentlichen Schlüssel als auch die IP-Adresse. Ähnlich wie bei der PGP-Verschlüsselung ermöglicht Ihnen dies, eine Verbindung herzustellen und die Authentizität eines Knotens durch Kryptografie mit öffentlichen Schlüsseln zu überprüfen.

Eines der gängigsten Tools dafür ist 1ml: eine Website, die alle aktiven Lightning-Knoten im Netzwerk auflistet.

Sobald Sie einen aktiven Knoten haben, verwenden Sie den Lightning-Connect-Befehl, um eine Peer-Anfrage einzurichten. Zum Beispiel wird dieser Befehl meinen Knoten per Peering mit ACINQ verbinden:

Lightning-Cli Connect 1 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 3.33.236.230

  • Der erste Wert gibt die Steckplatznummer an, die Sie dem aktuellen Peer zuweisen möchten. Für diesen Knoten verwende ich Steckplatz 1.
  • Der zweite Wert ist der öffentliche Schlüssel des entfernten Knotens. In diesem Fall verwende ich den öffentlichen Schlüssel von ACINQ.
  • Der dritte Wert ist die öffentliche IP-Adresse des entfernten Knotens.

Um die Anfrage abzuschließen, senden Sie einen Teil des Bitcoin-Guthabens Ihres Knotens an den Remote-Knoten, um einen „Fondskanal“ zwischen Ihnen und einem Peering-Knoten zu erstellen.

Dieser Befehl erstellt beispielsweise einen „Fondskanal“ für 0,00030000 BTC zum ersten Peer in meiner Liste:

Lightning-Cli Fundchannel 1 30000

Senden und Empfangen von Blitzzahlungen

Wenn ein aktiver „Fondskanal“ läuft, verwenden Sie Ihren Knoten, um Zahlungen zu senden und zu empfangen. Standardmäßig verwendet Lightning das BOLT11-Format, das mit „lnbc“ beginnt, um es von Bitcoin zu unterscheiden.

Um Bitcoin über Lightning zu senden, müssen Sie die BOLT11-Adresse Ihres Empfängers kennen. Der folgende Befehl sendet beispielsweise 0,00005000 BTC an eine Remote-Adresse:

Lightning-Cli Pay lnbc20m1[...]qdhhwkj 50000

Sie können Bitcoin auch über Lightning erhalten, indem Sie den Rechnungsbefehl verwenden und den genauen Betrag an Bitcoin angeben, den Sie erhalten möchten. Dieser Befehl erstellt beispielsweise eine Rechnung über 0,00010000 BTC:

Lightning-Cli-Rechnung 100000

Häufig gestellte Fragen

Ich verwende Dojo als meinen Bitcoin-Knoten. Ist es möglich, es mit C-Lightning zu verwenden?

Nein. Dojo ist standardmäßig ein Programm, das Docker-Container verwendet, um eine Sandbox-Instanz von Bitcoin Core auszuführen. Ein Dojo-Bitcoin-Knoten kann mit keinem Programm außerhalb seines Sandbox-Containers kommunizieren.

Mein Wallet unterstützt keine „bc1“-Adresse. Ist es immer noch möglich, auf meinen Lightning-Knoten einzuzahlen?

Ja! Während c-lightning nativ in einem „bc1“-Adressformat generiert, ist es möglich, Bitcoin mit dem älteren P2SH-Format an einen Lightning-Knoten zu übertragen. Führen Sie dazu den folgenden Befehl aus: Lightning-cli newaddr p2sh-segwit.

Meine Lightning-Zahlung schlägt gelegentlich fehl. Ist mein Knoten kaputt?

NEIN! Dieses Problem ist höchstwahrscheinlich auf fehlende Knotenverbindungen zwischen Ihnen und dem Empfänger zurückzuführen. Das Lightning-Netzwerk ist von Natur aus darauf angewiesen, dass jeder Knoten konsistent und direkt miteinander kommuniziert.

Eine Möglichkeit, dieses Problem zu beheben, besteht darin, die Anzahl der Peers und „Fondskanäle“ zu erhöhen, mit denen sich Ihr lokaler Knoten verbindet. Wenn Sie beispielsweise mindestens zwei bis drei aktive Peers haben, können Sie sich mit fast jedem Lightning-Benutzer verbinden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up