暗号通貨NEM(ネム)についてざっくりと調べた
bitcoinやEthereumなど暗号通貨が色々存在する中、NEMという暗号通貨は全通貨がすでに発行済みであることやPoIという謎のコンセンサスアルゴリズムを採用しているということで非常に興味が湧いたので雑ながら調査してみた。
調べる際には下記の点について気にしながら各種記事を読んだ。
- 専門用語をあまり使わずに概念レベルの理解をする
- P2P上における悪意あるノードに関する対策はどうやってるのか
- 不正なブロックが承認されないようにする仕組みは何か
また、ブロックチェーンの復習もかねて自分なりの理解も含めてメモしたので間違ってる記述も色々ありそう。
あと、雰囲気で理解しやすいように砕けた書き方になってる。
ちなみに雑なメモじゃなくちゃんと知りたい人は、下記のリンクを読んでください。僕のメモより圧倒的に詳しく網羅的に書かれてます。
基本知識
- NEM = New Economy Movement
- 総発行量は8,999,999,999XEMで全て発行済み。今後の新規発行は無い。
- マイニングが存在しない
P2P
ブロックチェーン
- 雑な理解 => 改ざんされると困るものの改ざんをみんなで防ぐシステム
- 改ざんされると困るもの(決済、契約、投票等)全てに応用可能
- プログラマティックな核となる部分
- 前のブロックのハッシュを次のブロックに含める
- ブロックチェーン内の各ブロックの改ざんを防ぐことにつながる
- 前のブロックのハッシュを次のブロックに含める
- コンセンサスアルゴリズム
- ざっくりまとめると、
ブロック
- ブロックの生成時間は約1分前後になるように難度を調整してる
- ブロックの構成
マイニング
- NEMではマイニングが無く、報酬を分配するハーベスティングを行う
- 10000XEM以上(vested balance)を持っている人のみ参加可能
- ローカルハーベスティングとデリゲートハーベスティングがある
- 違いはローカルでやるか、リモートのサーバーでやってもらうか
- あとは開始までの時間や手数料が違う
コンセンサスアルゴリズム
- コンセンサスアルゴリズムとは、PoW,PoSのようなブロックチェーンの改ざんを防ぐためのもの
- NEMではPOI(Proof of Importance)を採用してる
- NEM:XEMをたくさん使った(流通させた)人がより多くのブロックの承認ができ、報酬を得られる
- 電力消費や富の局所集中を防ぐ
- POIのスコアが大きい人はよりマイニング実行者に選ばれやすくなる。
- NCDawareRank
- Nothing-at-Stake問題
- 不正なブロックをリスクなく生成できる(インセンティブが内在する)問題
- ブロック生成コストが低い場合に発生する
- PoWでは発生しない
- めっちゃ電力食うのでコスト高い
- PoSで発生しえる
- PoIでは生成コストはほぼ無いが、生成難度を調整することである程度対策を打ってる
- 不正なブロックをリスクなく生成できる(インセンティブが内在する)問題
その他の特徴的な点や気になる用語
NIS
アポスティーユ(apostille)
ネームスペースとモザイク
マルチシグ
- マルチシグ(正式名称マルチシグネチャ)は一つのアカウントに関する出金を複数名で管理する手段
- 具体的な使い方としては、財団のお金を複数人で管理するなど
次やること
基本用語とざっくり仕組みの理解ができたら次はAPIをいじって遊びたい。
nem-toolchainというcliツールがあってこれを使うとアカウント作成やモザイク作成などが簡単にできるらしいし、Golang製みたいなのでAPIの叩き方とかみてみるのもよさそう。
とりあえずハーベスターになるには10000XEMないといけないけど、今は10000XEM=110円くらいなのですぐには無理っぽい。
参考リンク
- http://nemmanual.net/
- 簡易的な教科書
- http://nemmanual.net/NEM_Technical_reference_JA/
- 技術的な詳細が書いてある教科書
- http://nem.tokyo/
- nemに関する情報とか基本情報・使い方など解説してる
- http://nem.tokyo/2017/05/07/nanowallet-2/
- nanowalletoの使い方と概要
- 基本用語の説明わかりやすい