NEM (暗号通貨)
歴史
NEMは、Nxtに触発されUtopianFutureと呼ばれるBitcoin Talkフォーラムユーザーによって開始され、改善が望まれた。 2014年1月19日より、Bitcointalkフォーラムで参加を呼びかけた。 目標は、最初からコミュニティ指向の暗号通貨を作成することであった。
開発
NEMは、2014年6月25日からオープンアルファテストを開始し、2014年10月20日より長時間にわたる包括的なベータテストを実施した。
コード
NEMは完全にJavaで書かれた新しいコードベースである。プルーフ・オブ・ワークの代わりにPOI（proof of importance:重要度の証明）アルゴリズムを使用する。 NIS（NEM Infrastructure Server）は、NCC（NEM Community Client）とは独立して動作するクライアントサーバモデルを使用する。
NEMクライアントはオープンソースでGitHubで利用可能であるが 、NEMサーバーベースのコンポーネントであるNISはクローズドソースであり、デコンパイラでどのように動作するかが明らかにならないように、バイナリは難読化されている。
ノード評価システム
NEMは評判システムとしてEigentrust++を採用した最初の暗号通貨である。 他の暗号通貨では、ブロックチェーンの健全性を保証するためのproof-of-workなどのシステムを使用する場合があるが、NEMはネットワーク内のノードの過去の動作を監視することでこれを行う。 proof-of-workでは、ネットワークを保護する能力の尺度として、ノードの実施した計算作業の「量」が用いられる。 しかし、Eigentrust++では、仕事の「質」が重要である。 これにより、NEMネットワークの効率的な運用と保守が可能となる。
証明の重要性
POIはNEMでタイムスタンプ取引に使用されるアルゴリズムである。 NEMユーザーの重要性は、所有しているコインの数とウォレットとの間の取引の数によって決まる。 POIは、NCDawareRank ネットワークの中心性測定値、グラフのトポロジ、そして他の多くの関連する指標を考慮して情報量の多いトランザクショングラフを利用するように構築されている 。POIは、ネットワーク全体の形式を考慮しないモデルを使用する他の先例とは異なる。例えばproof-of-stakeシステムでは、ブロックを形成するために大量のコインを必要とするだけである。 しかし、NEMでは、トランザクション量だけでなく、ネットワークのサポートも要因になる。 これは、NEMのユーザーが単にXEMを保持するのではなく、代わりにNEM経済圏ネットワーク内でトランザクションを積極的に実行するように設計されている。
アーキテクチャー
NEMの設計アーキテクチャは2つのコンポーネントで構成されている。 1つはノードサーバーまたはNEMインフラストラクチャサーバー（NIS）である。 もう1つはNEMコミュニティクライアント（NCC）である。 NISはP2Pネットワークに接続され、NCCのゲートウェイとして機能する。 NCCは、基本的にウォレットを含むクライアントソフトウェアである。 NCCとNISの両方を同じマシンから実行するように設定できる。 同じマシンから実行されると、NCCとNISの両方がインターネットにさらされる。 2番目のユースケースは、NISとNCCを分離することである。
したがって、NISは、NCCへの保護の追加層として機能するように構成され、NCCをインターネットに接続しないようにすることができるので、NCCをそれ自体の範囲内で合理的に保護することができる。さらに、NCCとNISの間にファイアウォールを置くオプションもあるため、NCCはインターネットから2ステップ離れている。つまり、NCCをステルスモードで動作させることができる。この種のモジュール式設計により、NCCは外部からの攻撃から隔離される。 NCCが別のファイアウォールを介してNISにのみ接続されている場合、NCCに侵入することはほとんど不可能である。ウォレットに何らかの攻撃がある場合、その攻撃はネットワーク外からではなくネットワーク内からの攻撃であることがほぼ確実である。このアーキテクチャのもう1つの特徴は、NCCがウォレットとして機能し、どのコンピュータでも使用できることである。一方、NISはNEMネットワーク上のノードを表し、遠隔地からホストすることができる。さらに、クライアントを任意のコンピュータにロードすることができ、その人が自分の秘密鍵を持っている限り、財布を再ロードすることができる。
NISは、ファイアウォールの背後にある非武装地帯（DMZ）に置くことができるため、インターネットから保護される。 したがって、多くのオプションと構成が存在する。 これにより、NEMのアーキテクチャは安全に設計される。
NEMは、サービスレベルを向上させ、ライトウォレット、モバイルウォレット、およびサードパーティのアプリケーションのサポートのバックボーンを形成する手段として、「スーパーノード」を使用する。 これらのスーパーノードはNEM Blockchainへのアクセスを向上させ、ユーザーはローカルでブロックチェーンに同期することなく、簡単かつ迅速かつ確実にネットワークにアクセスできる。スーパーノードを実行すると、NEMの通貨トークンであるXEMで日々の支払いが行われる。
Multisig
NEMは、プラットフォームの不可欠な部分としてmultisig（マルチシグネチャの略）技術を実装している。 multisigの利点は、複数のユーザーがトランザクションに署名する必要があることである。 具体的には、NEMは、  m ≤  n において、n 人中 m 人のmultisigを実装する。 別の言い方をすれば、合計n人の署名者のうちのm人がトランザクションに署名してからブロックチェーンにブロードキャストする必要がある。 NEMのmultisigは、 １つのmultisigアカウントに変わるアカウントに対してm個の口座が完全なトランザクション特権を持つように、チェーン上で契約することによって機能する。 契約メタデータは連鎖しているため、追加の署名者を追加または削除することで簡単に更新できる。
Multisigは、ウォレットのセキュリティを強化するためのテクノロジである。 Multisigでは、別のユーザがトランザクションをブロックチェーンにブロードキャストする前にトランザクションに署名する必要がある。 つまり、ハックで財布を紛失した場合、別の財布に署名しない限り、お金を使うことはできない。 Multisigはまた、コミュニティで保有する財産を保護するのに役立つ。指定されたユーザーの過半数が、コミュニティで保有する財産からの取引を行う前に同意する必要がある。 これは、例えば、募金活動や他のコミュニティ指向の資金調達のために、1人の不正なコミュニティリーダーが、自分が支配している資金を盗むのを防ぐために役立つ。
Mijin
Mijinは、NEMテクノロジと同じAPIを使用するプライベートブロックチェーンである。これは、金融機関のコストを90％削減すると同時にセキュリティを強化するように設計されている。これは、日本の信託銀行三井住友トラストホールディングスが所有する住信SBIネット銀行の銀行サービスに追加するためテストされた。さらに、さくらインターネットはテックビューロと協力して、Mijinの6ヶ月の無料試用版を提供している。MijinはエンタープライズソフトウェアAsteriaでInfoteriaによってテストされている。2015年12月、日本のSBI住信ネット銀行は、日本の大手研究グループであるNRIにNEMブロックチェーン技術Mijinのテストを依頼した。彼らは3ヶ月間に渡ってさまざまな取引を行い、1日に200万件を超える取引を行って2,500,000件の口座をテストした。ネットワークは、可用性とフォールトトレランスを測定してさらにストレステストをパスした。金融機関が独立したブロックチェーンテストの結果を公表したのはこれが初めてである。
カタパルト
2016年4月、テックビューロにより運営されている仮想通貨交換取引所の1つであるZaifは、MijinとNEMの両方がCatapultというコードネームの技術を共有することを発表し、NEMとの提携を正式化した。Catapultは2016年初頭から開発中であり、C++で書かれたNEM / Mijinの拡張バージョンであり、スループット、柔軟性、安定性、ネットワーク通信の最適化、スケーラビリティを向上させ、より良いネットワークパフォーマンスを提供するように設計されている。この発表の後、テックビューロは、Aシリーズのファイナンシングラウンドを終了し、620万ドルの資金調達を発表した。