NEM LIFE

nem、xemに関する最新のニュースを翻訳してお届けします!

NEMコアディベロッパーgimreに対するインタビュー

以下は下記記事を翻訳したものです。
https://nemflash.io/interview-nem-core-developer-gimre/

NEMコアディベロッパーgimreに対するインタビュー

ジュリアン・2018年5月21日更新

Catapult(mijin v.2)プレビューベータ版シリーズにおける一員、NEMのグローバルディレクターAlex Tinsman

f:id:jijikokkoku:20181230221807p:plain

1. あなたのディベロップメントチームにおける役割は何ですか?

ご存知のとおり、私はNEMコアディベロッパーの一員です。いくつか経歴をお話します。
私達は2014年1月にNXT署名と署名検証ライブラリのJAVAスクリプト実装に関係するBTTで会いました。

Utopian Futureは、NEMチェーンの考えからきており、彼ははじめNXTの分岐点となろうとしていました。しかし、当時私達はNXTのコードベースについて良く思わない点がいくつかありました。2014年2月、NEMのもととなるファーストコミットのコードの引受ができました。私達は各々の自由時間を使って作業をしていたため、実際に送金ができるネットワークを2015年3月にリリースするのにかなり長い時間がかかりました。2015年のある時期、テックビューロがNEMブロックチェーンに興味をもちました。私達はNEMブロックチェーンができるよう働き続けました。私達のうち3人がテックビューロに雇われ、2016年私達はカタパルトに取り組み始めたのです。

私達3人共、同じ任務がありました。デザイン、開発、レビューです。

f:id:jijikokkoku:20181230221827p:plain

gimreのアバター

2. 続く重要な疑問…あなたの名前は一体どのように発音するのですか?私が聞いたことがあるのはギム・レー、ギム・レイ、ガイ・マー…

ギムレーです(笑)
https://soundcloud.com/alexandra-tinsman/how-to-pronounce-gimre

3. 開発の工程で何が難しかったですか?

 私は過去にC++の経験がありました(実はJavaよりも)ので、Javaからの切り替えはそこまで骨の折れるものではありませんでした。Javaの主な強みの一つは、ライブラリです。NIS1はhttpのトップで動作しており、便利ですが、さほど効率的ではありません。カタパルトの件では、はじめからわれわれは性能について考えていました。ライブラリもあり、カタパルトはかなりの依存性がありましたが、われわれはBoost.Asioののトップ層ネットワーク全体を扱わなければなりませんでした。

同じくまた、サービスや、われわれがカタパルトで使用したプラグインはすべてを単純に作りませんでしたが、それが構造を実に改善しました。
Stroustrup自身がそれを「Cは墓穴を掘ることを容易にしたが、C++がそれを強くした。しかしそれをすると、墓穴から出られる。」と言い表しました。われわれはどこでも強いタイプを使用するよう努め、おそらくそのおかげで何度も我々は助けられました。

またわれわれは、毎日の稼働のためのストレスとアサンのテストセットアップを行いました。そしてAleixとGuillemはテストのはじめから最後まで非常にすばらしい結果を残しました。

4. NEMブロックチェーンが解決できる、一番大きな問題は?

  実際の疑問は、「ブロックチェーン技術が解決できる問題は何か?」だと思います。私はいくつも他の方法を試そうとしていましたが、一番に思いました。ブロックチェーンを「使わない」のはいつなのか?と。

 もしあなたがブロックチェーンのことを流通データベースだと考えようとしているのなら、おそらくとても嫌な映像を思い浮かべるでしょう。作者不明のブロックチェーンのいくつかの特色で私が最も評価するのは、

■ 分散…単一のノードの失敗、それがシステム全体を停止させるべきではない。
■ 透明性、追跡能力、そして信頼…個人のチェーンの取扱として重要です。
■ 元の通貨の限定供給…こちらは公開チェーンの取扱として重要で、いつ要望しようとも、どの仲介店も政府も追加できません。
■ 削減されたコスト…ビットコインと、ビットコインがきわめて高い金額であることを考慮しても、ビットコインを家族や友人に送るのにFIATベースの方法を使うより、それでもなおコストが安い。(いくつかの解決法はあるが、制限があり、ユーザー対応が不十分)
■ 不変性…これは最後に加えるひとつとします。なぜならこれは議論の余地があるかもしれないからです。NEMのケースでは、最近の台盤を書き換えようとすると、攻撃部隊はすべてのXEMの50%以上を所有しているでしょう。(しかし、もし誰かがたくさん所有していると考えると、アタッカーがネットワークを傷つけ、XEM自体の価値を落とす結果となる事でしょう。)
 ブロックチェーン自体の話となると、NEMブロックチェーンが解決しようとしている問題は何か?

