>> 因为对于不当矿工的一般人而言,又不产生区块,自然没有必要帮别人验证交易可效性
观念错误.
在比特币生态系中有这三个角色:
- 矿工
- 运行完整节点(full node client)的使用者,
- 运行SPV client的使用者.
完整节点会验证区块中的所有交易,确保所有都是正确的.
SPV client只会验证confirmations的数量(也就是区块的"深度").
完整节点能够确保:
- 没有人能够凭空创造出比特币
- 没有人能够在不拥有私钥的状况进行比特币交易
- 没有人会重复使用同个比特币
- 没有人违背比特币系统的规范(难度, POW, DoS保护)
依照您所引用的比特币白皮书第八节
“当此情形,只要诚实的节点控制了网络,检验机制就是可靠的。
但是,当全网被一个计算力占优的攻击者攻击时,将变得较为脆弱。”
如果你只运行SPV节点,你本质上是在盲目信任大部分矿工是诚实的,并没有
实际验证矿工所产生的区块.如果大部分的矿工要做假,实际上是可行的.
但这件事没有发生的原因是因为完整节点会拒绝做假的区块.假设网络上大
部分完整节点是诚实的,矿工会因为假的区块没被大部分完整节点所接受而
导致金钱上的损失.
现在最大问题在于一般使用者没有财务上的动机去运行完整节点,尽管运行
完整节点的成本远小于挖矿.当然POS可以解决这个问题,但硬分叉到POS又
是另一个值得讨论的问题了.