ASIC Feature
Pocket

ビットコインのブロックチェーンでは、ブロック作成時にプルーフ・オブ・ワークという作業を行うことにより、改ざんに対する対策しています。今、このプルーフ・オブ・ワークでは大量のコンピュータリソースが必要となるため、計算力を高めた「ASIC」という物が多く使われています。今回はこの「ASIC」について紹介します。

 

ASICとは

ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)は計算を行うICの一種です。ブロックチェーンに限って使われるものではなく、あらゆる分野の電子機器で使われているものです。このASICはPCなどでコードを記述することで、「特定の用途」向けに最適化した計算・処理機能をプログラムすることでで、「特定の用途」専用の集積回路が生成されます。その集積回路を量産したものが、ASICです。専用のASICを作ることにより、汎用のCPUや、グラフィック処理を行うGPUで計算するより、高速化できるというメリットがあります。そして、その「特定の用途」として、ビットコインのプルーフ・オブ・ワークに対して最適化されたASICが開発されました。

画像:ASIC

ASICに至るまで

ビットコインのプルーフ・オブ・ワークは、単純な計算の繰り返しを行います。1つ前のブロックのハッシュ値と取引データに、32ビットの値を加た値のハッシュ値の計算を繰り返します。計算が終わる条件は、ターゲット値より小さくなるまでで、この32ビットの値を変えながら、何度も何度も計算を繰り返します。そして、見つかった値が「ナンス(Nonce)」と呼ばれます。このナンスを見つける作業がマイニングと呼ばれています。このマイニングを行うマイナーたちは、誰よりも早くナンスを見つけようと、日々計算を行うだけでなく、その能力改善を行っています。

ブロックチェーンの健全性を支えるマイニング

ビットコインが始まったされた当初は、今よりマイナーの数や、マイナーの持つ計算能力が少なかったので、マイニングの採掘難易度が高くありませんでした。採掘難易度は投入されている計算パワーを表す指標でもあるので、当時は今ほどの計算パワーは必要なかったということです。

マイニングの難易度を示す指標「採掘難易度」

従ってその当時は、私たちが一般的に使用しているコンピューターに搭載されているCPUを使用してマイニングを行っていました。その時はCPUだけの力でもナンスを見つけ、報酬を受け取る事が出来ました。

しかし、マイニングに参加する者が増えてくると、採掘難易度が上がり、多くの計算パワーを投じないとナンスを見つけられなくなりました。そこで、より高い計算処理能力を得ようと、CPUより並列計算に強いGPU(Graphics Processing Unit)が利用されるようになりました。もともとGPUはグラフィックスの処理をするために作成されたもので、グラフィックスの処理に求められる並列計算処理能力がCPUに比べて高く、同じ計算を並列して行うマイニングにも適しているとされて使用されていました。

ところがビットコインの知名度が上がり、さらに多くのマイナーが参加し、ナンスを見つけるにはより多くの計算パワーが必要になってきました。そこでマイニング専用のツールとしてマイニングに特化したASICが開発されました。さらに現在では、ビットコインのマイニングには専用のASICを何台も束ねたマシンを何千台も使用している「ファーム」と呼ばれる組織がマイニングを主導しています。これでは、一般的なコンピュータで勝つことはなかなか難しいです。つまりどれだけマイニングでお金を稼げるかは、このASICを多く用意して、これを動かすコストである電気代をいかに安く抑えて動かせるどうかが重要となります。

 

ASICBoost

ASICBoostはビットコインのプルーフ・オブ・ワークで使用されるハッシュ関数「SHA-256」のアルゴリズムの特徴を上手くハックすることによって、計算コストを2,3割節約することができるアルゴリズムです。このアルゴリズムは、Segwitが導入されるとブロックの仕様が変わり、ASICBoostでハックしていた部分が影響を受けてしまい、ASICBoostを採用したASICが使えなくなるというものがありました。

ASICは、計算性能は高いものの、その計算アルゴリズムを柔軟に変更させることは苦手なため、仕様変更により全く使えなくなる可能性を秘めていることが浮き彫りになりました。

ブロックチェーンの暗号技術を支えるハッシュ関数「SHA-256」
ビットコインのブロックチェーンをスケールさせる「Segwit」

画像:ASIC Boost

 

ビットコインゴールド

またASICに関わるもう一つの話題として、ビットコインからハードフォークした新たな通貨である「ビットコインゴールド」も挙げられます。2017年12日に、ビットコインゴールド(BTG)のリリースされました。ビットコインゴールドは10月中にビットコインをハードフォークさせ分岐していました

公式サイトによれば、ビットコインゴールドは、マイニングアルゴリズムを変更することでマイニング参加へのハードルを下げ、より非中央集権的なネットワーク構築をめざしています。ここまで見てきたように、ビットコインのマイニングにはASICの使用が主流となっています。従って新たに参集する個人がマイニングを行って収益を確保することは難しくなっています。一方でビットコインゴールドでは一般の人でも利用可能なGPUによるマイニングが最適となるように設計されました。これによって多くのユーザーのマイニング参加を促します。(また今回のハードフォークでビットコインゴールドのマイニングアルゴリズムは、ビットコインのSHA256からEquihashに変更されています。)パブリックブロックチェーンでは、十分なマイナーがいないとその安全性が確保できません。そこで、フォークなどによって新たに誕生したブロックチェーンは、マイナーが参加しやすい仕様にすることにより、マイナーの確保を行っています。

画像:ビットコインゴールド

 

 

ASICという集積回路を一つとっても、非常に多くの要素が絡んでくることが見て取れます。それと同時に、マイニングのためだけに専用のASICが開発されているという事実も、ビジネスとしての広がりとしてまた驚くべきことです。このように、マイニングを行うデバイスの観点からブロックチェーンを見てみるのもまた一つおもしろいのではないでしょうか。

Pocket

Aram Mine

Gaiax技術マネージャ。研究開発チーム「さきがけ」リーダー。新たな事業のシーズ探しを牽引。2015年11月『イーサリアム(Ethereum)』 デベロッパーカンファレンス in ロンドンに参加しブロックチェーンの持つ可能性に魅入られる。以降ブロックチェーン分野について集中的に取り組む。

Search