ブロックチェーンを理解するための3つのポイント

ブロックチェーンという言葉は、何度も耳にしたことはあると思いますし、興味を持っている人も多いのではないかと思います。 しかし、今までのシステムと大きく変わっている点が多いため、なかなかハードルが高いと思っている方もいるのではないでしょうか?

大丈夫です!今までのシステムと違う点ももちろんありますが、共通点ももちろん多くあります。
一見難しそうに見えるブロックチェーンを、今回はWeb技術者に馴染みのある点から紹介します!

ハッシュ関数とは?

Webでは、パスワードの暗号化の際によく使われている技術になります。ハッシュ関数という計算方法を用いてデータを暗号化することでデータの長さを短くでき、容量も少なくすることが出来ます。ブロックチェーンのハッシュ値としては主にSHA-256というハッシュ関数が使われており、1KBや1MBの情報も256ビットの容量に抑えることが出来ます。ハッシュ関数の特徴として

不可逆
固定長

という特徴があります。 不可逆というのは、暗号化された後、戻すのが現時点では不可能ということです。そのため暗号から元のデータを予測できません。

規則性がないというのは例えば
「あ」を暗号化すると「552」
「い」を暗号化すると「006」
「う」を暗号化すると「093」
…というように近いデータ同士でも全く違うものに変換されます。

逆に
「あ」を暗号化すると「001」
「い」を暗号化すると「002」
「う」を暗号化すると「003」
…というように規則的に変化をしてしまうと、「4」とあった時、元のデータは「え」ではないか? と予測できてしまいます。

ただ「あ」を暗号化して「552」が出た場合、何度「あ」を入れ直しても「552」が出てきます。このハッシュ関数を用いることで、セキュリティ面および速度を向上させています。ただし、ハッシュ関数は過去に破られたことがあり、SHA-256も今後破られてしまう可能性が0ではありません。

そうなるとブロックチェーンも危うくなってきてしまいます。様々なセキュリティを破ってしまうと言われている、量子コンピュータの出現や技術の発展には、注視する必要があります。

中央集権型と分散型

仮想通貨によっては、管理者が存在する中央集権型のものもありますが、ビットコインに限って言えば分散型(P2P型)でみんなで管理するというものになっています。

「データの整合性が取れない場合は多数派の方の情報を優先する」というルールが存在するため、どこか攻撃されデータを失ってしまったり、改竄されても、そのほかの人のデータで検証し、少数派のデータは弾くことが出来ます。唯一改竄する方法としては多数派になることです。

そのため、世界中のビットコインの取引をしている人のうち、51%の人が持つデータを改竄しなければ不可能になります。そのため。データの改竄が非常に困難ということがわかります。チェーンが一時的に枝分かれすることはあっても少数派は弾かれてしまいます。

またこのP2Pネットワークには身分証も必要なく誰でも参加することが出来ます。そのためもし規制などがかかってしまったとしても、世界中の誰かがデータを更新する限り、永遠になくならないと言われています。

ナンス(nonce)とマイニング

nonceとはnumber used once(日本語訳すると「1度きり使われる数」)を略してできた言葉です。主に暗号通信の場で使用される使い捨てのランダムな32ビットの数値(2進数で表す32桁の数字)のことを指します。

マイニングとはビットコインの新規発行するために必要なコンピュータを用いた膨大な量の計算のことで、その計算にnonceを使用します。新規発行するときにブロックも生成されるため、報酬の支払いもこの時に確定します。

nonceはハッシュ値というものを見つけるために用いられます。ある条件のハッシュ値を最も早く見つけた人のみがビットコインを新規発行でき、報酬を受け取れます。2番目の人には何もありません。手順としてはnonceにハッシュ関数を用いてハッシュ値を出す。その値がある条件以下になっていれば採掘成功。なっていなければ、また繰り返すことで、ハッシュ値を探します。

ちなみに現在では非常に競争が激化しており、非常にハッシュ値を探すのは難しくなっています。そのためマイニングには、それ専用の計算を行うコンピュータを用意する必要があります。先行投資(専用コンピュータ)を行い、新たなコインを作り、流通するという流れでマイニングが行われます。この一連の流れが、採掘道具を用意し、金を掘り出し、金が流通するという流れと非常に似ていることから、ハッシュ値を見つける作業はマイニング(採掘)と呼ばれます。

ほかの仮想通貨との簡単な違いとしては、ビットコインとリップルを比べてみると、ビットコインは中央管理者なし(分散型)、リップルは中央管理者あり(中央集権型)に加え、開発目的も大きく異なります。
ビットコインはもともと決済システム、リップルは送金システムとして開発されました。 ビットコインの場合、銀行・政府など信頼性の高い発行元(中央機関)が存在しなくとも、通貨の役割を果たすことが出来る決済システム、またはデジタル通貨として開発されました。

対してリップルは銀行などの金融機関と提携し既存の海外送金を手数料が少なく、素早い送金システムを実現するために開発されました。これらの違いから、中央管理者の有無など違いが生まれたのでしょう。
また、イーサリアムとも比べてみると、ビットコインは「誰が誰にいつ送金した」ほどしかデータがないですが、イーサリアムはイーサリアム上でプログラミング・アプリ作成が可能だったり非常にアレンジができるものになっています。

このようにブロックチェーンは多くの特徴を持っています。

・ブロックがチェーンのようにつながっているため、1つのトランザクションを改竄しようとすると、そこから繋がるブロックのnonceを再度探さなくてはならない。
・暗号の解読が非常に困難
・分散型管理のため、一斉に利用者全体の51%以上のマンパワーがあれば不正が可能
・マイニングに報酬を出すことで発展に利用者を巻き込んだ
・登録が簡単

そのため多くの人が参加し、発展・報酬のために尽力し、より信頼性が高く、大きな市場へと成長したのだと思います。やはりそもそも多くの人が参加しなければ成長しないでしょうし、お金の取引なので安心できなければ使えません。
また、利用者が無料では協力しないので報酬もうまく設定する。すべてを合わせて、便利さ・安心・発展性を実現できたシステムがブロックチェーンなのではないでしょうか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です