首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分叉币分叉时刻零确认交易归属权问题?——谁能拿零确认交易的分叉币?——又为什么说比特现金BCH不是分叉币?

第章 引言

最近分叉币太多了,有一个有意思的问题是,如果比特币运行到了分叉币预计的区块高度,而你的地址刚好有一笔收款,但此时还是零确认,那请问,你的这个地址能分到分叉币吗?

第1章 如果是使用快照的方式来派发分叉币

这个问题很有意思,先从简单的前提条件回答。如果分叉币的派发原则是使用快照的方式,那答案是非常简单的。

我们假设一个分叉币将在区块高度50000上分叉,并且按这个区块高度上的比特币余额进行快照,有币的地址将1:1派发分叉币。

如果你这时你从地址A发起一笔1BTC的交易,发往地址B,但在50000高度上你的这笔交易还没有打包,零确认。那分叉币分叉成功后,请问地址A和地址B哪个能分到这1BTC的对应的分叉币。我们假定这1BTC的UTXO是处在高度40000万上锁定。

答案是在地址A。

因为在快照高度50000时,地址A里的1BTC币虽然已经转出去了,但交易还没有被打包到区块链上,还是在内存池,只要没被打包进新的区块里,这时候所有的节点都会认为这笔1BTC的UTXO还是锁定在40000高度上,直到这些节点能够查找到这笔UTXO的被连接到一个更高的高度上。

而地址B在最顶端50000高度这条区块链上就是没有这1BTC的。

除非分叉币的快照是包含了内存池里的交易。

从反面来说,如果一个分叉币的通过快照的方式来派发币,而且还会对内存池进行快照,将内存池里的所有零确认的交易里的目标地址进行派发分叉币,那结局可能是会被大量双花,就是内存池里的交易可以造假。一个快照很难杜绝这种造假,因为本质上比特币阻止双花是通过共识来完成,即通过算力对最顶端的区块高度进行投票来决出唯一正确的“花费”,任何“双花”在投票面前只能投出一个有效的交易,另一个会被拒绝掉。但内存池里是无法进行投票的。

第2章 比特现金BCH分裂时刻零确认交易BCH归属权问题

现在我们讨论比特现金BCH诞生时间点的零确认交易的归属权问题。比特现金BCH是比特币的一次协议升级过程中诞生出来的,这是一次硬分叉。

我们先约定好细节:比特现金是在比特币区块高度 478558发生的一次硬分叉升级过程中诞生的。现在假设比特币区块链运行到了478558,还没有挖出478559高度的区块。你从地址A发起一笔交易发送1BTC到地址B,此时因为你付的矿工费较低,所以在比特币区块链上将长期处于零确认状态。请问,比特现金成功分叉后,这笔交易里的1BCH是归地址A所有,还是地址B所有?

答案是地址A。

因为比特现金BCH的挖矿节点bitcoin abc的代码是包含了双向防重放攻击代码,也就是在bitcoin abc节点运行到了预定好的硬分叉高度时,将拒绝承认所有来自BTC的交易。

我们假定现在比特币挖矿运行到了区块高度478557,此时,整个比特币网络同时运行着bitcoin core(unlimited\classic都是和Core是一样的)和bitcoinabc两大类节点。在478558高度上大家都是相安无事,相互承认各自发出来的交易。但478558区块是一个临界点,在这个区块之后,bitcoin abc开始拒绝承认bitcoincore的交易,并且bitcoin abc开始构造的新的交易格式也在bitcoincore节点看起来是非法的,bitcoin abc节点开始锁定硬分叉。

也就是在478558区块高度之后,所有还没有打包好的交易,即零确认交易,在比特现金BCH的挖矿节点看来就是非法的了,所有这些零确认的交易,统统会被BCH节点清除出内存池。在BCH网络看来,这些零确认交易就好像没有发生过一样。

所以地址A会拥有这一个1BCH,而不是地址B。

第3章 分裂币比特现金BCH和分叉币的本质不同

如果再有人说比特现金BCH是众多分叉币中的一种,没有差别,那您可以耐心跟他解释下,他终究会感谢你的。

分叉币,包括BTG、SBTC、UB等等,都是以区块高度进行快照。然后抄写快照上的账户信息,复制出一个全新的账本。

比特现金BCH是完全继承了比特币BTC的所有区块。BCH并不是抄写和复制出一个新账本,就是沿用了比特币在高度478558和之前所有高度的账本。BCH和BTC的两套账本在478558高度和之前是完全一样的,没有任何的更改。

如果我们把区块链比喻成一个会计用的纸质账本,账本是有固定格式的。那分叉币就是设计了账本,只不过是把账本里的记账关系抄进了新的账本里,谁谁谁有多少币都抄进去。

但BCH是沿用了老账本,只不过是BCH在区块高度48558之后的记账方式和BTC不一样了,比如BTC的会计员用黑色笔记账,BCH只能用蓝色笔记账。颜色不一样,记的账就是不能被承认的。

所以本质上,分叉币是换了账本,抄写账单信息,这个账单信息是可以被修改的。但BCH是沿用账本,用了不一样的笔来记账罢了。为什么要用不一样的笔呢?就是为了不和BTC链上的记账相混。

第5章 结束语

如果你还将比特现金BCH和分叉币识为一类东西,那你可能会错过巨额财富。

(如果你想学习比特币和区块链知识,欢迎加入我的小密圈)

(欢迎打赏我一点比特现金BCH)

14mhzjkJ71oMAMkKu3dy98dnUpkyQBHL1r

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214G00DZ300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券