比特币区块链中使用的加密算法是SHA256,SHA256是SHA2系列算法细分出的一种算法,其中SHA是Secure Hash Algorithm的缩写,名称中的256值代表最终的哈希值摘要,哈希值通常用一个长度为64的十六进制字符串来表示,相当于是个长度为32个字节的数组,其中1个字节等于8位,也就是说无论明文大小如何,哈希值始终为256位。
比特币的挖矿过程,就是找到输入值的过程,这个输入值是通过SHA256算法产生了一串开头带有70个零的输出值,但是没有已知的公式,每个人能做的只有蛮力计算,一个一个数去试,知道找到正确的输入值,因此SHA256在比特币协议中发挥着关键作用,如果投资者可以逆推这个算法,那么就可以比其他人挖矿挖的更快,赚更多钱。
比特币本身是个公开的账本,每一个区块就是一页账,从第一页开始,每一页上都有一个这样的哈希值,但在数字货币市场中,投资者不可能找到一个完全相同的哈希值,不过比特币挖矿只需要找到一个接近的哈希值就好,不需要完全匹配,挖矿难度也可以跳转,大约会保证每十分钟就有矿工找到匹配的输入值,然后转6.25个比特币的出块奖励。
加密算法的原理是把输入数据按照一定的数学函数或是逻辑规则开展计算,从而获得一个有别于原始记录输出。不同的加密算法有不同的计算函数或是标准,但一般都包括以下几种因素:
•明文:输入到加密算法里的原始记录,可以是随意格式文字、数据、文件等。