文章来源:bitcointalk
原文地址:https://bitcointalk.org/index.php?topic=1059496.0
编者注:早年中本聪在bitcointalk留下了大量讨论,其中很多讨论所探讨的问题是超前的,比如挖矿的能源问题,比如比特币网络的扩展性问题,比如比特币区块大小问题。让我们探赜索隐,了解中本聪对去中心化数字货币的设计理念之初心。巴比特论坛《中本聪语录翻译召集》活动也正进行,欢迎加入我们!
早在2010年7月份时,bitcointalk成员red就比特币的可扩展性问题,发表了一个帖子。
他说:
“我很好奇开发者们是怎么看比特币的扩展性的,比如说这个系统能否处理100万用户每天进行5笔交易,也就是说每天有500万笔交易,每10分钟大约进行3500笔交易?”
随后bitshares创始人bytemaster回帖表示:
根据我对经济学的理解,只有一种方式能够解决可扩展性问题:即定价体系。互联网带宽,CPU time,硬盘空间等等都是非常宝贵的资源,指望个人用时间和“比特币挖矿”的方式去获得财富,这对于创新而言将是不利的。
此外,比特币10分钟的确认时间对于验证付款而言实在是太长了,它应该像如今刷信用卡那般迅速。
因此,我们就需要bit-banks,来允许成员银行与点银行之间的即时传输。除了系统之外,任何人也都可以创建出bit-bank,但该系统需要通过必要的信任。银行的转进转出以及对等式网络仍就是可能的,但是会更加昂贵。因此,相比于信任银行所要承担的风险,比特银行的存在就可以使货币传输更加经济也更加快捷,银行是需要维持信任,才能够赚钱。
中本聪回复说:
当前的系统中,每一个用户都是一个网络节点,但这并非意味着它们就是系统大规模后的节点,这就好比是每一个新闻组用户去运行他们自己的NNTP服务器一样,这种设计使得用户就仅仅是用户,当运行一个节点的负担越来越重时,节点的数量就会随之减少,那些少数节点将是那些大型的服务器场(矿场)。其余的都将是客户端节点,它们将只进行交易,而不会产出新节点。
而关于质疑交易10分钟交易确认的问题,中本聪的回答是这样的:
你可以查看snack machine 这个帖子,我大概地解释了为何这种支付处理速度足够了,实际上是相当好的了(相比于信用卡交易这种类似10秒确认的交易,比特币的欺诈率会低很多)。如果你不相信我,或者说没有理解我的意思,那么我没有时间尝试去说服你。
随后他给出了一个另一个帖子的链接。
我相信支付处理公司能够在10秒甚至更少的时间内,快速地处理一笔交易,并且能够完成的很好。
整个网络节点只会接受一笔交易的第一个version,然后将其合并到试图生成块里。当你广播一笔交易时,如果某人在此时广播一个双花,那么这就变成了一场竞赛,看谁能够传播到大多数节点。如果有人抢先你一步,那么它将以更快的速度传播到整个网络,并连接到大部分的节点。
一个粗略但八九不离十的例子:
1 0
4 1
16 4
64 16
80% 20%
因此,如果一次双花哪怕再多等一秒,那么它的成功率就越小。
支付处理器连接着很多的节点,当它接受到一笔交易时,它会将其公布出来,并在同一时间会监视网络是否存在双花。如果它接收到的是一笔双花交易,则会发出报警,表示不承认该笔交易。如果没有节点接受到一笔双花交易,那么它就无法传播开来。然后双花交易者不得不等待监听期的结束,但此时,支付处理器已将交易广播到多数节点,或者说将大大领先双花交易,使其不再可能完成双花。
bytemaster随后回复说:
我完全相信你,也得出了和你一样的结论,我在发表之前的回复后就去看了那篇关于snack machine的帖子。
原帖地址:https://bitcointalk.org/index.php?topic=532.msg4963#msg4963