2017年4月9日日曜日

テクニカルリファレンスから読み解くNEM

こちらを参考にNEMに対してまずは自分なりの解釈を持ちつつ、公式フォーラムの情報から理解を深めていく。

NEMの目標

NEMの目標はセキュリティと信用の必要ない計算機構として注目されている暗号通貨のエコシステムの基盤となることです。NEMはマルチシグトランザクションと暗号化メッセージを標準機能としてサポートする形でローンチしました。加えて、NEMのピア・ツー・ピア(P2P)ネットワークは、悪意あるノードの影響を特定し最小化するために、Eigentrust++に修正を加えたものを実装しています。
NEMは進化途中で始まったばかりです。これから起こる出来事にご期待ください。
暗号通貨のエコシステムの基盤となる、というわかりやすい目標。
BitcoinBlockchainに取って代わるということだと理解する

新しい概念


  • アカウント
  • POI(Proof of Importance)


アカウント

以下のような情報が紐づけられているらしい
アカウントには以下の情報が紐づけられており、これをアカウントの状態(state)と呼びます。
それぞれについて調べていく。

バランスシート

これは調べるまでもなくそのアカウントが保有するXEMの量のはず

収穫したブロック数


  • BitcoinBlockchainと同様にNEMにはブロックやトランザクションという概念が存在する
  • またBlockを作成する過程も当然存在する
    •  それをハーベスティング(収穫)という
  • 収穫をするアカウントには手数料が支払われる
    •  つまり基軸通貨の価値を前提としたインセンティブ方式である
  • 収穫をするには最低残高が10000XEM必要


ブロック作成するアカウントを決定するために以下の計算がなされるという
  • $hit = 2^{54}|ln(\frac{h}{2^{256}})|$
  • $target = 2^{64}\frac{b}{d}t$ 
※この数式を書くにあたりMathJaxという存在を初めて知った

$hit<target$を満たすときアカウントは新しいブロックを作成できるという
ちなみに上記の計算には以下の変数が使用されるようだ
  • h = H(前ブロックのジェネレーションハッシュ値、アカウントの公開鍵) ... 256-bitの整数
  • t =前ブロックからの時間(秒)
  • b = 8999999999 * (アカウントの重要度)
  • d =新しいブロックの作成難度

  • ブロックを生成の確率はbのアカウントの重要度でコントロールするしかないようだ
     重要度を高めても支配的なものにはならなそうだが・・・

    ここでふと疑問が湧く。「たくさんアカウントを作れば確率が上がるのでは?」と。
    しかしそこについては以下のように釘が刺されていた。
    また、hitは指数関数的に分布する点にも注意してください。したがって、重要度がたくさんのアカウントにわけられている時でも新しいブロックを作成する確率は変わりません。

    そのアカウントが最初に参照されたトランザクションの含まれるブロック高

    おそらくアカウントを作ってから一番最初に生成したトランザクションが含まれるブロック高のことだろう。
    己のNanoWalletで確認したブロック高が以下だった。


    マルチシグアカウントリストと共同署名者リスト

    己のマルチシグアカウントの情報とそこに名を連ねている共同署名者リスト

    重要度を委任されたアカウントの情報

    デリゲートハーベスティングを有効化しているかどうか

    重要度とNCDawareRank

    • ブロックの生成のためのアルゴリズムであるPOIに含まれる概念
      •  重要度は以下の情報を計算に用いる
    1. 権利確定済みの残高(vested balance)
    2. 送金されたXEM
    3. トランザクショングラフのトポロジーの情報
      •  NCDawareRankはgoogleのweb検索結果に用いられるアルゴリズム(PageRank)に近いものととりあえず捉えてみる
      •  リファレンスにはNCDawareRankについて以下のような文言があるのであながち間違いではないはずだ
    \muが加えられたことを除けば、この定義はPageRankと同様です。 NEMの場合、\etaは0.7、\muは0.1です。以下ではそれぞれの変数がいかにして計算されるかを説明します。

    権利確定した(vested)残高(PoIやNEMそのも)
    これはBitcoinBlockchainと同様にトランザクションの状態が承認・非承認とあり承認されたもの≒権利確定した(vested)XEMの残高と捉えれば良いはず

    まとめ(非常に苦しいが・・・)

    ちょろっとさわりだけでも理解しとこうという軽い気持ちでテクニカルリファレンスを読んで見たが、随所に高度な数学知識が散りばめられていて、理論を理解するのはかなりレベルが高そうだった。NanoWallet使いながら徐々に理解を深めていければ良しとしよう。

    0 件のコメント:

    コメントを投稿