请选择 进入手机版 | 继续访问电脑版

共识机制 有哪些?

[复制链接]

3

主题

14

帖子

69

积分

等待验证会员

积分
69
发表于 2018-6-24 14:55:49 | 显示全部楼层 |阅读模式
1.PoW(Proof of Work),工作量证明
——干的多,挣得多。
这就是说,你获得多少货币,取决于你挖矿贡献的有效工作,也就是说,你电脑性能越好,分给你的矿就会越多,这就是根据你的工作证明来执行货币的分配。比特币、莱特币等等,都是基于POW模式的虚拟货币(算力越高、挖矿时间越长,你获得的货币就越多)。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性;

回复

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 14:56:24 | 显示全部楼层
2、PoS (Proof of Stake),权益证明 —— 持有越多,获得越多。

简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息,非常好!(需要注意的是,5%的年利率仅仅是小编举例,并非每个POS模式的币种都是5%,比如点点币PPCoin就是1%年利率)。

优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
回复 支持 反对

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 14:57:56 | 显示全部楼层
3.Dpos与PoS原理相同,只是选了一些“人大代表”
BitShares社区首先提出了DPoS机制。

与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
Dpos的工作原理:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。
网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。
该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。

成为代表:
成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。

授权选票:
每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们的交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。

保持代表诚实:
每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。

抵抗攻击:
在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。

优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。

回复 支持 反对

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 14:59:02 | 显示全部楼层
4.PBFT(Practical Byzantine Fault Tolerance),实用拜占庭容错
该算法是Miguel Castro (卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。PBET将容错量控制在全部节点数的1/3,即如只要有超过2/3的正常节点,整个系统便可正常运作。
优点:
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。
3)共识效率高,可满足高频交易量的需求。

缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;

回复 支持 反对

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 15:00:25 | 显示全部楼层
5.dBFT: delegated BFT 授权拜占庭容错算法

小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。通过在去中心化程度与效率之间找寻了一个平衡点,通过弱中心化实现效率的大幅提升。
PBFT的工作原理:参与记账的是超级节点,普通节点可以看到共识过程,并同步账本信息,但不参与记账。总共n个超级节点分为一个议长和n-1个议员,议长会轮流当选。每次记账时,先有议长发起区块提案(拟记账的区块内容),一旦有至少(2n+1)/3个记账节点(议长加议员)同意了这个提案,那么这个提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分之百确认的。
优点:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;

缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。BFT类的算法由于在可扩展性上受限,一般用于非信任环境下的私有链或联盟链,而不直接用于公有链。NEO直接采用DBFT算法导致其沦为一个中心化的公有链。



回复 支持 反对

使用道具 举报

3

主题

14

帖子

69

积分

等待验证会员

积分
69
 楼主| 发表于 2018-6-24 15:01:08 | 显示全部楼层
6.POOL验证池

Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。

缺点:该共识机制能够实现的分布式程度不如PoW机制。

回复 支持 反对

使用道具 举报

2

主题

13

帖子

60

积分

等待验证会员

积分
60
发表于 2018-6-25 00:33:21 | 显示全部楼层
DAG,也算一种共识法吧。
回复 支持 反对

使用道具 举报

3

主题

33

帖子

359

积分

等待验证会员

积分
359
发表于 2018-11-28 14:20:30 | 显示全部楼层
密码朋克宣言:我们的代码,对全球所有人免费
http://www.oldleek.com/forum.php ... 121&fromuid=539
(出处: 老韭)
回复 支持 反对

使用道具 举报

60

主题

751

帖子

7914

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7914
发表于 2019-1-11 19:10:58 | 显示全部楼层
码农代码/技术  相关阅读——


主链或智能合约 核心编程语言 总体分布情况
http://www.oldleek.com/forum.php ... 422&fromuid=769
(出处: 老韭)


天天写代码,何日成大牛?
http://www.oldleek.com/forum.php ... =50&fromuid=398
(出处: 老韭)

感恩程序员:你们是加密行业的无名英雄
http://www.oldleek.com/forum.php ... 194&fromuid=769
(出处: 老韭)


“区块链钱包”,怎么个 牛 法?
http://www.oldleek.com/forum.php ... 254&fromuid=398
(出处: 老韭)

要注意“社会敌对势力”,对我们码农发起的心理暗战!
http://www.oldleek.com/forum.php ... 014&fromuid=398
(出处: 老韭)

2018优秀码农! 代码提交量前10 的代码贡献者
http://www.oldleek.com/forum.php ... 424&fromuid=769
(出处: 老韭)


编程语言来越多, 但都走进了同一个死胡同 -- “λ演...
http://www.oldleek.com/forum.php ... 682&fromuid=398
(出处: 老韭)

身份认证 已成区块链最大应用风口?
http://www.oldleek.com/forum.php ... 844&fromuid=325
(出处: 老韭)

SelfKey,一个基于区块链的数字身份管理平台
http://www.oldleek.com/forum.php ... 726&fromuid=325
(出处: 老韭)

区块链代码语言选Rust是大势? Really?
http://www.oldleek.com/forum.php ... 412&fromuid=398
(出处: 老韭)

比特币/BTC 中文社区
http://www.oldleek.com/forum.php?mod=forumdisplay&fid=37

算法研究
http://www.oldleek.com/forum.php?mod=forumdisplay&fid=62

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1
QQ