比特币交易的输入输出比特币交易的输入输出是什么
大家好,关于比特币交易的输入输出很多朋友都还不太明白,今天小编就来为大家分享关于比特币交易的输入输出是什么的知识,希望对各位有所帮助!
本文目录
比特币交易怎么交易费怎么算比特币交易构成 你知道多少如何把bitmom上比特币如何转换成人民币比特币系统规定要几个个体确认后才算交易完成呢比特币交易怎么交易费怎么算交易手续费怎么算,可参考以下内容。
1、一般一个普通的比特币交易由一个输入和两个输出(交易输出和变更输出)组成,约200字节。如果默认收费是每1000字节0、0001个比特币,那么一个比特币转账的手续费大概是0、001-0、002个比特币。然而,当单个输入不足以支付输出时,就会出现上述多个事务输入构成未用输出的问题,进而其数据量会变大。但是,未使用的事务输出的组成越复杂,需要处理的字节就越多,处理费用就越高。
2、在比特币的基础协议中,没有规定比特币交易手续费的具体金额,但要求在地址中输入的总额不小于总产出,即你钱包中的比特币总额必须大于转账金额和手续费金额之和。这一点很好理解。你只有10块钱,转账10块钱要收1块钱手续费,也就是说你要花11块钱,10-11=-1,所以这笔交易自然不能完成。
3、比特币交易费用由交易数据大小、交易次数等因素决定。比特币遵循UTXO模型,每个交易包含若干个交易输入和交易输出。事实上,每个未使用的事务输出的组成取决于您的事务输入。当您需要将一个比特币转移到另一个地址时,在您的交易输入中可能包含五个0、2比特币或十个0、1比特币。
比特币交易构成 你知道多少交易类型
产量交易(Generation)
每个Block都对应一个产量交易(GenerationTX),该类交易是没有输入交易的,挖出的新币是所有币的源头。
合成地址交易(ScriptHash)
该类交易的接收地址不是通常意义的地址,而是一个合成地址,以3开头,需要几对公私钥一起生成合成地址,在生成过程中可以指定,几对公私钥中的几个签名以后,就可以消费该地址的比特币。
通用地址交易(PubkeyHash)
该类是最常见的交易类型,由N个输入、M个输出构成。
输入和输出可以简单的理解成,发出币的地址就是输入,收到币的地址就是输出。
数据结构
字段
数据类型
字段大小
字段描述
versionuint32_t
4交易数据结构的版本号tx_incountvar_int1+输入交易的数量tx_intx_in[]41+输入交易的数组,每个输入=41字节
tx_outcountvar_int1+输出地址的数量tx_outtx_out[]9+输入地址的数组,每个输入=9字节lock_timeuint32_t4
lock_time是一个多意字段,表示在某个高度的Block之前或某个时间点之前该交易处于锁定态,无法收录进Block。
值
含义
0立即生效500000000含义为Block高度,处于该Block之前为锁定(不生效)=500000000含义为Unix时间戳,处于该时刻之前为锁定(不生效)
若该笔交易的所有输入交易的sequence字段,均为INT32最大值(0xffffffff),则忽略lock_time字段。否则,该交易在未达到Block高度或达到某个时刻之前,是不会被收录进Block中的。
示例
为了演示方便,我们读取稍早期的块数据,以高度116219Block为例。
#~bitcoindgetblock0000000000007c639f2cbb23e4606a1d022fa4206353b9d92e99f5144bd74611
{
hash:0000000000007c639f2cbb23e4606a1d022fa4206353b9d92e99f5144bd74611,
confirmations:144667,
size:1536,
height:116219,
version:1,
merkleroot:587fefd748f899f84d0fa1d8a3876fdb406a4bb8f54a31445cb72564701daea6,
tx:[
be8f08d7f519eb863a68cf292ca51dbab7c9b49f50a96d13f2db32e432db363e,
a387039eca66297ba51ef2da3dcc8a0fc745bcb511e20ed9505cc6762be037bb,
2bd83162e264abf59f9124ca517050065f8c8eed2a21fbf85d454ee4e0e4c267,
028cfae228f8a4b0caee9c566bd41aed36bcd237cdc0eb18f0331d1e87111743,
3a06b6615756dc3363a8567fbfa8fe978ee0ba06eb33fd844886a0f01149ad62
],
time:1301705313,
nonce:1826107553,
bits:1b00f339,
difficulty:68977.78463021,
previousblockhash:00000000000010d549135eb39bd3bbb1047df8e1512357216e8a85c57a1efbfb,
nextblockhash:000000000000e9fcc59a6850f64a94476a30f5fe35d6d8c4b4ce0b1b04103a77
}
该Block里面有5笔交易,第一笔为GenerationTX,解析出来看一下具体内容:
#~bitcoindgetrawtransactionbe8f08d7f519eb863a68cf292ca51dbab7c9b49f50a96d13f2db32e432db363e1
{
hex:01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff070439f3001b0134ffffffff014034152a010000004341045b3aaa284d169c5ae2d20d0b0673468ed3506aa8fea5976eacaf1ff304456f6522fbce1a646a24005b8b8e771a671f564ca6c03e484a1c394bf96e2a4ad01dceac00000000,
txid:be8f08d7f519eb863a68cf292ca51dbab7c9b49f50a96d13f2db32e432db363e,
version:1,
locktime:0,
vin:[
{
coinbase:0439f3001b0134,
sequence:4294967295
}
],
vout:[
{
value:50.01000000,
n:0,
scriptPubKey:{
asm:045b3aaa284d169c5ae2d20d0b0673468ed3506aa8fea5976eacaf1ff304456f6522fbce1a646a24005b8b8e771a671f564ca6c03e484a1c394bf96e2a4ad01dceOP_CHECKSIG,
hex:41045b3aaa284d169c5ae2d20d0b0673468ed3506aa8fea5976eacaf1ff304456f6522fbce1a646a24005b8b8e771a671f564ca6c03e484a1c394bf96e2a4ad01dceac,
reqSigs:1,
type:pubkey,
addresses:[
1LgZTvoTJ6quJNCURmBUaJJkWWQZXkQnDn
]
}
}
],
blockhash:0000000000007c639f2cbb23e4606a1d022fa4206353b9d92e99f5144bd74611,
confirmations:145029,
time:1301705313,
blocktime:1301705313
}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
GenerationTX的输入不是一个交易,而带有coinbase字段的结构。该字段的值由挖出此Block的人填写,这是一种“特权”:可以把信息写入货币系统(大家很喜欢用系统中的数据结构字段名来命名站点,例如blockchain、coinbase等,这些词的各种后缀域名都被抢注一空)。中本聪在比特币的第一个交易中的写入的coinbase值是:
coinbase:04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b731
将该段16进制转换为ASCII字符,就是那段著名的创世块留言:
TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks1
接下来展示的是一个三个输入、两个输出的普通交易:
#~bitcoindgetrawtransaction028cfae228f8a4b0caee9c566bd41aed36bcd237cdc0eb18f0331d1e871117431
{
hex:0100000003c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7000000008a473044022055bac1856ecbc377dd5e869b1a84ed1d5228c987b098c095030c12431a4d5249022055523130a9d0af5fc27828aba43b464ecb1991172ba2a509b5fbd6cac97ff3af0141048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbeffffffffc9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7010000008a47304402206b993231adec55e6085e75f7dc5ca6c19e42e744cd60abaff957b1c352b3ef9a022022a22fec37dfa2c646c78d9a0753d56cb4393e8d0b22dc580ef1aa6cccef208d0141042ff65bd6b3ef04253225405ccc3ab2dd926ff2ee48aac210819698440f35d785ec3cec92a51330eb0c76cf49e9e474fb9159ab41653a9c1725c031449d31026affffffffc98620a6c40fc7b3a506ad79af339541762facd1dd80ff0881d773fb72b230da010000008b483045022040a5d957e087ed61e80f1110bcaf4901b5317c257711a6cbc54d6b98b6a8563f02210081e3697031fe82774b8f44dd3660901e61ac5a99bff2d0efc83ad261da5b4f1d014104a7d1a57e650613d3414ebd59e3192229dc09d3613e547bdd1f83435cc4ca0a11c679d96456cae75b1f5563728ec7da1c1f42606db15bf554dbe8a829f3a8fe2fffffffff0200bd0105000000001976a914634228c26cf40a02a05db93f2f98b768a8e0e61b88acc096c7a6030000001976a9147514080ab2fcac0764de3a77d10cb790c71c74c288ac00000000,
txid:028cfae228f8a4b0caee9c566bd41aed36bcd237cdc0eb18f0331d1e87111743,
version:1,
locktime:0,
vin:[
{
txid:b79a4803014177ea0139c95f09c6903c01bb8f80d039631afd68cabf7eb0f3c9,
vout:0,
scriptSig:{
asm:3044022055bac1856ecbc377dd5e869b1a84ed1d5228c987b098c095030c12431a4d5249022055523130a9d0af5fc27828aba43b464ecb1991172ba2a509b5fbd6cac97ff3af01048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbe,
hex:473044022055bac1856ecbc377dd5e869b1a84ed1d5228c987b098c095030c12431a4d5249022055523130a9d0af5fc27828aba43b464ecb1991172ba2a509b5fbd6cac97ff3af0141048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbe
},
sequence:4294967295
},
{
txid:b79a4803014177ea0139c95f09c6903c01bb8f80d039631afd68cabf7eb0f3c9,
vout:1,
scriptSig:{
asm:304402206b993231adec55e6085e75f7dc5ca6c19e42e744cd60abaff957b1c352b3ef9a022022a22fec37dfa2c646c78d9a0753d56cb4393e8d0b22dc580ef1aa6cccef208d01042ff65bd6b3ef04253225405ccc3ab2dd926ff2ee48aac210819698440f35d785ec3cec92a51330eb0c76cf49e9e474fb9159ab41653a9c1725c031449d31026a,
hex:47304402206b993231adec55e6085e75f7dc5ca6c19e42e744cd60abaff957b1c352b3ef9a022022a22fec37dfa2c646c78d9a0753d56cb4393e8d0b22dc580ef1aa6cccef208d0141042ff65bd6b3ef04253225405ccc3ab2dd926ff2ee48aac210819698440f35d785ec3cec92a51330eb0c76cf49e9e474fb9159ab41653a9c1725c031449d31026a
},
sequence:4294967295
},
{
txid:da30b272fb73d78108ff80ddd1ac2f76419533af79ad06a5b3c70fc4a62086c9,
vout:1,
scriptSig:{
asm:3045022040a5d957e087ed61e80f1110bcaf4901b5317c257711a6cbc54d6b98b6a8563f02210081e3697031fe82774b8f44dd3660901e61ac5a99bff2d0efc83ad261da5b4f1d0104a7d1a57e650613d3414ebd59e3192229dc09d3613e547bdd1f83435cc4ca0a11c679d96456cae75b1f5563728ec7da1c1f42606db15bf554dbe8a829f3a8fe2f,
hex:483045022040a5d957e087ed61e80f1110bcaf4901b5317c257711a6cbc54d6b98b6a8563f02210081e3697031fe82774b8f44dd3660901e61ac5a99bff2d0efc83ad261da5b4f1d014104a7d1a57e650613d3414ebd59e3192229dc09d3613e547bdd1f83435cc4ca0a11c679d96456cae75b1f5563728ec7da1c1f42606db15bf554dbe8a829f3a8fe2f
},
sequence:4294967295
}
],
vout:[
{
value:0.84000000,
n:0,
scriptPubKey:{
asm:OP_DUPOP_HASH160634228c26cf40a02a05db93f2f98b768a8e0e61bOP_EQUALVERIFYOP_CHECKSIG,
hex:76a914634228c26cf40a02a05db93f2f98b768a8e0e61b88ac,
reqSigs:1,
type:pubkeyhash,
addresses:[
1A3q9pDtR4h8wpvyb8SVpiNPpT8ZNbHY8h
]
}
},
{
value:156.83000000,
n:1,
scriptPubKey:{
asm:OP_DUPOP_HASH1607514080ab2fcac0764de3a77d10cb790c71c74c2OP_EQUALVERIFYOP_CHECKSIG,
hex:76a9147514080ab2fcac0764de3a77d10cb790c71c74c288ac,
reqSigs:1,
type:pubkeyhash,
addresses:[
1Bg44FZsoTeYteRykC1XHz8facWYKhGvQ8
]
}
}
],
blockhash:0000000000007c639f2cbb23e4606a1d022fa4206353b9d92e99f5144bd74611,
confirmations:147751,
time:1301705313,
blocktime:1301705313
}1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
字段hex记录了所有相关信息,后面显示的是hex解析出来的各类字段信息。下面把逐个分解hex内容(hex可以从上面的直接看到):
01000000//版本号,UINT32
03//Tx输入数量,变长INT。3个输入。
/***第一组InputTx***/
//TxHash,固定32字节
c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7
00000000//消费的Tx位于前向交易输出的第0个,UINT32,固定4字节
8a//签名的长度,0x8A=138字节
//138字节长度的签名,含有两个部分:公钥+签名
47//签名长度,0x47=71字节
3044022055bac1856ecbc377dd5e869b1a84ed1d5228c987b098c095030c12431a4d5249022055523130a9d0af5fc27828aba43b464ecb1991172ba2a509b5fbd6cac97ff3af01
41//公钥长度,0x41=65字节
048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbe
ffffffff//sequence,0xffffffff=4294967295,UINT32,固定4字节
/***第二组InputTx。与上同理,省略分解***/
c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7010000008a47304402206b993231adec55e6085e75f7dc5ca6c19e42e744cd60abaff957b1c352b3ef9a022022a22fec37dfa2c646c78d9a0753d56cb4393e8d0b22dc580ef1aa6cccef208d0141042ff65bd6b3ef04253225405ccc3ab2dd926ff2ee48aac210819698440f35d785ec3cec92a51330eb0c76cf49e9e474fb9159ab41653a9c1725c031449d31026affffffff
/***第三组InputTx***/
c98620a6c40fc7b3a506ad79af339541762facd1dd80ff0881d773fb72b230da010000008b483045022040a5d957e087ed61e80f1110bcaf4901b5317c257711a6cbc54d6b98b6a8563f02210081e3697031fe82774b8f44dd3660901e61ac5a99bff2d0efc83ad261da5b4f1d014104a7d1a57e650613d3414ebd59e3192229dc09d3613e547bdd1f83435cc4ca0a11c679d96456cae75b1f5563728ec7da1c1f42606db15bf554dbe8a829f3a8fe2fffffffff
02//Tx输出数量,变长INT。两个输出。
/***第一组输出***/
00bd010500000000//输出的币值,UINT64,8个字节。字节序需翻转,~=0x000000000501bd00=84000000satoshi
19//输出目
如何把bitmom上比特币如何转换成人民币1,客户端负责收集你钱包里的比特币余额为支付做准备,因为你收到的每一笔比特币都存在你的钱包里面直到你花掉它们。
2,如果你的输出(outputs)小于0.01BTC(包括你钱包内部的资金变动)的话,你必须要支付0.0001的手续费,即使是你自己转给你自己。钱包在准备你的支付金额的时候有一个既定的规则,就是在众多输入(inputs)中筹备支付金额的时候尽量避免产生小于0.01BTC的金额变动(比如你要支付5.005BTC,钱包尽可能的选择3+2.005或者1+1+3.005,而不是5+0.005)。
3,数额越大、币龄(age)越高优先级越高
如果你发送金额太小或者是你的比特币刚开采出来不久,那么你的转账就不再免费之列。每一个交易都会分配一个优先级,这个优先级通过币的新旧程度、交易的字节数和交易的数量。具体来说,对于每一个输入(inputs)来讲,客户端会先将比特币的数量乘以这些币在块中存在的时间(币龄,age),然后将所有的乘积加起来除以此次交易的大小(以字节为单位)。
4,每千字节的收费在转账的最后客户端会检测本次转账的大小(以字节为单位),大小一般取决于输入和输出的数额大小,计算公式如下:148*输入数额+34*输出数额+10,如果该次转账的大小超过10000字节但是优先级符合免费的标准,那么仍然可以享受免费转账,否则需要支付手续费。没1000字节的费用默认是0.0001BTC,但是你也可以在客户端里进行追加,依次打开选项卡“设置>选项>主要”进行手续费的调整。如果你在设置的手续费小于0.0001BTC按0.0001算。当本条规则适用时将会取代步骤2的规则而不是累加。
比特币系统规定要几个个体确认后才算交易完成呢6个区块确认。
解释:
A君给B君转1个比特币,除了要输入交易金额1个比特币外,还需要设置一定量的矿工费,在输入秘钥并点击发送之后,需等待交易打包和6个区块确认,才能完成这笔转账,而这个过程大概需要花费30分钟~1小时。
比特币网络上有很多节点,假设B和C节点在短时间差内都计算出工作量证明解,然后把自己挖到的区块传播到网络中,先传播给邻近节点,而后传播到整个网络。
B和C矿工的区块数据是不一样的,但都是正确的,因此在这一刻出现了两个都满足要求的不同区块,B和C附近进的D、E、F等等矿工在监听到这个两个区块时,是有先后顺序区别的。怎么办,先入为主,节点把先监听的区块复制过来,然后开启新区块的挖矿工作。
那这个时候不同节点,同时有不同版本的区块链,而这两个版本的区块链,都被矿工们继续开采。但是两个版本的区块链其增长速是不一样的,总有一条链的长度要超过另一条链。当D、E、F等等矿工发现全网络中有一个条更长链的时候,他们会抛弃当前较短的链,转到更长链上进行挖矿。而那些被矿工成功挖掘的块,因为不是在最长链上而被抛弃了,他们叫过时块。这些过时块中的数据,又需要等待重新被写入区块中。
当一笔交易获得6个区块确认后,从而以确认该交易是在最长分支的区块链里,不可篡改,然后才能够花费小星转他的比特币。
扩展资料
比特币交易确认过程
(1)钱包创建交易
钱包软件通过收集UTXO、提供正确的解锁脚本、构造支付给接收者的输出这一系列的方式来创建交易。产生的交易随后将被发送到比特币网络临近的节点,从而使得该交易能够在整个比特币网络中传播。
(2)交易独立效验
每一个收到交易的比特币节点将会首先验证该交易,有效的交易将被传递到临近的节点,这将确保只有有效的交易才会在网络中传播,而无效的交易将会在第一个节点处就被废弃。
验证的交易添加到交易地:验证交易后,比特币节点会将这些交易添加到自己的交易池,用来暂存尚未被加入到区块的交易记录。
(3)节点确认交易
假设有个比特币网络节点A,其收集到了区块277,314。接下来A节点做两件事:1.尝试挖掘新区块;2.监听其他节点是否挖出新的区块。如果A节点监听到了区块277315,则标志着277,315区块竞争结束。与此同时开启区块277,316的竞赛。
A节点在接收并验证区块277,315后,会检查内存池中的全部交易,移除已经在区块277,315中出现过的交易记录,确保任何留在内存池中的交易都是未确认的,等待被记录到新区块中,而被移除的交易记录获得一次确认交易。把包含在区块内且被添加到区块链上的交易称为确认交易。
如果你还想了解更多这方面的信息,记得收藏关注本站。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。