ビットコインの仕組みの基礎
副題
ビットコインはトランザクションを送信し、台帳として機能するパブリック ブロックチェーンにトランザクションを含めることができます。ビットコインには価値があり、台帳に含まれる取引が合法であることを確信できます。ビットコイン ネットワークの規模により、これらの取引は不正ではないと確信できます。この記事では、分散型ネットワークが独立した主体に、ブロックチェーン上で法的な取引を組織し、作成するようどのように動機づけているかを説明します。
副題
分散型ソフトウェア
コンピュータはメモリと処理能力で構成されています。メモリは保存された情報であり、処理能力は入力を出力に変換する能力です。ソフトウェアは、コンピュータが従うように指示されたルールで構成されます。コンピューターは入力を受け取り、与えられたルールを適用して出力を生成します。
ビットコインもソフトウェアですが、分散型であるため、その性質は私たちが慣れ親しんでいるものとは異なります。私たちがよく知っているソフトウェアのほとんどは、集中ネットワークを使用して機能します。 Facebook とその仕組みについて考えてみましょう。ログインしてアカウントを作成すると、Facebook がユーザー情報の保存に使用する多数のコンピューターの 1 つにあなたの情報がアップロードされます。投稿またはコメントするたびに、この情報がコンピュータに追加されます。 CEO があなたの情報を削除または変更したい場合は、コンピュータの管理者に電話し、あなたの名前を告げ、その情報をどうするかを指示します。 Facebook が中央集権的な企業であるため、これらすべてが可能になります。
私たちがよく知っているほとんどの企業は、集中化された方法で運営されています。 CEO は電話一本でこれらの変更を行うことができるため、会社は効率的に運営できます。この効率性と引き換えに、会社のステークホルダー (従業員、株主、顧客) は、CEO がステークホルダー全員にとって最善のことを行っていると信頼する必要があります。大まかに言えば、企業の CEO は利害関係者の全会一致の同意なしに変更を制定することができ、これにより企業は競争の激しい市場で柔軟に対応することができます。
その反対は分散型グループで、参加者のグループ間の合意を通じて意思決定が行われます。最も純粋な形では、このシステムは利害関係者の願いが常に満たされるため、中央当局への信頼を必要としません。このプロセスは非効率的ですが、モラルハザードが非常に起こりやすい業務には必要です。
コンピューティングの時代により、分散システムが可能になり、光速に近い速度で情報を送信できるようになったことで、分散の要件がそれほど困難ではなくなりました。ソフトウェアは分散化にとって理想的な媒体になります。コンピューティング技術の進歩に伴い、分散化しながらも運用可能であるという新しいアイデアが登場しました。
この契約は実行することで機能し、ソフトウェアはオープンソースであり、誰もがコードのコピーを持っており、どのようにでもコードを変更できます。ただし、ある人が自分のコードを変更しすぎると、他の人のコードと対話できなくなる可能性があります。誰もが自分のコードを自由に変更できますが、従うルールはネットワークの大多数が従うことを選択したものです。これらのルールに従いたくない人は誰でも自分のコードを変更できますが、それは、同じ変更を行った他の人とのみ対話できることを意味します。簡単に言えば、誰かがビットコイン ソフトウェアを変更したい場合は、大多数の参加者に同じことをするよう説得する必要があります。それができない場合、ビットコインは変化しません。
副題
ビットコインネットワーク
ノードは、ルーティング、検証、マイニングという 3 つの主要な機能を通じてネットワークに参加します。ノードはトランザクションを受信すると、送信者が使用できる十分なビットコインを持っているかどうか、それらのビットコインを他の場所で使用したかどうか、送信者の署名がアドレスと一致するかどうかをチェックしてトランザクションを検証します。すべてのチェックが成功した場合、ノードはトランザクションを他のノードに転送しますが、失敗した場合はそのトランザクションを忘れます。マイニングノードは検証とルーティングを行うだけでなく、トランザクションをストレージプールに追加し、計算パズル (プルーフオブワーク) を解くことでストレージプールのコピーをブロックチェーンに記録しようとします。
副題
採掘プロセス
新しいブロックをマイニングしてブロックチェーンに含めるには、マイニング ノードがプルーフ オブ ワーク (PoW) の計算パズルを解く必要があります。プルーフ・オブ・ワークのアルゴリズムは、目標難易度を下回るブロック ヘッダー エントリのハッシュを生成することで解決されます。ハッシュ関数の出力はランダムであるため、十分に低い数値を生成する唯一の方法は推測を続けることです。難易度目標は、マイナーがプルーフ・オブ・ワーク・アルゴリズムを解決できる可能性を増減するために使用されます。目標の難易度が低いほど、可能な答えの範囲が狭くなるため、解くのは難しくなります。
前のブロック ヘッダーを確認してください。
ブロックヘッダーにはタイムスタンプ、難易度ターゲット、ノンス値が含まれます。
ブロックヘッダーのハッシュ =
ハッシュ関数 (マークル ルート + 前のブロック ハッシュ + バージョン + タイムスタンプ + 難易度ターゲット + ノンス)
マイナーは、目標難易度を下回るブロック ヘッダー ハッシュが生成されるまでノンス フィールドを更新することで、プルーフ オブ ワークの計算パズルを解くことを競います。
副題
マイナーが解決策を見つけると、すぐにそれをピア (つまり、接続しているノード) にブロードキャストします。次に、これらのノードは解決策が正しいことを検証し、正しい場合はその解決策をピアにブロードキャストします。以下のグラフは、ブロックチェーンの 95% が平均約 40 秒以内にこれを実現することを示しています。
画像の説明
ブロック伝播時間の確率密度関数
ノードはこの新しいブロックを受け入れ、ブロックチェーンのコピーに組み込みます。マイナーはこの新しいブロックを受け入れ、次のブロックのマイニングを開始し、最新のブロックをブロックチェーンに追加して、プロセスを最初からやり直します。このサイクルは平均して 10 分ごとに発生し、このサイクルが確実に達成されるように目標難易度が自動的に調整されます。
平均して 10 分ごとにブロックを見つけるように難易度目標が調整されているため、マイナーは平均して 10 分ごとにブロックのマイニングに成功するとブロック報酬を受け取ることができます。ブロック報酬はトランザクション時にノードによって支払われる手数料で構成され、コインベースのトランザクションによりさらに新しいビットコインが作成されます。
ブロック報酬 = コインベースのトランザクション + ブロック手数料
2008 年、コインベースのトランザクションでは 50 ビットコインが付与され、2140 年に最大供給量の 2,100 万ビットコインに達するまで、報酬は 4 年ごとに半分に減らされました。
次のブロックが見つかるとすぐにチェーンは長くなり、短いチェーンのノードは最長のチェーンのマイニングに切り替わります。ノードは最長連鎖ルールに従い、時間の経過とともにすべての不一致を解決します。
副題
インセンティブのメカニズム - 作業証明 (POW) アルゴリズム
答えるべき重要な質問: 10 分ごとにマイナーのブロックをランダムに選択してはどうでしょうか?この問題を解決するために、なぜ私たちはコンピュータの実行にこれだけのエネルギーを費やしているのでしょうか?
PoW がデジタル不足を生み出すことはわかっていますが、セキュリティという別の目的もあります。ブロックチェーンは、アルゴリズムを解決する人によって拡張されます。マイナーがそれを解決すると、それらの不正なトランザクションを含めることができますが、これらの不正なトランザクションは検証に合格しないため、他のノードによって拒否されます。ブロックチェーンを不正なトランザクションで拡張する場合は、志を同じくするマイナーによって拡張する必要があり、それにはネットワーク全体の計算能力の 50% 以上が必要になります。したがって、マイニングのコストが高ければ高いほど、悪意のある者がマイニングするのは難しくなります。
また、そうすることは悪役にとっても最善の利益ではありません。サトシ・ナカモトの言葉では次のようになります。
彼は、システムの有効性と自分の富を損なうよりも、他の全員を合わせたよりも多くのビットコインを獲得するのに有利なルールに従って行動する方が有益であると気付くはずです。
Proof of Work アルゴリズムはテストのようなものです。ビットコインはネットワークのセキュリティを通じて信頼性を獲得します。その安全性は、確実に存在することが確認されているビットコインが 2,100 万枚だけであるという事実にあります。それを確実なものにするのは採掘コストです。ビットコイン ネットワークを保護するということは、モラル ハザードのないトラストレスで分散型のお金の媒体を保護することを意味します。通貨制度は経済の基盤であり、安全保障が最も重要です。
副題
ビットコインのルール

