バカンス駆動開発

この前バカンスって言ったら「古っ」って言われました

日報 2018年7月8日 - LightningNetworkを動かしてみる

雑な日報を始めてみます

なんか記事にするまでもない雑多なあれこれを、だからといって放っておくと1ヶ月後に「あれ、この1ヶ月なにやってたんだっけ?」となりがちなんで雑でも記録に残すことにしました。

LightningNetwork

LightningNetworkはbitcoinのレイヤー2技術
lndはLightningNetworkの実装の一つ
これにそってローカル環境にdocker-composeでlightning networkクラスタを作ってみた github.com

lightning networkはバックエンドにbitcoinノードが必要でこのlndのチュートリアルではbtcdが採用されている。別にbitcoindでもいいみたい。
aliceとbobのlndノードを立ててchannelをつないで送金できた。
次にチュートリアルにはないけど直接channelが開いていないノード間での送信、multihop paymentと言うらしい、をやってみるがだめだった。
alice <--> bob <--> jon の状態でaliceからjonに支払いたいんだけど経路が見つからないというエラーが返ってくる

{
    "payment_error": "unable to find a path to destination",
    "payment_preimage": "",
    "payment_route": null
}

色々調べたけど解決できず。
そもそもlightningnetworkの基礎知識がないのかと思い、これを読んだ。 LND Overview and Developer Guide
まぁ基礎的なことしか書かれてなくてmultihopのルーティングがどうやっているのかは不明。 paymentしたいdestinationとのルートが存在するかどうか確認する方法がある気がするのでまた今度調べる @todo

Flareというルーティングアルゴリズムについての記事を見つけた。 Flare: Lightning Networkルーティングアルゴリズム - United Bitcoiners
まぁ何言っているかわからないのでこれもおいおい調べる @todo

ルーティングアルゴリズムの性能次第で以下のようなものも実現できます。

  • 1取引あたり0.1円未満
  • 全世界で1秒間に1000万取引以上
  • トランザクション手数料が0.000001%未満

自分はLNのマイクロペイメントに着目していたけどたしかにLNの場合はオンチェーンと違ってノードが増えれば増えるほど処理のキャパが上がるよな〜と。
オンチェーンの場合は増すのはセキュリティだけどレイヤー2になると分散の強みを得るの面白い

grep -A

このオプションは知らなかった
grep -A 1 word でwordにヒットした行とその次の1行をアウトプット
grep -10 wordでヒットした行の前後10行もアウトプット

リンク

所感

雑やな〜・・でも雑じゃないと続かないんで・・