- 转账交易的时候,如果接收者不在线怎么办?
- 转账只是记录,不需要接受者在线。
- 假设某全节点收到某个转账交易,有没有可能接受者的收款地址是全节点以前不曾听说过的;
- 可能。比特币账户创建的时候不需要通知其他人,只有第一次收到钱的时候节点才知道他的存在。
- 如果账户的私钥丢失该怎么办?
- 私钥丢失之后没有办法再找回了。
- 如果账户的私钥泄露怎么办?
- 该账户的钱尽快转移到安全的账户。
- 转账的时候写错了地址怎么办?
- 无法取消已经发布的交易。
- 全节点检测合法的交易才会被写入区块链,但是OP_RETURN是无条件返回错误,区块链如何接受这个区块?
- OP_RETURN是写在输出脚本中的,当前交易的输出脚本在验证的时候是不会执行的,只有当再次花费这个输出的时候才会验证。
- BTC系统挖矿,会不会有矿工偷窃答案?例如:某个矿工发现其他矿工发布了nonce,收到后验证该区块合法,将该nonce作为自己找到的nonce发布出去。
Coinbase Transaction
是每个区块的第一个交易,作为对求解nonce
的矿工的奖励。需要注意nonce
和merkle root hash
是都在block header
中,验证nonce
是通过H(block header) <= target
,如果其他矿工验证通过想要偷答案,就需要修改交易中的收款地址,就会改变merkle root hash
,从而导致原本的nonce作废。
- 交易费可以看作是发布一个交易的时候给矿工的「小费」,那么怎么知道这个交易费该给哪个矿工?
- 事先不需要知道哪个矿工能得到小费, 交易费是
total inputs - total output
。哪个矿工挖到矿了,打包交易的时候就把这个差额收集起来作为自己的交易费。
- 事先不需要知道哪个矿工能得到小费, 交易费是