写在前面

官方原文即解析

Delegated Proof-of-Stake Consensus
———————————- 委托权益证明的共识一个强大而灵活的共识协议一个具有高鲁棒性,的灵活协议共识

一,残疾人组织的协议背景描述

委托权益证明(DPOS)是目前所有共识协议中最快,最有效,最分散,最灵活的共识模式。 DPOS利用利益相关方批准投票的权力以公平和民主的方式解决共识问题。 所有网络参数,从费用估算到块间隔和交易规模,都可以通过选定的代表进行调整。 块生产者的确定性选择允许平均仅需要1秒就能确认交易。 也许对我们来说,最重要的在于共识协议旨在保护所有参与者免受不必要的逻辑检查。因为这一块对于大部分共识协议来说,是最大的瓶颈。

我们回顾下对于任何一个共识协议,我们都应该考虑以下问题:
谁应该生成应用于数据库的下一个更新块?
下一个块应该何时产生?
该区块应包含哪些交易?
协议的变化如何应用?
竞争的交易历史应该如何解决?

对于任何一个共识协议,我们的目标是找到这些问题的答案,对于防范那些希望获得网络控制权的攻击者而言,确保我们的共识过程是强大的。 实际上,获得控制意味着获得单方面控制了审查交易的能力。因此我们希望这个共识协议的整个实现过程应该是强大的,即使攻击者利用不同计算机上数据库状态中的临时不一致性来进攻整个共识协议也应该是能够被防范的。


选举见证这个词是因为它是一个不受监管的法律上中立的词。 传统的合同通常有见证人(Witnesses)签名的地方。但是对于非常重要的合同,有时会使用公证人来进行公证。 见证人和公证人都不是合同的缔约方,但是他们在证明”整个合同是在指定时间由指定人签署而非其他人”起到非常重要的作用。 在比特股中,见证人通过将其包含在链的区块中来起到类似的验证签名和时间戳事务的作用。

在DPOS的共识协议下,利益相关方(Stakeholders又名股东)可以选择任意数量的见证人来生成区块。在这里,区块是指一组更新数据库状态的事务。 每个账户允许每个见证人拥有一张选票,这个过程称为被批准投票。 如果说通过总审批的前N名证人被选中,那么见证人数目(N)的定义必须至少有50%的投票,利益相关方才能认为整个投票过程是足够的去中心化的。 当利益相关者提出他们所希望的见证人数量时,他们也必须投不低于该数量的投票。 同时也不能说为了实现去中心化而投出比见证人数量更多的票。

每当见证者们生产一个区块时,他们都会为他们付出的服务进行费用的收取。 他们的费用高低由利益相关者通过他们选出的代表制定(稍后讨论)。 如果见证人没有生产出一个区块,那么他们就没有收入,同时还有可能在未来被投票出局失去见证人身份。

每次经过一个维护间隔时间(目前为一天)活动证人的名单会更新一次,同时当选票会被记录。 然后将所有见证人轮换进行所谓的洗牌过程,并且每个见证人轮流在每2秒的一个固定时间内产生一个区块。 在所有见证人轮流直至洗牌结束,见证人再次进行洗牌过程。 如果在一次洗牌过程中,证人没有在他们的时间段中产生一个块,那么该时间段(2秒)后将见证人会被跳过,下一个证人产生下一个块。如此循环。

在整个过程中,任何人都可以通过观察见证人的参与率来监测网络健康状况。 历史上,比特股一直保持了99%的见证参与。 如果在某个时候见证人的参与程度都低于一定水平,那么整个区块链交易网络用户可以被允许用更多时间进行交易确认,而且还会提醒用户需要对他们的网络状况保持高度警惕。 该特性为BitShares提供了独特的优势,可以在出现问题后的1分钟内提醒用户区块链网络上可能存在潜在的问题。


这些能够进行参数修正的选定代表们(Elected Delegates)其选举方式的产生类似于证人的方式。 代表成为特权帐户的共同签名者,该特权帐户有权提出对网络参数的调整。 这个特权账户通常被称为创始账户。 这些参数包括交易费用,区块大小,见证人服务费用和区块生产的间隔时间等等。 在大多数代表批准了提议的变更后,利益相关方被授予2周的审查期,在此期间他们可以为代表投票是否同意或者取消提议的变更。

这种设计的选择是为了确保在技术上代表们没有直接的权力,并且网络参数的所有变更最终都需要得到利益相关方的批准。 这样做是为了保护代表不受可能适用于加密货币自身的管理员或者项目方的影响。 在DPOS下,我们可以确切地说,行政权力掌握在用户手中,而不是单方面的代表或见证人。

