教程网

您现在的位置是: 首页 > 项目

区块链算法有哪些?盘点常见的几种区块链共识算法

区块链算法有哪些?盘点常见的几种区块链共识算法
区块链算法有哪些?在每一种的加密货币背后,都有一种伟大的共识算法。 但没有一种共识算法是完美的,但它们各有优缺点。他们的主要目标是防止双重支出。重要的是要记住,它们都不

区块链算法有哪些?在每一种的加密货币背后,都有一种伟大的共识算法。 但没有一种共识算法是完美的,但它们各有优缺点。他们的主要目标是防止双重支出。

重要的是要记住,它们都不是绝对完美的,在分散或部分分散化的环境中,不存在任何普遍达成共识的方法。每一个都有它的优点和缺点。这就是为什么算法被不断地更新补并充各种各样的插件的原因。有时,不同共识的方法会混合在一起,形成混合体。

目前,有几种不同的协商共识机制。在我们回顾一些与之相关的内容之前,有两件事很重要:1.目前,还没有达成共识的一种普遍方法。2. 此外,没有绝对好的或坏的算法——它只是关于会计系统的要求。让我们来看看其中一些:

工作量证明(Proof of Work):

PoW是目前区块链技术最常见、最可靠的共识机制之一。这种机制的名称不言自明。为了参与事务验证,必须公开证明已经完成了一定的工作。这条规则禁止假选民参加投票。你做的工作越多,你提出下一个建议的机会就越大。PoW是第一个区块链共识算法。由中本聪(Satoshi Nakamoto)设计,用于比特币区块链。我们要感谢全球范围内的大规模采矿作业和电力消耗。我们知道它是可行的(这比我们能说的许多其他共识算法要多得多),但在游戏的这个阶段,它开始被视为一种遗留技术。

权益证明(Proof of Stake):

这种机制非常类似于公司股东之间的投票——持有更多股份的人获得更多的权力。所以,重要的不是声音的数量,而是声音的分量。在权益证明中,一个新区块的创建者是根据其财富以确定性的方式选择的,也被定义为权力。持有大量代币的用户有很高的动机来确保系统节点之间的协商共识,并以正确的方式实现。除此之外,如何保证网络安全,防止各种攻击、故障、虚假交易确认等诈骗行为的发生,也是他们关注的问题。该算法的优点:验证者诚实的动机很简单。缺点:实际上很难构建一个基于pos的系统来考虑所有可能的恶意行为场景。

委托证明 (Delegated Proof of Stake):

DPoS与PoS有很大的不同,在这里,代币持有者本身并不负责块的有效性,而是选择委托来为它们进行验证。在DPoS系统中,通常有21-100个选定的代表。所选的委托会定期更改,并分配一个订单来交付它们的块。如果委托的数量较少,则允许它们有效地组织自己,并创建设计的时间间隔来发布块。如果委托人员经常丢失它们的块,或者发布无效的事务,代币持有者将它们投票排除,并使用其他选定的委托替换它们。与PoW和PoS不同,DPoS中的挖掘人员可以协作开发块。

拜占庭式容错 (Byzantine Fault Tolerance)

BFT是用来修复一个不可靠节点的问题。如果社区的任何成员向其他成员发送关于事务的不一致信息,区块链的可靠性就会崩溃,并且没有中央权威可以介入来纠正它。为了解决这个问题,PoW已经通过它的处理能力提供了BFT。另一方面,PoS需要一个更加明确的解决方案。节点将定期投票以识别真正的事务。使用与BFT一起工作的PoS版本似乎是在区块链中批准交易的最有希望的方法。

SIEVE

简言之,SIEVE增强了原来的PBFT算法,PBFT主要关注于提供一个实用的拜占庭状态机复制,该复制通过假设存在独立节点故障并操纵由特定独立节点传播的消息来容忍拜占庭式错误。该算法设计为在异步系统中工作, 并通过添加推测性执行和验证阶段来优化, 使其具有出色的开销运行时, 并且延迟仅略有增加。1)检测和过滤可能的不确定性请求,建立进入PBFT三相协议协议的事务的确定性,2)除了经典PBFT提供的对验证器输入状态的一致意见外,还允许对验证器的输出状态运行一致意见。SIEVE以模块化的方式从PBFT派生而来,它重用PBFT视图更改协议,以降低复杂性,避免从头实现新的一共识协议。

权重证明(Proof of Weight)

权重证明是一种广泛分类的协商共识算法。一般的思想是,在PoS中,您在网络中拥有代币的百分比表示您“发现”下一个块的概率,在权重证明系统中,可以使用其他一些相对加权的值。它的一些实现是其声誉和空间的证明。

