skyone

skyone

Hello, World

スズメ財布 (ビットコイン)

image

写真提供:アルトゥラス・ココレバス

スズメの財布 (ビットコイン)#

理論#

  1. UTXO とは

    • UTXO, 全称は未使用トランザクション出力.

    • ビットコインでは、すべてのトランザクションには入力とそれに対応する出力があります。

    • EVM エコシステムと比較すると、BTC は紙幣に似ており、EVM は銀行のようです [👉 以下の例は実際の RMB の額面制限を考慮していません 👈]

      • 例えば、あなたが 100 元の現金 RMB を持っていて、一枚の紙幣から 10 元を老王に送金し、ガスを 5 に設定した場合、最終的に 85 の UTXO が残ります。あなたの 100 元の紙幣は 85 の紙幣に変わります。
      • 上記の支出では、100 元の紙幣がトランザクションの入力として使用され、出力は次のようになります。
        1. 85(自分に返される UTXO)、自分の財布に戻ります。
        2. 10(この UTXO、つまり 10 の額面の紙幣)は相手の財布に渡されます。
        3. 5(5 の額面の紙幣)はマイナーの財布に渡されます。
      • その後、あなたはこの 1 枚の紙幣(85 の額面)しか使えず、新しいトランザクションを開始するための入力として使用します。
      • 最後に、あなたは自分の 85 の UTXO を 30 と 50 に分割したい場合、2 回目のトランザクションを開始し、受取人は自分で、額面は 50 です。したがって、入力は 85 の UTXO で、出力は 3 つあります。
        1. 自分に送る 50 の UTXO
        2. 残りの 30 の UTXO
        3. 5 の UTXO がマイナーの財布に入ります。
  2. 取引を加速する 2 つの方法

    ❤️ ❤️ ❤️ RBF を使用するか CPFP を使用するかにかかわらず、自分の UTXO の残高が十分であることを確認する必要があります。そうでなければ、加速することはできません ❤️ ❤️ ❤️

    1. RBF, 全称は手数料による置き換え、つまり未確認のトランザクションは、新しいトランザクション(新しいトランザクションにより高いガスを与える)で置き換えることができます。

      • まず、自分の UTXO が入力として使用される場合のみ RBF を開始できることを明確にします 🍎

      • 次に、こちらで自分のトランザクションが RBF 可能かどうかを確認します。例えば、以下のトランザクションは RBF が可能です。

      image

      • 最後に、RBF が何であるかを説明する例を挙げます。
        • 上記の財布に 30 と 50 の 2 つの UTXO しかないと仮定し、50 の UTXO を使用して老王に 10 を再送金する新しいトランザクションを開始します。ガスは 5 に設定され、このトランザクションを tx1 と呼びます。
        • もし tx1 が成立すれば、
          • 私の財布には 30 と 35 の 2 つの UTXO があるはずです。前者は動いていない UTXO で、後者は tx1 が完了した後に戻ってきた UTXO です。
          • 老王の財布には 10+10、2 つの UTXO があります。
          • マイナーの財布には 5+5+5、3 つの UTXO があります。
        • しかし、私は tx1 を開始した後、加速したいと思います(ここには 2 つの側面があります)。
          1. 老王にお金を渡したくない、逃げたい。
            • この場合、RBF を使用して加速し、新しいトランザクションを開始します。これを tx2 と呼び、50 の UTXO を使用して自分に 20 を送金し、ガスを 10 に設定します。
            • この tx2 が完了すると、
              • 私の財布には 20 + 20 + 30、3 つの UTXO があります。
              • 老王の財布には 10、1 つの UTXO があります。
              • マイナーの財布には 5+5+10、3 つの UTXO があります。
            • tx2 は成立するため、老王への送金を逃れることができます 🍓
          2. ガスが低すぎて、早く成立させたい。
            • 同様に RBF を使用して取引を行い、新しい tx2 を開始します。50 の UTXO を使用して老王に 10 を送金し、ガスを 10 に設定します。
            • その結果、tx2 が完了すると、
              • 私の財布には 30+30 の 2 つの UTXO があります。
              • 老王の財布には 10+10 の 2 つの UTXO があります。
              • マイナーの財布には 5+5+10、3 つの UTXO があります。
    2. CPFP, 全称は子が親のために支払う、つまり高ガスの子トランザクションを発起して親トランザクションを加速します。

      高ガスの子トランザクションを確認するためには、必ず親トランザクションを確認する必要があります。

      • まず、子トランザクションとは、子トランザクションの入力が未確認の親トランザクションの出力を使用することを理解します。
        • つまり、私が tx1 を発起し、老王に 100 を送金し、ガスを 10 に設定します。100 は tx1 の出力です。
        • 老王は私から受け取った 100 を入力として使用して老李に 50 を送金したいが、私の tx1 がまだ確認されていないため、彼は子トランザクション tx2 を発起し、ガスを 20 に設定して親トランザクションを加速します。
        • ここでの親トランザクションは tx1、子トランザクションは tx2 です。

