挑戦者と証明者

ブロックチェーンでは、挑戦者と証明者のやり取りで、ブロックチェーンを維持するためのブロックを積んでいきます。 このとき、挑戦者に対しては、すぐには解けない「いわゆる計算量を大量に必要とするハッシュ計算」などが課されます。

そして、その解を証明する「証明者」は、挑戦者が解いた解について、すぐにその場で、それが正しいのか、判断する必要があります。 すなわち、挑戦者から解がきたら、すぐにそれが正しいのか、結果を戻さなくてはなりません。

つまり、挑戦者はすぐには解けそうにもない、莫大な計算量を必要とする計算を行う必要があり、 証明者側は、その結果を「すぐに」参照して、その結果が合っていることを証明する必要があります。

よって、ブロックチェーンには、解きにくい上に、証明はその場で簡単にできる課題が必要となります。 仮にでも、簡単に解かれるのなら、沢山の挑戦者が沢山の正解を持ってくるうえに、 報酬のバランスが崩れるだけではなく、ブロック生成時間にも影響を及ぼします。

このブロック生成時間は予め決まっており、 この生成時間については「挑戦者が解くのにかかりそうな問題」を「自動的」に生成していきます。

次に、この生成時間に対する問題の難度については「難易度」と呼ばれておりまして、 「diff」としてブロックエクスプローラなどで「公開」されております。 つまり、この難易度を可変にすることも可能です。

ここで難易度を変えていく場合、はじめは簡単にして、徐々に難しくしていく方法がとられております。 ただし、途中で簡単になる場合もあります。 なぜなら、難易度が高いまま解かれにくくなるとブロックが生成しなくなるためです。

ステークについて

ここまでの方法は「ハッシュの不可逆性」を活用した、ハッシュの小さな値を求める方式によるものです。 このハッシュの計算量は非常に大きく、色々な問題になってきておりますゆえ、他にも色々な方法が出てきております。

例えば「ステーク」です。 これは、所有量に応じてブロック新規生成の権利を獲得できます。

ところで、決まってこの手の話になると、報酬に関することが「先に」出てきます。 しかしながら、あくまで報酬はブロック新規承認の計算に対するものであって、 何もせずに、報酬が入り込んでくる訳ではございません。 つまり、ブロック新規生成とは、一体何の処理をしているのか、ですね。

報酬を受け取るためには、その報酬を含めたブロックを「新規に生成」して、それを承認してもらう必要があります。 そして、その生成されたブロックに、そのブロックが担う「取引に関する処理」が含まれます。

それは、解(nonce)が刻み込まれた「ブロックヘッダ」にてハッシュして、 論理がかみ合った状態で新規ブロックの承認が出るわけです。

実は、この「取引に関する処理自体」は、ブロックチェーンのやり取りの中では非常に重要な位置にありますが、 そこまで重い計算量ではございません。 たしかにトランザクションが多い場合には、そこそこ重い処理にはなりますが、 ハッシュの計算処理に比べたら、それこそ、比較しようがありません。

□ 本ページをご覧いただきました方は、以下のページもよくご覧いただいております。
■ 集計中.....