代表与见证人不同的是代表是一个公益身份,并不会有酬劳。 当然,一般来说,对整个区块链网络这些参数的调整是非常非常少的,毕竟涉及到整个网络。生成帐户可以在技术上执行任何其他帐户可以执行的任何操作,这意味着可以将资金发送到创建帐户或指定创建帐户作为托管代理。 起源账户也可以用来发行新资产。 当选代表可以帮助利益相关者执行需要高度信任和责任感的任务时,有大量的应用程序。

四,关于分叉

有时需要升级网络以添加新功能。 在DPOS的共识机制下,所有变更必须由积极的利益相关方批准才能触发。 虽然技术上见证人可以单方面串通和改变他们的软件,但这样做并不符合他们的利益。 基于见证人自己在对区块链政策保持中立的承诺才能被选举上,因此见证人一般会通过保持重力来免受区块链网络管理员/经理/业主/经营者的指控,毕竟见证人也是他们的雇员。

只要利益相关方批准,开发人员可以实施他们认为合适的任何更改。这项政策不仅可以保护开发者,同时它还可以保护利益相关者,并确保没有任何人单方面控制区块链网络或让区块链网络失控。

硬分叉是如同替换了51%的见证者,因此利益相关者参与的越多,其对应的选举证人越多,那么整个系统的安全性就越高。

当然最终能够进行硬分叉,其实最终取决于网络上的每个愿意升级他们的系统的用户。并且不存在一个能够强制硬分叉的区块链协议。这意味着如果大部分用户愿意进行系统升级,那么就可以在没有需要利益相关方投票的情况下推出硬分叉来进行“错误修复”的操作。

实际上,很少通过直接大部分用户直接升级软件的方式进行硬分叉。一般来说,无论多小的内容升级,开发者和证人都应该遵循流程,等待利益相关者批准之后再进行分叉操作。

五,双花问题
----![这里写图片描述](https://img-blog.csdn.net/20180422234847990?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xzdHRveQ==/font/5a6L5L2T/fontsize/400/fill / I0JBQkFCMA == / dissolve / 70)在任何一个包含“前序交易”的区块链上都会发生双花问题,而使用DPOS共识机制下,该问题通过自身系统区块链重组来排除此类问题,因此这意味着即使见证人会因互联网基础设施的中断而导致通信故障,但通信故障导致双花的攻击行为可能性会非常低。同时该网络会在在发生故障导致见证人未能按计划生产区块的同时,能够监测自己的健康状况,并可以立即检测到通信中出现的任何损失。如果发生这种情况时,用户可能需要等到一半以上的证人确认交易后才能继续进行下一个交易,这个过程可能会长达一到两分钟。

六,交易权益证明机制

网络上的每个事务可以可选地(可选)包含最近块的散列哈希。如果这样选择触发此项机制,那么交易的签署人可以在任何一个包含该交易的区块链中确信他们的交易。但这一过程的副作用是随着时间的推移,所有利益相关者需要验证整个历史的交易信息。

七,区块链重组

八,最大限度的去中心化

在DPOS共识机制下,每个利益相关者的影响力与其利益成正比,没有任何的利益相关者(用户)会被排除在行使这种影响力之外。但是市场上的其他共识系统几乎都存在这种情况。以下有很多种来排除了据大多数利益相关者(用户)影响力的方式。其中一些方式是通过设计邀请制的机制来减少大多数利益相关者(用户)的系统控制参与度。其他则是通过让参与费用高于他们的收入费用来排除其(用户)参与。还有一种是通过技术上允许每个利益相关者(用户)参与,但是他们却可以被产生绝大多数块的一些大型玩家(庄)轻易地(安全)忽略其影响力。而只有DPOS确保块生产的区块平均分配给整个系统的大多数人,并且每个人都有一种经济可行的方式来影响这些人。

九,乐扣老师的小结
----对于BM提出的DPOS,无论是用在BTS还是在EOS。其整个共识机制乃至区块链系统的设计充分体现出了BM本人的世界观。他的天才不仅仅体现在出块的逻辑性,区块链系统重组的健壮性,见证人和代理人机制设计的灵动性和尽最大可能的去中心化机制设计和顾及任何一方利益相关者(用户)的公正性,更是在整个以区块构建的世界中让他的个人哲学理念充分的表达了出来。最近EOS超级节点竞选很火,EOS宪法草案也逐渐推出。希望BM能够坚持下去他那份最初的愿景,更希望对于全世界竞选超级节点的团队,能够完全消化这个白皮书,读懂残疾人组织共识中描绘的愿景,能够将其在现实生活中实践出来,并完善他,造福整个区块链社会。

结束语

觉得好的朋友可以给我大赏一杯咖啡,获得作者的友谊!原创不易:)
方式一:

方式二:
以太坊地址

