Q&A: Lightning Network node “Ptarmigan” と Lightning Shield for Arduino (ビギナー向け)

Hitomi Moriyama
Nayuta ブログ(日本語)
8 min readAug 2, 2019

Last Updated: 2021年7月20日

追記
2021/7/20現在Ptarmigan開発はサスペンド中です。

2019年4月に、Lightning Networkソフトウェア Ptarmigan のメインネット版をリリースし、いくつか質問をいただくようになりました。また、Lightning を使ったプロトタイプ作成補助ボードLightning Shield for Arduinoを、Nayuta Lightning Shopで提供しておりこちらに関しても質問をいただきます。せっかくの機会なので、この記事でまとめてお答えしていきたいと思います。

その他ご質問があればお気軽にコメントください!

Ptramiganについて

Q1. 何と読むんですか?
A1. 「ターミガン」と読みます。日本語で「雷鳥」を意味します。Nayutaのプロジェクトは代々、 hawk(鷹)、 eagle(鷲)、swallow( 燕)、kingfisher(カワセミ)、ptarmiganと、鳥の名前が付いています。

Ptarmigan ( https://www.animalspot.net/rock-ptarmigan.html)

Q2. Ptarmiganとは?どういった特徴がありますか?
A2. PtarmiganはLightning Network(BOLT)仕様に準拠したソフトウェアです。長期的に小型ハードウェアの上で動作するLightningソフトウェアを目指しています。ソフトウェアのフットプリントは、コンパイルの仕方によるのでフェアな比較方法は分からないのですが、私たちはPtarmiganは、c-lightning、eclair、lndといった他のソフトウェアに比べて1番小さいのではないかと思っています。その代わり、Ptarmiganの処理能力は少し低くなります。

代表の栗元がPtarmiganの詳細や開発経緯を、下の記事で書いていますのでぜひご参考ください。

Lightning Shield for Arduinoについて

Q3. Lightning Shield for Arduinoとは?
A3. Lightning Shieldは、ArduinoからLightning機能を使えるようにするボードです。Arduinoにプログラムを作り込むだけで、 Lightningを使ったプロトタイプを作成することが出来ます。組込み開発に不慣れな人でも電子工作を楽しめます!
Lightning Shieldとは私たちが付けた名前ですが、一般的にArduino Shieldという分野が存在します。これは、様々な電子工作機能を追加するためにスタックすることのできる、数種類の拡張ボードのことです。

Q4. なぜこのShieldを提供しているのですか?
2つの目的があります。1つは、Lightningに精通していない開発者でもLightningを使えるようにすることです。RasPiZeroで独立ノードPtarmiganが動作するので、クラウドでノードを立てる必要はありません。もう1つは、開発のエキスパートがプロトタイピングのトライアル数を増せるようにすることです。LoT (Lightning × IoT)は、将来期待される領域の1つですが、今のところ何がキラーアプリであるかは誰にも分かっていません。そのため、簡単に多くのプロトタイプを作れることが重要なのです。

Q5. デモ動画内の3枚のボードはどのように動作するのでしょうか?

Lightning Shield demonstration movie ~ turning on a LED light ver. ~ ( 29th April 2019 )

まず、動画では3枚のボードが出てきます。左からRasberry Pi Zero W、Arduino UNO、 Lightning Shield for Arduino です。

それぞれの機能について説明します。
・Raspberry Pi は、通常のPCよりもスペックは劣りますが、安価で手に入れやすい小型コンピュータです。Raspberry Pi にも様々な種類がありますが、Ptarmigan はRaspberry Pi Zero Wを使っています。これは一番貧弱なスペックですが、外部のストレージを接続することなくLightning を動かそうとします。フルノードのbitcoindはたくさんのディスク容量やRAMが必要なため、Raspberry Pi Zero Wでは動かすパワーはありません。そのため、Lightning Shieldをトリガーとし、bitcoindではなくSPVを使うことでRaspberry Pi Zero W上で動かそうとしています。サイズは小さく、消費電力も少なくて済みます。その代わり、動作速度が遅くなり、着金するのには4–8秒程度かかります。
・Arduinoは、電子工作用のボードです。 組み込みソフトウェア開発に詳しくない人でも簡単につくることができます。ここでは、ArduinoはユーザーのShield(下の図のUser’s Shieldにあたります)を動かし、LNを使えるようにするためのLightning Shieldのトリガーとして働きます。
・Lightning Shield for Arduinoに関してはQ&A3をご覧ください。

3枚のボードの図

例えば、自分で自動販売機を作ったとしましょう。

  1. 購入者が、飲みたいドリンクのボタンを押します。
    =購入者が、ユーザーのShield上に作成されたボタンを押します。

2. 購入者がLightning決済をしようとします。
=ボタンが押されたことをプログラムが認識した後、ArduinoはLightning Shieldへインボイスを作成するよう要求し、Lightning ShieldはePaperにQRコードを表示させます。

3. 購入者がQRコードを読み取り、決済を完了します。
=ArduinoはLightning Shieldから着金に関する通知を受け取り、ユーザーのShieldを制御して、購入者は飲み物を入手することができます。

この流れを実際に行ったデモ動画があります。Nayutaで作った「スナック簡易自動販売機」です。

Lightning Shield demonstration movie ~ a vending machine ver. ~ (29th May 2019)

Q6. Lightning Shieldはどのような人向けですか?
A6. 既にArduino上で動かしているShieldや機能にLNという切り口を求める方です。また、Ptarmiganの安定動作に向けて理解がある方向けとなっています。現在、PtarmiganはReckless versionであり、バグが含まれるため失っても問題のない少額での利用を期待しています。

実際に作ってみましょう!

  1. Lighning ShieldをNayuta Lightning Shopでゲットします。

2. Shopでは、以下のものを用意しています。用意してないものに関しては、ご自身でご用意ください。

*Shield用のコネクタは付属品として入っていません。必要なコネクタは、どのShieldを使いたいか人それぞれです。使う前にコネクタを用意しハンダ付けを行ってください。

3. Lightning Shieldが手元に到着したら、こちらをご参考ください。必要な情報を記載しています。

4. それでは、Lightning Networkを使った電子工作をお楽しみください!

Nayutaのエンジニアが作成中

--

--