中本聪的区块链

作者:蔡泽禹 加入书签推荐本书

支付,另一个用于找零(如有)。

需要指出的是,当一笔交易依赖于之前的多笔交易时,这些交易又各自依赖于多笔交易,但这并不存在任何问题。因为这个工作机制并不需要展开检验之前发生的所有交易历史。

传统的造币厂模型为交易的参与者提供了一定程度的隐私保护,因为试图向可信任的第三方索取交易信息是严格受限的。

但是如果将交易信息向全网进行广播,就意味着这样的方法失效了。

但是隐私依然可以得到保护:将公钥保持为匿名。

公众得知的信息仅仅是有某个人将一定数量的货币发所给了另外一个人,但是难以将该交易同特定的人联系在一起,也就是说,公众难以确信,这些人究竟是谁。

这同股票交易所发布的信息是类似的,股票交易发生的时间、交易量是记录在案且可供查询的,但是交易双方的身份信息却不予透露。

作为额外的预防措施,使用者可以让每次交易都生成一个新的地址,以确保这些交易不被追溯到一个共同的所有者。

但是由于并行输入的存在,一定程度上的追溯还是不可避免的,因为并行输入表明这些货币都属于同一个所有者。

此时的风险在于,如果某个人的某一个公钥被确认属于他,那么就可以追溯出此人的其它很多交易。

设想如下场景:一个攻击者试图比诚实节点产生链条更快地制造替代性区块链。

即便它达到了这一目的,但是整个系统也并非就此完全受制于攻击者的独断意志了,比方说凭空创造价值,或者掠夺本不属于攻击者的货币。

这是因为节点将不会接受无效的交易,而诚实的节点永远不会接受一个包含了无效信息的区块。

一个攻击者能做的,最多是更改他自己的交易信息,并试图拿回他刚刚付给别人的钱。

诚实链条和攻击者链条之间的竞赛,可以用二叉树随机漫步(binomial random walk)来描述。

成功事件定义为诚实链条延长了一个区块,使其领先性+1,而失败事件则是攻击者的链条被延长了一个区块,使得差距-1。

攻击者成功填补某一既定差距的可能性,可以近似地看做赌徒破产问题(gambler’s ruin problem)。

假定一个赌徒拥有无限的透支信用,然后开始进行潜在次数为无穷的赌博,试图填补上自己的亏空。那么我们可以计算他填补上亏空的概率,也就是该攻击者赶上诚实链条。

假定pq,那么攻击成功的概率就因为区块数的增长而呈现指数化下降。

由于概率是攻击者的敌人,如果他不能幸运且快速地获得成功,那么他获得成功的机会随着时间的流逝就变得愈发渺茫。

那么我们考

上一章 返回目录 下一章