空间证明 (Proof of Space)

空间证明与工作量证明非常相似,只不过它不是用来计算的,而是用来存储的。空间证明与内存困难函数和可检索性证明有关。空间证明是证明程序发送给验证程序的一段数据,用来证明程序保留了一定数量的空间。为了实现其实用性,验证过程需要高效,即消耗少量的空间和时间。为了稳妥起见,如果验证程序实际上没有保留所声明的空间量,那么它应该很难通过验证。

信誉证明 (Proof of Reputation)

PoR共识模型依赖于参与者的声誉来保证网络的安全。参与者(区块签名者)必须拥有足够重要的声誉,如果他们试图欺骗系统,就会面临重大的财务后果。这是一个相对的概念,因为几乎所有的企业如果被发现试图欺骗,都会遭受重大损失,但大公司通常会损失更多。

唯一节点列表 (Unique Node Lists)

Ripple使用被称为“唯一节点列表”(Unique Node list, UNL)的“集体信任子网络”协商算法来处理高延迟,这通常是bft容忍系统的特征。为了达成共识,节点需要用它自己的UNL代替整个网络。这种机制允许不足五分之一的节点出错。

烧钱证明 (Proof of Burn)

在“烧钱”测试中,你不是花钱买昂贵的电脑设备,而是把代币“烧”到一个无法回收的地址。您可以在一个基于随机选择过程的系统上获得终身特权。矿商可以烧本国货币,也可以烧其他任何货币。你烧的金币越多,你被选中开采下一个方块的几率就越高。如果你在系统中的赌注失败了,那么最终,你会想要燃烧更多的代币来增加你被选中进入下一个方块的几率。PoB是PoW的一个很好的选择,尽管协议会浪费资源。

行动证明 (Proof of Activity)

PoA是比特币矿商的另一种激励机制。这结合了PoW和PoS。在PoA中,矿商从PoW方法开始解决这个难题。如果挖掘出的块不包含任何事务,系统将切换到PoS。根据头信息,将分配一组验证器对新块进行签名。如果验证器拥有更多的代币,他就有最大的机会被选中。一旦所有选中的验证器签名,模板就会变成一个块。如果验证器未能完成该块,那么将选择一组新的验证器,这个过程将继续,直到一个块接收到正确数量的签名。奖励在挖掘人员和验证人员之间进行分配。PoA比PoW和PoS需要更多的能量。

消逝时间证明 (Proof of Elapsed Time)

PoET是一种协商共识机制算法,通常用于被许可的区块链网络,以决定网络上的采矿权或区块赢家。获准的区块链网络是指那些要求潜在参与者在被允许加入之前先表明身份的网络。就像彩票系统的原则一样,即每个节点都有均等的机会成为赢家,PoET机制基于将中奖的机会公平地分配给尽可能多的网络参与者。

权威证明 (Proof of Authority)

权威证明(PoA)是一种可用于授权账簿的协商共识算法。它使用一组“权限”,这些“权限”是指定的节点,允许它们创建新块并保护分类账。使用PoA的账簿需要大多数权威机构的签名才能创建一个块。

重要性证明(PoI)

这种协商共识的网络不仅取决于代币的数量,而且取决于生产系统行动应该得到报酬的可能性。标记一个块的机会是各种因素的一个组成部分,包括恶名(由一个不同的专门设计的框架控制)、平衡,以及往返于该位置事务的数量。这称为重要性计算。

哈希其实是密码学的基础,理解哈希是理解数字签名和加密通信等技术的一个必要前提。它的英文是hash,其本意是切碎并搅拌的意思,哈希函数的运算结果就是哈希值,通常简称为哈希,而哈希函数有时候也翻译做散列函数。根据我们的搜索,在维基百科的定义中,哈希函数要做的事情是给一个任意大小的数据生成出一个固定长度的数据,作为它的映射。很多投资者看到这里都想要知道哈希算法的作用有哪些?下面就让小编为大家盘点一下哈希算法的作用。

哈希算法的作用有哪些?

哈希算法在生活中的应用要比我们想象中要广泛。

它可以检验信息是否是相同的,这样的优势是可以节省重复数据传送的时间。就像我们在一些网盘中上传的文件,如果文件内容相同的话,哪怕属于不同的用户,也可以通过对比哈希值避免向服务器重复上传相同的文件,可以很大程度上节约存储资源,提高存储效率。除此之外,哈希算法也可以对网站注册用户的密码进行加密保护。

在密码学中,哈希算法的主要作用是用于消息摘要和签名,主要用于消息的完整性校验。哈希算法不可逆,用于密文保存密码的签名,网站后台只保存签名值。这样即使网站保存的信息被盗取,也无法获取用户的密码,具有更高的安全性。

