ドライブチェーンを使用すると、サイドチェーン ノードのオペレーターがマイナーにマイニングの料金を支払うことができるようになります。 PlatoBlockchain データ インテリジェンス。 垂直検索。 あい。

ドライブチェーンにより、サイドチェーンノードのオペレーターは鉱夫に鉱山に支払うことができます。

これは、ビットコインの分野で独学の教育者であり、技術志向のビットコインポッドキャストホストであるShinobiによる意見編集です。

今回は、ドライブチェーンがどのように機能するかを分析して説明します。 それらは最初に2015年に提案されました。これまでに議論されたすべての提案の中で、ドライブチェーンは最も古く、特定の実装の詳細と設計の点で最も具体化されており、BIPに文書化されています 300 & 301。 コンセプトの作成者であるPaulSztorcは、いくつかの主要な設計目標を念頭に置いていました。これは完全に包括的ではありませんが、ここにいくつかあります。

  • 各サイドチェーンを分離して、障害や問題がそれを使用している人にのみ影響するようにします。
  • サイドチェーンごとに新しいフォークを必要とせずに、サイドチェーンをスピンアップできるようにします。
  • 双方向ペグを使用して、サイドチェーンに出入りするビットコインの転送を有効にします。
  • 彼がアルトコインの必要性を時代遅れにすることを望んでいるデザインの自由な実験を可能にしてください。

設計全体には300つの主要な側面があります。そのため、XNUMXつの別個のBIPがあります。 XNUMXつ目はペグメカニズム(BIPXNUMX)で、これにより双方向ペグが機能します。 Sztorcは、ハッシュレートエスクローと呼ばれるものを設計しました。これは、最も基本的な用語では、アモルファスグループとしての鉱夫がすべてのサイドチェーンのコインをまとめて保管できるようにするものです。 XNUMXつ目は、「ブラインド」マージマイニングスキームです。このスキームの目標は、サイドチェーンを検証する必要なしに、ビットコインマイナーがコンセンサスレベルでブロックプロデューサーになることを可能にすることです。 これらの要素は両方とも、双方向のペグメカニズムと、ビットコインマイナーがサイドチェーンのマイニングに参加すると同時に、それがもたらす集中化のリスクを軽減しようとする方法を提供します。

BIP300は、新しいサイドチェーンの提案、新しいサイドチェーンのアクティブ化、バンドルされた一連の引き出しの提案、そのような一連の引き出しの承認、実際の引き出しトランザクションの検証ロジック、および預金トランザクションの検証のロジックを指定します。

ドライブチェーンの提案の下で新しいサイドチェーンをアクティブ化することは、マイナーシグナリングを介してアクティブ化されるソフトフォークのプロセスと非常に似ています。 主な違いは、もちろん、実際にはソフトフォークではないことです。ドライブチェーンのコンセンサスルールをアクティブにする単一のフォークにより、マイナーはいつでも新しいサイドチェーンをアクティブにするように信号を送ることができます。 以内 ドライブチェーンのコンセンサスルール。 新しいサイドチェーンのアクティブ化を提案するには、マイナーは、そのサイドチェーンの一意の識別子、デポジット操作で使用する公開キー、バージョンデータ、人間が読める形式の説明、ソフトウェアクライアントのハッシュを含むOP_RETURNデータをコインベース出力に配置する必要があります。そしてそれのGitHubの歴史(ここにはコンセンサスの強制はなく、人間が参照するためのデータだけです)。

マイナーが新しいサイドチェーンをアクティブ化し、必要なすべてのデータをコインベースに含めることを提案すると、メインチェーンのコンセンサスの観点から、この新しいサイドチェーンを作成するかどうかに関する一種の「マイナーシグナリング」期間になります。 マイナーは特別なフォーマットを使用してコインベースの出力にプロポーザルを含めることができ、他のマイナーは90番目のフォーマットに続いて別の出力を作成してアクティブ化のシグナルを送ることができます。 新しいサイドチェーンの提案では、新しいサイドチェーンの作成を確認するために、難易度のあるブロックのXNUMX%がアクティブ化のシグナルを送る必要があります。 これにより、サイドチェーンを有効にするペグメカニズムが作成されますが、サイドチェーンとメインチェーン間の相互作用はそれよりも微妙です。

この時点で、誰でもコインをサイドチェーンに釘付けにすることができます。 サイドチェーンにペグするには、ユーザーは自分の入力でXNUMXつの入力トランザクションを作成し、サイドチェーンのバランスに対応するUTXOを作成し、XNUMXつの出力ですべてをサイドチェーンに割り当てます。 これにより、サイドチェーンには、ロックされたすべての資金を含む単一のUTXOのみが含まれることが保証されます。 引き出しは、鉱夫の投票によって処理されます。 メインチェーンは、サイドチェーンの誰が何を所有しているかを理解しておらず、メインチェーンは、投票メカニズム内で鉱夫によって承認された撤退を有効と見なします。 このため、撤退プロセスには長い遅延があります。 サイドチェーンから撤退するプロセスには、撤退提案(バンドル)と撤退投票フェーズのXNUMXつのフェーズがあります。 マイナーは、引き出しを提案するために、提案された引き出しトランザクションのハッシュを使用して、コインベーストランザクションでOP_RETURN出力を作成する必要があります。 ただし、このハッシュはsighashと同様に、トランザクション全体ではなく、トランザクションの一部にのみコミットするフラグを立てます。 ドライブチェーンにロックされた資金を表す入力UTXO、または引き出されていないすべてのものを特別なサイドチェーンUTXOに返す出力にはコミットしません。 これは、ドライブチェーンへの入金によって新しいUTXOが作成され、人々がそれを検証するために行ったときに、引き出しトランザクションへのコミットメントが無効になるためです。

