46 可扩展性与轻量级客户端
随着时间的推移,包含了 2009年1月以来所有交易记录的区块链不断增长。 如果一个比特币钱包包含了多个比特币地址以及这些地址相应的私钥和比特币余额,比特币系统必须知道应该使用哪个地址来完成交易。例如,假设比特币地址 A、B、C分别有0.1、0.2、0.3枚比特币,并且需要支付0.5枚比特币。比特币钱包必须选择2个以上的比特币地址来凑足这0.5枚比特币,因为任何单独的地址都不足以完成这次支付。除非比特币客户端具有完整的区块链,这样就能知道每个地址的当前余额,否则就必须与拥有区块链的服务器进行连接。简化支付验证首次描述于中本聪的原创比特币论文,允许客户端依赖一台参与比特币网络的服务器 ,该服务器具有完整的区块链,但不一定参加挖矿过程。后来实现了这种服务器 ,并使轻量级的客户端受益。
回复:可扩展性
中本聪,2010年7月14日,下午09:10:52
引自:jib,2010年7月12日,上午11:36:17
每个节点都会接收到每笔交易(如技术论文所述),我理解得对吗?这难道不会让比特币无法成为一种大规模的货币吗
设计里概述了一种无需完整的区块链的轻量级客户端。设计文档称之为简化支付验证。
轻量级客户端可以收发交易,只是不能产生区块。它仍然能自己验证支付, 而不需要交给别的节点来验证。轻量级客户端尚未完成,计划在需要时实现。目前,只能运行完整的网络节点。
我预计永远不会超过10万个节点,可能更少。最终会达到一种平衡,此时不值得更多的节点加入。其余的就都是轻量级客户端,这就有可能达到上百万个。 处于均衡规模时,很多节点都是服务器集群,其中一两个网络节点通过局域网向其他服务器提供信息。