So nutzen Sie die Leistung von Lightning für sofortige Bitcoin-Transaktionen —Ein Tutorial
Lightning Network

So nutzen Sie die Leistung von Lightning für sofortige Bitcoin-Transaktionen —Ein Tutorial

Grubles

Der folgende Beitrag stammt von unserem Bekannten und Lightning-Enthusiasten @notgrubles und wurde ursprünglich in seinem Blog veröffentlicht.

Update: Ich habe sehr willkommenes Feedback von der Community erhalten, in dem ich gebeten wurde, diese wichtige Information im Blog-Beitrag deutlicher hervorzuheben:

Bitte beachten Sie vor Beginn, dass diese Software im experimentellen Zustand ist und Bugs enthalten könnte, die zu Geldverlusten führen können. Verwenden Sie nur kleine Bitcoin-Beträge, deren Verlust Sie sich leisten können.

Ein schnelles Text- und Video-Tutorial

Bitcoin ist ein dezentralisiertes Peer-to-Peer-Zahlungsnetzwerk, das weltweit für Trustless-Transaktionen genutzt wird. Das System ermöglicht Trustless-Transaktionen, indem es von den Minern fordert, Transaktionen in Blöcke zu integrieren, die kryptographisch miteinander verbunden sind. Dies bedeutet jedoch, dass die Bestätigung der Transaktionen Zeit erfordert, und diesen Luxus kann sich nicht jeder leisten. Die Antwort auf diese Unannehmlichkeit besteht in Zahlungskanälen, die Satoshi Nakamoto als Möglichkeit für „Transaktionen mit hoher Frequenz“ zwischen Partnern auf diesen Zahlungskanälen beschrieben hat. Dies steht im Gegensatz dazu, etwa 10 Minuten auf eine Bestätigung warten zu müssen. Lightning macht sich diese Idee zu eigen und setzt sie großflächig um. Statt nur Ihren Zahlungskanalpartner bezahlen zu können, sind Sie in der Lage, beliebige Teilnehmer im Lightning-Netzwerk, einem Netzwerk von Zahlungskanälen, sofort zu bezahlen.

Blockstream hat kürzlich eine E-Commerce Shopping-Seite namens Blockstream Store eröffnet, die sich auf das neu veröffentlichte Wordpress E-Commerce Plugin, das mit Lightning Charge entwickelt wurde, stützt. Das Interessanteste daran ist, dass man nur Dinge im Blockstream Store gegen eine Zahlung im Lightning-Netzwerk auf dem Bitcoin-Mainnet kaufen kann. Im Folgenden finden Sie ein Tutorial für die Einrichtung Ihres eigenen Lightning-Knotens zum Kauf von Artikeln oder Empfang von Lightning-Zahlungen über c-lightning, die Lightning-Implementierung von Blockstream.

Voraussetzungen

  • Linux (für diese Anleitung wird Ubuntu 17.10 verwendet)
  • Hinreichend Speicher für die Bitcoin Blockchain
  • Grundlegende bis mittlere Kenntnisse über die Kommandozeile
  • Einen komplett synchronisierten Bitcoin-Knoten mit SegWit
  • Etwas Bitcoin-Guthaben

Schritt 0: Installation der Build Tools und Abhängigkeiten

Der erste Schritt besteht in der Installation der erforderlichen Tools über apt:

sudo apt-get install -y autoconf automake build-essential git libtool libgmp-dev libsqlite3-dev python python3 net-tools tmux

Schritt 1: Installation von bitcoind aus dem Bitcoin PPA

Entweder bitcoind von der Quelle abrufen, herunterladen und die Binaries durch bitcoin.org verifizieren (bevorzugte Methode) oder aus dem Bitcoin PPA installieren:

sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install -y bitcoind

Schritt 2: Clonen des lightningd Repository und Aufbau

Nun den c-lightning Code aufbauen:

mkdir builds && cd builds git clone https://github.com/ElementsProject/lightning.git cd lightning make

Zur Beschleunigung der Kompilierung make -jn verwenden. Dabei ist n die Anzahl der Threads, die für den Aufbau reserviert sind. Beispiel: make -j10 für einen Prozessor mit 10 oder mehr Threads (wie ein Xeon).

Schritt 3: Ausführen von bitcoind, lightningd und lightning-cli zur Bestätigung, ob die Installation korrekt ist

Erst bitcoind, dann lightningd, dann lightning-cli starten, um zu bestätigen, dass alles richtig installiert wurde:

Bei diesem Prozess tmux verwenden, damit alles ordentlich in einem Terminal bleibt:

tmux

Nun bitcoind starten und den Start vom Log aus beobachten, dann mit bitcoin-cli testen:

bitcoind tail -f ~/.bitcoin/debug.log bitcoin-cli getinfo

Auf ähnliche Weise lightningd starten und mit lightning-cli testen:

./lightningd/lightningd --network bitcoin --log-level debug ./cli/lightning-cli help

Schritt 4: Verbindung mit einem entfernten Lightning Peer aufnehmen

Nach dem erfolgreichen Build von lightningd und lightning-cli mit einem Peer verbinden und den Channel Graph synchronisieren. Der verwendete Peer ist von Blockstream:

/cli/lightning-cli connect 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 104.198.32.198 9735

Der Graph wird automatisch synchronisiert (Ausgabe des lightningd Logs) :

Schritt 5: Erstellen einer Adresse für die Mittelausstattung, um einen Zahlungskanal zu eröffnen

Zum Eröffnen eines Lightning Zahlungskanals ist eine mit Mitteln ausgestattete UTXO erforderlich. Erstellen Sie eine Bitcoin-Adresse mit lightning-cli, um einige Bitcoins an

./cli/lightning-cli newaddr

zu senden. Senden Sie einige Bitcoins an diese Adresse, aber beachten Sie bitte, dass es sich hierbei um eine experimentelle Software handelt.

Schritt 6: Bestätigung des Eingangs der BTC

Verwenden Sie lightning-cli zur Prüfung, ob unsere Adresse mit Mitteln ausgestattet wurde:

./cli/lightning-cli listfunds

Schritt 7: Eröffnung eines Kanals mit dem Peer, mit dem wir zuvor Verbindung aufgenommen haben

Zur Eröffnung eines Zahlungskanals den pubkey oder die ID des Knotens suchen (in diesem Fall den von Blockstream) und anschließend lightning-cli verwenden, um den Zahlungskanal zu öffnen:

Zum Drucken der Knoten-ID des Peers:

./cli/lightning-cli listpeers

Diese ID kopieren und den Zahlungskanal mit einem Betrag von Satoshis ausstatten:

./cli/lightning-cli fundchannel 02f6725f9c1c40333b67faea92fd211c183050f28df32cac3f9d69685fe9665432 amount_in_satoshis

Schritt 8: Prüfen der lightningd Logs auf Bestätigungen der Finanzierungstransaktionen

Wahlweise mit tmux zum lightningd-Fenster wechseln, um zu prüfen, ob die Finanzierungstransaktion bestätigt wird:

Schritt 9: Bestätigen, dass ein Zahlungskanal eröffnet wurde

Zum Eröffnen eines Zahlungskanals sind drei Bestätigungen erforderlich. Sobald die Transaktion dreimal bestätigt wurde, verwenden Sie lightning-cli, um unseren neuen Zahlungskanal aufzulisten.

./cli/lightning-cli listchannels | grep your_nodes_pubkey

Herzlichen Glückwunsch! Sie haben Ihren ersten Zahlungskanal im Lightning-Netzwerk eröffnet!

Jetzt können Sie anderen Rechnungen schicken, um sofortige Zahlungen zu erhalten, oder eine Rechnung bezahlen, die Ihnen jemand geschickt hat!

./cli/lightning-cli invoice amount_in_millisatoshis label description

oder

./cli/lightning-cli pay bolt11_string

Die Dokumentation für die Installation von c-lightning finden Sie hier und hier.

Vielen Dank für Ihr Interesse an diesem Beitrag!

– grubles