Roman Semko(ローマン・セムコ)氏へのインタビュー:次々と精力的に開発を続けるIOTAコミュニティー有数のディベロッパー

補足説明
この記事はIOTA HISPANOさんによります原題『Interview with Roman Semko, one of the most prolific IOTA community developers』の日本語訳です。必要だと思われる部分には言葉や構成を補っています。
トップ画像は『Interview with Roman Semko, one of the most prolific IOTA community developers』より引用させて頂いています。

 Roman Semkoは、PythonやJavascriptやブロックチェーンのシニアディベロッパーであると同時に、他のテクノロジー(Angular, React, 機械学習)の分野にも2002年から携わってきて、広範囲の技術知識を持っています。彼は、まさに最も活発にIOTA関連の開発をしてきたコミュニティー・ディベロッパーの一人で、RomeoNelsonCarriota FieldsHerculesなど、フルノードの運用やフルノード間の相互作用を簡易化する類のソリューションを作り出してきました。

 IOTA Hispanoチームを代表して、インタビューの時間を取ってくれたこと、また依然としてあまりユーザー・フレンドリーとは言えないプロジェクトのユーザー・エクスペリエンスを高めるツールの提供を続ける彼の努力に感謝の意を表したいと思います。

インタビュアー:
Daniel De Michele (Carpincho Dem)
IOTA Hispano コンテンツ主任
IOTAエバンジェリスト・ネットワーク・メンバー
(2018年5月17日記事を発表)

Roman、簡単に自己紹介してもらえますか?

 私はウクライナ系のスペイン人です。スペイン南部の多国籍環境で育ちました。マドリードとダルムシュタット(ドイツ)で経済学と金融とITの勉強をしました。何年間かファイナンシャル・アドバイザーといて勤めた後に、完全にITの仕事に転身しました。兄と兄嫁と一緒に小さな家族経営の会社を作ってからのほぼ10年間は、B2Bソリューションを開発してきました。私たちは、ほとんどの場合は裏方としてですが、極めて効率良く仕事をしています。私たちがIOTAコミュニティーの中で有名な存在となっているのは、例外的なことですね。

暗号通貨の世界やDLT(分散型台帳技術)にいつ、どのように関わりを持ち始めたのか教えてもらえますか?

 父がよく「金融の流れは経済の血液だ」と言っていたせいか、私にとって金融は魅力的な世界でしたし、テクノロジーと同じぐらい魅力的でした。金融とテクノロジーの二つを合体させたら、しばらくの間私の目が釘つけになるかもしれませんね! 暗号界隈には何年も前から注目してきました。でもブロックチェーンというテクノロジーは、世界中で使うには無理があると個人的に考えていました。だから私の暗号界隈への関わりは限られていて、世間に広まって行くのをほぼ傍観していただけですね。

IOTAにはどのようにアプローチしていったのか説明してもらますか? IOTAのことを初めて聞いたのはいつですか? またIOTA用のソリューションの開発に取り掛かかろうと決断したのはいつですか?

 初めてIOTAのことを耳にしたのは2年前(2016年)です。私の最初の”金銭的な”関わりは、ほんの去年(2017年)ですけどね。それからMediumでIOTAをテーマにして暗号通貨の記事を書き始めました。同じ頃にまた、私たちは会社としてIOTAプロジェクトについてブレインストーミングして色々なアイデアを出し始めました。以前、フリートマネージメントのソリューションに取り組んだことがあって、巨大なインフラストラクチャーを効率的に管理することが、いかに大切なことか知っていました。もしIOTAがグローバルに使われるようになったら、タングル上で資金と情報が往来するためのテレマティクス(telematics:自動車などの移動体に通信システムを組み合わせて、リアルタイムに情報サービスを提供する)のようなシステムが世界中で必要となります。そのようにしてCarrIOTAが誕生しました。
 あの当時のIOTAは、まだ十分に成熟してなくて上手く機能していませんでした。P2Pノードの自動探索システムのようなものは存在しませんでしたが、IOTAプロジェクトにとって極めて大切でした。となると、最も理に適った行動は、IOTAコミュニティーを支援することによって、私たち自身を支援することだったので、CarrIOTAのありとあらゆる部分を個別のライブラリーやユーティリティーとしてオープンソース化して、IOTAコミュニティーのみんながテストしたり使ったりできるようにしました。
 するとそのコミュニティーの取り組みそのものが急速に、CarrIOTAという最終製品以上に重要なものとなりました。IOTAが進化していくのを目の当たりにしながら、その成功に貢献できるので、非常にやりがいががあります。

