Ptarmigan の開発経緯

Nayuta CEOの栗元です。今回はPtarmiganの開発背景について書きます。

Nayutaは2015年3月に設立した会社です。IoT関連の業務を行っている最中にcryptocurrencyとIoTを組み合わせると様々なことが可能になりそうだと考えて設立しました。

当初はIoTのプロトタイプ開発をメインの仕事にして、空いた時間でBitcoinやBlockchainの勉強やイベントでの講演を行っていました。

2015年IoTの補助金を貰えることになり、2015年9月から2016年3月にかけてBitcoinを用いた電源コンセントを開発しました。

当時は、IoT x Blockchainと言ってもどのようなアーキテクチャで何を開発すれば良いかはっきりしない中で、様々な実験的な実装を試しました。open-assetプロトコルを用いて権利管理をする実装、マイコン上に簡易的なSPV walletを実装してbitcoin払いの電気の自動販売機にしたりしました。

様々な実験的な実装から、BitcoinとIoTを組み合わせる難しさを色々感じました。特にP2Pとリアルタイム性が両立しないことは、多くのアプリケーションでリアルタイム性を必要とするIoTにおいて非常に厳しいと思いました。当時、プライベートチェーンのコンセプトが話題になっていましたが、その時にLightning Networkの論文を読み、こちらの方が本質的な解決策なのではないかと思い、こちらのサンプル実装を始めました。

こちらは2017年1月に論文に従ってpythonで実装したルーティング機能の無い、ハブ型の2nd Layer paymentのサンプル実装です。Arduinoと接続できるようになっています。

当時は、ルーティングが実際にできるのか分からなかったことと、まずは分かる範囲で実装をしてみるという目的で開発しました。ハブ型であったとしても中間者が盗み取ることができないpaymentシステムという特徴があり、用途はあるのではないかと考えていました。

しかし実際に実装してみると、非常にコーナーケースが多いプロトコルだということが分かりました。これを検証することは非常に難易度が高く不可能に近いと感じました。その時、github上にLightningのRFCが登場し始めたことに気が付きました。

当時はRFC自体がまだ現在のような完成度では無かったのですが、非常に思慮深く検討されているものであることはすぐに分かりました。これは素晴らしいものだと感じたので、理解するためにC言語で実装を始めました。私達は理論を読むよりも実装した方が理解ができると考えるチームです。

段々、実装が動作するようになった時に、以前から実証実験の話があった中部電力さんと一緒に実験しようという話になり、以前作った電源コンセントに搭載して電気自動車への充電実験を行いました。

その後、開発メーリングリスト等に参加するようになって開発を継続しました。他の実装へのフィードバックやLightning Networkのプロトコルアナライザーの提供等、Lightning Networkプロトコル開発全体への貢献も行いました。

また、Adelaideで行われたLightning Developer Summitにも参加しました。

このような経緯の元、今回のメインネットリリースとなっています。

--

--