风险提示:理性看待区块链,提高风险意识!

比特币的SHA-256算法是什么?

2个回答

怒放的明天10星评价

2020-04-26 15:49:04

比特币的SHA-256算法是什么?

SHA(Secure Hash Algorithm),中文名为安全散列算法,是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数,包括 SHA-1.SHA-224.SHA-256.SHA-384 和 SHA-512 等变体。主要适用于数字签名标准(DigitalSignature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。而比特币开发使用椭圆曲线算法生成公钥和私钥,选择的是SHA-256.

安全散列算法生成的公钥是33字节的大数,私钥是32字节的大数,钱包文件wallet.dat中直接保存了公钥和私钥。我们在接收和发送比特币时用到的比特币地址是公钥经过算法处理后得到的,具体过程是公钥先经过安全散列算法算法处理得到32字节的哈希结果,再经过RIPEMED算法处理后得到20字节的摘要结果,再经过字符转换过程得到我们看到的地址。

这个字符转换过程与私钥的字符转换过程完成相同,步骤是先把输入的内容(对于公钥就是20字节的摘要结果,对于私钥就是32字节的大数)增加版本号,经过连续两次安全散列算法算法,取后一次哈希结果的前4字节作为校验码附在输入内容的后面,然后再经过Base58编码,得到字符串。

非凡1星评价

2020-04-26 15:53:09

当新矿工开始学习区块链知识的时候,都会听到HASH(哈希算法),这似乎是无处不在的安全性保证。比特币作为首个SHA-256网络在2009年正式诞生,与随后涌现的大量SHA-256网络共同实现了百亿亿次级(exascale)计算能力。

而比特币挖矿其实就是矿工通过计算设备完成由SHA-256加密的复杂数学题,题干是需要被记录的交易,大家通过做题抢夺记账权,抢到的矿工就能获得系统奖励和交易手续费。

关于SHA-256

SHA (Secure HashAlgorithm,译作安全散列算法) 是美国国家安全局 (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还是相对来说目前最安全的加密算法。