@
chenshaoju 事实上btc 只存在于交易链之中,包括生成50 个也是以一笔交易(transaction)的形式存在的,不存在说某个btc 就有一个hash 值,一个账户有多少btc 是通过历史交易“算”出来的。
另外用户这个概念严格说也不存在,存在的是地址,或者说账户,用户可以看作很多地址的集合。两个用户不可能拥有同一笔btc。
@
lsd2004你说的这个问题叫做double spending。生成一个有效的block 很慢(一个block 当中包含若干笔交易),但是广播一笔交易很快。成功做出的block 是证实某一笔交易发生的唯一证据。
目前版本的实现是,最长链胜出,即先被写入block 那笔交易会使没有进入block 的那笔交易作废,永远停留在0 confirmation。事实上block 广播速度非常快,基本一个block 生成就会迅速被绝大多数节点确认,而否决这条链的条件是与之冲突的block 得到超过6 次确认。
目前btc 网络的计算能力是30 PB hash/s 应对目前的交易量平均的block 生成时间是5min 以内。想要完成double spending 可能需要超过50% 的计算能力,或者超过50% 的节点控制。