1. 基础知识
区块链作为综合性技术产物,密码学是其基石技术之一。密码学技术使得区块链具备了不可篡改、消息(身份)验证、存储安全、隐私保护等众多能力和特性。
从技术上来看,主流区块链系统都会使用如下密码学技术:哈希算法,非对称加密算法、数字签名算法、数字证书、对称加密算法。对于一些高阶使用场景,还会使用到可信执行环境(TEE)、同态加密、零知识证明等技术。
2.哈希算法
通过哈希构建区块链的链式结构,实现防篡改

在后一块头部,记录前一个块地址。哈希的正向非常快,逆向非常难。
3.数字签名算法
数字签名的原理,数字签名算法其实是非对称加密算法与哈希算法的结合使用
消息签名的简化过程如下:(原始消息可以理解为智能合约或者交易)

消息验签的简化过程如下:

数字签名在区块链中的用法:
在区块链网络中,每个节点或用户都拥有一对 公私钥。首先利用公钥对交易中附加数字签名进行验证,只有签名验证通过,才能验证该交易在传播过程中的完整性没有被破坏。
4.数字证书
数字证书的概念,指的是在互联网通信过程中,标识通信各方身份信息的一个数字标识。它本质上是一种电子文档,由权威的证书签发机构签发,借助数字签名等密码学手段,在网络上安全、有效第代表真实世界中某种身份。

证书签发过程示意图:

其中CSR(证书请求文件,Certification Signing Request)
1\] [https://www.bilibili.com/video/BV1dM4y1a7g3/?spm_id_from=333.337.search-card.all.click\&vd_source=764fb92530f375edc0ba1c78a8773c7a](https://www.bilibili.com/video/BV1dM4y1a7g3/?spm_id_from=333.337.search-card.all.click&vd_source=764fb92530f375edc0ba1c78a8773c7a "https://www.bilibili.com/video/BV1dM4y1a7g3/?spm_id_from=333.337.search-card.all.click&vd_source=764fb92530f375edc0ba1c78a8773c7a")