比特币硬分叉什么意思,比特币分叉时间
1:什么是比特币分叉
“分叉”这个词最经常出现的场所是github这个代码托管平台,是多个程序员共同管理和协同开发项目的一种办法。
为了便于理解,我先举一个类比。
你在一家公司的一个部门,比如研发部,部门一共5个同事,其中一个部门经理。现在部门要向公司提交下个月的办公用品采购计划。部门经理先用wrod文档写了一份采购申请单,并且在申请单上填上了自己计划要买的东西。然后经理将文件上传到部门的共享文档上。
同事A将文档复制了一份,然后在后面添加了自己想要采购的东西,然后上传到共享文档申请经理审批。同事B、C、D也分别复制了一份,分别添加了自己想要买的东东,并且申请审批。
部门经理审批了A的采购计划,认为合理,他就将A的需求合并到自己的那份申请单后面。审批了B的计划,他认为不合理,他就拒绝了B的需求,直接丢弃了B的计划单。然后继续审批C和D的。要么合并,要么丢弃。
然后B很生气,认为这不合理,他就越过部门经理,直接向公司提交了一份采购申请单.
如果把以上这个例子中的“采购申请单”,换成一个“程序开发项目”,上述过程就是一个典型的“立项”、“分支”、“请求”、“合并”、“分叉”的过程。
部门经理立了一个项,要写一份采购申请单,他写好自己的部分之后,将文档上传到共享云,形成一个主代码仓库.
然后ABCD四位同事分别对这份文档进行“branch”(中文译成分支),在分支上加上自己想要的特性,然后向主代码提交申请,叫“pull request”,中文叫“请求”。申请将自己的修改部分合并到主代码库里。
然后经理这个主开发者会审批这个“pull request”,如果合格了,他就会将这部分代码合并到主代码库,这个过程叫“merge”,中文译成“合并”。
如果主开发者认为这个“pull request”不合理,他就会拒绝,英文叫“Close”。但如果提这个“pull request”的人觉得他是对的,他可以独立出去,不和这个经理玩了,自己立个项,取个别的名字,然后自己合并代码。这样就形成了一个“fork”,中文译成分叉。
以上是所有参与者都是有开发权限的流程,但如果是一个项目组外的人,看到了这个项目,并且想提交一份特性的代码“pull request”,那他就得先对这个主代码仓库进行“fork”,然后再提交“pull request”。这个没有开发权限的人叫没有提交代码权,提交代码权英文叫commit权限。
这就是开源软件管理的过程。开源软件的代码更新,和漏洞修复都是使用这一套流程。
比特币就是一套开源软件,一开始有只有一个代码仓库,是中本聪建立的,叫Bitcoin,后来有很多人fork了Bitcoin,并提交了“pull requests”,有些人干脆自己“fork”并独立出去,形成新的分叉。
现在比特币这套开源软件有非常多的分叉,最著名的就是bitcoin core、bitcoin unlimited、bitcoin classic、bitcoin XT、Bcoin……
这里只是比较浅显的叙述了下概念,更多干货,推荐你看下面这篇文章。
《关于比特币分叉,你想知道的都在这里!》
2:比特币为什么要进行分叉
然后是肆虐的哀伤,
3:11月比特币硬分叉和bcc什么意思
11月份的比特币硬分叉是Segwit2x硬分叉,使得比特币扩容到2MB。而BCC则是通过对比特币进行一次硬分叉产生的一种新型区块链资产,是由一个庞大的大区块支持者构成的社区支撑的去中心化数字货币。BCC删除了隔离验证(SegWit),取消了区块大小1M的限制,最大可支持8M区块大小,坚持的是链上扩容路线。目的是为了更好的实现中本聪白皮书叙述的“点对点的加密电子系统”。
4:什么是硬分叉
区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。
5:什么是比特币区块链的分叉
分叉有区别为普通的升级,普通的升级在升级前后是没有影响协议共识的,也一般不需要社区共识或算力共识的参与。而分叉根据对协议的修改情况分为软分叉和硬分叉。
现有的定义:
【闪电定义】硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。
A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can’t validate blocks created by upgraded nodes that follow newer consensus rules.
【闪电定义】软分叉是指比特币交易的数据结构(这就是被广泛流传的“共识”(应该是部分协议共识))发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。
A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about.
我觉得不能说哪个定义正确还是错误,具体的定义可以根据已经较大社区共识的两者的区别来自己总结,不需要权威来指定。
硬分叉:没有向前兼容性,之前的版本将不可再用,需要强制升级。
软分叉:有较好的兼容性,之前版本至少部分功能可用,可不升级。
硬分叉:在区块链层面会有分叉的两条链,一条原旧链,一条分叉新链。
软分叉:在区块链层面没有分叉的链,只是组成链的区块,有新区块和旧区块。
硬分叉:需要在某个时间点全部同意分叉升级,不同意的将会进入原旧链。
软分叉:相当长的时间里,可允许不进行升级,继续使用原版本生成旧区块,与新区块并存
6:比特币放在钱包,分叉了有代币吗
关于比特币分叉之后是否有代币的问题,主要看钱包是否支持比特币分叉。
众所周知,常见的比特币钱包有两种:
一、网络版的,不需要用户,可以直接通过电脑、或手机登录访问钱包平台,使用比特币钱包。
二、单机版的,需要电脑(或手机端下端),安装之后才能使用的一种钱包。
另外,还有一种类似 u盘的比特币钱包(硬钱包)。
作为一家比特币钱包服务平台,币包认为:钱包中的比特币是否在分叉之后产生新的代币,主要看这种钱包,是否支持比特币分叉。
因为作为比特币钱包,无论是网络版、单机版还是硬钱包,首先要对比特币分叉支持之后,才能产生新的代币;是否有新的代币产品,主要取决于用户。
用户还可以咨询钱包的客服,了解关于比特币分叉问题。