Balenciaga on Nostr: 比特币的过去、现在和未来(四):区块体积大战 (1) ...
比特币的过去、现在和未来(四):区块体积大战 (1)
背景和方向
区块体积大战是从 2015 年开始正式开打的,但要想完全搞懂这件事,我们还要补充一些历史背景:
2010 年 7 月 15 日,中本聪引入了 1 MB 的区块体积限制,这个限制是在 2010 年 9 月激活的。2010 年 10 月 4 日,开发者 Jeff Garzik(杰夫·贾兹克)放出了一种新的客户端,该客户端用一个补丁将中本聪引入的限制移除了。这时候,Bitcointalk 论坛和 r/reddit 论坛的主人 Theymos(德默斯),公开呼吁不要使用贾兹克的补丁版本,因为这样做会让你自己从网络中分离。中本聪也回复 “+1 Theymos”;但贾兹克告诉中本聪,这不是会不会从网络中分叉出去的问题,更多是一个营销问题:要是有一天,比特币的交易需求达到了 Visa 的量级,这个区块体积限制就会限制交易的吞吐量。那时候,中本聪的回复是,要是有必要改变这个限制,未来可以做,但也要可控、逐步地进行。
2011 年发生了三个相关的事件:
2011 年 3 月 7 日,比特币迎来第一位带薪的开发者:Mike Hern(麦克·赫恩)。谷歌公司有一个规定,允许雇员贡献 20% 的工作时间在个人项目上,只要提前打报告就行。麦克·赫恩向谷歌提出要开发 BitoinJ,让比特币拥有 Java 语言的客户端。
2011 年 4 月 23 日,麦克·赫恩公开了跟中本聪的一次邮件往来,在该邮件中中本聪指定 Gavin Andresen(嘉文·安德烈森)作为自己的精神继承人;
2011 年 5 月 5 日,一位新用户 Gregory Maxwell(格里高利·麦克斯韦尔) 进入了 bitcointalk 论坛;他后来成为了最多产的比特币研究者和开发者之一,是大区块支持者眼中的 “终极反派”。他用一篇很长的帖子解释了自己为什么支持中本聪施加的区块体积限制:这不仅避免了未来可能无法下载区块的问题、孤儿块率提高的风险,还有一些纯经济上的影响:如果没有限制,区块的体积就将膨胀,因此矿工的手续费将变得非常低;货币通胀奖励总有一天会变得太低(请记住,到 2140 年比特币就将不再增发);我们都知道价格只会在稀缺商品上形成,要是区块空间不稀缺,它就不会有价格,因为没人愿意为它支付价格。(译者注:孤儿块是指被放弃、没有人在后面继续挖矿的区块。按照比特币的共识机制,如果同一区块高度上出现了多个区块,最终只会有一个变成主链区块,别的就会变成孤儿块。)
2012 年,第二位拥有全职薪水的开发者加入,就是嘉文·安德烈森。
2013 年,麦克·赫恩说服嘉文,将 Bitcoin 软件重新命名为 “Bitoin Core”。
2013 年 5 月,Peter Todd(彼特·陶德)发布了 keepbitcoinfree.org 网站,成为大区块主义者的另一个眼中钉。他在网站上发布了一份好莱坞大片一样的视频,解释说区块体积限制不是一个技术选择,而是一种道德选择,背后对应的是两种价值观:一个是给予矿工控制整个网络的机会,从而让比特币中心化;另一种是希望比特币自由、每个人都可以自主验证。
很快,2013 年 8 月 19 日,格里高利·麦克斯韦尔在 bitcointalk 论坛上发表题为 “终极终极区块链压缩技术:CoinWitness”的文章,提出了 coin witness 的概念。这是第一种侧链方案。格里高利写道:
“我们可以拥有许多区块链,而在比特币区块链上,我们可以使用一些叫做 SNARKs 的技术,为长历史生成紧凑的证明。我们可以在比特币上实现一种操作码,用于验证 SNARKs,这样一来,你就可以让整条区块链生活在比特币上。好处在于,我们可以在主链上冻结一个比特币,然后相应在侧链上发行一个侧链币,等到这个币需要回到主链上时,我们再验证其历史的紧凑证据;这将提升可扩展性,并且不必创建垃圾币就可以开展实验。”
—— 格里高利·麦克斯韦尔
10 月 14 日,Adam Back(亚当·贝克)发表了题为 “Bitcoin Staging(比特币的发展阶段)” 的论文,在文中他解释道,试验更大或更小的区块和各种隐私性方案,都是好事;但如果需要为此创建新的垃圾币,就不算什么好事了;格里高利的想法可以用来创建侧链。
嘉文放弃了他对 GitHub 上的 Bitcoin Core 代码库的控制权,将自己的角色移交给了 Wladimir Wan Der Laan(弗拉基米尔·范德兰);他没有表示这是收缩了自己的权力,而是称代码维护工作非常繁重,而他还有更重要的工作要做。
2014 年 10 月 23 日,有关侧链的白皮书完成了。这份论文指出,使用 SNARKs 的 Coin Winess 还不可行,但搭配中本聪提出的 “SPV(简易支付验证)” 这样的技术,就可以创建这些独立的链,比特币可以移动到这样的链上,尝试不同的隐私性、速度和可扩展性的搭配。在这份白皮书上署名的有:亚当·贝克、麦克斯韦尔、Matt Corallo(马特·科拉罗)、Luke Dashjr(卢克·达实)、Pieter Wuille(皮耶特·乌勒)、Andrew Poelstra(安德鲁·博尔斯特)、Andrew Miller(安德鲁·米勒)和 Jorge Timón(乔治·蒂蒙)。但是,所有这些开发者都犯了一个错误:他们成立了一个规模太大、明星太多的公司,产生了比特币 “已经中心化” 的印象。
2014 年 12 月 27 日,麦克·赫恩发布了 BitcoinXT 软件,这是可以替代 Bitcoin Core 的重构软件。XT 版本的推出是因为麦克在不久之前提出了 BIP64 - getutxo message,但这个 BIP 没有迅速在 Bitcoin Core 中实现,于是麦克决定创建一种替代性的版本,跟原版做出一些差异化,包括实现 BIP64。
背景和方向
区块体积大战是从 2015 年开始正式开打的,但要想完全搞懂这件事,我们还要补充一些历史背景:
2010 年 7 月 15 日,中本聪引入了 1 MB 的区块体积限制,这个限制是在 2010 年 9 月激活的。2010 年 10 月 4 日,开发者 Jeff Garzik(杰夫·贾兹克)放出了一种新的客户端,该客户端用一个补丁将中本聪引入的限制移除了。这时候,Bitcointalk 论坛和 r/reddit 论坛的主人 Theymos(德默斯),公开呼吁不要使用贾兹克的补丁版本,因为这样做会让你自己从网络中分离。中本聪也回复 “+1 Theymos”;但贾兹克告诉中本聪,这不是会不会从网络中分叉出去的问题,更多是一个营销问题:要是有一天,比特币的交易需求达到了 Visa 的量级,这个区块体积限制就会限制交易的吞吐量。那时候,中本聪的回复是,要是有必要改变这个限制,未来可以做,但也要可控、逐步地进行。
2011 年发生了三个相关的事件:
2011 年 3 月 7 日,比特币迎来第一位带薪的开发者:Mike Hern(麦克·赫恩)。谷歌公司有一个规定,允许雇员贡献 20% 的工作时间在个人项目上,只要提前打报告就行。麦克·赫恩向谷歌提出要开发 BitoinJ,让比特币拥有 Java 语言的客户端。
2011 年 4 月 23 日,麦克·赫恩公开了跟中本聪的一次邮件往来,在该邮件中中本聪指定 Gavin Andresen(嘉文·安德烈森)作为自己的精神继承人;
2011 年 5 月 5 日,一位新用户 Gregory Maxwell(格里高利·麦克斯韦尔) 进入了 bitcointalk 论坛;他后来成为了最多产的比特币研究者和开发者之一,是大区块支持者眼中的 “终极反派”。他用一篇很长的帖子解释了自己为什么支持中本聪施加的区块体积限制:这不仅避免了未来可能无法下载区块的问题、孤儿块率提高的风险,还有一些纯经济上的影响:如果没有限制,区块的体积就将膨胀,因此矿工的手续费将变得非常低;货币通胀奖励总有一天会变得太低(请记住,到 2140 年比特币就将不再增发);我们都知道价格只会在稀缺商品上形成,要是区块空间不稀缺,它就不会有价格,因为没人愿意为它支付价格。(译者注:孤儿块是指被放弃、没有人在后面继续挖矿的区块。按照比特币的共识机制,如果同一区块高度上出现了多个区块,最终只会有一个变成主链区块,别的就会变成孤儿块。)
2012 年,第二位拥有全职薪水的开发者加入,就是嘉文·安德烈森。
2013 年,麦克·赫恩说服嘉文,将 Bitcoin 软件重新命名为 “Bitoin Core”。
2013 年 5 月,Peter Todd(彼特·陶德)发布了 keepbitcoinfree.org 网站,成为大区块主义者的另一个眼中钉。他在网站上发布了一份好莱坞大片一样的视频,解释说区块体积限制不是一个技术选择,而是一种道德选择,背后对应的是两种价值观:一个是给予矿工控制整个网络的机会,从而让比特币中心化;另一种是希望比特币自由、每个人都可以自主验证。
很快,2013 年 8 月 19 日,格里高利·麦克斯韦尔在 bitcointalk 论坛上发表题为 “终极终极区块链压缩技术:CoinWitness”的文章,提出了 coin witness 的概念。这是第一种侧链方案。格里高利写道:
“我们可以拥有许多区块链,而在比特币区块链上,我们可以使用一些叫做 SNARKs 的技术,为长历史生成紧凑的证明。我们可以在比特币上实现一种操作码,用于验证 SNARKs,这样一来,你就可以让整条区块链生活在比特币上。好处在于,我们可以在主链上冻结一个比特币,然后相应在侧链上发行一个侧链币,等到这个币需要回到主链上时,我们再验证其历史的紧凑证据;这将提升可扩展性,并且不必创建垃圾币就可以开展实验。”
—— 格里高利·麦克斯韦尔
10 月 14 日,Adam Back(亚当·贝克)发表了题为 “Bitcoin Staging(比特币的发展阶段)” 的论文,在文中他解释道,试验更大或更小的区块和各种隐私性方案,都是好事;但如果需要为此创建新的垃圾币,就不算什么好事了;格里高利的想法可以用来创建侧链。
嘉文放弃了他对 GitHub 上的 Bitcoin Core 代码库的控制权,将自己的角色移交给了 Wladimir Wan Der Laan(弗拉基米尔·范德兰);他没有表示这是收缩了自己的权力,而是称代码维护工作非常繁重,而他还有更重要的工作要做。
2014 年 10 月 23 日,有关侧链的白皮书完成了。这份论文指出,使用 SNARKs 的 Coin Winess 还不可行,但搭配中本聪提出的 “SPV(简易支付验证)” 这样的技术,就可以创建这些独立的链,比特币可以移动到这样的链上,尝试不同的隐私性、速度和可扩展性的搭配。在这份白皮书上署名的有:亚当·贝克、麦克斯韦尔、Matt Corallo(马特·科拉罗)、Luke Dashjr(卢克·达实)、Pieter Wuille(皮耶特·乌勒)、Andrew Poelstra(安德鲁·博尔斯特)、Andrew Miller(安德鲁·米勒)和 Jorge Timón(乔治·蒂蒙)。但是,所有这些开发者都犯了一个错误:他们成立了一个规模太大、明星太多的公司,产生了比特币 “已经中心化” 的印象。
2014 年 12 月 27 日,麦克·赫恩发布了 BitcoinXT 软件,这是可以替代 Bitcoin Core 的重构软件。XT 版本的推出是因为麦克在不久之前提出了 BIP64 - getutxo message,但这个 BIP 没有迅速在 Bitcoin Core 中实现,于是麦克决定创建一种替代性的版本,跟原版做出一些差异化,包括实现 BIP64。