作者:lvl
时间:2015年8月31日
来源:彩云比特
首先让我们复习下什么是区块、区块链(便于比特币新手了解此次比特币扩容大事件的原理):
比特币的区块链就是一个比特币的公共账本,这个账本:
1.存放在互联网的各个比特币节点上,每个节点都有一份完整的备份
2.里面记录着自比特币诞生以来的所有比特币转账交易
3.账本是分区块存储的,每一块包含一部分交易记录。每一个区块都会记录着前一区块的id,形成一个链状结构,因而称为区块链
4.当你要发起一笔比特币交易的时候只需把交易信息广播到p2p网络中,矿工把你的交易信息记录成一个新的区块,连到区块链上,交易就完成了。
那么多矿工,如何决定该由哪个矿工生成下一个区块?
中本聪(比特币的发明者)设计了一个数学问题,这个数学问题会耗费大量的比特币挖矿机计算时间才能得出答案,同时每一次得出的答案都会作为下一次计算的初始条件。全世界的矿工一起来计算这个问题,谁先得出答案,他就可以用这个答案生成一个新的区块,再广播到网络中。收到这个新块数据的矿工会立即停止当前的计算,用新块里的数据重新进行下一次计算。这就是所谓的“挖矿”。矿工产生的区块一旦被网络接受,他就能获得一笔比特币作为酬劳。
这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?
这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。
分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。
仔细思考下这个体系,你会发现它几乎无懈可击。首先你不能凭空造出比特币,只能挖矿获得;其次你无法伪造交易,无法控制整个比特币账本。一旦交易被确认,几乎无法取消。
目前比特币区的大小平均不超过500KB左右,下图是近期的几个区块的大小,离1MB的上限还有一半的容量
当区块大小达到上限以后,交易排队现象就会频发,小额低手续费交易就可能一直无法确认,
等待确认将会增长,会占有所有全节点越来越多的存储,节将会出现丢失队列交易的情况,这会使得交易确认可靠性下降。
如果钱包在几个区块过后还没有确认,它会重新广播交,那么当所有的钱包都在重新广播未确认交易时,网络带宽的使用将达到高峰。
如果交易等待的数目足够多,最终的结果将是一个过度饱和的网络,瞎忙活却什么都不会生产。
当前,比特币网络只支持每秒约7笔交易,而Visa则每秒大约支持45000笔交易。如果比特币网络要发展成理想中的世界支付网络,可见区块链要处理的交易容量还需要大幅提升。
如何提高区块链处理交易数量容量?目前业内有两种大方向:
1、增加区块上限
2、用侧链处理更多的交易和其他功能
增加区块大小,就增加了区块处理交易的容量,这很好理解,但区块扩容也会伴随着一些可预见和不可预见的问题:
1、即使是20倍的扩容也不过是沧海一粟,交易量的增益将始终是线性的,不能一直无限制增加区块大小,会导致陷入一种不断面临升级的僵局,这并非一种聪明可持续的解决方法,Lightning Network(闪电网络)/侧链/ChainDB/树链(Treechains)/公证通(Factom)会解决比特币的扩展性问题;
2、比特币网络1mb块大小上限很安全,这样会使交易之间产生竞争,矿工就能得到更高的交易费用;
3、增加区块大小,推高带宽和cpu占用率,将不可避免地迫使人们远离运行自己的完全节点,人们可以切换到SPV(简化支付验证),网页钱包等,但是这是一个严重的隐私妥协方案,用户无法完全掌握自己的钱包,普通家庭的电脑和宽带速率将无法存储本地钱包,运行全节点的能力都需要公司化的企业来做,这样比特币网络就会越来越中心化,普通用户彻底掌管自己比特币的自由也受到影响,中心化将更严重;
4、提高块大小上限,未经过足够的测试,安全审查不够,可能存在严重的大家未知的危害。
现在圈内似乎都趋向一致,同意区块扩容,但我更担心的是另一件大家忽略的事情,随着区块奖励减半手续费无法及时提高带来的矿工收益受损,矿工关机,全网算力下降的问题。
现在矿工们运行算力的目的都是为了获得每个区块25btc的发现奖励,而在1年后比特币将迎来第二次减半,也就是每个区块的奖励将减少为12.5btc,中本聪的初始设想是在区块奖励减少到无法吸引矿工的时候,由交易费来支付矿工收益,如果矿工没有收益不持续开机,全网算力持续下降的话,比特币网路的安全性就会受到严重影响。
整个比特币网络是以区块账本记录为核心,而区块链的维护是需要矿工的算力运行来支持的,没有算力就没有区块链,也就没有了比特币网络,比特币也就不存在了
目前0.5W/G功耗的机子,1T 一天理论收益月13元(币价1450元),电费按0.5元计算需要6元,净利润为7元,如果1年后币价不变,区块奖励减少一半,那么矿工1T利润收益就会只有约6.5元,减去电费就只剩0.5元,那时如果使用0.25W/G功耗的机子,电费为3元,纯利润为3.5元,随着再一个4年之后区块奖励减半,将会入不敷出。
可以说如果手续费奖励没有大福增加,矿工的收益也就很难保证了,目前全网手续费的奖励不及区块奖励的1%,可见全网手续费的增加随着区块奖励的减少急需增加,以维持比特币算力稳定。当然,区块容量的增加,交易次数的增加也会带来手续费总和的增加,似乎大家觉得手续费的增加不是一件好事,这样又会产生另一个问题:
手续费的大幅持续增加会比特币网络失去吸引力吗?
很多人花费了大量的时间研究和金钱来决定购买比特币。这些交易行为不会受到略高交易费用的影响,也可能不会受到相当高的交易量的影响。例如,如果我想支付一笔约150元的人民币的比特币,会在乎手续费是1毛,还是增加50%的1.5毛吗,可能不会。
另一个情况就是,小额支付,当费用是一分钱时,那么通过区块链给别人发送1块钱是可以的。而当费用变成了1毛时,那么这样做就会失去意义。这会给比特币造成损害吗?这说明人们愿意支付更多的费用来使用它。用户仍然可以通过其他服务来进行这样的交易,尽管信任模式会略差。甚至不需要信任的模式也可能成为支付渠道。,而不是一些小额的垃圾支付占据了比特币网络的处理能力
如果比特币变得非常受欢迎以至于人们愿意支付高额费用来使用它,那么它就能显示出巨大的价值,那些在拥堵期间没有足够费用的交易最终将过期并从内存池中删除,然后让用户尝试再次发送。
侧链:
当全网交易占据区块上限时,大家为了获得更快的交易确认就会更加愿意支付手续费也就产生了手续费增加的源动力,而如果区块上限不断增加也就消弱了这个源动力,又要保持这个源动力,又要让比特币网络能够处理大量的小额低手续费交易,该怎么办呢?
这就引出了另一个方案侧链,就像货币开始的金本位,比特币区块链作为主链,也就是这个“金”,其他侧链以比特币区块链为本,开发其他支付功能
元素链Alpha
由初创公司Blockstream提出并负责开发的创新技术,可让两全其美成为可能;新建立的区块链将锚定到比特币的区块链,因此它们之间可以进行价值传输,并通过“联合挖矿”的方式,让比特币矿工们来确保新区块链网络的安全性。
未来侧链的愿景,将是一个巨大的、遍布全球的区块链而组成的去中心化网络,形象地说,它会像电缆一样缠绕在一起,而不是一个单链。且每个都有自己的协议、规则与特点,但它们都会得到比特币网络的支持,由比特币挖矿网络负责保护,这就好比美元曾经由黄金背书一样。侧链还可以对基础的比特币区块链作出改变,但这需要对现有的比特币协议进行一个小的调整。
私密交易 - 目前,所有的比特币交易是完全公开的,尽管有些地方是匿名的。私密交易,正如其名称所暗示的,该功能仅允许交易的参与者(或他们指定的人)知道交易金额。
新的操作码 - 每一笔比特币交易,实际上是用脚本语言编写的一个程序。这些操作码,扩展了该语言的可能性,使得整个交易的新形式成为可能,例如彩票,支付给一个随机选择的收件人等。
基础资产发行 - 这允许侧链用户可以发行自己的全新资产,就像比特币本身,并可在可靠安全的区块链上进行,例如:代金券、优惠券、股票、债券等。
闪电网络
它的目的是将比特币的绝大多数交易带离区块链,而且不会牺牲可证性以及安全性。
闪电网络可允许创建“微支付渠道”,除了发起通道的初始交易之外,多笔比特币交易在无需与区块链进行互动的情况下,还能安全地进行。它也不存在交易对手的风险:如果任何一方终止合作,或者说在约定的时间内没有响应,该通道可以被关闭。
这些在通道中的支付交易会瞬间完成,这与当前的比特币支付不同(往往需要1个小时的时间来完成交易验证)
从理论上来讲,这种分布式小额支付网络(闪电网络)可以将比特币的日交易量扩充到数十亿笔每天,并且极少地使用到区块链,以及仅需少量的交易费。
然而,闪电网络需要再次对现有的比特币协议进行改动。(虽然这是一个软分叉,即现有的区块链将继续完全有效)
虽然这两项技术还处于早期阶段,但是我们仍可以说,这的确是一个可研究的方向。
区块扩容:
中本聪当初实现的第一个版本比特币客户端名字叫做bitcoin-qt,后续交由以Gavin为首的核心开发者继续维护并于0.9版本时改名为bitcoin-core,大家为了区分和其他比特币客户端,简称其为core。而硬分叉需要修改比特币核心代码,其分叉后的区块链已经不是当初的“比特币”了,是另一种币了。
1、Gavin提议的 “硬分叉”(Hard Fork)Bitcoin-XT
Gavin现任比特币基金会核心代码维护成员之一
Bitcoin.org网站(比特币基金会官方网站)近期发表声明,认为 XT 是 Altcoin (竞争币、山寨币)
XT是bitcoin-XT的简称,比特币区块直接扩大到20M。一次性一步达成,最早可能发生分叉的时间是2016年1月11日,如果连续1000个块中有750个 XT 版本的块(即相当于75%的算力已经切换到了XT),则在两周后会发生分叉,但不会早于2016年1月11日。这其实也就意味着如果选择 XT 的算力一直都达不到75%的话,永远都不会发生分叉。
2、BIP即Bitcoin Improvement Proposal的首字字母缩写,意译为“比特币改进提议”
BIP100: 区块体积上限提升至8MB,实施前预留时间。而且区块体积上限可变大,也可变小,只要矿工投票达成共识即可,但绝对上限应该设置在32MB.
BIP101: 即先提升区块体积上限至8MB,然后每两年上限加倍,直至每块达到8GB 上限。
BIP102: 立刻提升至2MB,然后再不改变。
BIP103: 2017年提升至1.04MB,然后每年均速提升17%,直到达到2GB上限。
下面我们来看看业内各个重要公司对于区块扩容的态度:
北京时间2015年6月11日,中国五家矿池在国家会议中心联合举办“矿池技术研讨会”与会的F2pool.com、BW.com、BTCChina、Huobi.com、Antpool.com五家矿池对矿池技术进行了深入研讨,并在区块扩容环节中达成一致。一致认为比特币区块大小需要扩容;在确保比特币网络统一的前提下拟于未来一段时间内接受大小不超过8MB(8,000,000Bytes)的区块。
五家矿池对于“为何扩容到8MB,而不是20MB?”问题考虑到以下因素:
中国大陆地区网络(带宽)基础设施并没有达到欧美发达地区的先进水平;
中国大陆出口带宽有限,与美国、欧洲的通信延时较大;
国内矿池系统的架构仍然需要为8(20)MB以上的区块做出调整和适应。
综上所述,较大的区块大小势必导致区块孤立概率大幅上升,更容易造成比特币区块链分叉,降低比特币网络的安全性。在目前的情况下8MB我们认为是一个稳妥的方案,此次扩容也是为未来进一步扩容打下基础。
近期世界范围内各大公司也纷纷对比特币区块扩容发表了自己的态度:
1、比特币中国:支持BIP 100
我们赞成Jeff Garzik (杰夫 ·戈查克)的BIP 100方案、、、我们尊重Gavin Andresen(加文·安德烈森)和Mike Hearn (迈克·赫恩)Bitcoin-XT的观点,在他们的努力下,区块大小的争论获得了大家重视。但是我们赞同已经达成的普遍共识,那就是8MB区块是正确的选择;比特币中国及其他中国地区主要矿业池运营商已在6月公开支持这个决定。
当今的互联网,不管在中国还是全球,还没准备好接受无限制的,自动增加大小的区块。全球的比特币矿工和矿池网络,需要极高级别的网络连接才能及时处理大容量区块。如果区块扩容过快,孤块出现率肯定会提高,让小矿工和矿池处于不利地位。而且随着大分叉风险大幅增加,毫无疑问会对比特币造成巨大破坏。
BIP 100一旦被接受,我们将投票支持2 MB区块大小限制和8 MB的中期目标。 BIP 100可以让我们逐步实现这一目标。
2、鱼池F2Pool:支持BIP 100 / 8MB
鱼池F2Pool是最直言不讳反对Bitcoin XT的矿池,也是目前支持BIP 100的最大矿池。
在接受《比特币杂志》采访时,鱼池管理员王淳(音译)说,中国矿池也欢迎其他关于区块扩容的建议。然而,王淳强调,核心开发团队必须达成共识。他明确表示Bitcoin XT完全不能作为解决方案。
他说,“如果是在Bitcoin Core中实现区块扩容,我们绝对支持。但是我们认为Bitcoin XT完全就是操纵。区块是否扩容以及如何扩容是个技术问题,然而Bitcoin Core和Bitcoin XT之间的选择却是政治问题。加文·安德烈森和迈克·赫恩推出Bitcoin XT是在分裂比特币社区。极权主义和独裁者与自由开放的软件精神水火不容。”
3、蚂蚁矿:支持8MB
今年六月与中国其他矿池一致提出将区块上限扩大至8MB。
此外didi的微博近期有这样一条记录:“关于近期热议的BIP100/101事件,很多朋友追问Antpool的态度。1. 非常支持扩容区块;2. 不希望看到XT分叉的发生,而是希望扩容实现在Core的主链上,但如果Core拒绝进步和改变,并且XT有望得到大多数支持的情况下,那么我们将支持XT;3. BIP100或者BIP101各有优劣,我们内部还在讨论,会给大家慎重回复。”
4、Bitfury:未明确
BitFury是比特币网络中最大的非中国矿池,占据14%的算力。虽然BitFury也支持区块上限提高,但目前并未准备采用Bitcoin XT及更大区块。不过,尽管BitFury保守行事,但并未完全排除未来采用Bitcoin XT的可能,只是需要经过深思熟虑再做决定。
BitFury的首席执行官瓦列里·瓦维洛夫(Valery Vavilov)告诉《比特币杂志》,“比特币区块链已不再是业余项目,而是渐渐成为全球经济的平台。改变基本规则会产生很大影响,因此,任何改变都需要经过谨慎的测试逐渐完成。”
他还说,“过渡到Bitcoin XT的提议引发了安全性担忧:众所周知,默认的Bitcoin Core的关键部分都经过仔细的审核,正式的验证,然而包括Bitcoin XT在内的其他软件并没有。”
5、币网:支持8MB
币网也是广大赞成区块上限扩大至8MB的中国矿池之一。
币网官网微博表示:“在这两个方案诞生之前,或许有人提出过其他的扩容方案,因为这两个方案的提出者是核心开发者而被重视。在6月份,中国国内五家矿池对于较为激进的扩容到20MB的方案感到恐慌,达成共识选择了较为符合中国国情的8MB,并拒绝接受20MB方案。
抛开这些,目前的BIP100或者BIP101方案,都存在着优势与弊端。参考计算机内存RAM大小的发展历程(两者都是处理数据),BIP100依旧遵循的32MB限制可能无法让它成为最终解决方案;而BIP101的两年翻倍也是类比摩尔定律得出的一个看起来较为合理的增速,而它也没有提及32MB限制的解决。
币网也正在思考,并期待在以后看到更多更好的想法。”
6、Eligius
总部位于美国的Eligius,占全网5%的算力,也强烈反对Bitcoin XT,并不打算采用Bitcoin XT。抵制情绪和鱼池F2Pool一样强烈。化名为“wizkid057”的Eligius创始人甚至认为Bitcoin XT并非比特币,而是山寨币。
接受《比特币杂志》采访时,wizkid057说,“我觉得毫无理由去挖另一种山寨币:‘Bitcoin XT’不是比特币。”
wizkid057也同意区块上限应该扩大,但他更倾向采用谨慎的方法,并主张只有达成广泛共识才能扩大。
wizkid057说,“区块大小限制最终会有一个基于现实数据的调整决定。但绝不会是强迫人们接受的可怕决定。当技术解决方案获得了用户、开发者、专家、矿工和服务机构的基本同意时,我会考虑接受。但目前没有方案符合这点。”
7、KNCMiner:支持BIP 100
总部位于瑞典的KnCMiner占据全网5%的算力,支持提高区块上限。通过一封包括KnCMiner在内的比特币七大领先公司签署的声明,KnCMiner首席执行官萨姆·科尔(Sam Cole)KnCMiner表示支持比特币网络区块扩大。
今年早些时候,科尔表示支持采用更大容量区块,他告诉CoinTelegraph,“我们希望看到数百万人使用比特币。为了达到这一目标,我们的交易费必须是人人可以担负的起并愿意支付的。简而言之,这意味着每个区块有越来越多的人交易,而不是少数人支付高额交易费。”
他还说,“如果比特币交易的手续费和其他普通转账交易的花费一样,那么世界上大多数人则看不到比特币的优势。而且万事达卡攻击比特币的主要论点就是比特币每秒只能完成七笔交易。我们能越早解决这一问题,对我们越有利。”
8、Slush:随意
目前唯一公开支持Bitcoin XT的只有占全网5%算力的Slush矿池。尽管总部在捷克的Slush矿池并没有挖掘支持扩容的区块,但它允许用户进行个人操作。目前,Slush 10%的算力都致力于挖掘支持Bitcoin XT的区块,而且这一数量在逐渐增长。
9、21 Inc:c支持BIP 100
占全网4%算力的21 Inc并没挖掘支持硬分叉的Bitcoin XT的区块。然而,今年早些时候获得1.16亿美元比特币行业最高融资的美国矿池21 Inc一直在挖掘支持上限为8MB的区块。尚不清楚这是否表示它接受BIP 101提案中区块上限每年增长的规则。
现在我们还对区块扩容的问题互相争论的很厉害,争论是很有必要的,这样才能改进,但也许真的很难通过讨论达成一致,也许有一天,危机真的发生的那一天,大家会自愿做出改变。
参考文章:
http://www.zhihu.com/question/27687960/answer/38301765
http://8btc.com/thread-21825-2-1.html
http://8btc.com/thread-22212-6-1.html
http://www.8btc.com/btcc-bip100-15082802
http://www.8btc.com/btcc-bip100-15082801
http://www.8btc.com/blocksize
http://www.8btc.com/blocksize-increase-2
http://www.8btc.com/there-is-no-crisis
http://www.8btc.com/max-block-size-is-urgent
http://www.8btc.com/blocksize-increase
http://www.8btc.com/sidechains-and-lightning
感谢巴比特的大量翻译,文章较多,未一一表明作者,表示歉意