主页 > 下载最新版imtoken钱包 > 【寻搜区块链科普系列03】区块链的加密算法与共识机制

【寻搜区块链科普系列03】区块链的加密算法与共识机制

下载最新版imtoken钱包 2023-05-14 06:14:07

区块链中使用的加密算法和共识机制是两个非常重要的组成部分。 有人将它们比作人体的骨骼和灵魂。

加密演算法

首先我们来了解一下什么是区块链的加密算法? 区块链中使用的加密算法一般分为两类:非对称加密算法和哈希函数。 非对称加密算法是相对于对称加密算法来理解的。 所谓对称加密算法,就是使用同一套秘钥进行加密和解密,类似于我们看的谍战片中使用的密码。 对方的密码表可以破译对方谍战人员发来的加密信息,并将加密信息解读为原文。

非对称加密算法

也称为公共加密算法,它有两个密钥,一个可以公开,另一个可以私有。 这两个秘钥可以分别用于加密和解密,这种加密算法非常适合在区块链账户体系中,一个可以作为账户,一个可以作为密码。 比较著名的非对称加密算法有RSA算法(大整数分解算法)和ECC算法(椭圆曲线算法)。 具体的算法证明过程,有兴趣的同学可以自行查找相关资料进一步研究。 有一个例子可以清楚地区分这两种算法:破解一个 228 位的 RSA 密钥需要足够的能量来煮沸一汤匙的水,而破解一个 228 位的 ECC 密钥需要足够的能量来煮沸地球上所有的水。 在一定程度上,也说明了ECC的安全性。

哈希函数

哈希函数本质上是一种映射关系,可以将任意长度的信息(消息)压缩成固定长度的二进制字符串。 在计算机语言中,哈希函数可以将任意大小的信息转换成一个唯一对应的数字ID。 这个特性主要用在区块链的存储上。 比特币中的哈希函数主要用于默克尔树、区块指针和比特币挖矿。 哈希函数包括 SHAJ 家族的 SHA-1、SHA-256 等。

下面详细介绍加密算法在区块链中是如何应用的比特币的加密算法,如图

比特币的加密算法_比特币算法源代码_比特币等加密货币矿机销售

图1

比特币的加密算法_比特币算法源代码_比特币等加密货币矿机销售

在非对称加密算法中,通过非对称加密函数可以推导出公钥(即公钥),可以用私钥推导出公钥,但是不能逆向推导出公钥私钥,所以公钥可以公开。 私钥可以作为验证工具来验证和推导公钥,也就是说私钥和公钥之间存在映射关系。 也就是说,私钥和公钥可以作为区块链账本中的密码和账户功能。 同时,我们在发送交易时,可以使用私钥作为签名来验证我们自己的信息,即使用私钥对一段信息进行加密,生成自己的数字签名,数字签名可以很容易用公钥解密,即验证。 在比特币中,公钥是一长串数字。 比特币转账时,是接收方的接收地址,这个地址是通过公钥和哈希函数结合得到的。

总结:私钥持有者可以通过私钥生成自己唯一的数字签名(加密信息)。 由于公钥是全网公开的,其他人(接收方)可以通过公钥验证我的身份。

比特币是如何生成哈希成块的?由于哈希函数的特性(一个非常大的输入映射到一个独特的小输出——验证ID),而区块的组成是矿工在一段时间内所有交易的记录时候,为了生成区块,它的头部哈希Xi(上一节的内容)相当于这个区块的唯一ID,然后使用Merkle树这样的结构递归生成一个根哈希值(parent hash) 通过大量的交易数据通过分层哈希。 记录在区块头中,具体过程如下图所示

比特币算法源代码_比特币的加密算法_比特币等加密货币矿机销售

图 2

共识机制

分布式簿记组对交易记录达成一致,即分布式数据节点对记录数据达成一致,状态相同。 共识机制中有一个著名的“拜占庭将军问题”。 有兴趣的同学可以参考资料深入了解。这个问题来源于分布式系统的一致性问题,如图

比特币等加密货币矿机销售_比特币算法源代码_比特币的加密算法

图 3

非拜占庭容错模型一般没有攻击者。 人们普遍认为节点是安全可靠的。 通常用于互联网的通信传输模型或分布式服务器模型; 拜占庭容错模型有攻击者,最后一个是经济模型。 在区块链中,我们需要综合考虑这些模型。在使用这些模型时,我们需要知道两个定理

比特币等加密货币矿机销售_比特币算法源代码_比特币的加密算法

FLP定理:在可靠网络和节点故障的最小异步模型系统中,不存在可以解决一致性问题的确定性算法

节点故障,异步分布式系统,无法完全一致

CAP定理:一致性、可用性、分区容错,三者不可兼得

一致性:所有节点访问相同的最新数据副本

可用性:每次请求都能得到无错误的响应

分区容错:网络故障引起的系统分区不会影响系统的正常运行

根据上述定理,我们可以知道,在区块链的异步分布式系统中是不可能实现强一致性的。 为了解决这个问题,有必要引入共识机制。 根据不同的模型,也会设计不同的共识。 机制,如下

非拜占庭容错——适用于分布式数据库

共识机制:Paxos、Raft等。

特点:高性能,容错性差

比特币的加密算法_比特币等加密货币矿机销售_比特币算法源代码

拜占庭容错——用于分布式账本(区块链)

共识机制:PoW、PoS、DPoS、PBFT

特点:容错性高,性能差

思路:1)增加恶意节点的错误成本,降低错误概率

2)允许一定比例的恶意节点出现,账本依然一致

那么,结合以上知识,我们可以总结出共识机制的特点:

随机性

随机选择簿记员(武将)增加作恶成本(连续作恶,作恶比例大)

无法预测或操纵随机数

反女巫攻击

比特币等加密货币矿机销售_比特币算法源代码_比特币的加密算法

抵制刷小号的邪招,增加被选中概率

提高门槛:算力(工作证明)、资源(权益证明)

奖金制度

奖励诚实的参与者(比特币)

不诚实参与者的反激励机制

综上所述,在这些特性下,加强了区块链的安全性,提高了作恶者的门槛。 我们用三张图来详细描述不同共识机制的区块链项目。

比特币等加密货币矿机销售_比特币的加密算法_比特币算法源代码

PoW机制

比特币的加密算法_比特币算法源代码_比特币等加密货币矿机销售

PoS机制

比特币算法源代码_比特币等加密货币矿机销售_比特币的加密算法

比特币等加密货币矿机销售_比特币的加密算法_比特币算法源代码

DPoS机制

最后简单介绍一下

实用拜占庭容错算法 (PBTF)

解决拜占庭问题的最佳方法,1999年提出,2008年获得图灵奖

将算法复杂度从指数级降低到多项式级

可以容忍小于1/3的节点作恶,节点越多,难度越大比特币的加密算法,性能越差

适用于联盟链,一致性要求强的私有链,或者节点数固定的公链,比如DPoS公链

代表人物:EOS、Cosmos

这种共识机制最大的特点是:每个节点就账本的唯一状态达成一致,不存在分叉。

以上就是本节内容,欢迎讨论指正。