これらのルールは、ネットワーク参加者が喜んで受け入れるため、合意の上で存在します。法定通貨システムでは、ルールはコンセンサスを通じてではなく、法定通貨(法定通貨という言葉の定義)を通じて生まれます。私たちは金融政策については投票しません。代わりに、金融政策は政治家によって影響を受け、制御されます。

2019年4月の連邦準備理事会会議
副題
人々はビットコインの優れた金銭的性質のためにビットコインを購入し、それが価格を上昇させます。価格の上昇により、より多くのマイナーが集まり、ネットワークのコンピューティング能力が拡大し、ネットワークの安全性が高まり、その結果、価値が高まります。これにより、時間の経過とともに価格がさらに上昇します。ビットコインの価格が上昇すると、参加者はビットコインの価格が上昇し続けると信じるという正のフィードバックループが生まれます。これは、価値基準に適用されるネットワーク効果の力です。このフィードバック ループは、ビットコインの金銭的特性 (ルールによって決定される) を前提としています。なぜなら、これらの特性がなければ、人々はそもそもビットコインについて投機しないからです。
副題
ルールがどう変わるのか
ビットコイン ソフトウェアは Bitcoin Core と呼ばれ、bitcoin.org からダウンロードできます。これは最も広く使用されているビットコイン ソフトウェアですが、他の有効なビットコイン ソフトウェア バージョンも存在します。他のバージョンは、ビットコイン ネットワークに参加するために、ビットコイン コアとの最低限の類似性を維持する必要があります。この最小レベルでは、ノードは他のノードと同じ方法でトランザクションとブロックの有効性をチェックする必要があります。そうでない場合、作成および転送されるトランザクション/ブロックは他のノードによって受け入れられない可能性が高く、またその逆も同様です。
ルールを変更するには、次の 3 つの主要な利害関係者グループの間で合意が得られる必要があります。
各グループは何らかの形で権限を持っていますが、完全に制御できるグループはないことがわかります。実際にコードを更新できる (コミット権限と呼ばれる) 少数の開発者グループが存在する一方で、コミュニティの他のメンバーが変更を公的に提案していることに注意してください。
誰かがコミットアクセス権を持つ少数の開発者を制御しようとした場合はどうなるでしょうか?彼らは、コミュニティのメンバーが自発的にダウンロードできる新しいソフトウェアを作成する権限を持っていますが、ダウンロードを強制することはできません。ソフトウェアへのすべての変更はコミュニティ メンバーによって精査され、オープンソースであるため、変更はすぐに発見されます。
ビットコインルールはコミュニティによって作成され、コミット権限を持つ開発者によって実装されます。ノード (マイナー) は、ネットワークがそれを受け入れるために更新されたソフトウェアをダウンロードする必要があります。そして、ソフトウェアの変更を重要視するには、投資家がビットコインを保有し、購入し続ける必要がある。
ビットコインのルール変更には主要な利害関係者グループの合意が必要だ。
私たちの法定金融システムは、高度に集中化されたグループによって管理されています。ビットコイン システムの民主主義に従うか、現在の法定通貨システムの絶えず変化するルールに従うかを選択できます。ビットコインシステムを採用する人が増えるにつれて、この決定はより容易になるでしょう。
原作:エリック・ヤクス
編集: ビバブ