IOTA財団への参加を考えていますか? あるいは今のようにコミュニティー・ディベロッパーの立場で、IOTAプロジェクトに付加価値を与えていくほうがいいですか?

 固定した組織の職員として働いたら、間違いなく私たちはスローダウンしてしまいますね。私たちのチームは仕事が早いです。歴史がありますから。現在のチームで10年間仕事をしてきたので、極めて最適化されていて効率的なんです。周囲の環境条件が変わっても、迅速に対応する方法を知っています。プロトタイプも猛スピードで製作します。小さくても、組織として確立されたチームには、まだ模索中の大きな会社にはない強みが必ずあります。
 多分、すべては状況次第でしょうね。資金的な支援はいつでも歓迎ですが、それはあくまでも私たちのスピードや創造性や意思決定の自由を阻害しない限り、という条件付きです。そうじゃないと、反抗しながら開発を続けることになってしまいます。私に言わせれば、IOTA財団の中にいなくても、財団(のテクノロジー)の開発に取り組むことはできますし、IF(IOTA財団)に雇われることが、IOTAコミュニティーのディベロッパーの”聖杯(至高の目標)”となるべきではありません。土台となるコミュニティーが強いことも、まったく同様に大切なんです。

IOTA財団やコア・デベロッパーとはどのような関係なんですか? 新しいものを開発をしているときは、連絡を取り合うんですか?

 Domにはベルリンのミートアップで1度会いました。IFの他のメンバーたちと不定期に連絡を取ることもあります。私たちの仕事に対する財団側からの関心が高まっているように見受けられますが、非常に嬉しいことですね。それはさておき、私たちの意思決定と開発は、IFから独立して行われています。
 IOTAのテクノロジーが成長していく中で、いつかどこかの時点で、大企業や団体がIOTAプロトコルの将来について団結することが非常に重要となると思います。ワールド・ワイド・ウェブ・コンソーシアムのようにね。

あなたはPythonやDjangoのシニアディベロッパーですが、PyOTAではなくてJavaScriptライブラリーを使ったのはどうしてですか?

 私はJavaScriptのシニアディベロッパーでもあるんですよ!JavaScriptを使った理由は、CarrIOTAのすべてを一つの言語で書く予定だったからです。でも最近焦点が変わって、HerculesにはGo言語を採用しました。

IOTAと無関係のプロジェクトの仕事もしなくてはならないのに、たくさんのソフトウェア・ツールを開発してIRIやウォレットの利便性を向上させてますが、そんなことする時間をどうやって見つけるんですか?

 言わば「モチベーションは山をも動かす」ですね。でも私も私のチームも超人ではありません。過去数ヶ月は、通常のプロジェクト以外に膨大な時間を使ってきたことは事実です。しかし、秘訣は、自分のチームや自分たちの力を知ること、さらに最も大切なことは自分自身をいかに管理するかを知っていることですね。。私生活や独り舞台には、”一人でスクラムを組むこと”がお勧めです。驚くほど効果がありますよ!

先日発表されたIOTAエコシステム基金は、コミュニティーの参加を増加させるための装置として、よくできていると思いますか? あなた自身もIOTAエコシステム基金に少し関わりましたが、何か改善すべき点があると思いますか?

 IOTAがドイツの財団となったのは、賢明な動きで名誉なことです。しかし官僚主義的な悪い側面もあって、非常に行動が制限されます。もし私が責任者だったら、組織を分割して、財団の右腕を作って、もっと迅速に対応してエコシステム基金を管理するようにしたでしょうね。別にドイツにある必要もないですし。
 資金的なサポートは、間違いなく若いプロジェクトの役に立つし、より多くのディベロッパーを引きつけるでしょう。私が唯一望むことは、そのサポートがプロジェクトオーナーにとって官僚主義的な面で重荷とならないことです。