哈希算法的分类

下一步我们把哈希函数分类,更细致的聊聊哈希算法的特点。首先说哈希算法有很多种,例如md5,sha256等等,但是它们总体上可以分为两大类,一类是普通哈希,另外一类是加密哈希,cryptographic hash function。

业界可以找到的哈希算法是有很多种的。我们可以大致按照输出的哈希的长度来聊,虽然哈希算法的安全性也不单单是跟哈希长度有关,但是一般哈希值越长也就是越安全。

例如CRC-32的输出是32 bit,也就是32位的二进制数,表示成十六进制就是8位。MD5算法的哈希是32位16进制数,比较常见。SHA-256是256个Bit,十六进制表示就是64位。这些算法可以分成普通哈希和加密哈希算法,两种算法之间没有特别明显的区别。例如本来MD5就是设计出来做加密哈希的,但是后来由于计算机的发展MD5出现碰撞的可能性就很大了,所以目前MD5只能当普通哈希用,用来做数据校验。

加密哈希跟普通哈希的区别就是安全性,一般原则是只要一种哈希算法出现过碰撞,就会不被推荐成为加密哈希了,只有安全度高的哈希算法才能用作加密哈希。

同时加密哈希其实也能当普通哈希来用,Git版本控制工具就是用SHA-1这个加密哈希算法来做完整性校验的。一般来讲越安全的哈希算法,处理速度也就越慢,所以并不是所有的场合都适合用加密哈希来替代普通哈希。

在密码学领域,有两个算法都是把数据做输入,而输出是一段谁也看不懂的数据。其中一个就是哈希算法,另外一个是加密算法。注意,哈希算法和加密算法是完全不同的。

首先哈希算法的输出长度是固定的,而加密算法的输出长度是跟数据本身长度直接相关的,第二,哈希是不可以逆向运算出数据的,而加密算法的输出是要能够逆向运算出数据的。关于加密算法。

以上就是小编对于哈希算法的作用有哪些这一问题的详细分析以及对于哈希算法作用的盘点。总的来说,哈希算法的种类还是非常多的,一般来说长度越长的算法基本认为越安全。安全度低的哈希算法被认为是普通的哈希算法,它的主要作用就是来做完整性的校验,而安全度高的哈希算法则被称为加密哈希算法,会被用在加密算法中。目前最流行的加密算法是SHA-2 ,但是大家要知道SHA-2不是一种算法,而是一系列算法的统称。

在回答这个问题之前,小编认为投资者需要先了解什么是共识机制算法?共识机制算法,也可以说是共识机制,其实就是以去中心化的方式就网络的状态达成统一协议的过程,共识机制算法有助于验证和验证信息被添加到分类账簿,确保只有真实的事务记录在区块链上,那么,共识机制算法有哪些呢?下面小编就给大家详细说说共识机制算法有哪些?

共识机制算法有哪些?

1.POW:Proof of Work,工作量证明

比特币系统设计了以每个节点的计算能力,即“算力”来竞争记账权的机制。简单说,POW就是一份确定工作端做过一定量工作的证明。举个例子来说,就是我去面试的时候,招聘网站上写的该岗位需要本科以上学历。那我怎么证明我是本科毕业生呢?把本科毕业证show给面试官看就可以了,就是这么简单。但是我要怎么得到这个毕业证呢?需要上4年的大学,在此之前还要上高中,初中,小学,上大学时还不能天天玩乐,还要上课,考试,考试还不能挂科,这是一个艰辛的过程。对面试官而言,一张毕业证就足以证明我上过大学,而且还不笨。

所以,POW方式的主要特点就是计算的不对称性。工作端需要做一定难度的工作才能得到一个结果,但验证方却很容易通过结果来检查工作端是不是做了相应的工作。具体做法是通过对一个区块链头部中的父区块哈希,Merkle树根和nonce值三个字段进行哈希运算,如果结果小于目标值,则计算成功,如果大于目标值,则改变nonce值,重复运算,直到结果小于目标值为止。

怎么理解pow的工作方和验证方呢?再举个栗子。

工作方:假设输入值是 blockchain1,对它进行哈希运算,寻找结果前3位为0的哈希值,那么计算过程是:

blockchain1 -> ef7797e13d3a75526946a3bcf00daec9fc9c9c4d51ddc7cc5df888f74dd434d1

blockchain2 -> db0b9c1cb5e9c680dfff7482f1a8efad0e786f41b6b89a758fb26d9e223e0a10

 1/5    1 2 3 4 5 下一页 尾页