Web3 区块链技术与应用
2026/5/14 21:02:27 网站建设 项目流程

01-比特币中的密码学原理

比特币,又被称为加密货币,但其实加密货币是不加密的,区块链上所有信息是公开的

比特币中主要用到了密码学中两个功能:1.哈希;2.签名

哈希(Cryptographic hash function)

两个性质:(密码学)

1.哈希碰撞:两个不同的输入算出来的哈希值是一样的

哈希碰撞很常见,也是不可避免的(因为输入空间是远远大于输出空间的)

没有什么高效的方法人为制造哈希碰撞

collision resistance:可以用来检测篡改(注:没有哪个哈希函数在数学可以证明是collision resistance,即理论无法证明)

2.hiding:哈希函数的计算过程是单向的,不可逆的(条件:输入空间足够大,让蛮力求解不可能实现,同时输入的分布比较均匀,各种取值的可能性都差不多)

若输入空间不足够大,可以在后面拼接一个随机数,然后再一起取哈希

hiding和collision resistance的性质结合起来,可以实现digital commitment(digital equivalent of a sealed envelop)

一个性质:(比特币)

puzzle friendly:哈希值事先不可计算,要让哈希值落在某一个范围值之内,只能一个一个去试

挖矿的过程没有捷径,只能不停地试nouce,所以这个过程才能被作为工作量证明(proof of work)

但是一旦这个nouce被找到,其他人要验证这个nouce是否符合要求就很容易,只要算一次哈希值即可(difficult to solve,but easy to verify)

比特币中用的哈希函数叫SHA-256(Secure Hash Algorithm)

签名

对称加密体系的一个弱点是密钥的分发不是很方便

比特币是去中心化的,每个人可以自己决定开户,无需任何人批准

开户只需要创立一个公钥和私钥对(public key,private key)

公私钥对来源于非对称的加密体系,叫做asymmetric encryption algorithm

加密用对方的公钥,对方收到后解密用自己的私钥

签名用的是私钥,验证签名用的是这个人的公钥

假设产生公私钥有一个好的随机源(a good source of randomness)

比特币中一般是先对一个message取哈希,再对这个哈希签名

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询