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

相关文章
|
14天前
|
供应链 安全 物联网
【专栏】区块链和智能合约的未来发展潜力巨大,期待更多创新应用
【4月更文挑战第27天】本文探讨了区块链技术与智能合约的边界及挑战。区块链,以其不可篡改和安全特性,广泛应用于金融、供应链和物联网等领域。智能合约作为区块链上的自动执行代码,实现无需第三方的可信交易。然而,技术上面临扩展性、性能和安全问题,法律与监管层面也需适应智能合约的自动执行特性及跨境法律协调。尽管挑战重重,区块链和智能合约的未来发展潜力巨大,期待更多创新应用。
|
1天前
|
测试技术 区块链
swap开发/区块链跨链技术系统开发规则
跨链技术通过验证源链状态和中继交易至目标链实现交互,关键组件是跨链桥,用于通证在不同链间的转移。桥通过智能合约锁定/销毁源链通证并在目标链解锁/铸造。简单的跨链桥仅适用于通证传输,而可编程通证桥支持更复杂交互,如交易中的交换、借贷等。任意数据消息传递协议则提供更通用功能,能构建跨链DApp,如跨链DEX、NFT和游戏。
|
10天前
|
JavaScript 前端开发 IDE
【TypeScript技术专栏】TypeScript与Node.js后端开发
【4月更文挑战第30天】TypeScript在Node.js后端开发中日益重要,作为JavaScript超集,它提供静态类型检查和面向对象编程,增强代码可靠性和维护性。集成TypeScript能带来类型安全、更好的IDE体验、易于维护的代码以及增强工具支持。通过安装TypeScript编译器、编写TypeScript文件、配置TSconfig,开发者可以在Node.js项目中利用其高级特性,提高代码质量和开发效率。实践案例显示,TypeScript能确保路由处理器的类型正确,降低错误率。随着社区发展,TypeScript成为提升Node.js开发体验的推荐选择。
|
15天前
|
JavaScript 前端开发 关系型数据库
node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染
node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染
24 1
|
15天前
|
JavaScript 前端开发 API
node+vue3+mysql前后分离开发范式——实现对数据库表的增删改查
node+vue3+mysql前后分离开发范式——实现对数据库表的增删改查
36 1
|
17天前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8引擎的JavaScript运行时,用于服务器端编程。以其事件驱动、非阻塞I/O模型著称,适用于高并发和实时应用。常见用途包括:构建Web服务器、实时应用(如聊天)、API服务、微服务、工具和命令行应用,以及搭配Electron开发桌面软件。
20 1
|
2月前
|
Web App开发 JavaScript 前端开发
js开发:请解释什么是Node.js,以及它的应用场景。
Node.js是基于V8的JavaScript运行时,用于服务器端编程。它的事件驱动、非阻塞I/O模型使其在高并发实时应用中表现出色,如Web服务器、实时聊天、API服务、微服务、工具和跨平台桌面应用(使用Electron)。适用于高性能和实时需求场景。
20 4
|
2月前
|
Web App开发 JavaScript 前端开发
深入浅出:Node.js 在后端开发中的应用与实践
【2月更文挑战第13天】本文旨在探讨Node.js这一流行的后端技术如何在现代Web开发中被应用以及它背后的核心优势。通过深入分析Node.js的非阻塞I/O模型、事件驱动机制和单线程特性,我们将揭示其在处理高并发场景下的高效性能。同时,结合实际开发案例,本文将展示如何利用Node.js构建高性能、可扩展的后端服务,以及在实际项目中遇到的挑战和解决方案。此外,我们还将讨论Node.js生态系统中的重要工具和库,如Express.js、Koa.js等,它们如何帮助开发者快速搭建和部署应用。通过本文的探讨,读者将获得对Node.js在后端开发中应用的深入理解,以及如何有效利用这一技术来提升开发效率
122 2
|
3月前
|
自然语言处理 安全 AndFix
区块链商城系统开发步骤指南/详细需求/源码功能/多语言/海外版
When developing a blockchain mall system, the following steps and requirements are usually required:
|
3月前
|
安全 中间件 测试技术
Web3.0区块链技术开发方案:mint铭文铭刻制度开发
Web3.0区块链技术开发方案:mint铭文铭刻制度开发