ブロックチェーンは簡単なものではありません。ビットコインとそのさまざまな分岐と違って、NEMは入金と出金のかわりに口座を操ります。これはユーザーに対してより有名で開発者に対してより理解が簡単なことです。ビットコインに基づくチェーンのミドルウェアを書こうとするのは、本当に厄介なことです。

イーサリアムは堅実性の水準が高く、堅実性について知っている誰かを、さらに、堅実性への脅威となる問題について知り理解している人を見つけるのも大変難しいほどです。

NEMについて考えると、APIsのほかにNISの一番の貢献は多数の取引であり、他のチェーンに比べて使うのが非常に簡単です。

カタパルトの話となると、おそらくそれが今もたらす一番良い事は集合的な取引です。

では実際の疑問の話となると、NEMブロックチェーンが解決できる問題は何か ― 正直なところ、それについてはまだわからない。しかし最後の質問のときにまたお話します。

5. 一般社会はどのようにしてディベロッパーについていくことができますか?

ご存知かと思いますが、私達はとってもお話し好きというわけではありません。なぜなら私達はたいてい3人でしかおらず、話をするよりもコードに向かって働いているからです。もしあなたがプログラマーだったら、あなたは設立に向けて働きたくなるかもしれません。https://nem.io/jobs/

 どうついていくか ― 正直に言うと、今すぐ実際にNISのトップで開発することはおすすめしたくありません。そのかわり、準備ができている人はnem2-library-jsとnem2-sdk’sを御覧ください。(https://github.com/nemtech ) そしてhttp://mijin.io/en/catapult のアーリーアクセスをお申し込みください。実のところ詳細はまだわかりませんが、おそらくまもなく公開されテストネットワークが有効になるでしょう。

6. 広く知られていない内側のお話を共有していただけますか?

おもしろく幸せなお話ではありません。MakotoとAkitsuにかかわるドラマが、外からみるよりもっと多くありました。2016年を思い返してみると、まだ設立もしておらず、もしテックビューロのためでなかったらNEMについて何が起こっていたか予想できませんでした。もしそれが明らかでなかったら、テックビューロなしのカタパルトはありませんでした。

 明るい方の話では、2-3日前(オープンソーシング)は多忙をきわめておりました。^^

7. NEMがあなたの期待を多いに超えるときは、いつでしょうか?

 実在するカタパルトの形で、われわれが思いついたことのない(おそらくたくさんありますが)、まだ明らかでない使い方(またはアイデア)を見てみたいです。わぁ、「本当に大したものだ!」と思わせてくれるでしょう。

                                                                                                                                                                                                                          • -

NEMディベロッパーの今後についての情報は、ツイッターをフォローしてください!

NEM財団とそのミッションについての情報はNEMをツイッターでInside NEMをフォローするか、webサイトを御覧ください。

現在のNEMテクニカルな仕事の情報は、われわれのサイトのjob postings を御覧ください。

・・・
以下原文
・・・

An Interview with NEM Core Developer gimre
BY JULIAN · PUBLISHED MAY 21, 2018 · UPDATED JUNE 12, 2018

Part of the Catapult (mijin v.2) Preview Beta Launch Series With Alex Tinsman, Global Director of Communications for NEM
gimre
FIrst appeared on medium by Alexandra Tinsman

1. What’s your role on the development team?
As you might have heard already, I’m one of NEM core Developers. Some backstory. We met on BTT in Jan 2014, in a thread related to JavaScript implementation of NXT signing and signature verification library.

UtopianFuture came with an idea of NEM chain, he initially wanted it to be a fork of NXT, but there were many things that we didn’t like in NXT’s codebase at that time. In Feb 2014 the first commit in NEM source code was made. We were working in our free time, so it took us quite some time to get to mainnet release in March 2015. Somewhere in 2015 Tech Bureau got interested in NEM blockchain. We’ve been working on tuning NEM chain to get most of it. Three of us got hired by Tech Bureau and 2016 we’ve started working on a catapult.

All three of us have similar duties: designing, developing, reviewing.

gimre
gimre’s avatar
2. Important follow up question… how the hell do I pronounce your name? I’ve heard it pronounced as gim-reee, gim-ray, guy-mer…
hehe. like gimreh.

https://soundcloud.com/alexandra-tinsman/how-to-pronounce-gimre

3. What has been challenging about the development process?
I had previous experience with C++ (actually much better than with Java), so switch from Java wasn’t traumatic. One of Java’s main strengths is its libraries. NIS1 is working on top of http — that was convenient, but is not very efficient. In case of catapult we were thinking about performance from the very beginning. There are libraries as well and catapult has quite some dependencies, but, i.e. we had to do whole network layer on top of Boost.Asio.

Similarly extensions, services, and plugins that we use in catapult, do not make everything straightforward, but they do improve modularity.
As Stroustrup himself put it “C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.” We’re trying to use strong types everywhere, which probably saved us multiple times already.

We also have stress and asan tests setup to run daily. And aleix and guillem did a great job on e2e tests.

4. What are the biggest problems the NEM Blockchain can solve for?
I think actual question is “what problems blockchain technology can solve?” Although I would put it the other way around, and first ask: when NOT to use blockchain?

If you tend to think of a blockchain as a distributed database, then you probably have a pretty bad picture. Few features of non-anonymous blockchains that I value most are:

decentralization — the failure of a single node, should not take down the whole system
transparency, traceability, and trust — that is important for private chain usage
limited supply of base tokens — this is important for public chain usage — no agency or government can add more, whenever it wishes
reduced costs — even if we consider bitcoin and it’s pretty high fees, it’s still cheaper to send bitcoins to your family and friends THAN to use most of the FIAT-based ways (there are few solutions, but they have limitations or, user adaptation is poor)
immutability — I placed this one as last one, cause this one might be disputable — in case of NEM, to rewrite recent blocks, attacking party would need to possess >50% of all XEM. (but if we consider someone owning so much, what would be the point of the attacker to hurt the network and possibly in result value of XEM itself)
What problem NEM blockchain tries to solve when it comes to blockchain technology itself?

Blockchain is NOT easy. Unlike bitcoin and its various forks, NEM does not operate on inputs and outputs but on accounts instead. This is something much more familiar to users and much easier to understand by developers. Trying to write middleware for bitcoin-based chains is really problematic.

Ethereum puts the bar high with Solidity, it’s very hard to find someone knowing solidity and moreover, someone knowing and understanding problems that Solidity might pose.

Regarding NEM, I think the best contribution of NIS besides APIs are multisig transactions, compared to other chains, they are super easy to use.

When it comes to catapult, probably the best thing that it (currently) brings are aggregate transactions.

Now when it comes to the actual question, what are the problems that NEM blockchain can solve — truly saying, I don’t know that yet, but I’ll get back to this in last question.

5. How can the community team best keep up with the developers?
As you might know, we’re not super communicative, mostly because there’s only three of us and we rather spend time working on the code than chatting. If you’re a programmer, maybe you’d like to work for foundation https://nem.io/jobs/ .

How to keep up — to be honest, right now I actually would NOT recommend anyone to develop on top of NIS. Instead, take a look at nem2-library-js and nem2-sdk’s that guys have prepared (https://github.com/nemtech ) and apply for http://mijin.io/en/catapult early access. I actually don’t know the details yet, but there probably soon will be publicly available test network to experiment in.

6. Can you share with us an inside story that isn’t widely known?
Not a funny/happy story. There was much more drama related to Makoto and Akitsu than it was visible on the outside. Remember that back in 2016 there was no foundation yet and it’s hard to predict what would happen with nem if it wasn’t for Tech Bureau. If it’s not obvious, there would be no catapult without Tech Bureau.

On the bright side: last few days (open sourcing) were pretty hectic. ^^

7. How will you know when NEM has really exceeded to your expectations?
I would like to see some non-obvious usage (or idea) of existing catapult features, that we haven’t have thought of (there probably are many), that would leave me with “wow, that’s really something.”

For more information about what the NEM developers are up to, you can follow them on Twitter!

For more information about the NEM Foundation and its mission, you can follow NEM on Twitter, at Inside NEM or visit our website.

For more information on current NEM tech jobs, visit our job postings.