《Node.js区块链开发》——3.4 DPoS:授权股权证明机制

简介:

本节书摘来自华章计算机《Node.js区块链开发》一书中的第3章,第3.4节,作者 朱志文,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 DPoS:授权股权证明机制

1.基本原理

DPoS(Delegated Proof of Stake)是比特股(BTS)最先引入的一种机制。比特股首次提出了去中心化自治公司(DAC)的理念。比特股的目的就是用于发布DAC。这些无人控制的公司发行股份,产生利润,并将利润分配给股东。这一切的实现,不需要信任任何人,因为每件事都已经被硬编码到软件中了。通俗点讲就是,比特股创造可以盈利的公司(股份制),股东持有这些公司的股份,公司为股东产生回报。这种机制无须“挖矿”。

对于PoS机制的区块链产品,每个节点都可以创建区块,并按照个人的持股比例获得“利息”。DPoS是由社区中选举出来的可信账户(受托人,得票数排行前101位)来创建区块的。为了成为正式受托人,用户要去社区拉票,以获得足够多用户的信任。用户根据自己持有的加密货币数量占总量的百分比来投票。DPoS机制类似于股份制公司,普通股民进不了董事会,要投票选举代表(受托人)来代替他们做决策。

这101个受托人可以理解为101个“矿池”,而这101个“矿池”彼此之间的权利是完全相等的。那些握着加密货币的用户可以通过投票的方式随时更换这些代表(“矿池”),如果他们提供的算力不稳定、计算机宕机,或者试图利用手中的权利作恶,那么他们将会立刻被用户们踢出整个系统,而后备代表则可以随时代替他们。

2.优点

1)能耗更低。DPoS机制将节点数量进一步减少到101个,在保证网络安全的前提下,整个网络的能耗将进一步降低,网络运行成本达到最低。

2)更加去中心化。目前,对于比特币而言,个人“挖矿”已经不现实了,比特币的算力都集中在几个大的“矿池”手中,每个“矿池”都是中心化的,就像DPoS的一个受托人一样,因此DPoS机制的加密货币更加去中心化。PoS机制的区块链产品,要求用户客户端在线,事实上用户并不会每天都开着电脑,真正的网络节点是由几个股东保持的,因此去中心化的程度也不能与DPoS机制的区块链产品相比。

3)更快的确认速度。比如,亿书使用DPoS机制,每个块的时间为10秒,一笔交易(在得到6~10个确认后)大概1分钟,一个完整的101个块的周期大概只需要16分钟。而比特币(PoW机制)产生一个区块需要10分钟,一笔交易完成(6个区块确认后)需要1个小时。点点币(PoS机制)确认一笔交易大概也需要1个小时。

3.缺点

2016年5月20日,比特股的作者发表了一篇文章(见3.7节),预言DAO(去中心化组织)和DAC(去中心化公司)都将失败。文中披露了大量的实践经验,基本上都是DPoS的问题,概括起来主要如下。

1)投票的积极性并不高。绝大多数持股人(90%以上)从未参与投票。这是因为投票需要时间、精力及技能,而这恰恰是大多数投资者所缺乏的。

2)对于坏节点的处理存在诸多困难。社区选举不能及时有效地阻止一些破坏节点的出现,这一点对网络造成了安全隐患。

相关文章
|
3月前
|
负载均衡 监控 JavaScript
pm2 工具在 Node.js 开发和部署中的重要作用
pm2 工具在 Node.js 开发和部署中的重要作用
48 0
|
30天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
18 4
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出:Node.js 在后端开发中的应用与实践
【2月更文挑战第13天】本文旨在探讨Node.js这一流行的后端技术如何在现代Web开发中被应用以及它背后的核心优势。通过深入分析Node.js的非阻塞I/O模型、事件驱动机制和单线程特性,我们将揭示其在处理高并发场景下的高效性能。同时,结合实际开发案例,本文将展示如何利用Node.js构建高性能、可扩展的后端服务,以及在实际项目中遇到的挑战和解决方案。此外,我们还将讨论Node.js生态系统中的重要工具和库,如Express.js、Koa.js等,它们如何帮助开发者快速搭建和部署应用。通过本文的探讨,读者将获得对Node.js在后端开发中应用的深入理解,以及如何有效利用这一技术来提升开发效率
|
2月前
|
自然语言处理 安全 AndFix
区块链商城系统开发步骤指南/详细需求/源码功能/多语言/海外版
When developing a blockchain mall system, the following steps and requirements are usually required:
|
2月前
|
安全 中间件 测试技术
Web3.0区块链技术开发方案:mint铭文铭刻制度开发
Web3.0区块链技术开发方案:mint铭文铭刻制度开发
|
2月前
|
JavaScript iOS开发 MacOS
掌握NVM、NRM和NPM:Node.js开发的利器
掌握NVM、NRM和NPM:Node.js开发的利器
66 0
|
2月前
|
资源调度 JavaScript 开发工具
从npm慢如蜗牛到飞驰如光:nrm加速你的Node.js开发
从npm慢如蜗牛到飞驰如光:nrm加速你的Node.js开发
116 0
|
3月前
|
存储 开发框架 安全
区块链技术与智能合约开发:探索未来的数字世界
在数字化时代,区块链技术和智能合约已成为科技行业的热门话题。这项技术使得信息传输更加安全、透明和高效,同时也为各种应用场景提供了更多可能性。本文将介绍区块链技术和智能合约的基本概念,并讨论如何开发智能合约以及它们在不同领域的应用。
|
3月前
|
人工智能 供应链 安全
探索区块链技术与智能合约开发的边界
区块链技术和智能合约开发已经成为当代科技领域的热点话题。本文将从技术角度深入探讨区块链技术的原理、应用场景以及智能合约的开发过程,并探索其潜在边界和未来发展趋势。
|
3月前
|
安全 数据挖掘 区块链
区块链商城源码搭建开发技术方案丨成熟讲解
区块链积分商城系统开发技术丨成熟方案
103 0