比特币硬分叉和软分叉是什么意思
Q:?什么是比特币分叉,产生分叉的原因是什么?
A:?比特币之所以会产生分叉这个行为,是因为比特币的底层技术是区块链,一些人开始觉得比特币的区块容量太小,总出现拥堵,于是这些人要求比特币升级扩容,一些人又觉得比特币的功能太单一,今后的发展不容乐观,于是这些人又要求比特币能够有搭建DApp(去中心化应用)的功能,有人支持就有人反对,这种对比特币发展的分歧便可以理解为比特币的分叉
Q:?比特币分叉的分类?
A:?比特币分叉的分类分为两种,一种方案是软分叉, 一种方案是硬分叉,那么什么是软分叉?
Q:?软分叉的形成原理?
A:?软分叉是指在原有的比特币网络里面进行优化修改bug提升区块的容量,比如改成2M、4M或者8M、16M,其中以SegWit闪电网络为主流解决方案,通俗的说,就相当于一条主路上堵车,开发团队就再建造一条辅路,帮助主路分流拥堵。
这是一种温和的解决方式,能让原有的比特币网络和软分叉之后的网络进行兼容,比特币的主要交易还在主链上。
Q:?软分叉的缺点
A:?当然,软分叉存在缺点,那就是治标不治本,只能解决暂时的拥堵问题,执行软分叉后,也仅能保持数年内网络的通畅,未来还需要不断扩容,对系统稳定性有影响。
Q:?硬分叉是什么及形成原理?
A:?另一种方案是硬分叉,硬分叉是指:
重新升级比特币系统,通过代码形式将区块的高度彻底改变,以bitcoin unlimited为主流解决方案。通俗的说,就相当于一条主路上堵车,我们直接弃用这条路,找个地方,做一个地上地下立体交通枢纽,新车都走这套交通系统,这套系统改变了比特币网络的区块大小,优化了网络的处理速度。
Q:?硬分叉的缺点是什么?
A:?但是硬分叉同样存在缺点,那就是不兼容原有的比特币系统,这就要求现在比特币网络所有的人都要支持硬分叉,若有部分人不支持硬分叉,比特币网络将会出现两个版本,也就产生了两个比特币,这两个比特币所存在的区块链形成竞争关系,这种内耗会导致价格波动较大,会导致比特币未来的局势不明朗。
Q:?比特币分叉的经典案例?
A:?以太坊(ETH)和以太经典(ETC)是硬分叉的典型案例。The DAO项目是区块链物联网公司Slock.it发起的一个众筹项目,于2016年5月正式发布,截止到当年6月,The DAO项目募集资金超过1.6亿美元。没过多久,The DAO项目就被黑客盯上了,因为智能合约上的巨大漏洞,导致The DAO项目被转移了市值五千万美元的以太币。
为了挽回众多投资者的资产并停止恐慌,以太坊创始人V神(Vitalik Buterin)最后提出硬分叉的设想,并最终通过社区的多数投票表决在以太坊第1920000区块完成了硬分叉,回滚了包括被黑客占有的所有以太币。
即使以太坊硬分叉成了两条链,依然有部分信仰着区块链不可篡改特性的人留在以太经典这条原链上,如今,以太坊(ETH)和以太经典(ETC)都排在全球加密货币市值排名的前20名,这也是二者在硬分叉领域被当作经典案例的原因之一。
Q:?软分叉和硬分叉的区别及影响?
A:?对用户而言:?软分叉不会产生新的比特币币种,只需要了解比特币该币种的交易方式和k线特点,只需要一种比特币主流钱包即可。
硬分叉会产生新的币种,而且可能不止一种新的币种。一旦修改比特币核心代码,重构比特币核心代码的事情发生了,有第一次就可能有第二次,BTC1、BTC23456789就都有可能发生,用户会懵,到底我去交易那种币会比较好?到底我使用哪种比特币去支付流通范围比较大?总之,选择困难症的用户会崩溃。而且,用户要下载不同硬分叉系统的钱包,给保存和支付比特币带来了复杂操作。
但是,相应的,用户的选择权也变大了。可以选择自己喜欢、信任的开发团队开发的比特币代码。当比特币分叉情况不明朗的时候,当软分叉开始激活,算力开始投票的时候,用户最好的处理方法是:静观其变。不要在分叉过程中去充值和提取比特币。
此外,软分叉会改变比特币全节点的结算方式,一部分小额结算会使用第三方节点即结算通道进行确认。结算通道可能会手续部分手续费。类似银联的作用和商业模式。
什么是比特币分叉?软分叉和硬分叉的区别及影响
什么是比特币分叉?
比特币中一个区块的容量就是1M(兆字节)吧。而一笔交易是250到500字节之间。
按照这种算法,那么一个区块大约包含的4 194.3(笔)交易。
?比特币中一个区块确认的时间是10分钟,那么一个区块每秒能处理的7个交易,可能有时候连7笔都达不到。
这样会造成一什么后果呢?
?这就像一条不够宽的街道,忽然来了很多辆车。车太多,而街道的宽度有限,那么势必就会造成堵车。
?在比特币区块上面的交易也是如此,前面一笔交易还没处理好,后面却有一堆排着队等待确认的交易。
?如果排队等待确认的交易太多,势必就会撑爆区块。
?就像一个只能承载12人的电梯,你装20个人是启动不了的。如果硬要塞两百个人进去,估计电梯要瘫痪了。
?区块只有那么大,那现在怎么办呢。
去找中本聪升级区块,扩大区块容量,不就可以了。
?但中本聪失踪啦,这办法根本行不通。
?从2014年开始,比特币的社群把扩容这件事提上了议事日程。
我们知道比特币网络是一个去中心化的网络。在这个世界里,没有一个中心化的机构来运转,凡事是要靠社区去协商才能才能达成一致的。
?比特币扩容方案很多,在历史上也经历了很多迭代。
?每一个团队都提出了自己不同的扩容方案。
但是,因没有第二个中本聪能统一这些扩容方案,所以比特币者不得不分叉了。
比特币的分叉分为硬分叉和软分叉。
?硬分叉是:指比特币的区块格式或交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块。
已经升级的节点可以验证未升级节点生产出的区块,大家各自延续自己认为正确的链,所以分成两条链。
什么是软分叉呢?
?软分叉是指比特币交易的数据结构发生改变时,
未升级的节点可以验证已经升级的节点生产出的区块,
而且已经升级的节点也可以验证未升级的节点生产出的区块。
比特币为什么要进行分叉
在区块链和比特币等数字货币的讨论中,我们经常听到 “分叉” 这个词,那么到底什么是分叉呢?分叉又会有什么影响呢?
区块链
在说分叉之前,先普及一点区块链的小知识,这样更容易帮助我们理解分叉是什么(如果你对区块链一点概念也没有,欢迎翻阅我以前的文章,都是些通俗的话语帮你了解什么是区块链)。
区块链,顾名思义,就是由区块组成的链条,当然这种链条只是一个形象比喻,说白了就是数据区块有序地连接起来。在比特币中,区块中存放的是比特币的交易记录,区块的大小和交易记录所占用的空间决定了一个区块能存放多少交易记录。这些交易记录被打包到区块中,然后区块一个个相连就构成了区块链。
为什么要分叉
我们知道,比特币软件像其他软件一样,需要定期更新和修改,以便让他更好。所以新的版本就会出现,但是由于不是所有人都即使下载了新版本,所以有个矿工就运行了旧版本,有的则运行了新版本,那么一旦新旧版本不兼容的话,区块链就会分叉。因为因版本的区块和旧版本的区块可能存在差异,所以他们不能被连接到同一个区块链上,所以就会出现两条链,甚至多条链,这就是分叉。
软分叉
软分叉指的是,当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。这种分叉会随着节点的升级而逐渐修复。
硬分叉
硬分叉指的是,区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬叉就会发生。所以,在数字货币领域,硬分叉往往导致新的币种出现。例如以太坊的硬分叉就导致了 ETH的出现。
比特币究竟会不会分裂?及币行应对比特币分叉方案
如果你一直在关注比特币社区的消息,你会知道在大约两周内,最快可能2天内,比特币网络可能会面临协议上的一些改变。
为了改进比特币的交易能力,解决比特币网络拥堵问题,各方一直争论不休,并且提出了多种解决方案。未来多则几周内短则几天比特币社区,可能会是迎来一次平滑的升级,也可能会出现链分裂,又或者只是简单地维持现状。
但最终哪种方案将会落地实施,还要看最终的投票结果。
截止到发稿前,已有88.2%的矿工投票支持SegWit2x(比特币分叉投票结果查询网址:coin.dance/blockquans)
最近比特币圈内频繁出现了这几个词:SegWit2x 、BIP 148、BIP 91。
然而,大部分读者可能根本不理解这些词的含义和他们的相互作用。
今天,OK君给大家讲解一下这些词的含义,和他们可能给比特币带来的变化。
SegWit2x(纽约共识)
是由一些比特币公司和80%的矿工在Consensus2017会议上签署的协议。会议由此决定了比特币的新版本:Segwit(隔离见证)+2x(将1M扩展至2M)。SegWit2x旨在通过一次软分叉将隔离见证应用到比特币主链上,同时承诺三个月后通过硬分叉增加比特币的区块大小。
BIP148
使用一种较旧的机制来对比特币作更改,这种机制被称为用户激活软分叉(UASF)。其需要大约50%的矿池支持,如果得不到支持,BIP 148便会激活,网络会被分裂成两条竞争的区块链。
说白了,在2017年8月1日这天,如果大多数矿工运行这个软件,隔离见证的激活条件就触发了。如果BIP148没有得到大多数矿工支持,那么比特币就会一分为二,产生两种比特币。
BIP91
BIP 91 的目标是在8月1号之前锁定SegWit2x的隔离见证,使得SegWit2x提案与BIP 148相兼容。BIP 91的锁定需要80%的矿工算力投票支持。
BIP91通过让SegWit2x 和BIP148产生兼容性从而避免分裂。
小白一句话简单理解:SegWit2x是一个可以优化比特币的东西,BIP91是为比特币不分裂保驾护航,BIP148有可能导致比特币分裂成2种。
为了帮助你更好地理解比特币将会发生的一些事,我们用一张图来展示:
目前我们正处于图中的第一阶段:对BIP 91进行投票,BIP91的激活门槛是在336个区块周期里,有269个支持,也就是80%的支持率。如果80%的矿工算力投票支持,答案为“YES”,那么Segwit(隔离见证)将被锁定,其他的提案将全部无效,比特币不会分裂。目前看来BIP 91通过可能性极大。
最新进展
截止到发稿时,336个区块,其中47(14%)个已经支持BIP 91。(BIP 91投票结果查询网址:coin.dance/blockquans)
目前,全网76%算力的矿池似乎已经承诺支持这个提案,目前看来BIP 91通过的可能性相当大,如果结果和预期相符,本次比特币不会分裂。
比特币自2009年诞生以来,经过8年的发展,取得了令人难以预测的全球影响力。比特币是互联网技术发展的必然产物,是人类文明进化的重大成果,是目前全球最可靠的公有区块链网络之一,未来有极大的可能性成为其他区块链应用的底层基础设施,将在服务实体经济方面发挥重大作用。
在比特币高速发展的同时,比特币社区出现了不同的技术发展路线图。有人认为应该扩大比特币区块,以支持更多的交易并发;有人认为应该优化比特币的数据存储方式(segwit),并发展闪电网络技术以支持更多的交易并发。
OKCoin币行对所有致力于比特币技术发展的工程师、专家都致以崇高的敬意,我们认为比特币扩容的路线之争是不同技术理念的争论,不是阴谋论,也不是各种从业公司之间的政治关系。
我们每天享用的高科技,在历史上都出现过技术路线争论。比如Windows Mobile、Nokia Symbian、iOS、Android等移动操作系统经过多年的市场竞争以后,最终iOS和Android广为市场接受;基于磁悬浮和基于轮轨的高铁技术,在多年的市场竞争以后,基于轮轨技术的高铁在中国被广泛应用。
在比特币的世界里,我们也同样认为所有的技术路线之争,最终应该由市场的用户来选择,而不应该通过开会或者政治谈判来支持某一种技术路线。
OKCoin币行作为一家致力于比特币应用的公司,我们的崇旨是服务好每一位客户,OKCoin币行并没有权力帮助用户选择哪一种比特币技术,因此OKCoin币行将支持所有了比特币技术发展路线,把选择权交给市场和客户。
OKCoin币行将在比特币出现分叉可能性的期间采取如下措施:
1?在可能出现分叉的时间点,2017-07-30 - 2017-08-02 ,为了防止比特币充值或提现被回滚和重放攻击,我们将停止比特币的充值和提现。
具体的停止提现的时间点,我们会另行通知。为了您分叉期间的交易便捷,建议您提前进行比特币的充值,以防止遇到突发行情无法交易。
2?如果没有出现分叉,网络稳定以后,我们将恢复充值和提现。
3?如果比特币分裂为一种或多种比特币,OKCoin币行将会把分裂出来的各种比特币按拥有权提供给所有客户,并且逐步上线所有新种类的比特币的交易。
4?对于用户来讲,最简单的方法提前充值比特币,我们会为您处理好分叉过程中的各种技术问题。
5?如果分叉过程出现了价格异常,OKCoin币行可能会临时中止交易。
我们相信,很多年后,经过长期的市场竞争,一个或多个版本的比特币将被广泛采用,让我们一起为比特币的未来努力。
区块链鼻祖比特币之8:分叉带来的双花支付、51%攻击与解决办法
分叉
前面讲到了比特币通过区块链+工作量证明的独特设计来解决了时间顺序,但是不能保证在同一时刻有两个节点算出了正确的解,虽然这种可能性很低很低。这就带来了区块的分叉。
虽然说几乎同时有两个节点计算出这一数学问题的可能性微乎其微,但是仍然存在这样的可能性,所以分叉就以为着同一个区块的后面可能会跟上两个不同的区块。
规则的打破一直要到下一个区块被人解开。则会立即转向最长的区块,而那些短的区块则会被抛弃。数学问题使得区块很难被同时拆解。要连续发生多次更是困难。最终区块链会稳定下来。也就是说所有人对最后几个区块顺序达成共识。分叉意味着,譬如,若你的交易出现在较短的支链,它就会失去进入区块链的位置。一般而言,只代表他会回到未确认交易池。然后被纳入到下一个区块。
比特币网络如何解决分叉带来的双花支付
可惜,交易失去区块位置的潜在可能,给了本来定序系统防范的重复支付攻击机会。考虑下面的一个攻击者A,其首先用自己的比特币交换B节点的货物,其立即又支付给自己。然后其通过努力的制造更长的链条来让自己的支付替代掉B节点的支付,从而实现了双重支付,B节点既得不到钱,还失去了货物。
这时交易会退回到未确认池中,因为A节点已经利用参照同样的input交易取而代之。节点就会认为Bob的交易无效。因为已使用掉。
你可能会猜测A节点会预先的计算出一支区块链,然后抓住时机发布到网络。但是每个区块的数学谜题阻挡了这个可能性。如前面所诉,解开区块是猜测出一个随机数的过程。一旦得出答案,解出的哈希值就会成为指纹一样的区块识别。只要区块内容有一丁点变化,下一个区块的参考值就会完全不同。此机制的结果就是无法在区块链中置换区块。在得到前一个区块之前,下位区块无法被解开。前一个区块的指纹也是杂凑函数的引数之一。
同时,该工作量证明机制还解决了在集体投票表决时,谁是大多数的问题。如果决定大多数的方式是基于IP地址的,一IP地址一票,那么如果有人拥有分配大量IP地址的权力,则该机制就被破坏了。而工作量证明机制的本质则是一CPU一票。“大多数”的决定表达为最长的链,因为最长的链包含了最大的工作量。如果大多数的CPU为诚实的节点控制,那么诚实的链条将以最快的速度延长,并超越其他的竞争链条。如果想要对业已出现的区块进行修改,攻击者必须重新完成该区块的工作量外加该区块之后所有区块的工作量,并最终赶上和超越诚实节点的工作量。我们将证明,设想一个较慢的攻击者试图赶上随后的区块,那么其成功概率将呈指数化递减。另一个问题是,硬件的运算速度在高速增长,而节点参与网络的程度则会有所起伏。为了解决这个问题,工作量证明的难度(the proof-of-work difficulty)将采用移动平均目标的方法来确定,即令难度指向令每小时生成区块的速度为某一个预定的平均数。如果区块生成的速度过快,那么难度就会提高。
如果有一台超级电脑,能够在区块解题中获胜?
即便是一台超级电脑,或者时几百上千台电脑也很难赢得解一个区块的胜利,因为竞争对手不是任一台电脑,而是整个比特币网络。你可以用买彩票来比拟。操作千百台电脑,如同买了千百张彩票一样。
51%攻击是指的什么
根据前面的例子,我们知道,要想有50%的概率领先其他人解题得到胜利,就需要掌握全网50%以上的算力。要连续领先他人解出区块,掌握的运算能力还需要高得多。所以区块链中的交易是受到数学竞赛所保护。恶意用户必须和整个网络较量。区块连接建立的结果,使得在支链越前方的交易越安全。恶意的用户必须在更长的时间赢过全网络,来达成重复支付,替换前面的区块链。所以,系统只有支端末尾易受到重复支付攻击。这也是为什么系统建议多等几个区块,才能确认收款成功。
个人博客: