密码学在多个层面为区块链构筑了坚实的防线,而区块链体系则立足于三大基石:哈希函数、密钥以及数字签名。
哈希函数,亦称杂凑函数或散列函数,是一种独特的数字指纹,作为一种单向加密的密码学工具,它将信息或数据压缩至更小的体积,并固定数据的格式,正如所有函数的特质。
哈希函数在处理输入值X时,会生成一个相对应的、固定的输出值H(X)。值得注意的是,即便输入相同的值X,也不会得到两个不同的输出值。此外,哈希函数的计算效率极高,通过输入一个固定值,几乎可以瞬间计算出结果。
哈希函数拥有两大显著特点:
在哈希函数中,输入的X可以是任意长度的字符串,而输出的H(X)则是长度固定且独一无二的,以SHA-256为例,其输出长度必须精确为256字节。另外,只要X的某一位发生改变,都会引发所谓的雪崩效应,使得输出的H(X)发生巨大变化。尽管哈希函数属于函数运算,但输入值X和输出值H(X)之间并无规律可循,也无法通过逻辑数学过程直接计算出X,因此无法从H(X)反推出X。因此,若要使H(X)落在特定的范围内,唯有不断更换输入值X,逐一尝试,直至找到满足条件的输出值H(X)。这种大量的穷举运算就是工作量证明机制的核心,即寻找一个特定格式的Hash值。以比特币为例,它要求前导有一定数量的0,以确保每10分钟左右只有一个人能够进行记账。
以现实生活中的例子来比喻Hash值,就像每张新发行的百元人民币都拥有一个独特且唯一的钞票编码,其中后四位编码就是Hash值。而工作量证明机制就如同矿工们不断地猜测指定钞票编码的后四位,第一个猜对的人就能获得挖矿奖励。
在比特币系统中,每次记账时,都会将上一个区块的Hash值和当前账簿信息共同作为原始信息进行Hash处理。而且,无论输入值X尝试了多少次,验证过程都只需对结果H(X)执行一次即可。
因此,加密哈希函数的主要特性在于,即使不被直接观察到,也能验证一组交易信息是否被篡改过。
标签: 数字货币