ビットコインのトランザクション

提供: BitcoinWiki
これは、このページの承認済み版であり、最新版でもあります。
移動先: 案内検索

Enjoyed the article? Share:

Bitcoinのトランザクション の署名によって確認されたデータのセクションです。 それはBitcoinネットワークに送られ、Block |ブロックを形成します。 これは、通常、先行するトランザクションへの参照を含み、特定の数のビットコインを1つまたは複数の公開鍵(Bitcoinアドレス| Bitcoinアドレス)に関連付けます。 Bitcoinシステムでは暗号化するものがないため、暗号化されません。 ブロックチェーンブラウザは、すべてのトランザクションがブロックチェーンの形式で結合されています。 それらは見つけられ、検証されることができる。 これは、技術トランザクションのパラメータを決定し、支払いの詳細を確認するために必要です。

すべてのBitcoinトランザクションの一般的な形式[編集]

フィールド 説明 サイズ
バージョンナンバー 現在1 4バイト
インカウンター 正の整数VI = Varlnt 1-9バイト
入力のリスト 最初のトランザクションの最初の入力はコインベースとも呼ばれます <インカウンター>多くのインプット
アウトカウンター 正の整数VI = Varlnt 1-9バイト
出力一覧 最初のトランザクションの最初の出力は、ブロックで見つかったBitcoinsを使用します <アウトカウンタ>多くの出力
ロック時間 0ではなく、シーケンス番号が0xFFFFFFFFよりも小さい場合:ブロックの高さまたはタイムスタンプ(最終トランザクションの場合) 4バイト

入力と出力でビットコイントランザクションを表示する[編集]

データ[編集]

  入力:   以前のtx:f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6   インデックス:0   scriptSig:304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10   90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

  出力:   値:5000000000   scriptPubKey:OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d   OP_EQUALVERIFY OP_CHECKSIG

通訳[編集]

このトランザクションの入力は、トランザクションf5d8 ...の出力#0から50BTCをインポートします。その後、出力はBTCをBitcoinアドレスに送信します(ここでは16進法の形式 - 4043 ...)。 受取人がお金を使いたいとき、彼は自分の取引の入力に対してこの取引の出力#0を参照します。

入力[編集]

The mining ecosystem

入力は別のトランザクションの出力への参照です。取引には、しばしば複数の入力があります。これらの参照の値が再開され、ビットコインの合計値を現在のトランザクション出力に使用できます。以前のtxは前のトランザクションのハッシュです。インデックスは、このトランザクションの特定の出力です。 ScriptSigはスクリプトの最初の半分です(詳細は以下を参照してください)。

スクリプトは、署名と公開KeYキーの2つの要素で構成されています。公開鍵は、トランザクション出力を適用するユーザに属し、トランザクションの作成者が、出力から得られた金額の合計を自己破棄する権利を有することを確認する。もう1つの要素は、EDCSA(取引の簡略版のハッシュ署名)です。公開鍵KEYと組み合わせて、この署名は、このBitcoinアドレスのREALの本当の所有者によってトランザクションが作成されたことを確認します。

出力[編集]

出力にはビットコインの送信に関する指示が含まれています。値は現在の取引が入力である取引で使用できる金額(1 BTC = 100000000 satoshi)です。 ScriptPubKeyはスクリプトの後半です(後で詳しく説明します)。複数の出力があり、これらは入力から送信された量を共有します。各トランザクション出力は、現在のすべてのトランザクション入力の合計を出力で使用する必要があるという意味で、後続のトランザクションの入力としてのみ使用できます。さもなければ、トランザクション入力からの残りの合計は失われます。たとえば、入力が50BTCに等しく、ユーザーが25BTCのみを送信する必要がある場合、Bitcoinはそれぞれ25BTCの2つの出力を作成します.1つは宛先に、もう1つは再び資金の所有者に移動します(いわゆる '変更 ' - ユーザーが実際に自分自身に送金する取引)。 取引で使用されていないビットコインの入力から残っている金額は、取引手数料|取引の手数料になります。ブロックを生成する人はこの料金を受け取るでしょう。

トランザクションの検証[編集]

入力が前のトランザクションの出力から必要な合計を収集することが許可されているかどうかを検証するために、BitCinは、このトランザクションが参照するscriptSig inputおよびscriptPubKey出力のスクリプトの標準システム(下記参照)を使用します。それらは、scriptSigスタックの残りの値を使用して、scriptPubKeyの助けを借りて評価されます。

scriptPubKeyスクリプトが「真」の値を返す場合、入力が確認されます。送信者は、スクリプトシステムを使用して、出力値を取得することを望む者が満たすための非常に複雑な条件を作成することができます。例えば、任意のユーザが許可なく取得する入力を作成することが可能である。入力が10種類の異なるキーで署名されているか、パスワードで検証されていることを要求することも同様に可能です。

トランザクション確認[編集]

トランザクションとは、ブロックチェーンに含まれるBitcoinウォレット間での価値移転です。 Bitcoinはどのように機能しますか? Bitcoinトランザクション| Bitcoinトランザクションは即時ではありません。ユーザーがビットコインを送信したい場合、情報はWallet | walletから(ネットワーク内のユーザーに)ブロードキャストされ、ネットワークに十分なコインがあることを確認し、過去に一度も費やされなかったことを確認します。検証されると、鉱業者はブロックチェーンの新しいブロック|ブロックにこの取引を他の取引と共に組み込みます。これはトランザクション確認と呼ばれます。取引は現在「0 /未確認」と言われています。

新しいブロックがチェーンに追加されるたびに(10分ごと)、トランザクションは再度確認されると言います。コンセンサスとして、多くのユーザーは、二重支出を避けるために、取引を6回(約60分後)に支払いを受ける前に確認するのを待つ。ユーザーは通常、トランザクションが「n / unconfirmed」と表示されます(深さが6ブロックになるまで)。


現在のビットコイン取引手数料[編集]

現在、大量のトランザクションは手数料が不要な方法で処理されます。同時に、取引が多くのエントリポイントを有する場合(例えば、それが大量のデータを運ぶ場合)、小さな手数料は珍しいことではない。

取引を処理して手数料を稼ぐのはどの鉱夫でもかまいません。ネットワークが新しいブロックを発見すると、そのコミッションを含むトランザクションに関するすべての情報が含まれます。したがって、ブロックを見つけたユーザグループのユーザは、そのブロックの報酬とそれに含まれるすべてのトランザクションの手数料の両方を得ることになる。

手数料を取引に含めることは自発的な決定であるが、ブロックを見つけたユーザーは、前記ブロックに望む取引を添付することができる。こうすることで、最小手数料(現時点で0.0001 BTC)の取引でも標準優先権があり、おそらくブロックに含まれる場合、0手数料の取引は最低優先度になります。