带你揭开区块链中密码学的神秘面纱
一、什么是区块链技术? 区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点公式算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 。狭义来讲, 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本 。我们对此做一个总结,可以发现区块链中有四项不可缺的核心技术,分别是分布式存储、共识机制、密码学原理和智能合约。而我将主要从密码学的角度来解析区块链技术。 图片来源(中国工控网) 二、区块链中的密码学 数字签名 ,每一位所有者通过对前一次交易和下一位拥有者的 公钥 签署一个 随机散列 的数字签名,并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者。而收款人通过对签名进行校验,就能够验证该链条的所有者。这里就涉及了非对称加密算法以及数字签名技术。 非对称密码学 非对称密码学由一对不同的公钥和私钥对组成,如果用公钥对数据进行加密则只能用对应的私钥才能进行解密,反之如果用私钥进行加密,那么只有用对应的公钥去进行解密。由于可以对密钥进行公开,因此也叫公开密钥加密算法。 目前常见的非对称密码算法有RSA算法、ECC(椭圆曲线加密算法)、 Diffie-Hellman 算法、Elgamal算法等