EOS共识机制——DPoS代理权益证明

news/2024/7/2 22:03:45

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述
区块链共识机制与它的演进,是由于区块链式去中心化而且分布式的系统,必须要有一套放诸四海皆准类似宪法的规则,来规范如何证明谁能够获得记账的权利全并且得到奖励,还有意图危害系统将会受到甚么惩罚,来维持整个系统稳定发展。

区块链(Blockchain)其实就是账本串连在一起,每一块的账本都记录着我们的交易,再计算出每块账本的Hash(艺术哈希值)表示。而每一块账本的Hash,会放在下一个账本的最前面,跟着这些帐本的交易纪录变成一个新的Hash,这表示如果你不能单单窜改了一个区块的交易纪录,后面的区块也需要一起更改。在这种条件下的窜改机率几乎等于零。这就是为什么大家会说区块链是不可篡改的,以下为我们常见的共识算法。

PoW(Proof of Work,工作量证明),也就是付出的越多,那就可以获得越多的奖励,常见的比特币(BTC)以及以太币(ETH)皆是采用这种共识算法。一般来说,矿工们会透过CPU、GPU或ASIC来进行挖矿,主要过程⼤概是猜⼀个名为Nonce的数值,第一个找到Nonce值经过函数之后小于某一个值的矿工就获胜,可以获得出块的权利。虽然PoW可以让整体网络相对去中心化,但确认交易的速度却相当缓慢,这也使得区块链想要融入我们日常的生活有不少阻力。另一方面,当越来越多的矿工投入时,便造成了大量的能源浪费。为了改善交易速度以及减少耗能,所以产生了另外一个共识机制 — PoS(Proof of Stake)。

PoS(Proof of Stake,权益证明)。主要便是希望可以解决PoW运算时消耗过多能源的缺点,不同于PoW透过计算能力竞争记账权,PoS是依照所持有币的数量,当你持有的越多就代表有越大的机率可以取得记账权力,因此PoS免去了矿机消耗的庞⼤电⼒资源,但区块链扩容与交易确认速度过慢的问题仍然未能解决。

代理权益证明DPoS(Delegated Proof of Stake)

为了解决目前PoW遇到的耗能费时问题以及PoS仍旧无法突破的扩容、效率问题,Daniel Larimer(BM)提出了新的共识机制DPoS,BM除了是EOS的创始人也曾经开发过Bitshares(2014)还有Steem(2016),两个项目都采用DPoS共识机制,区块链网络运行到现在的稳定程度,已经能够证明DPoS共识机制是可行的,从交易纪录的活跃程度来看,透过DPoS共识机制的区块链性能是目前区块链网络中最高的。

作为第三代的共识机制,就是为了解决前两代痛点而出现,保留了PoS节能的优点,并引入了代议民主的概念,每一颗EOS都是一张选票,藉由选票选出21个Block Producer(超级节点),透过减少节点的数量,除了能够达成比PoS更低的能耗,更是解决了PoW与PoS其中一个痛点 — 交易确认的时间过长的问题。

如果觉得DPoS的概念太过抽象难以理解,可以把DPoS想像成一间公司,而21个超级节点就是公司的21个董事与大股东,负责参与大公司大事的决策,由于成为超级节点的大股东,手上都握有极大份额的股分,常理来说并不会做出对公司未来有害的决策,若真的有股东做出不智的决定,所有的股分持有者也可以透过手上的币作为选票来让这名对公司有危害的大股东下台。

DPoS的构架把所有利益关系人串联起来,让所有参与者不再是互为竞争者而是合伙人。虽然众多人批评这种代议式民主的方式有违了区块链去中心化的初衷,但仔细目前BTC以及ETH的算力分布,BTC前10大矿池就已经把持了超过86%的算力;ETH更是集中,前五大就超过了75%。

另一方面,要将区块链融入我们的生活中必要的条件就是快速的交易确认,当我们藉由虚拟货币从事任何一种支付行动的时候都希望可以和我们目前的日常支付没有过大的差异。然而BTC以及ETH却无法达成,光等待确认的时间就至少需要20分钟了,可想而知,我们是无法想像要买一杯珍奶需要站在柜台等待20分钟的。而DPoS透过代议式的民主机制,选出21个节点来帮EOS网络来进行确认,这样便可大幅缩短等待确认的时间,进而让更多的实际应用变成可能。

在区块链中,不可能的三角分别为:可扩展性、去中心化以及安全。而从DPoS中很明显的可以发现到降低了去中心化这个部分,进而达到了高TPS。整个区块链行业还在发展的早期阶段,DPoS只是提供了我们一个可能的想像,也期待在日后透过社群的脑力激荡,可以将不可能的三角化为可能。

更多区块链信息:www.qukuaiwang.com.cn/news


http://lihuaxi.xjx100.cn/news/237188.html

相关文章

docker的用法

Docker是开发人员和系统管理员构建,发布和运行分布式应用程序的开放平台,可以在笔记本电脑、数据中心、虚拟机还有云服务器上运行。 使用Docker工具来提高生产率的方法:本地依赖:你需要在本地系统上快速试用 magento 吗&#xff1…

前端面试的作品示例_如何回答任何技术面试问题-包括示例

前端面试的作品示例Technical interviews can be extremely daunting. From the beginning of each question to the end, its important to know what to expect, and to be aware of the areas you might be asked about. 技术面试可能会非常艰巨。 从每个问题的开始到结束&a…

Win10 下 RabbitMQ 的 安装 配置

记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘。 第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/download…

智能合约和区块链技术:入门指南

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 智能合约和区块链技术:入门指南 多年前,在没有数字合约和区块链技术存在的情况下,双方的合约往往以传统的方式进…

node/js 漏洞_6个可用于检查Node.js中漏洞的工具

node/js 漏洞Vulnerabilities can exist in all products. The larger your software grows, the greater the potential for vulnerabilities. 所有产品中都可能存在漏洞。 您的软件增长得越大,潜在的漏洞就越大。 Vulnerabilities create opportunities for expl…

什么是网络爬虫,网络爬虫有什么用?

什么是网络爬虫,网络爬虫有什么用? 简单地说,就是把网页所展示数据通过非人工的手段获取下来。 现在是大数据时代,数据分析是解决各行各业相关问题重要的依据。数据分析结果的准确性有很大一部分取决于数据量是否足够大。如果是几…

aws fargate_我如何在AWS Fargate上部署#100DaysOfCloud Twitter Bot

aws fargateAfter passing my last certification, I asked myself how much time I spent studying cloud computing.通过上一份认证后,我问自己自己花了多少时间研究云计算。 More than 100 days!超过100天! It also made me realize two things:这也…

玉蟾宫

题目链接:https://www.luogu.org/problemnew/show/P4147 题目背景 有一天,小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 题目描述 这片土地被分成N*M个格子&#xff0…