実践#

  1. スズメの財布の場合、テストネットを起動 >>>> ツール --> テストネットを再起動

    image

    テストネットで遊んでみてください ⚱

  2. 接続時にブロックに接続するのがうまくいかない場合、Clash を Direct にすると良いです。以下の図のように。

    image

  3. 水を受け取るためのリンク集

    1. https://testnet-faucet.com/btc-testnet/
    2. https://bitcoinfaucet.uo1.net/send.php
    3. https://testnet-faucet.mempool.co/
  4. パネルの紹介

    • image

    • image

    • image

    • image

    • image

      • 左側のいくつかのパネルについて説明します。

      • トランザクションは、あなたが受取人または送信者としてのトランザクションを指します。

      • 送信は、特定のアドレスに BTC を送信することです。

        • payto フィールドは、誰に送信するかを示します。
        • label は識別子で、注釈のようなものです。
        • amount は送信する金額です。
        • Fee では、ガスを調整するために自分でドラッグできます。最終的な Fee = tx サイズ * ガスです。
      • 受信では、特定のアドレスを選択して外部からの送金を受け取ることができます。

      • アドレスについて注意が必要です。ここにあるアドレスはすべて使用可能なアドレスであり、一組のニーモニックから N 個のアドレスが生成されるため、これらのアドレスはすべてあなたに属しています。彼ら名義の UTXO もすべて使用可能です。特定の UTXO を使用したい場合は、その UTXO を選択し、「選択したものを送信」をクリックするだけです。以下の図を参照してください!

      • UTXOs のセクションは、あなたが使用できる UTXO であり、上記と同様に、使用したいものを選択し、小さな飛行機のアイコンを選択するだけです。以下の図を参照してください!

      • 設定のセクションについては、詳しく説明しません :walking:

  5. BRF 実践

    1. txBtxA を置き換え、「ガスが低すぎて早く成立させたい」という状況に対応しています。大まかな原理は以下の通りです。
      • まず、私は txA を発起し、tb1qn2zt7xzc4nwe4m5rzg8jt4gr446h069vjunapj アドレスの 1282sats の UTXO(略称 U1)を使用して、tb1q66spu0n20ru23yhc6katlwu4j9xl4sn9yxrnwh アドレスに 1131sats を送金し、ガスは 151sats を消費しました。(151 + 1131 = 1282)
      • その後、RBF を発起し、txB を作成します。上記の U1 と 1712sats の UTXO(略称 U2)を使用し、これら 2 つの UTXO を入力として tb1q66spu0n20ru23yhc6katlwu4j9xl4sn9yxrnwh アドレスに 2610sats を送金し、ガスは 384sats を消費しました。(1282 + 1712 = 2610 + 384)
      • 最後に、txB が成立し、txA は成立しませんでした。
      • このトランザクションが 2 つの UTXO を使用した理由は、U1 の残高が txB を支えるには不十分だったからです。
    2. txBtxA を置き換え、「老王にお金を渡したくない、逃げたい」という状況に対応しています。大まかな原理は以下の通りです。
      • 私は txA を発起し、tb1qn2zt7xzc4nwe4m5rzg8jt4gr446h069vjunapj アドレスの 8135sats の UTXO(略称 U1)を使用して、tb1q4eqr370h7w37quke9nes5yc9ncnpctfpejv8df アドレスに 294sats を送金し、ガスは 158sats を消費しました。
      • 次に txB を発起し、同様に U1 を使用して tb1q4eqr370h7w37quke9nes5yc9ncnpctfpejv8df に 294sats を送金し、ガスは 748sats を消費しました。
      • 最後に txB が成立し、txA は成立しませんでした。
  6. CPFP 実践

    1. 親トランザクション子トランザクション は、以下のように進行しました。
      • まず、私は親トランザクションを発起し、tb1qn2zt7xzc4nwe4m5rzg8jt4gr446h069vjunapj(略称アドレス A)の 12281sats の UTXO(U1)を入力として、tb1q4eqr370h7w37quke9nes5yc9ncnpctfpejv8df(略称アドレス B)に 1000sats を送金し、残りの 11140sats は tb1qzk35rutqjcuj7la95hvvcdqkczjv7dqwtyh6ls(略称アドレス C)に返されました。
      • 次に、アドレス C から受け取った 11140sats を使用して、tb1q80262jz5ytdfhj38ur4l7duect6qppc4j6unj7(略称アドレス D)に 1000sats を送金する子トランザクションを発起しました。
      • 子トランザクションの加速により、親トランザクションの有効手数料は 1.01 から 1.43 に、子トランザクションの有効手数料は 1.85 から 1.43 に変わりました。
  7. もう一度強調しますが、BRC20 を扱う場合は、RBF を使用せず、CPFP を使用してください(なぜかはあまり理解していないので、詳しくは言いません)。

  8. スズメの財布で加速を発起したいとき、Fee と amount がなぜ赤くなるのか?

    1. もし UTXO が自分が発起したものでなく、他の人からもらったもので、UTXO の値が 546 しかない場合、それは小さすぎます。
    2. 言い換えれば、この UTXO の残高は新しい UTXO の入力とガスの費用を支えるには不十分です(つまり、子供の支払いに不足しています)。

感谢康纳和 alex 两位大哥的技术指导

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。