ブロックチェインが初めてです。ブロックチェーンはすべてのトランザクションの記録を保持し、各トランザクションは秘密鍵で署名されていることを理解しています。しかし、誰もBitcoinトランザクションの任意の量を入力できないのはなぜですか?アドレスaにはBitcoinが1つしかありませんが、所有者は100個のBitcoinsのトランザクションを作成して署名することができます。 Bitcoinのトランザクションの送受信量を確認するメカニズムとは何ですか?ブロックチェインによる取引金額の有効性の確認方法
答えて
ビットコイン取引の仕組みに関するlinkが役立つかもしれません。 「入力と出力の量が一致しないとどうなるでしょうか?」というセクションを見てください。
また、Blockchainは分散元帳を使用するため、すべてのノードがトランザクションを受け入れられる前に検証します。さらに、詐欺行為が起こらないことを確認する監査役がチェーン上に存在する必要があります。お役に立てれば。
Bitcoinのブロックチェーンには、これまでに発生したすべてのトランザクションの履歴レコードが含まれています。クライアントは確かに少ない記憶量を選ぶことができます。ブロックチェーンは、すでにずっと前に費やされたトランザクションを保存しないことで刈り込むことができます。
Bitcoinアドレスは、技術的には従来の銀行元帳という意味では「バランス」を持っていません。代わりに、アドレスには、送信されたトランザクションを費やす機能があります。
技術的な詳細を調べるには、アドレス1PkCAVKjPz1YK7iJwT8xTLxBXR1av8dL98
(私が所有しています)を見てみましょう。
最近、TxID 432794be2e056275cafb0eeb7ab59a24444dd4c9e00cd9702a49c2a655a3e705
の取引で0.004BTCの非常に小さな取引が届きました。
(16進数でエンコードされた)この取引の生データは次のとおりです。0100000001e9a24c1d1b8d10b13482cdcbbb90d894577292c4d0c0c1427411fb9d82ea710c010000006b483045022100d9a5433c1381b39b7e02b0b0f042990e7c16cfea252b05ccfef2e85c2dab2a6f022057c7def782fe3b0d7e5e0eae277d2a5890844da7d72309817a2dac22a6307c6001210390d78cb0c1d34d4417db7e0a9a9f125a689dc29dc2197a01a5f827a20f870f62ffffffff01801a0600000000001976a914f97df8f593e0056d337c274fd81a163f47a17d3788ac00000000
その人間が読める形式にある:
{
"txid": "432794be2e056275cafb0eeb7ab59a24444dd4c9e00cd9702a49c2a655a3e705",
"size": 192,
"version": 1,
"locktime": 0,
"vin": [
{
"txid": "0c71ea829dfb117442c1c0d0c492725794d890bbcbcd8234b1108d1b1d4ca2e9",
"vout": 1,
"scriptSig": {
"asm": "3045022100d9a5433c1381b39b7e02b0b0f042990e7c16cfea252b05ccfef2e85c2dab2a6f022057c7def782fe3b0d7e5e0eae277d2a5890844da7d72309817a2dac22a6307c60[ALL] 0390d78cb0c1d34d4417db7e0a9a9f125a689dc29dc2197a01a5f827a20f870f62",
"hex": "483045022100d9a5433c1381b39b7e02b0b0f042990e7c16cfea252b05ccfef2e85c2dab2a6f022057c7def782fe3b0d7e5e0eae277d2a5890844da7d72309817a2dac22a6307c6001210390d78cb0c1d34d4417db7e0a9a9f125a689dc29dc2197a01a5f827a20f870f62"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.00400000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 f97df8f593e0056d337c274fd81a163f47a17d37 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914f97df8f593e0056d337c274fd81a163f47a17d3788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"1PkCAVKjPz1YK7iJwT8xTLxBXR1av8dL98"
]
}
}
]
}
だから、アドレス1PkCAVKjPz1YK7iJwT8xTLxBXR1av8dL98
は、トランザクションを「過ごす」することができます432794be2e056275cafb0eeb7ab59a24444dd4c9e00cd9702a49c2a655a3e705
。 そのトランザクションの出力値は0.004BTCなので、より多くの費用をかけようとするBitcoinトランザクションを作成することはできません。しかし、とにかくそれをやろうとしましょう。
出力残高0のトランザクションから0.01 BTCから1MgLu9L7ftmGQM84xhKYKw8pTXiSANwggs
を出力しようとする生トランザクションを作成します。004 BTC:
bitcoin-rpc signrawtransaction 010000000105e7a355a6c2492a70d90ce0c9d44d44249ab57aeb0efbca7562052ebe9427430000000000ffffffff0140420f00000000001976a914e2d3595bd0a55c16f4b19f5cd996568dd7e811f688ac00000000
返します:
{
"hex": "010000000105e7a355a6c2492a70d90ce0c9d44d44249ab57aeb0efbca7562052ebe942743000000006b483045022100ce3fad8ccdee48f1fe9060ef81624d3bbe721293feb8ee06a96751e65b9c423e0220106a3e80d5fdf93df5dbf037d8cfd32af70a405586e12294c937308a3c57b10e012102f2acb810346866908108dd86462ee5400b15786739f5e908711d2d15d9dd2238ffffffff0140420f00000000001976a914e2d3595bd0a55c16f4b19f5cd996568dd7e811f688ac00000000",
"complete": true
}
そして私が取ることができるの
010000000105e7a355a6c2492a70d90ce0c9d44d44249ab57aeb0efbca7562052ebe9427430000000000ffffffff0140420f00000000001976a914e2d3595bd0a55c16f4b19f5cd996568dd7e811f688ac00000000
私は、トランザクションに署名することができます。
bitcoin-rpc createrawtransaction '[{"txid":"432794be2e056275cafb0eeb7ab59a24444dd4c9e00cd9702a49c2a655a3e705","vout":0}]' '{"1MgLu9L7ftmGQM84xhKYKw8pTXiSANwggs":0.01}'
は、生のトランザクションを返します。それは有効な形式である16進数を返すトランザクションをatted、およびネットワークに提出してください:
私にエラーを与えるbitcoin-rpc sendrawtransaction 010000000105e7a355a6c2492a70d90ce0c9d44d44249ab57aeb0efbca7562052ebe942743000000006b483045022100ce3fad8ccdee48f1fe9060ef81624d3bbe721293feb8ee06a96751e65b9c423e0220106a3e80d5fdf93df5dbf037d8cfd32af70a405586e12294c937308a3c57b10e012102f2acb810346866908108dd86462ee5400b15786739f5e908711d2d15d9dd2238ffffffff0140420f00000000001976a914e2d3595bd0a55c16f4b19f5cd996568dd7e811f688ac00000000
:
66: insufficient priority (code -26)
これは、クライアント側のエラーですが、私がいた場合、正常に生のトランザクションをブロードキャストします他の同僚は参照された(または "消費された")トランザクション432794be2e056275cafb0eeb7ab59a24444dd4c9e00cd9702a49c2a655a3e705
を検索し、私の新しいトランザクションの出力合計が、私が費やそうとしているトランザクションの出力合計よりも大きいことを確認します。
コインベース取引では、鉱夫のBitcoinsが生成されるため、正しいブロック補助金(当初は50BTCでしたが、半年後には現在12.5BTC)プラスブロック内に含まれるすべてのトランザクションの取引手数料。
私はこのポストはすでに古いですが、ビットコインtranscationを検証するための完全なリストがあります知っている:
- 1. Hyperledger Composerのブロックチェインの確認方法
- 2. Fibonacci Primeの金額を確認する
- 3. ブロックチェインでの確認方法は?
- 4. bashで金額を確認する
- 5. javaのサブドメインの有効性を確認する方法は?
- 6. リスト内の特定のデータタイプの金額を確認する方法は?
- 7. チェックボックスの有効性を確認する
- 8. IPの有効性を確認する
- 9. 一定の金額より多い金額で合計を得る方法
- 10. iOS SwiftのBraintree:Rubyサーバーに異なる取引金額を渡す方法は?
- 11. Javaのmailtoリンクの有効性確認
- 12. cakephpでのデータの有効性確認
- 13. ハンガリーのBBANの有効性確認
- 14. PayPal REST SDK - クレジットカード口座の有効性確認方法
- 15. 保存時の有効性確認方法
- 16. regex python段落の末尾に金額がある場合の金額と語数を確認します。
- 17. Android HttpsUrlConnection SSLの有効性を確認
- 18. C#電子メールアドレスの有効性確認
- 19. Jquery PO BOXの有効性確認
- 20. WSO2 AM 1.10.0クエリパラメータの有効性確認
- 21. jqueryラジオボタンの有効性を確認
- 22. Observable各アイテムの有効性を確認
- 23. 金額を確認するためのトリガー
- 24. ブロックチェインでの取引照合の理解方法
- 25. BitcoinJSを使用して取引金額を設定する方法は?
- 26. RORフォームクラス(有効性確認あり)
- 27. 罰金額と返済残高の保存と確認
- 28. アンドロイドの顔検出で顔検出の有効性を確認する方法
- 29. 金額の異なるインスタンスに金額を振り分ける
- 30. Java Cardで証明書の有効性を確認する方法は?
私が参照してください。したがって、新しいトランザクションはそれぞれ、以前のトランザクション権利から生成されますか? 2つの入力がある場合、1つは2 btcで、もう1つは1 btcで合計3 btcsになります。あなたは2.5 btcを使いたいので、各入力に2つの取引があるでしょう、そうですか? – Yangrui
@yangruiコインベース取引を除いて、すべての取引は以前の取引を参照します(その際、他の取引が参照するのを防止します)。 2つの別々の取引がある場合は、2つのBTCと1つのBTCに対して1つの取引を登録し、両方の入力取引に費やし、2.5 BTCを支払うほか、残りの0.5 BTCを管理する変更住所に支払う(または、0.5から支払うトランザクション手数料、合計入力から合計出力= txFee)。トランザクションは、使用されても使用されなくてもかまいませんが、トランザクションを部分的に費やすことはできません。 –