あなたは、IRI(ノードのホストとなるJavaアプリケーション)関連で役に立つ各ツールを開発していますが、想定した機能が安全に動作することを保証するために、何らかの監査を受けるつもりはありますか?

 私たちのツールは、高品質のプロトタイプであって、それ以上のものではないんです。徹底的にテストや監査を受けた似たようなプロジェクトやツールを土台に制作したものもあります。例えばNelsonです。Nelsonは元々はまったく別の分野からのもので(残念ながら、ここで詳しく述べることはできません)、その効率性と信頼性は証明されているので、私はそれを当てにしてます(完全に別の分野のアイデアが、まったく思いもよらないところでピッタリとはまるというのは、極めて面白いことです)。
 しかし、私たちのツールはどれも生産準備完了から程遠く、まだもっとたくさんの愛とひたむきな努力が必要です!

IOTAは最先端のテクノロジーですが、そうであるがために、新しいソリューションを製作しようとすると、多くの場合はドキュメンテーション(仕様や構造、設計、使い方などを体系的に文書化すること)不足と対峙しなくてははなりません。あなたが開発してるときは、どうやってこの問題を解決したのですか? また同じ道を歩き始めようとしている人たちがいたら、どんなアドバイスをしてあげますか?

 JavaやJavaScriptなどの基礎を学んで、質問をすること。サンプルとなるプロジェクトを作ってみてば、もっとたくさんの疑問点が出てくるのが分かるでしょう。グーグルはあなたの友達です。よく調べてから、コードを読み始める。各々の構成要素とそれらがどのように相互作用するのか、スケッチして視覚化してみる。最も大切なことは、自分がやっていることを楽しむこと!

この質問の執筆時点で、CarrIOTAには、1368個のノードがあります。CarrIOTAのシステムでは、ロードバランサー(負荷分散装置)のインスタンスにSPF*がありますか(つまり、もしロードバランサーがダウンしたら、復旧するまでは、1368個すべてのノードに到達不能となるのでしょうか)?

SPF*: Shortest Path First – 最短経路を割り出すのに使われるアルゴリズム

 CarrIOTAフィールドは、IOTAの各ノード向けの効果的なロードバランサーのプロトタイプかつデモ製品です。準備完了とは程遠いです。高コストのために過去数週間、少し縮小しなくてはなりませんでした。
 でも、私が構想中のスタックができれば、ほとんどの攻撃に対する完全な回復力を備えるようになるでしょう。そこで必要となるのがリソースなのは明白ですが、現在の私たちにはありません。これを執筆している時点で、CarrIOTAフィールドが生成している1日のトラフィックは、実に9テラバイトもあります!
 寛大な寄附のおかげで、少なくともこれから3ヶ月間は運用を継続することができます。私の希望としては、最終的にオープンソース版をリリースして、その時までにCarrIOTAを分散化することです。
 また、IOTAの上に第二のネットワーク層を作るためのプロトタイプのプロジェクトも検討中です。それはフィールド間のネットワークで、フィールド同士がお互いを自動的に見つけ出して、作業を各フィールドに分散して、各ユーザーが自分が接続しているノードやフィールドから完全に独立できるようになります。

CarrIOTAフィールドのロードバランサーがどのように機能するか、もう少し説明してもらえますか?

 ユーザーからリクエストを受けて、それを複数のアクティブに接続しているフィールド・ノードに転送します。もしそれらのノードが応答したら、その応答の妥当性をクロス・チェックして、ユーザーに戻します。妥当性のチェックや他のいくつかの点を除けば、普通のロードバランサーとそんなにかわりません。

現在分かっている情報から想像で答えて欲しいのですが、QubicはどのようにIOTAの筋書きを変容させるでしょうか? 例の3つの機能(オラクル、スマートコントラク、アウトソースされるコンピューター計算処理)はどんな革新的なソリューションをもたらすことが出来るのでしょうか

 私が推測できるのは、最終的なQubicがどんな風なもので、どんなことができるのかということだけです。もし私の想定が正しかったら、Qubicを通じてIOTAは、暗号通貨のカンブリア爆発を引き起こすでしょう。私たちは既に、ある驚愕的な活用事例について調査中ですが、内緒にしておきます。サプライズを台無しにしたくないので。ご想像にお任せします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です