NEMの目標
暗号通貨のエコシステムの基盤となる、というわかりやすい目標。NEMの目標はセキュリティと信用の必要ない計算機構として注目されている暗号通貨のエコシステムの基盤となることです。NEMはマルチシグトランザクションと暗号化メッセージを標準機能としてサポートする形でローンチしました。加えて、NEMのピア・ツー・ピア(P2P)ネットワークは、悪意あるノードの影響を特定し最小化するために、Eigentrust++に修正を加えたものを実装しています。NEMは進化途中で始まったばかりです。これから起こる出来事にご期待ください。
BitcoinBlockchainに取って代わるということだと理解する
新しい概念
- アカウント
- POI(Proof of Importance)
アカウント
以下のような情報が紐づけられているらしいそれぞれについて調べていく。アカウントには以下の情報が紐づけられており、これをアカウントの状態(state)と呼びます。
- バランスシート(残高)
- 収穫したブロック数(5.3:ブロックの作成 参照)
- そのアカウントが最初に参照されたトランザクションの含まれるブロック高
- マルチシグアカウントリストと共同署名者リスト(4.3: マルチシグ関連トランザクション参照)
- 重要度を委任されたアカウントの情報(4.2: 重要度委譲トランザクション参照)
- 重要度とNCDawareRank(7: Proof-of-Importance参照)
- 権利確定した(vested)残高(PoIやNEMそのものにとって重要)
バランスシート
これは調べるまでもなくそのアカウントが保有する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の整数 前ブロックからの時間(秒) アカウントの重要度 新しいブロックの作成難度
ブロックを生成の確率はbのアカウントの重要度でコントロールするしかないようだ
重要度を高めても支配的なものにはならなそうだが・・・
ここでふと疑問が湧く。「たくさんアカウントを作れば確率が上がるのでは?」と。
しかしそこについては以下のように釘が刺されていた。
また、は指数関数的に分布する点にも注意してください。したがって、重要度がたくさんのアカウントにわけられている時でも新しいブロックを作成する確率は変わりません。
そのアカウントが最初に参照されたトランザクションの含まれるブロック高
おそらくアカウントを作ってから一番最初に生成したトランザクションが含まれるブロック高のことだろう。
己のNanoWalletで確認したブロック高が以下だった。
マルチシグアカウントリストと共同署名者リスト
己のマルチシグアカウントの情報とそこに名を連ねている共同署名者リスト
重要度を委任されたアカウントの情報
デリゲートハーベスティングを有効化しているかどうか
重要度とNCDawareRank
- ブロックの生成のためのアルゴリズムであるPOIに含まれる概念
- 重要度は以下の情報を計算に用いる
- 権利確定済みの残高(vested balance)
- 送金されたXEM
- トランザクショングラフのトポロジーの情報
- NCDawareRankはgoogleのweb検索結果に用いられるアルゴリズム(PageRank)に近いものととりあえず捉えてみる
- リファレンスにはNCDawareRankについて以下のような文言があるのであながち間違いではないはずだ
とが加えられたことを除けば、この定義はPageRankと同様です。 NEMの場合、は0.7、は0.1です。以下ではそれぞれの変数がいかにして計算されるかを説明します。
0 件のコメント:
コメントを投稿