区块链三大关键技术
区块链主要有三大关键技术:区块链加密技术,数据存储结构,共识机制。
一、区块链加密技术
从计算机科学角度看,区块链是一种分布式数据库,不同的节点拥有相同的数据记录,包含经节点确认的数据信息的区块从后向前呈链状结构有序连接,利用密码学的方式保证了数据在传输过程和之后访问过程的安全,加密技术保护了区块链中的数据安全,从而保证了区块链不可篡改和不可伪造的特性。
1、哈希算法
哈希算法是一类加密算法的统称,是信息领域中非常基础也非常重要的技术。输入任意长度的字符串,哈希算法可以产生固定大小的输出。通俗地说,我们可以将哈希算法的输出(也就是哈希值)理解为区块链世界中的“家庭地址”。就像物理世界中我们总可以用一个特定且唯一的地址来标识一样,我们也可以用哈希特定且唯一地标识一个区块(如果不同区块的哈希总是不同的,那么我们称这类哈希函数具有“碰撞阻力”,这是对哈希函数的基本要求),而且就像我们无法从“家庭地址”倒推出房屋结构、家庭成员等内部信息一样,我们也无法从哈希值反推出区块的具体内容(哈希函数的隐秘性)。
2、非对称加密
加密算法一般分为对称加密和非对称加密。对称加密算法也称为单密钥加密,同一个密钥同时作为信息的加密和解密,如果在分布式网络中使用对称加密,如何将对应的密钥发送给需要解密信息的人是个很难解决的问题,因此在区块链中大量采用了分对称加密。
非对称加密是指加密和解密使用不同密钥的加密算法,也称为公私钥加密。区块链网络中,每个节点都拥有唯一的一对私钥和公钥。公钥是密钥对中公开的部分,就像银行的账户可以被公开,私钥是非公开的部分,就像账户密码。使用这个密钥对时,如