ビットコイン・マイニングの難易度、どう調節されている?
ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第10回。
まずサトシのメールの前に、本連載の元になっている書籍『ビットコイン バイブル:サトシナカモトとは何者か?』の著者フィル・シャンパーニュ氏の解説も掲載する。
フィル・シャンパーニュ氏の解説
最初の回答では、サトシが二重支払と確認作業について答えている。
1つ目の質問に関する回答では、プルーフ・オブ・ワークの難易度の調節の問題で、ブロック間の実際の所要時間を基に、一ブロック当たり10分かかるようネットワークで調節される*1 点を述べている。
第2章ではプルーフ・オブ・ワークを宝くじになぞらえた*2。ある十六進法の最大数が設定され、この数字を下回る数を生成するのが採掘者のプルーフ・オブ・ワークである。目標の数字はビットコインシステムの方でランダムに生成される。この最大値を下回るハッシュ出力値を最初に得た採掘者が「勝者」となって、そのブロックを進める権利を獲得し、取引手数料がブロック当たりの報酬25BTC*3 とともに贈られる。
最大値に選ばれる値により、プルーフ・オブ・ワークの難易度が決まる。値が大きければ、採掘者のハッシュ出力値がそれを下回る確率は高くなり、値が小さければ、下回る確率が下がる。
最後の質問は、ビットコインの機能ではないが、取引のスピードに関するものである。銀行小切手の不渡返還やクレジットカードの入金取消は、実行に数日から数週間かかるのに対し、ビットコインでは、取引を完全に不可逆的な形で、高いレベルの信頼性を保証しつつ有効化するのに60分程度かかる*4。
【訳注】
*1 この調整の為の採掘の難しさのことを採掘難易度(difficulty)という。
*2 原著の第2章では以下の図でプルーフ・オブ・ワークが解説されている。
*3 2022年4月現在は6.25BTC。
*4 ビットコインは1時間程度で取引が完全に確定(取り消せない)するが、クレジットカードや小切手は確定するまでもっと時間がかかる、という指摘をしている。
サトシ・ナカモト 2008年11月11日 火曜日 06時30分22秒
それでは2008年11月11日 6時30分22秒のサトシのメールをみていこう。
========================
Re:ビットコイン ピア・ツー・ピア 電子キャッシュ 論文
サトシ・ナカモト 2008年11月11日 火曜日 06時30分22秒 -0800
(注:>> <<で囲った斜体部分は、サトシ以外の者の質問を指す)
James A. Donald は書きました:
>>では、競争に敗れたコインはどうなりますか?
二番目の人がコインを失うとしたら、ちょっと残酷です。<<
同一の取引に多数の二重支払が発生すると、一つのみが有効になります。
受取人は有効と分かるまで一時間*5程度待つ必要があります。それまでにネットワークでは、起こりうる二重支払の問題を解決します。
二重支払を受領して無効になった人は、そもそも無効分を受け取れるとは考えていません*6。ソフトウェア上では取引の表示が「未確認(unconfirmed)」から「無効(invalid)」に変わります。必要に応じて、ユーザーインターフェース上では、取引がブロックチェーン内部の十分な深さになるまで(1時間程度かかる)隠す設定があります。
説明がわかりにくかったらすみません。ブロック生成の間隔はおよそ10分です。
ブロックには作成時刻が書き込まれています。間隔が36時間以上離れていれば、他のノードはその分は作業しません。直近の6×24×30ブロックの間隔が15日以下なら*7、ブロックの生成が速すぎることになり、プルーフ・オブ・ワークの難易度が二倍に上がります。全員が同一のチェーンデータで同一の計算を行うので、チェーン内の同一のリンクに対して全員が同じ結果を得ます。
>>送金者が取引の有効性を確信するタイミングは、ブランチ競争が決着するタイミングではなく、取引がネットワークに公開されるタイミングとしたいです。<<
すぐに取引を確定させる機能はありませんが、既存のシステムに比べると取引の確定はずっと速いです。紙の小切手の不渡返還は一週間から二週間か、それ以上かかります。クレジットカードの取引の異議申立期間は60日後から180日後までです。この時間が経過するまで、紙やクレジットカードの取引は確定しません。しかし、ビットコインの取引が不可逆化されるにはわずか一時間から二時間しか要しません。
作業中以外の取引をノードが全て無視しても、逆の結果になることはありません。
取引手数料に基づくインセンティブ・システムについての説明を最近投稿しましたが、そのシステムでは、受信する全ての取引を編入しようとするインセンティブがノードには働きます。
サトシ・ナカモト
暗号学メーリングリスト
========================
【訳注】
*5 約10分で1個ブロックが作られるので、1時間で約6つのブロックが作られる。自分のトランザクションを送信してから6つのブロックが生成されたら、その内容が覆ることは確率的にほぼ無いと計算できるので、1時間(6 confirmation)が取引が有効となる時間の基準とされている。
*6 6 confirmation になるまではビットコインを受領したものとは考えていない、という意味だと思われる。
*7 6×24×30×10 = 43200分 = 30日で本来生成すべきものを、15日で生成すると、倍早いことになる。
解説
二重支払い、採掘難易度、取引の承認についてサトシが解説をしています。
二重支払いに関しては以前も説明したので省略します。
採掘難易度はビットコインの供給を抑える(インフレを防ぐ)仕組みです。これにより、新規通貨の発行は約10分に1回のペースに調整されます。ただ実際には、ビットコインは2022年4月現在までかなりデフレしているので、もう少し発行間隔が短くても良かったのではないかと個人的には思います(後発のイーサリアムは15秒でブロック生成が完了し、極めて迅速です)。
最後の取引の承認に関しても、あまりメリットとして語られることはありません。決済が確定するまで60分かかるのは、実用に耐えないからです。クレジットカードのように、確定が遅くても取り消される可能性が低い決済手段の方が一般には広く普及しています。この欠点を無くすために、後にLightning Network という技術が開発されましたが、利用に関する敷居が高く、現在はまだ幅広い普及には至っていません。
小宮自由
Header Image/iStock:Nastco
Source: https://www.neweconomy.jp/features/sato/218908