本文へ移動

ビットコイン

ビットコインはピアツーピアのプロトコル、ネットワーク、台帳システムであり、そのネイティブ単位は UTXO の支出条件、プルーフ・オブ・ワークによる順序付け、フルノードによる独立した検証によって管理されます。

更新日

教育目的の情報です。ビットコインの承認は確率的であり、取引や鍵は紛失・盗難の可能性があります。また、プロトコル上の有効性は、価格、流動性、プライバシー、カストディアンの支払能力を保証しません。

直接の答え

ビットコインは、オープンソースのピアツーピア・プロトコル、ネットワーク、台帳システムです。BTC はそのネイティブ単位で、1 BTC = 100,000,000 satoshis です。台帳は口座残高ではなく、支出条件が設定された未使用トランザクション出力(UTXOs)を記録します。ウォレットは鍵やディスクリプターを管理し、管理下の出力を検索して取引を作成し、支出条件に必要な署名やスクリプトを生成します。コインそのものがウォレット内に入っているわけではありません。

マイナーは取引を選択し、プルーフ・オブ・ワークのブロックを提案します。フルノードは、取引スクリプト、未使用の入力、価値の保存、ブロックウェイト、プルーフ・オブ・ワーク、coinbase の上限を独立して検証します。マイナーは無効な署名や超過した補助金を検証ノードに受け入れさせることはできませんが、ハッシュパワーの集中は取引の検閲や、有効な直近履歴の再編を試みる余地を生みます。

アクティブチェーンは、そのノードが認識する累積作業量最大の有効なチェーンです。取引が埋まる深さは再編リスクを下げますが、決定論的なファイナリティを生みません。ビットコインのプロトコル上の有効性、発行スケジュール、カストディ管理は、市場価格、法的取扱い、取引所の支払能力、「デジタルゴールド」という物語とは別の問題です。

1
作成

ウォレットが宛先、金額、手数料、使用済み入力や nonce などのリプレイ防止情報を指定します。

仕組み

  1. ネットワーク、ソフトウェア、ルールセット、ノードまたはウォレットの信頼モデル、カストディ形態、受取人が金額に応じて定める承認方針を確定します。
  2. 宛先ネットワーク、アドレスまたはロックスクリプトと金額を確認し、想定した鍵またはスクリプトパスで管理される、成熟済みで使用可能な UTXOs を選びます。
  3. 入力、受取人の出力、任意のお釣り出力、手数料を整数のサトシ単位で作成します。fee = sum(inputs) - sum(outputs) を確認し、ウェイト、仮想サイズ、sat/vB の手数料率を見積もります。
  4. 署名環境で支出条件を満たす前に、すべての出力、金額、手数料、シーケンス、ロックタイム、置換可能性に関する方針を確認します。
  5. 選択したピアまたは RPC からブロードキャストします。ローカル検証、メンプール受入れ、リレー、置換方針と、コンセンサス上の有効性および最終的な採掘を区別します。
  6. マイナーが候補ブロックを作成し、フルノードは有効なプルーフ・オブ・ワークのブロックだけを受け入れ、累積作業量最大の有効なチェーンに従います。収録高、承認数、競合、再編を追跡します。
  7. 受取人のリスク基準を適用したうえで、生成された UTXOs、お釣り、手数料を照合します。バックアップとカストディの証跡を保護し、プライバシー漏洩を監視し、ウォレットとノードのルールを最新に保ちます。

各ノードのメンプールはローカル方針に基づくもので、世界共通のコンセンサス・キューではありません。有効な取引でもリレーされない、または採掘されない場合があります。手数料は主として取引のウェイト、手数料率、ブロックスペース需要で決まり、送金額では決まりません。お釣りは通常の出力であり、プロトコル固有のフィールドでも追加手数料でもありません。

