区块链技术中有一个很重要的组成部分就是密码学。也许有人认为密码学离我们生活其实很遥远,然而在日常生活中,我们几乎每天都在跟密码学打交道。只有了解了密码学才能更好地了解比特币。
也许有人认为密码学离我们生活其实很遥远,然而在日常生活中,我们几乎每天都在跟密码学打交道。密码学是区块链技术中一个很重要的组成部分。
密码学帮助我们更好了解比特币
密码学是一门将数学应用于加密数据和解密数据的科学,以确保只有信息接收者才能看到信息内容为目的。互联网是离不开密码学的,以我们每天打开的网站为例,网站都是使用HTTPS协议进行通信的,而密码学是支撑着HTTPS协议正常运行的理论基础。数字货币其实也叫加密货币,因此比特币也要用到密码学原理,所以必须先了解一点密码学知识才能更好地了解比特币。
什么是加密算法?
加密的方法也称为加密算法,自身是固定不变的,一般是公开可见的。整个过程是我们基于一定的加密算法,用密钥将明文加密为密文,随后由接收方再使用加密算法和密钥从密文中解密出明文。
算法可以根据发送方和接受方使用的加密算法和密钥是否相同,分为对称加密(也叫私钥加密)和非对称加密(公钥加密)。两者可以满足不同的需求,既可形成互补,也可组合使用,形成混合加密机制,常见的加密算法有RSA、SSH、HTTPS、TLS、电子证书、电子签名等。
其中,最基础的加密技术就是哈希算法了。Hash翻译为“散列”,但我们一般称哈希(音译),是一种加密算法,在比特币中“中本聪”用了一种叫Hash的加密算法使得信息在传递过程中被篡改的风险轻松地得到了解决。哈希函数的作用是用散列函数把任意长度的信息加密成为某一固定长度的字符串,主要用来完整性的校验和提高数字签名的有效性。
由于其为高度单向函数,所以输入的数字格式、文件的大小并没有影响,输出都是固定长度的比特串,而且无法倒回去推导,那么只能依靠随机计算和不断试错才能得出哈希值,从而确保加密的内容的绝密性。哈希算法的这些特性,使得区块链中交易的认证、私钥生成钱包地址、共识算法工作量的证明等功能才能很好地实现。
数字签名是区块链中的认证机制
“数字签名”在非对称加密在比特币系统中有着重要的应用,“数字签名”相当于普通签章的数字化,即某人可以轻易制造签章,但他人却难以仿冒,这是他们共有的特征。数字签名可以与被签署信息永久地结合,所以无法从信息上移除。数字签名用于证实数据内容的完整性和来源,不但在火热的区块链技术中应用,HTTPS也是其运用的领域之一。
数字签名一般包含两个算法:一个是签署,使用私密钥匙处理信息或信息的哈希值而产生签章;另一个是验证,使用公开钥匙验证签章的真实性。最流行的数字签名机制就是RSA和DSA了。比如说,A发起一笔比特币转账,需要先将该交易缩短成一段字符串,然后用自己的私钥对该字符串进行加密,形成数字签名。然后,A将交易信息、数字签名和自己的公钥一起广播给矿工(记账人)。矿工用A的公钥进行验证,如果验证成功,说明该笔交易确实是A发出的,且信息未被更改,是完整的。
根据一定的加密算法,我们可以用密钥将明文加密为密文,随后由接收方再使用加密算法和密钥从密文中解密出明文,而签名验证是保证信息在途中没有被第三方修改。
相信通过以上密码学的一些知识,可以帮助你更加明白比特币的原理与运作机制,从而对比特币有更深一层的理解。
分布财经
官网:http://www.fenbucaijing.com/
领取专属 10元无门槛券
私享最新 技术干货