Wait a moment...

【NEM技術勉強会】15.2 投票ラウンド【Symbol白書】

nem29.25xem (2)
388
0
2020-10-13 10:56:27
【NEM技術勉強会】15.2 投票ラウンド【Symbol白書】

15.2 投票ラウンド

ラウンド(finalization round)は、ファイナライズのプロセスを象徴するステップで、エポック(finalization epoch)とポイント(finalization point)からなる。

 

エポックは、1グループのブロックを内包する。エポックに含まれるすべてのブロックは、一回の投票によってファイナライズされる。それはnetwork:votingSetGrouping個のブロックごとに再計算をされる。最初のエポックは、ネメシスブロックのみを含み、先天的にファイナライズされている。それに続くエポックは、network:votingSetGroupingの整数倍のブロックまでを含まなければならない。エポックがファイナライズされたとみなされるのは、エポックに含まれるすべてのブロックがファイナライズされた時である。エポックの最後のブロックについて、ファイナライゼーション証明が与えられる。

 

ポイントとは、エポックに含まれる細かなステップのことであり、エポックがファイナライゼーションのどの段階にあるかを示す。こうすることで、同じブロックが複数の投票セットでファイナライズされることを防いでいる。エポックに含まれるすべてのブロックをファイナライズするのに必要な数のポイントが用意される。そして、各エポックの最後のポイントは必ず、そのエポックの最後のブロックをファイナライズする。ブロックがファイナライズされるのは、ポイントがブロックまたは、そのブロック以降のブロックをファイナライズした時である。

 

ネットワークが分断されると、ポイントが新しいブロックをファイナライズできない可能性がある。この現象は、最後にファイナライズされたブロックまでしか、特別過半数の得票数を得られていない場合に起きる。これは、致命的なエラーではなく、ネットワークが分断化する事によって自然に発生する現象にすぎない。その後は、15.5 アルゴリズムに記載された方法に従って、ファイナライゼーションは次のポイントに進行する。

 

エポックとポイントの違いについての重要な点は、投票セットに対する関連性である。異なるエポックは、異なる投票セットを持つ。同じエポックに含まれるそれぞれのポイントは、エポックに関連付けられた同じ投票セットを共有していなければならない。

図34:エポックとポイント(P)の関係


プログラム内では、エポックというブロックの塊が用意され、ポイントを使ってその状態を管理するようです。エポックは、設定で決められたブロック数ごとに実行され、1ラウンドの投票により1エポックが進行するという感じのようです。

 

目指せ北海道

 

この記事を書いた人
趣味はバイクでツーリングしながら、ブログを書いたり、動画配信したりすること。 ラズパイをバイクに積載して、ボタン一つでYoutubeライブ配信できるシステムを作りました。それを発展させて、XEMの価格を常時監視、取引するボットも作って活用してます。子供の頃から技術書を読むのが好きなので、NEMの技術文書を訳したりもしています。 本業は再生医療研究者です。歯の神経の中にいる「歯髄(しずい)細胞」を活用して新しい医療を開拓するために、しずい細胞プロジェクトを推進中。細胞の流通(トレーサビリティー)管理にNEMを使おうと思ってmijin v.2を導入したんですが、コロナで実用化が全然進みません。管理システムの名称は「ShizuiNet」。