比特币交易详解 交易合约

2025-09-18 00:02:00
admin
原创 89
摘要:比特币交易详解 交易合约

一、比特币交易详解

1、output包含索引、金额、公钥脚本,索引是在交易中的位置,从零开始;

2、input包含交易标识、索引、签名脚本,交易标识+索引表示唯一的output;

3、公钥脚本是output的花费条件,签名脚本用于满足output的花费条件;

4、标准公钥脚本:P2PKH、P2SH、Multisig、Pubkey、Null Data;

5、P2PKH,Pay To Public Key Hash,支付给公钥哈希,私钥持有者可以花费;

6、P2SH,Pay To Script Hash,支付给赎回脚本哈希,通常用于标准多签场景;

7、Null Data,用于记录一些信息,这种场景金额必须是零,不能用于后续花费;


签名哈希类型:

1、SIGHASH_ALL,签名输入,签名输出,比如传统转账场景;

2、SIGHASH_NONE,签名输入,不签名输出,比如红包场景;

3、SIGHASH_SINGLE,签名输入,签名自己输出,比如财产分配;

4、SIGHASH_ALL|SIGHASH_ANYONECANPAY,签名自己输入,签名所有输出,比如众筹场景;

5、SIGHASH_NONE|SIGHASH_ANYONECANPAY,签名自己输入,不签名输出,比如捐献场景;

6、SIGHASH_SINGLE|SIGHASH_ANYONECANPAY,签名自己输入,签名自己输出,比如染色币交换;


交易高级特性:

1、每个交易包含一个locktime,锁定交易最早时间,最早可以被加入区块链的时间;

2、每个input包含一个sequence,交易的所有sequence等于0xffffffff,交易锁定失效;

3、交易需要付出一定的手续费,手续费越低,交易耗时越长,每笔交易通常还涉及找零;

4、签名不会保护签名脚本,可以修改签名脚本使交易仍然有效,但是交易哈希发生变化;

5、交易延展性:修改未确认交易的签名,交易哈希发生变化,依赖此交易的后续交易失败;

6、隐私保护:每个输出使用一对公私钥,能够提升比特币安全性,能够显著保护隐私;

7、隐私保护:使用混币交易,提升追踪余额和消费记录的难度,能够显著保护隐私

8、隐私保护:消费多个output,只要一个泄露隐私,整体行为就泄露,output选取需要谨慎;


交易脚本详解:

1、脚本官网:https://en.bitcoin.it/wiki/Script

2、脚本指令:https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h

3、脚本语言Forth-like,基于栈从左往右处理指令,不支持循环,不是图灵完备;

4、栈的一个元素是一个字节数组,元素当做整数时,最高位是符号位,0x81表示-1;

5、指令说明:0x00-0x44推送数据,0x4f推送-1,0x51推送1,0x52-0x60推送2-16;

6、指令说明:OP_HASH160计算栈顶元素哈希,使用哈希算法RIPEMD160(SHA256(data))


二、交易合约

1、交易合约是比特币去中心化的金融协议,能够显著减少金融交易风险;

2、托管仲裁协议:2-of-3 multisig,A、B、C只要有两个签名,资金去向就被决定;

3、托管仲裁协议:A是仲裁者,仲裁者签名之后,再多一个签名资金去向就被决定;

4、托管仲裁协议:仲裁者签名之后,B和C不满意,通过2-of-3 multisig找一个新的仲裁者;


微支付通道:

1、链上交易转换为链下交易,降低多笔小额交易的手续费,提升小额交易效率;

2、交易包含:保证金交易Funding Transaction,退款交易Refund Transaction;

3、交易包含:更新交易Updated Transaction,结算交易Settlement Transaction;

4、交易包含:更新交易不断合并小额交易金额,最后一个更新交易变成结算交易;

5、只有两个交易在链上,其中一个是保证金交易,另外一个是退款交易或结算交易;

6、保证金交易上链的过程中,恶意用户有可能修改签名脚本,导致退款交易不可用;

7、退款交易存在时间限制,只能在指定时间之后退款,保证结算交易能够优先执行;

8、退款交易或结算交易都存在风险,微支付通道适合小额支付,bitcoinj支持构建通道;


CoinJoin混币交易:

1、公链的转账和消费记录可以被查询,混币交易用于保护用户的余额和消费记录隐私;

2、混币交易包含多个用户的input和output,从而无法识别input和output的对应关系

3、消费时进行混币交易的费用更低,input是多个消费者,output是多个商家;

4、专业混币钱包:JoinMarket Wallet、Wasabi Wallet

发表评论
评论通过审核之后才会显示。