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 と呼び、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 は送信する金額です。
        • 手数料の部分では、ガスを調整するために自分でドラッグできます。最終的な手数料 = トランザクションサイズ * ガス
      • 受信では、特定のアドレスを選択して外部からの送金を受け取ることができます。

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

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

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

  5. BRF の実践

    1. txBtxAを置き換え、「ガスが低すぎて早く成立させたい」という状況に対処します。大まかな原理は次のとおりです。
      • 私はまず txA を発起し、tb1qn2zt7xzc4nwe4m5rzg8jt4gr446h069vjunapj アドレスの面額 1282sats の UTXO(略称 U1)を使用して、tb1q66spu0n20ru23yhc6katlwu4j9xl4sn9yxrnwh アドレスに 1131sats を送金し、ガスは 151stas を消費しました。(151 + 1131 = 1282)
      • その後、RBF を発起し、txB として、上記の U1 と面額 1712sats の UTXO(略称 U2)を使用して、これら 2 つの UTXO を入力として tb1q66spu0n20ru23yhc6katlwu4j9xl4sn9yxrnwh アドレスに 2610sats を送金し、ガスは 384 を消費しました。(1282 + 1712 = 2610 + 384)
      • 最後に、txB が成立し、txA は成立しませんでした。
      • このトランザクションが 2 つの UTXO を使用した理由は、U1 の残高が txB を支えるには不十分だったからです。
    2. txBtxAを置き換え、「老王にお金を渡したくない、逃げたい」という状況に対処します。大まかな原理は次のとおりです。
      • 私は txA を発起し、tb1qn2zt7xzc4nwe4m5rzg8jt4gr446h069vjunapj アドレスの面額 8135sats の UTXO(略称 U1)を使用して、tb1q4eqr370h7w37quke9nes5yc9ncnpctfpejv8df アドレスに 294sats を送金し、ガスは 158sats でした。
      • その後、txB を発起し、同様に U1 を使用して tb1q4eqr370h7w37quke9nes5yc9ncnpctfpejv8df に 294sats を送金し、ガスは 748 でした。
      • 最後に 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. スズメウォレットで加速を発起したいとき、手数料と金額がなぜ赤くなるのか?

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

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

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