ここから、撤退提案の鉱夫投票期間が始まります。 バンドルが提案された後、鉱夫はそれらを承認するかどうかについて投票することができます。 マイニングされる各ブロックにより、そのマイナーは承認カウンターをXNUMXつまたはXNUMXつ増やしたり減らしたりして、何もしないようにすることができます。 これに加えて、いくつかの特定の制限があります。これは、単一のサイドチェーンに複数のバンドルを含めることができるためです。マイナーがサイドチェーンの引き出しバンドルに「はい」(カウンターをXNUMXつ上げる)に投票することを選択した場合、 しなければなりません その特定のサイドチェーンに関連付けられている他のすべてのバンドルに「いいえ」(カウンターをXNUMXつ下げる)に投票します。

これは、誰かが複数のバンドルで出力を持ち、メインチェーンで借りているよりも多くのビットコインを支払う「二重の引き出し」がないことを保証するためです。

一方、鉱夫は、提案されたすべてのバンドルに反対票を投じることもできます。 これは、これらの引き出しを検証する鉱夫(引き出しられるサイドチェーン上で合法的に所有されているコインであることを確認する)が何か無効なことが起こっていることに気付いたというすべての人に対する一種のアラームとして機能するはずです。 この設計の重要なポイントは、マイナーがサイドチェーンで何も検証する必要がないことです。したがって、とにかく選択しない限り、多くのマイナーは検証していないバンドルに賛成する可能性があります。 このアラーム機能は、不正な引き出しが行われていないことを確認するためにバンドルを確認する必要があることを警告するように設計されています。

バンドルが必要なしきい値(13,150ブロック、または約90日)に達すると、実際に引き出しを処理するトランザクションが有効になり、確認できるようになります。 しかし、鉱山労働者がサイドチェーンからお金を盗む不正な引き出しを承認した場合、人々はどうしますか? Sztorcの提案は、ユーザーが作成したソフトフォーク(UASF)を使用して、無効なペグアウトトランザクションを無効にすることです。 これは、メインチェーンへのコンセンサスの観点から大きなリスクをもたらします。 2017年のUASFはリスクの高い動きでしたが、ほとんど成功せず、ビットコインは現在よりもはるかに小さかったです。 ビットコインが大きくなるほど、そのようなアクションを調整するのは難しくなります。

あなたがから思い出すなら スペースチェーンに関する記事、その設計はブラインドマージマイニング(BMM)に基づいていました。 Ruben SomsenのBMM設計は、実際にはその301番目の変形であり、最初はBIPXNUMXにレイアウトされているSztorcの設計です。 ドライブチェーンのBMM仕様は、要求メッセージと受け入れメッセージのXNUMXつのメッセージで構成されています。 どちらも、メインチェーンの特別なトランザクションタイプと、鉱夫のコインベーストランザクションの特別な出力を通じてそれぞれ調整されます。

リクエストトランザクションは、サイドチェーンブロックを作成している人によって構築されます。 BMMの要点は、この人物がマイニングを行っていない人物である可能性があることです。したがって、リクエストトランザクションは、提案されたサイドチェーンブロックを確認するためにマイナーに支払うことを許可するためにあります。 サイドチェーンブロックの提案は、サイドチェーンブロックのハッシュ、作成時にサイドチェーンに割り当てられたID、および前のメインチェーンブロックヘッダーの最後のXNUMXバイトを含むトランザクションを構築します。 これらのタイプのトランザクションに適用されるXNUMXつの追加のコンセンサスルールがあります。 まず、リクエストトランザクションは、そのブロックのコインベーストランザクションに一致するaccept出力がない限り無効です。 これは、サイドチェーンブロックを受け入れてマイニングしない限り、マイナーがリクエストから料金を徴収できないことを保証するためです。 次に、サイドチェーンごとに、メインチェーンブロックに含めることができるリクエストトランザクションはXNUMXつだけです。 これは、メインチェーンブロックごとにサイドチェーンからXNUMXつのブロックのみを実際にマイニングできるようにするためです。 最後に、前のメインチェーンブロックの最後のXNUMXバイトが一致する必要があります。 これにより、リクエストは次のブロックでマイニングされる場合にのみ有効になり、そのようなトランザクションは後でマイニングできず、他の誰かのブロックがマイニングされた後にサイドチェーンブロック提案者からお金を盗むことはできません。

受け入れ出力は非常に単純です。メッセージヘッダーデータとサイドチェーンブロックのハッシュです。 マイナーが自分でドライブチェーンノードを実行している場合は、リクエストトランザクションを無視し、常に自分の受け入れ出力をコインベースに含めて、自分のサイドチェーンブロックをマイニングできます。 これらのXNUMXつの側面を組み合わせることで、マイナーはサイドチェーンノードを自分で操作するか、別の非マイナーが操作してブロックをマイニングするためにマイナーに支払うことができます。 アイデアは、鉱夫自身がサイドチェーンを実行せず、追加の検証コストを消費しない場合、他の誰かが彼らのためにそれを行うことができるということです。 サイドチェーンで料金を稼ごうとしている非鉱夫で競争がある場合、彼らは、彼らが稼ぐ料金の大部分を占めるまで、彼らが要求トランザクションで鉱夫に支払うことをいとわない料金を入札し続ける可能性があります。鉱夫は利益のごく一部を維持し、残りを鉱夫に支払います。

これが、ドライブチェーンの機能の背後にあるメカニズムです。 次に、フェデレーションサイドチェーン、そしてその後、各設計が持つ可能性のあるすべての欠点と欠点の内訳。

忍によるゲスト投稿です。 表明された意見は完全に独自のものであり、必ずしもBTCIncまたはBitcoinMagazineの意見を反映しているわけではありません。

タイムスタンプ:

より多くの Bitcoin Magazine