This article has been translated from English to Japanese.

ビットコインにおけるマイニングとは?

「マイニング」とは、取引を承認しブロックチェーンに追加するプロセスである。

マイニングに参加するノードはマイナーと呼ばれ、ビットコイン・ネットワークの重要な一部を構成している。マイニングのプロセスとして、 新しいビットコイン が作成され、マイナーに「支払われる」。

マイニングについて理解を深めるには、まずマイニングがなければビットコインがどのように機能するかを理解するのが良いだろう。

以下がその仕組みである。

例えば、これがファイルだとしよう。

File called a blockchain

このファイルはコンピュータに保存されている。

このファイルをワード文書のようなものと考えてほしい。

そして、このファイルを「ブロックチェーン」と呼ぶことにしよう。

ブロックチェーンは「ブロック」の分散型台帳である。

ブロックチェーンについては、この後のレッスンでさらに詳しく説明するが、今は、各ブロックがトランザクションの束を含んでいるとだけ理解しておいてほしい。

これがビットコインネットワークだと想像してみよう。

Imagine this is the Bitcoin Network.

これらはすべてインターネットでつながったコンピュータであり、ビットコインのソフトウェアを実行している。

これらはすべて同じファイルのコピーを共有しており、それがブロックチェーンである。

ビットコインを誰かに送金したり、ビットコインの所有権を誰かに移転したりしたい場合、取引を開始することになる。

Bitcoin Mining: Send Bitcoin

取引は単なるデータ行(紫色)である。

Bitcoin transaction is a line of data

トランザクションを開始すると、ビットコインネットワークのノードに送信される

Bitcon transaction gets sent to a node

もしビットコインにマイニングがなかった場合、この処理は、共有ファイルであるブロックチェーンにこのコンピュータが直接トランザクションを記録するという方法で行われる。

Bitcoin transaction written straight to blockchain

その後、そのコンピュータ接続されている他のノードにその取引を転送し、それらのノードはそれぞれのファイルに取引データを書き込む

それらのノードは、接続されているすべてのノードにその取引を転送し、それぞれのファイルに取引データを書き込む。

以下同様...
Bitcoin nodes record transaction directly into their blockchain

このプロセスは、トランザクションがビットコインネットワーク全体に伝搬するまで続く。

そして、すべてのノードがそれぞれのファイルに書き込む。

これが、共有ファイル、つまり取引の共有「台帳」、あるいは「分散型台帳」を持つ簡単な方法である。

Bitcoin ansaction has propagated the entire network

現在、すべてのコンピュータに紫色の線(取引)がファイル(ブロックチェーン)保存されていることに注目してほしい。

すべてのノードがファイルのコピーを更新すると、 ビットコインの所有権が一人から別の人へと変更される

All Bitcoin nodes have updated their copy of the file.

これがビットコインのシンプルな取引の例である。おめでとう!

しかし、問題がある...

この方法でビットコインを取引する場合、解決すべき問題がある。

例えば、あなたがビットコインをこの紫色の男に売りたいとしよう。

そこで、紫色の男にビットコインを送るための取引を作成する。

Send bitcoi to purple dude

そして、この取引をビットコインネットワークのこちら側のノードに送信する。

Send Bitcoin transaction to the node on this side of the network.

しかし、あなたが怪しいタイプで、どうしようもないので、怪しいことをしようとしているとしよう。

ビットコインはネットワークでつながったコンピューターで管理されているため、同じビットコインを異なる人物(右側の赤い人物)に送る2つ目の取引を作成する。

Send same bitcoin to red dude

そして、この赤い男との取引をネットワーク上の別のノードに送信する。

何だって?

あなたは同じビットコインを消費しようとする2つの別々の取引をネットワークに挿入したことになる

なぜなら、これは世界中のさまざまな場所にあるコンピューターのネットワークだからだ。

なんて卑劣なヤツなんだ。おめでとう!君はとんでもなく怪しい!

Send Bitcoin transaction to another node in network

さて、これから何が起こるかというと、この2つの取引がネットワーク全体に広がり始める。

一部のノードは紫色のトランザクション を受け取る。他のノードは赤色のトランザクション を受け取る。

Different bitcoin transactions propogate network

下の図では、あるコンピュータが赤いトランザクション を送信しようとした場合、このコンピュータはすでに紫色のトランザクション を受信しており、このビットコインを使用して支出しているので、それを拒否する

これは良いことだが、ここに問題がある...

Bitcoin node rejects transaction
ネットワーク上に矛盾する2つのトランザクションが存在することになる。

ネットワーク上のすべてのコンピュータは、同じファイルを共有する必要があることを忘れないでほしい。

紫色のトランザクションの ファイルを保持できないコンピュータもあれば、赤色のトランザクションの ファイルを保持できるコンピュータもある。いずれにしても、いずれかのファイルを選択する必要がある。

すべてのコンピュータは、赤いトランザクション または紫のトランザクションの どちらかを選択しなければならない。

もしビットコインがこのように、取引がファイルに直接書き込まれるように動作するならば、二重支払い問題が生じるだろう。

Conflicting transactions on Bitcoin network

ビットコインはこの問題を解決している!

このトピックの動画形式に興味がある方は、Learn Me a Bitcoinの素晴らしいYouTube動画をチェックしてほしい。このレッスンの一部は、この動画からインスピレーションを得ている。

では、どの取引が正当なものであるかについて、コンピュータはどのようにして合意に至るのだろうか

マイニングが解決策となる。

ビットコインは、共有「ファイル」であるブロックチェーンに矛盾するトランザクションが書き込まれるという問題を解決している。

そして、ここでマイニングが登場する。