投稿

あたらしいブロックチェーン10

イメージ
 こんな例はどうだろうか?ある特許情報で見かけた。 「ブロックチェーンのブロックの自ブロックのハッシュを格納する」と。 NG例。ブロック1にブロック1のハッシュを格納するということ。下図において。 2つの値が生成される。 1.自ブロックのハッシュを格納する前のブロックヘッダーのハッシュ 2.自ブロックのハッシュを格納後のブロックヘッダーのハッシュ 1と2では値が違う、事後検算する際には、2の値が返される。しかしブロックヘッダーに格納されている値は、1の値だ。よってブロックチェーンは成立しない。 例えるならブロックチェーンのハッシュ値は、ブロックのサイズ値みたいなもの、サイズを計測してそのブロックにサイズの値を追加したら、サイズが変わってしまう。それだは初めに測ったファイルサイズの意味がない。 次のブロックヘッダーに格納するのが現行技術であり問題ない。当たり前だけど。

あたらしいブロックチェーン9

Block Height0はジェネシスブロック Block Heightとは 通常のブロックチェーンにおいて、構成するブロックは1つ前のブロックのハッシュ値を格納している、ブロックが積み上がるように記録されている。Block Heightという単位はこの積み上がったブロックの高さブロックの総数。また、一番最初に生成されたブロックを0とし、対象とするブロックが何番目のブロックとして生成されたのかを指している。

あたらしいブロックチェーン8

イメージ
「従来の」ブロックチェーンのヘッダーについて説明する。ヘッダーに格納されているデータにおいて、あたらしいブロックチェーンでは、2つの親ブロックのハッシュ値を格納している点が従来のブロックチェーンと異なる。(従来は1つ) この説明は、ジェネシスブロックにも基本該当する。(ジェネシスブロックゆえの一部例外もある)  ●ブロックの構造 ブロックは、大きく分けて2種類のデータで構成されている。 1、そのブロックに関する情報(メタデータ)を含むブロックヘッダ 2、そのブロックに含まれるトランザクションのリスト ブロックヘッダ詳細 サイズ フィールド名 説明 4バイト Version ソフトウェア/プロトコルのバージョン 32バイト Previous Block Hash 親ブロック(1つ前のブロック)のハッシュ値 32バイト Merkle Root ブロック内の全トランザクションに対するマークルツリーのルートハッシュ 4バイト Timestamp ブロックの生成時刻 4バイト Difficulty Target ブロック生成時のproof of workのdifficulty 4バイト Nonce proof of workで用いるカウンタ ●直前のブロックのハッシュ値 ハッシュ値とは規則性のない固定長の値を吐き出す乱数のことです。 ●マークルルート マークルルートは先ほども解説したブロックヘッダに含まれる情報。これは、ブロック内の全てのトランザクションをまとめた要約値です。 ●タイムスタンプ ブロックの生成時刻。ブロックがいつ作られ、承認されたということがタイムスタンプとして生成される。 ●ビッツ マイニングの難易度を表すための表現方法。 ビッツを用いて算出される目標値をブロックヘッダのダブルハッシュの数値が下回った場合のみ、マイニングが成功する。 ●ナンス ナンスとは、ワンタイムトークンと言われ、リクエストが正当なものであるかどうかを見極めるためのものとして、ブロックチェーン上で、マイニングの際に使用されています。

あたらしいブロックチェーン7

イメージ
取引データをまとめる、マークルツリー・マークルルート の概念を説明する。ブロックヘッダーにどのようにデータを格納、または連携させているか説明している。 マークルツリーの基本は2つのデータを1つにまとめる。AとBという2つのデータがあるとする。Aのハッシュ、Bのハッシュをそれぞれ計算します。このAのハッシュ、Bのハッシュそれぞれをまとめた値のハッシュが頂点の値になる。 マークルツリーが実際に使われる場合は、たいてい複数段のツリー構造で構成されており、2段、3段と2個づつハッシュをまとめていきます。最終的に得られた頂点のハッシュ値はマークルルートと呼びます。 

ゼロリスクを求めすぎない

 マスクをした方がいい。しないのは非常識。コロナ禍の東京からの帰省とか 当たり前や常識といえることがある。しかし、人によっては事情がありそうできない場合もある。当たり前のことを声高らかに言うことは容易だ、社会においては、そこから漏れる人もいる、日本ではこうだけど海外では違うとか「常識」もさまざまだ 。また他人に強制するものでもない。多様化の時代、年代による常識の差、国や地域。過敏になりすぎるのも問題だ。 プロジェクトを推進していく上でリスクは排除していいのは当たりまえではある。しかしグループ間、担当者間、会社間においては、ゼロリスクを追究しすぎるとギクシャクする。「信用していないのか」「じゃあかってにしろ」的な関係になってしまう場合もある。それがまた大きなリスクとなる。システムに対するリスクと人間に関するリスクはマネージメントのポリシーが異なる。

虻蜂(あぶはち)取らず

  虻蜂(あぶはち)取らず ある大臣と役人との間でつかわれた言葉だ。私は、数十年生きてきたが聞いたことも使ったこともなかった言葉だ。 興味があったので由来を検索してみた。 場所は、蜘蛛の巣でおこった。主役は当然蜘蛛だ。蜘蛛の巣に 虻と蜂がかかった。蜘蛛はもがく 虻と蜂の間を右往左往して結局両方取り逃がしてしまう。という話だ。同様の内容の故事はあるがこの例えは、欲を出して結果を出せない的要素が強調されているようだ。 蛇足だが、虻も蜂も似ている。虻は刺さないが蜂は刺す。こういうことが関連するのかな。と初めて聞いたときはそう思った。まったく関係なかった。(笑)

志を貫くこと

 周囲の評価や環境の変化、よって志を自ら閉ざしてしまうことはもったいない。私の例で恐縮であるが、良い話を聴いたことがない。不徳の致すところかもしれないと反省はするが。かといって外部評価がすべてではないしコロナ禍のように予測もしない逆境もある。自分を厳しく戒める、自己評価することは有用であるが、外部評価だけによって方向を決めてしまうのは早計だ。もちろん外部評価は意見として受け入れることも大切であるが。 同プロジェクトに新しく参画した若手に仕事を説明して任せた。その返しにXXさんはこの仕事のどれだけ担当してくれるのですか?平たくいえば半分やってね。的な話だ。ジェネレーションギャップを感じた。