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

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
61 1
|
1月前
|
Web App开发 JavaScript 前端开发
Node.js开发
Node.js开发
56 13
|
2月前
|
存储 JavaScript 前端开发
深入浅出Node.js后端开发
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将以Node.js为例,深入探讨其背后的哲学思想、核心特性以及在实际项目中的应用,旨在为读者揭示Node.js如何优雅地处理高并发请求,并通过实践案例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
2月前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。
|
2月前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
在这篇文章中,我们将一起探索Node.js的奇妙世界。无论你是刚接触后端开发的新手,还是希望深化理解的老手,这篇文章都适合你。我们将从基础概念开始,逐步深入到实际应用,最后通过一个代码示例来巩固所学知识。让我们一起开启这段旅程吧!
|
1月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带领读者从零基础开始,一步步深入到Node.js后端开发的精髓。我们将通过通俗易懂的语言和实际代码示例,探索Node.js的强大功能及其在现代Web开发中的应用。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的见解和技巧,让你的后端开发技能更上一层楼。
|
2月前
|
JavaScript 前端开发 API
深入理解Node.js事件循环及其在后端开发中的应用
本文旨在揭示Node.js的核心特性之一——事件循环,并探讨其对后端开发实践的深远影响。通过剖析事件循环的工作原理和关键组件,我们不仅能够更好地理解Node.js的非阻塞I/O模型,还能学会如何优化我们的后端应用以提高性能和响应能力。文章将结合实例分析事件循环在处理大量并发请求时的优势,以及如何避免常见的编程陷阱,从而为读者提供从理论到实践的全面指导。
|
2月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
本文将带你走进Node.js的世界,从基础到进阶,逐步解析Node.js在后端开发中的应用。我们将通过实例来理解Node.js的异步特性、事件驱动模型以及如何利用它处理高并发请求。此外,文章还会介绍如何搭建一个基本的Node.js服务器,并探讨如何利用现代前端框架与Node.js进行交互,实现全栈式开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
45 4
|
2月前
|
Web App开发 JSON JavaScript
Node.js 中的中间件机制与 Express 应用
Node.js 中的中间件机制与 Express 应用
|
2月前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【10月更文挑战第40天】在这篇文章中,我们将一起探索Node.js的奥秘,从基础概念到实际应用,逐步揭示如何利用Node.js构建高效、可扩展的后端服务。通过实际案例分析,我们将了解Node.js在现代Web开发中的应用,以及如何克服常见的开发挑战。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧,帮助你在Node.js的道路上更进一步。
39 4