発行はブロックの coinbase 取引を通じて行われます。現行ルールでは補助金は 210,000 blocks ごとに半減し、高さ 840,000 以降は 1 ブロック当たり 3.125 BTC と取引手数料です。Coinbase 出力は使用するまでに 100 blocks の成熟期間を必要とします。一般にいわれる 2,100 万枚は現行スケジュールによる漸近的な上限であり、現在の流通量でも価格保証でもありません。

  • UTXO の照合。 1 つの入力は 0.30500000 BTC = 30,500,000 sat です。ウォレットは 20,000,000 sat の支払出力と 10,480,000 sat のお釣り出力を作成します。手数料は 30,500,000 - 20,000,000 - 10,480,000 = 20,000 sat = 0.00020000 BTC です。250 vB なら、手数料率は 20,000 / 250 = 80 sat/vB です。お釣りは別の手数料ではありません。
  • 手数料率への感応度。 同じ例示取引が 141 vB の場合、計算上の費用はまず 141 x 12 = 1,692 sat となり、これは 12 sat/vB に相当します。引き上げ後は 141 x 40 = 5,640 sat、つまり 40 sat/vB です。0.01 BTC ではなく 1 BTC を送ること自体はサイズを変えませんが、コイン選択、スクリプト、出力数はサイズを変え得ます。
  • 承認の深さ。 高さ 900,000 で収録された取引には 1 confirmation があり、この時点の先端も 900,000 です。その後、900,005 - 900,000 + 1 = 6 confirmations と計算される時点の先端は 900,005 です。新たな最良作業量チェーンが取引を維持し、先端が 900,003 なら深さは 4 です。置換チェーンに取引がなければ、未承認または競合状態に戻ります。
  • Coinbase の価値。 4 回の半減後の補助金は 50 / 2^4 = 3.125 BTC です。収録した取引手数料の合計が 0.42 BTC なら、coinbase 出力に許される価値は 3.125 + 0.42 = 3.545 BTC です。新規発行は補助金部分だけで、手数料部分は既存のサトシの移転です。この出力にも coinbase の成熟期間が適用されます。

リスク

  • ネットワーク、アドレス、スクリプト、金額を誤る。
  • シード、秘密鍵、復旧データを失う。
  • フィッシングやソーシャルエンジニアリングで鍵を盗まれる。
  • ウォレット、署名デバイス、ファームウェア、サプライチェーンが悪意を持つ。
  • クリップボードや表示装置が宛先をすり替える。
  • お釣り出力またはコイン選択を誤る。
  • 仮想サイズ、手数料率、サトシの単位を誤算する。
  • ダストまたは非標準ポリシーでリレーされない。
  • ローカルメンプールが取引を拒否、削除、または伝播しない。
  • 未承認の競合または置換により受入れが無効になる。
  • 直近ブロックの再編で承認の深さが減る。
  • ハッシュパワー集中により検閲または再編が試みられる。
  • マイニングプール集中またはネットワーク分断で収録が遅れる。
  • ソフトウェア障害またはコンセンサス分裂で見解が食い違う。
  • アドレス再利用やお釣り推定で公開活動が結び付く。
  • IP メタデータ、エクリプス攻撃、信頼できないサーバーがウォレットを誤認させる。
  • カストディアンの破綻、凍結、出金停止で資産にアクセスできない。
  • 価格、流動性、レバレッジ、為替の変動で損失が生じる。
  • 法律、税務、報告上の取扱いが変わる。
  • バックアップ、相続、強要対策、災害復旧が失敗する。

よくある誤解

  • ウォレットやアドレスに BTC の口座残高が入っている。 ウォレットソフトウェアは使用可能な UTXOs から残高表示を導きます。取引所残高はカストディアンに対する債権です。
  • メンプール受入れはコンセンサス承認を意味する。 メンプールはローカル方針を使い、ブロックへの収録は別の事象です。
  • 6 承認なら絶対的なファイナリティがある。 深さは確率的な再編リスクを減らすだけで、必要な深さは受取人と状況によって異なります。
  • マイナーは有効な BTC を自由に作成または使用できる。 フルノードがスクリプト、未使用入力、補助金上限を強制します。マイナーに可能なのは検閲、順序付け、再編の試行です。
  • ビットコインは匿名であり、自己管理なら自動的に安全である。 台帳は公開された仮名制であり、鍵管理、バックアップ、取引確認は利用者の責任です。

関連トピック

出典

ナビゲーション

Wiki を検索...