
Wait a moment...
「NEM Bootcamp - Hello, Blockchain!」の備忘録 その2 木村優氏、山口薫氏、planet★箒星氏講演 (2019/01/20 @ MFPR渋谷ビルB1F)


こんにちは。サラリーマン投資家です。前回記事「「NEM Bootcamp - Hello, Blockchain!」の備忘録 その1 古賀氏挨拶、Alex氏挨拶、西脇氏講演 (2019/01/20 @ MFPR渋谷ビルB1F)」の続きです。あまりに長くなりそうだったのでその1(=前回記事)とその2(=この記事)に分割させて頂きました。
(前回記事同様、以下にはtwitter等の内容を引用させて頂いている箇所が多くありますが、もし引用に問題等ありましたら、ご連絡頂けますと幸いです。)
前回記事では、NEM JAPAN古賀氏からの挨拶、NEM財団代表Alex氏からのビデオメッセージ、特別ゲストのMicrosoftの西脇氏の特別講演「ブロックチェーン、未来を創る新しいテクノロジーの可能性」の内容の備忘録を自分なりにまとめてみました。もしご興味ある方いらっしゃいましたら、一読頂けますと幸いです。
今回の記事では、LCNEM代表の木村優氏による「NEMブロックチェーンの『いろは』」、NEM JAPAN山口薫氏による「NEMブロックチェーンのユースケース」、planet★箒星氏による「Catapult 実験室『4,000トランザクション・チャレンジの報告と募集』」、再度LCNEM代表の木村優氏による「経済学的観点から見たNEMブロックチェーンのコンセンサス・アルゴリズム」、最後にNEM JAPAN古賀氏による「バウンティ・プログラム」の紹介の内容をまとめました。
#nembootcamp
— NEM Japan (@NEM_Japan) 2019年1月20日
「NEM 101 NEMブロックチェーンのいろは」と題し、#LCNEM 代表取締役 木村優氏による講演#NEM との出会いから、NEMの機能、アプリケーション(LCNEM、ちけっとビアツーピアなど)紹介、#Catapult の解説、企業向けユースケースなど、経済学的な観点も交えつつ説明頂いております pic.twitter.com/4zYdVvdTeK
まず、「NEMブロックチェーンの『いろは』」の内容についてまとめます。
登壇者はLCNEM代表の木村優氏です。LCNEMは「LCNEM Cheque」というブロックチェーン上の電子マネーや、それを扱う「LCNEM Wallet」、転売防止のインセンティブ設計が組み込まれた「ちけっとピアツーピア」等といった、NEMを活用したサービスを提供しているスタートアップ企業です。NEMを使ったプロダクトが実用レベルに既に落とし込まれており、とても期待の持てるスタートアップ企業という印象で、私個人としてもとても注目している会社です。ネット経由の情報は常々チェックさせて頂いていたのですが、今回初めてご本人にお会いすることができ、うれしく思いました。印象は「イケメン!」「好青年!」という感じ。講演も非常にテンポよく、密度の濃い内容でした。
講演の内容については、登壇者の木村優氏ご自身が以下のようにご自身のブログに登壇後にまとめられていて、簡単に情報を把握したい方はそちらを見て頂くと効率的かと思います。
要望あったので、1/20 NEM Bootcampで話した内容をまとめました。https://t.co/eSpoNWuuLl
— 木村優/Yu Kimura (@YuKimura45z) 2019年1月21日
一応、以下に、自分なりに感じたことや内容の備忘録をまとめておきます。
講演の内容ですが、「自己紹介」「NEMの概要」「NEMの基本機能」「実例としてLCNEMのアプリの紹介」「カタパルトの紹介」「ユースケース」「NEM開発 初めの一歩」といった内容が紹介されました。
「自己紹介」の箇所では、スペシャルゲストのMicrosoftの西脇氏が直前に登壇されていたこともあり、Microsoft製品との関わりをコメントされていたのが少し面白かったです。(Windowsを使い続けていること、一時期Microsoftの戦略に乗せられてC#を使っていたこと(笑)等…) 最近はTypeScriptとAngularをよく使っているとのことでした。また、木村氏自身がブロックチェーンに目覚めたきっかけも説明されていました。(一昨年の仮想通貨ブーム→ゼミで投機が流行→ゼミでのグループ論文テーマが暗号通貨のインセンティブ設計に→非常に良い結果をゲット!→NEMを利用した開発を色々進めている←今ココ!)
次に「NEMの概要」の箇所では、Ethereumで作成したスマートコントラクトは改竄できない一方でアップデートもできないという点で経済学的には交渉コスト無限大の不完備契約であるということが説明され、NEMは再設定可能なマルチシグを使ってブロックチェーンを活用するアプローチであり、適切なアップデートが可能な完備契約であり、学習コストも低く事業にも用いやすいということが説明されていました。特徴的なポイントとして「APIで容易に扱えること」「デバッグやコントラクト監査に必要なリソースを抑えることができ、サービスローンチまでの時間を短縮できること」「ビルトイン機能が使いやすくシンプルにまとまっており、多数のプログラミング言語から容易に使用できること」「2015年3月からダウンタイム無く、様々な技術で安全性が保たれていること」「PoIというコンセンサスアルゴリズム」も説明されていました。
次に「NEMの基本機能」として、「アカウント」「ネームスペース」「モザイク」「メッセージ送信」「マルチシグ」等といった機能が説明されていました。どれもNEMだとすごく簡単に使えるのがNEMの魅力だということを改めて感じました。
次に「実例としてLCNEMのアプリの紹介」がされました。LCNEM Cheque、LCNEM Wallet、ちけっとピアツーピアのどれも、NEMの特徴が実世界の課題解決にシャープに活かされた面白いものだと思います。それぞれの詳細が気になる方は以下リンクをご参照ください。
LCNEMのWEBページ:https://lcnem.cc/
技術者の方で興味があればLCNEMのGithubも:https://github.com/lcnem
次に「カタパルトの紹介」では、「アグリゲート・トランザクション」「マルチレベル・マルチシグネチャ」「クロスチェーン・トランザクション」が紹介されていました。内容自体はオーソドックスな紹介でしたが、スライドのイメージが非常にわかりやすく、好感を持ちました。
一応少し各項目についても書いておきます。
「アグリゲート・トランザクション」は、関係する複数のトランザクションの署名が全て揃ってはじめてそれらのトランザクションが確実に実行されるようにできるものです。これによって、「P2P取引でのトラストレスな取引が簡単に実行できるようになる→DEXの容易な実装が可能に!」「サービス提供側が顧客の手数料相当分のXEMを同時に負担するアグリゲート・トランザクションを使うことでXEMを持っていないユーザーもNEMのトランザクションを使える→NEMを知らないユーザー層が自然と利用できるサービスが作れる!」「大量のアカウント宛のトークン同時配布等が短時間で確実に実行できる→AirDropや配当等の効率的な実装」等といったメリットが生まれると私は思っています。個人的にはdaokaさんのアグリゲート・トランザクションのわかりやすい説明記事:https://qiita.com/daoka/items/6b78ab611232eb3b4541が非常に参考になると思います。
次の「マルチレベル・マルチシグネチャ」は、マルチシグを構成する各アカウントが同一階層ではなく、組織のヒエラルキー等に紐づいた複数階層をもって、署名状況によって論理的な判断をともなってトランザクションの署名を構成することができるというものです。社内のワークフローのようなマルチシグが実現できるというと直感的と言えるでしょうか。こちらについても、個人的にはdaokaさんのマルチレベル・マルチシグのわかりやすい説明記事:https://qiita.com/daoka/items/90964c84eb103fcc519bが非常に参考になると思っています。
次の「クロスチェーン・トランザクション」については、自分が知らなかった機能でした。異なるチェーン間(例えばA社のプライベートチェーンのカタパルトとB社のプライベートチェーンのカタパルトの間だったり、C社のプライベートチェーンのカタパルトと将来立ち上がるであろうNEMのパブリックチェーンのカタパルトの間等)で、モザイク等の資産をトラストレスにやり取りできる仕組みと理解しましたが、どうでしょうか。(←あってるかな…?) 活用の一例として、何となく自分がイメージしたのは、銀行A, B, Cが自行の顧客の残高をカタパルトで管理している場合、「クロスチェーン・トランザクション」を使うことで、ごく簡単な仕組みで各行同士の顧客の残高のやり取りができるようになるといった事例がありうるのかな?と感じました。この技術については、自分の感覚的にしっくりくる解説記事をまだ見つけられておらず、nem developer centerの記事:https://nemtech.github.io/ja/concepts/cross-chain-swaps.htmlを参考に置いておきますが、自分自身もまだまだ正確に理解できていない部分が多く、勉強が必要なところだと感じました。なお、講演の内容からは、「クロスチェーン・トランザクション」により、NEMのプライベートチェーン、パブリックチェーンにとどまらず、理論的には他のブロックチェーンにも拡張できる(他の仮想通貨等ともトラストレスな交換が可能?)というふうにも感じられ、大きな可能性を感じました。
次の「ユースケース」についての説明は、同様の説明が、直前の講演で色々と触れられていたため、さらりと流されたという印象です。
そして最後に「NEM開発 初めの一歩」として「NEMのAPI駆動による開発のしやすさ」「開発キット(SDK)、NEM2プロトタイピングツールの紹介」「カタパルト・デベロッパー・プレビューへの参加の呼びかけ」「各種コミュニティの紹介(SLACK:nem2.slack.com, TWITTER:@nemtechdev, TELEGRAM:@nemprojects, Github:https://github.com/nemtech)」「NEM Walletの紹介」で「NEMブロックチェーンの『いろは』」の講演は終了となりました。
全体的にかなりテンポよく、NEMの内容が凝縮された内容で、既知の内容が多かったものの、楽しませて頂きました。
次にNEM JAPANの山口薫氏の「NEMブロックチェーンのユースケース」についての講演の備忘録をまとめておきます。こちらではNEMの各種事例が紹介されました。Microsoft西脇氏、LCNEM木村氏といった、プレゼン(魅せ方)のプロやNEMへの技術的造詣が深い方々の濃いプレゼンに引き続き行われたので、正直、内容の薄さは否めませんでした…。(事例紹介なので、仕方ない面もあると思います…。)
紹介されていた事例は、PoliPoli、Engate(サービス自体のリンク)、FiFiC、Raccoon Wallet、ジビエのトレーサビリティシステム、UAEの電子政府でのNEM活用検討、e-Scroll (LUX TAG)、LOYALCOIN、KIND Heaven、ZEUS、VIMANA、VERSES、ORIGINS等、多岐に渡り、自分が知らなかったプロジェクトもあり、内容は参考になりました。(詳細はリンクをつけておいたので必要に応じてリンク先をご参照ください。)
ただ、ところどころ、「現段階でそのプロジェクトがNEM使うとオフィシャルに言って良いのかな?」みたいなものもあって、少し注意が必要な印象を受けました。(講演後にこの点はアナウンスされていました。)
#nembootcamp #NEM301 Catapult実験室
— NEM Japan (@NEM_Japan) 2019年1月20日
Planet箒星 氏による講演
Catapultに関する 4,000 TPS処理性能(#プライベートチェーン)の噂について検証。Catapultはオープンソースのため実際に自分で試せるのでは?ということから、起動からtxの作成・送信について実験した詳細と、その結果の報告 pic.twitter.com/mIwv7prhnT
次にplanet★箒星氏による「Catapult 実験室『4,000トランザクション・チャレンジの報告と募集』」の講演の備忘録をまとめます。
内容は、「自己紹介」「4000トランザクション/秒チャレンジの背景、報告、(他の環境等での)チャレンジの募集」といったシンプルな内容で、淡々とプレゼンを進められていたのが印象的でした。しかし内容自体には非常にチャレンジ精神があふれていて、感銘を受けました。
まず自己紹介として名前の呼び方についてのコメントがあったのが印象的でした。「planet★箒星」と表記されていると確かに読み方に迷ってしまいます。「ぷらねっと」「ほうき」等と読んでくださいとのことでした。
そして、4000トランザクション/秒の検証の話へ。そもそもこの検証をやってみようと思った背景が語られました。「カタパルトでは4000トランザクション/秒の噂が独り歩きしている」→「カタパルトはオープンソースなので自分で試せるのでは?」→「でも個人で実験するにはお金がかかる」→「1マシン複数Dockerコンテナならできそう」とのことで、こうしたチャレンジ精神には大きな敬意を払いたいと思います。
実際にトライした結果の報告については、Qiita記事(https://qiita.com/planethouki/items/9733aa83096a988ee57a)にplanet★箒星氏自身にてまとめて頂いており、そちらを直接見て頂くのが良いと思います。(個人的には、「この記事はプライベートチェーンの話です。」というフレーズが記事中に繰り返されているところにユーモアと悲哀を感じました…。) 結論としては、同一マシン内にノード配置(=本来発生するであろうマシン間の通信の影響考慮無し)、マシンスペックかなり高め(32VCPU, 64GB RAM, 236円/時間(推定))の条件で4000トランザクション/秒の条件が確かに実現できたということで、正直、すごい…と思いました。個人的には、コストパフォーマンスについては、ちょっとお値段高くて微妙と思う部分もあり、必要なトランザクションレートに応じて、低いスペックのマシンでもほどほどにゆっくり、着実に動作してくれるという検証結果が今後出てくれたりすると、実ビジネスへの普及が加速されるのかな…という印象です。
そして、結果報告の後、更なる検証を呼びかける募集がありましたので、ここに条件を記載させて頂きます。
- 知見・ノウハウを公開・共有して頂いた方のうち5名には「NEM Engineer’s Hall of Fame(NEMエンジニア䛾殿堂)」にて表彰
- 応募フォーム:https://goo.gl/forms/OsJqWABckdg3759F2
- 公開してほしい情報は「サーバースペック、クラウド種別、再現可能な手順・プログラムソース、結果(ブロック番号、ブロックタイム、トランザクション数)」
ご興味ある方はぜひ、トライして情報を共有されてみてはいかがでしょうか。
要望あったので、1/20 NEM Bootcampで話した内容をまとめました。https://t.co/eSpoNWuuLl
— 木村優/Yu Kimura (@YuKimura45z) 2019年1月21日
次に、再度、LCNEM代表 木村優氏の登壇で「経済学的観点から見たNEMブロックチェーンのコンセンサス・アルゴリズム」の備忘録をまとめておきます。
個人的な印象としては、1度目の登壇でのNEMの基本的な事項の説明と異なり、こちらは、木村優氏の理論的マニアックワールドが全開でした。話のテンポもとても勢い良く、難し過ぎて会場の空気が凍ることも時折あり(笑)、講演参加者の皆様の頭の上にたくさんの「?」が浮かんでいるような気が個人的にはしていました。(はい、私自身も、話のテンポが速くて、ついていくのが大変だった&頭の中に大量の「?」が浮かんでいました(笑))
内容は「コンセンサスアルゴリズム」「ブロックチェーンとPBFT」「PoW」「PoS」「PoI(=NEMのコンセンサスアルゴリズム)」「PoWに有効な攻撃…ショートポジション」「PoSに有効な攻撃…Nothing at Stake、Long Range Attack」「NEMのPoIの優位性」等につてでした。正直、これらの内容は、上記の木村優氏のブログ記事で実際のスライドと簡単な解説コメントを見て頂いた方が良いと思いますので、詳細な説明はやめようと思います…。
個人的には、NEMの特徴の一つとしてページランクアルゴリズムの説明があった場面で、「マルコフ連鎖の推移確率行列」という「?」なパワーワードが登場した際の、会場の凍り付きっぷりがかなり印象的でした。(もちろん、私も凍り付いていたうちの一人です。) また、各コンセンサスアルゴリズムの攻撃手法とインセンティブが関連づけられた考察は非常に説得力があってNEMのPoIの優位性を改めて再認識しました。
最後に、NEM JAPAN代表の古賀氏よりバウンティプログラムについて説明がありました。
参加条件としては以下のような条件となるようです。
- NEMberであること(membership登録+500xemが必要)
- KYCプロセスを通ること
- 日本での手続きは、NEM JAPANまでご一報の上、顔写真付きの身分証明書をSupport@nem.helpに送付で対応するとのこと
具体的なバウンティ案件については、以下のようなものがあることが説明されました。
- Development Bounty(プロジェクト開発バウンティ)
- 250~5000米ドル相当のxem
- ES6 Javascriptで開発され、node.jsで作動するプロトタイプに限られるが、プロジェクトの内容によりPython, C++, C#, PHP, Java, GOのコードも受け入れられる
- MITライセンスでGithubにオープンコードが提供されているもの
- プロジェクトの手順を分かりやすくチュートリアル提供することで、より高いバウンティの受取が期待できる
- バグ修正バウンティ
- NEM Walletのバグ修正バウンティ
- 50米ドル相当以上のxem申請可能
- Githubに修正する内容と入金アドレスを投稿
- プルリクエストの受け入れ後に追加の金額が獲得可能
- 重複申請には注意を
- NISサーバーのバグ修正バウンティ
- 250~10000米ドル相当以上のxemが申請可能
- バグの重要度により、バウンティ額が変わる
- Android OS・iOSに関連するバグ修正バウンティ
- 100米ドル相当以上のxemが申請可能
- Githubに問題の詳細・デバイス情報のスクリーンショットを併せて投稿
- プルリクエストの受け入れ後に追加の金額が獲得可能
- NEM Walletのバグ修正バウンティ
- Marketing Bounty
- NEM101というタイプのイベントを開催するとバウンティの申請が可能
- 会場費と飲食費 200米ドル相当までのxem
- イベント開催者 200米ドル相当のxem
- NEM101スピーカー 100米ドル相当のxem
- NEM101バウンティの獲得条件
- NEM Meetup Platformで開催・運営すること
- 各市町村にて1ヶ月1回の開催のみをバウンティ対象とする
- イベント情報を含めた開催内容の詳細をjapan@nemjapan.ioへ送付が必要
- 申請後30日以内に返信があるとのこと
- コミュニティへの貢献度が高かったり、他イベント開催があれば随時調整
- イベントは申請から30日以内に実施することを原則
- 最低20人の参加者がいるイベントに限定
- 全員が参加した事を示すサインリストと、グループ写真の提出によってバウンティ支給対象となる
- バウンティ審査会の判断が最終となる
- NEM101というタイプのイベントを開催するとバウンティの申請が可能
- Business Comunity Outreach Bounty(エンタープライズ・アウトリーチ・バウンティ)
- NEMブロックチェーンが企業に採用されるべくビジネスコミュニティにおける認識度を上げるために設けられたバウンティ
- 企業、組合や政府機関向けNEMブロックチェーンの紹介・商談を開催すると100米ドル相当のxemが申請可能
- エンタープライズ・アウトリーチ・バウンティの利用条件
- 日本の主要都市で開催するイベントに限る(後からスライド資料を見て主要都市?ってどれくらいのイメージという疑問がわきました。)
- NEMを紹介する先の企業・組合・政府機関は、日本に本社を有する500人以上の団体に限る
- イベントにおけるNEMブロックチェーンのプレゼンテーションは最低45分以上とし、司会者はNEM JAPANから承認を得た方に限る
- 最低30人の参加者がいるイベントに限る
- 各国において5回まで申請可能
- 全員が参加した事を示すサインリストと、グループ写真を提出して頂くことでバウンティの支給対象となる
- バウンティ審査会の判断が最終となる
- NEMブロックチェーンが企業に採用されるべくビジネスコミュニティにおける認識度を上げるために設けられたバウンティ
最後に、これまでは英語による申請のみ可能だったので、日本のNEMberにとって少し敷居の高いものだったが、今後はNEM JAPANによるサポートも考えるので、実際に応募してみようと思われたら、NEM JAPAN(japan@nem.io)までお問い合わせくださいとのことで締めくくられました。
全体を通して、今後のNEMの実ビジネスでの活用へ向けた期待を多いに感じさせる内容で楽しませて頂きました。NEMの力で社会の課題解決が進み、より良い未来が作り出されることに期待しつつ、今後もしっかり自分自身も勉強して実力つけて、良いものを作っていきたいと思います。
大変な長文となってしまいましたが、最後までお付き合い頂きありがとうございましたm(__)m