当新矿工开始学习区块链知识的时候,都会听到HASH(哈希算法),这似乎是无处不在的安全性保证。比特币作为首个SHA-256网络在2009年正式诞生,与随后涌现的大量SHA-256网络共同实现了百亿亿次级(exascale)计算能力。
(当前比特币网络算力已超53 exahash)
而比特币挖矿其实就是矿工通过计算设备完成由SHA-256加密的复杂数学题,题干是需要被记录的交易,大家通过做题抢夺记账权,抢到的矿工就能获得系统奖励和交易手续费。
关于SHA-256
SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院 (NIST) 发布的一系列密码散列函数,经历了SHA-0,SHA-1,SHA-2,SHA-3系列发展。
比特币采用的SHA-256算法则属于SHA-2系列,在中本聪发明比特币时(2008)被公认为最安全最先进的算法之一。除了生成地址中有一个环节使用了REPID-160算法,比特币系统中但凡有需要做Hash运算的地方都是用SHA25。
(哈希算法示例)
SHA256算法的特点是已知答案验证正确很容易,但是要得到答案非常麻烦,需要一个一个数字去试。最先得到答案的矿工即抢到了记账权,奖励就归他了。其他矿工便继续抢下一题的记账权。
SHA-256如何保证安全不被篡改
比特币本身是个公开的账本,每一个区块就是一页账,从第一页开始,每一页上都有一个这样的哈希值。每一页的哈希值,都是由上一页的哈希值和剩下的信息通过SHA256得到的结果。如果有人修改之前的账目,那么从他修改的下一页账开始,每一页的哈希值都会完全不同,会被所有人一眼看穿。这样被修改过的账本,无法得到51%以上的人承认,就无法写入区块中,因此修改是无效的。这样的设计,就保证了比特币这个分布式账本的不可篡改性。
以现在的计算机破解SHA-256需要消耗极大的资源,因此无法获得利益。数次的黑客攻击事件,并不是攻破了由于比特币网络本身,而是交易所和一些个人。SHA-256这套算法的安全性是被世界各国密码学家所广泛承认的,在量子计算机普及之前,SHA-256还是相对来说目前最安全的加密算法。