比特币中所用到的密码学原理

Posted yishi-san

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比特币中所用到的密码学原理相关的知识,希望对你有一定的参考价值。

1.哈希函数

  密码学中的哈希函数有两个重要的性质,第一是哈希碰撞,哈希碰撞是指给定任意两个输入x、y,并且x≠y使得H(x)=H(y)。关于哈希碰撞有两个很重要的结论,其一哈希碰撞是必然存在的,因为哈希函数的输出空间往往是固定的,但输入空间可以是无限的,所以根据鸽笼原理哈希碰撞是必然存在的。其二是没有办法从理论上证明哈希函数是存在哈希碰撞的。这意味着没有高效的方法去人为制造哈希碰撞,所以哈希碰撞可以用来确定某一个信息是否被篡改过。

  第二个性质是哈希函数的计算过程是单向不可逆的,我们没有高效的方法从哈希函数的输出来求的哈希函数的输入。不过这个性质的成立需要满足两个前提条件,一是输入空间足够大,二是输入的分布比较平均。所以我们对一个给定值x取哈希时通常会将x拼接上一个随机数一起取哈希即H(x ll nonce)。

2.签名

在讲签名之前先了解一下比特币账户,比特币中的账户是一对公私钥对,发起一个交易时使用自己的私钥进行签名,发布到网络中,系统中的其它节点可以使用公钥验证签名,这样就可以证明这笔交易确定是由你发起的。这里值得注意的一点是因为公私钥对会使用到哈希函数,所以在实现公私钥对的时候需要一个好的随机源。

以上是关于比特币中所用到的密码学原理的主要内容,如果未能解决你的问题,请参考以下文章

北京大学肖臻老师《区块链技术与应用》公开课笔记2——比特币中的密码学原理

刘教链比特币原理1-3 区块链在比特币中发挥的作用

比特币中的地址们

比特币中的随机性

区块链教程:比特币中的术语

比特币价值飙升,黑客如何从盗取近8千万美元的比特币中获利?