[区块链]DPoS(委托权益证明机制)官方共识机制详解——BTS、EOS相关推荐

  1. 共识协议(5)DPOS委托权益证明

    1. DPOS委托权益证明(Delegated Proof of Stake) 由被社区选举的可信账户(超级节点,比如得票数前101位可以成为)来创建区块 可以随时通过投票更换超级节点(矿池) 2. ...

  2. 区块链100讲:SSL协议之数据加密过程详解

    2019独角兽企业重金招聘Python工程师标准>>> 本讲详细讲述了SSL协议中的数据加密的过程,数字证书.对称加密.非对称加密和SSL握手过程等概念. 1 SSL 只要你听过HT ...

  3. 探秘区块链技术在计算机取证过程中的机制与应用

    本文讨论区块链技术在计算机取证过程中扮演什么角色以及发挥的作用,同时,以实际案例论述其发挥作用的机制与原理. 摘要:本文讨论区块链技术在计算机取证过程中扮演什么角色以及发挥的作用,同时,以实际案例论述 ...

  4. 区块链去中心化的生命之源:“DPOS(委托权益证明)共识机制”

    区块链去中心化的生命之源:"DPOS(委托权益证明)共识机制" 原创2018-04-24[水伯]战略忽悠局政委水伯 移动网络时代唯一壁垒就是认知,周二有约给思想洗澡让认知破壁! D ...

  5. 区块链共识机制:权益证明POS和委托权益证明DPOS

    详情参见个人博客: http://brainware360.cn/%E5%8C%BA%E5%9D%97%E9%93%BE%E5%85%B1%E8%AF%86%E6%9C%BA%E5%88%B6%E4% ...

  6. 区块链基本原理,Part-3:委托权益证明

    区块链基本原理系列: Part-1:拜占庭容错 Part-2:工作量证明和权益证明 一段时间以前,我们讨论了共识机制的工作方式(即本系列 Part-1)并了解了工作量证明(PoW)和权益证明(PoS) ...

  7. 【笔记】区块链的系统架构、数据结构及运行机制

    文章目录 一.区块链的系统框架 1.区块链的系统架构与运行 2.数据层.网络层与共识层 3.激励层.合约层与应用层 二.区块的概念和识别 1.区块与区块头 2.区块的识别 三.创世区块与区块的连接 1 ...

  8. 【BlockChain】go实现区块链2:工作量证明

    [BlockChain]go实现区块链2:工作量证明 引言 上一篇中,我们构造了一个非常简单的数据结构 – 区块,它也是整个区块链数据库的核心.目前所完成的区块链原型,已经可以通过链式关系把区块相互关 ...

  9. 什么是权益证明租赁LPOS共识算法

    什么是权益证明租赁LPOS共识算法 区块链 Waves网络采用权益证明租赁(LPOS)共识算法,该算法与Waves-NG协议相结合,可实现网络的高度可扩展性和事务吞吐量. 介绍 Waves网络于201 ...

最新文章

  1. [转] GMT、UTC与24时区 等时间概念
  2. mysql 审核引擎 goInception 的基本使用
  3. System类的几个常用方法
  4. cin.get()和cin.getline()之间的区别
  5. MySql 数据库 - 安装时提示缺失VCRUNTIME140_1.dll文件导致的无法启动此程序解决方法,vc++2015-2019运行库集合包获取
  6. wpf调用其他项目界面_WPF开发Prism框架实现一个简单播放器
  7. 栈与队列之用java实现队列
  8. 挖掘建模-关联规则-Apriori算法
  9. R+Hadoop大数据方案有哪些坑?
  10. snipaste安装和使用_snipaste替代品 amp; linux截图解决方案-截图、贴图工具Flameshot...
  11. PHP学习笔记【1】--初识php
  12. fisco bcos应用开发(一) springboot报错 Error reading resource
  13. 【Red5流媒体服务器搭建】
  14. 安卓手机有坏点测试软件,手机屏幕坏点怎么检测
  15. 2021中职网络空间安全国赛隐藏信息探索解析做题详解
  16. 一个low逼的boofuzz脚本生成器
  17. android手机 清除DNS缓存命令
  18. 使用Xmanger/Xbrowser 远程桌面Ubuntu 12.04 LTS
  19. 论文格式之编辑页眉页码
  20. 推荐几款机顶盒用的芯片

热门文章

  1. OWASP十大漏洞之一
  2. 大数据开发超高频面试题!大厂面试必看!包含Hadoop、zookeeper、Hive、flume、kafka、Hbase、flink、spark、数仓等
  3. 自己开发iOS版按键精灵--TTouch
  4. window引导配置bcdedit
  5. 近岸蛋白递交注册:年营收3.4亿 朱化星控制71.24%表决权
  6. 从猎豹移动到瑞幸咖啡,看中国企业在海外的信誉破产
  7. 通过商品ID和区域ID及cookie插件获取商品快递费用接口,1688快递物流费用接口,1688商品物流费用API接口获取方案
  8. 浅谈服务器选择固态硬盘的几个优缺点
  9. html5画布正五角星,canvas 正五角星如何画
  10. 【YbtOJ 线段树 - 2】公园遛狗