作者区块链基础设施实验室 吕雯 张秦龙
数学在人类文明的发展中起着非常重要的作用。牛顿当年通过数学计算预见了发射人造天体的可能性;爱因斯坦相对论的质能公式从数学论证的角度预示了原子能时代的来临;正是麦克斯韦方程先从数学上论证了电磁波,后来才会有电磁波声光信息传递技术的发展;电子数字计算机的诞生和发展更是在数学理论的指导下进行的。当前,随着电脑应用的普及,信息的数字化和信息通道的大规模联网,依据数学所作的创造设想已经在我们的生活中扮演越来越重要的角色。区块链从单笔交易的发起、确认,到特定时间内所有交易集合的打包成块、达成全网共识,数学算法都作为一种规则和通讯工具,通过信息交互和确立信任,协调各节点之间的一致行动,实现对等网络的有序、持续运转。如果说区块链中各种巧妙、完美设计的规则是其灵魂,那么深深渗透其中的数学思想则是血液,从而支撑整个区块链体系信任机制的建立。
交易的发起和验证
- 交易的发起
- 交易的验证
区块的打包和上链
- 区块的打包
除了Merkle根节点,区块头还包括上一区块的头哈希值、时间戳、难度值和随机数,而头哈希是区块头五要素的哈希值。一个头哈希就可以总结整个区块所有交易信息、时间戳、前一区块头哈希、工作量证明等所有信息,任何信息的改变都将直接引起头哈希的变化。
扫描二维码关注公众号,回复:
903057 查看本文章
- 区块的上链
同时,工作量证明也保障了抗攻击性。多数人投票的最长链投入了最大的工作量,如果大多数CPU工作量被诚实的节点控制,诚实的链条会增长很快,从而超过其他的链。攻击者为了修改过去的块,必须重做当前块以及之后的所有块,并赶上并超过诚实节点的工作。当下一区块添加时,慢的攻击者赶超的可能性以指数级方式减少,从而抵御恶意攻击。
北京大学数学系密码学方向王倩雯博士亦对此文有重大贡献。