区块链DPoS介绍(基于Bitshares)

原文地址: http://docs.bitshares.org/bitshares/dpos.html

概括

    DPoS是加密货币网络的一种新的安全机制.
    DPoS试图解决比特币系统PoW机制以及Peercoin和NXT数字货币系统的PoS机制导致的一些问题.
    DPoS从技术层面实现了民主决策来抵消中心化系统带来的负面效应

背景

    DPoS利用见证人(正式名称: 代理者)机制缓解了中心化系统带来的负面效应. 每一个在网络上请求事务处理的用户使用去中心化的推选流程选出总共N个代理者来负责生成区块. DPoS利用了全网络事务参与者的信任, 相对于其他一些系统, 它更充分的利用民主决策机制. DPoS并没有完全消除对信任的需要, 它使用恰当的安全机制保证了网络上经过签署的可信任区块准确无误, 并且, 每一个签署的区块必须要确认上一个区块是可信的. 在DPoS机制中, 未确认事务不需要等待一定数量的非可信节点来验证, 减少的事务确认需求加快了事务的处理速度. 通过民主推选委派全网络最受信任那些节点负责生成签署区块, 从而避免了一些不好的节点降低区块产生的速度. 一个DPoS系统的区块的比PoW或PoS系统的区块能容纳更多的事务数量. 使用DPoS机制, 加密货币的交易可以在某种方面媲美中心化的票据交易中心, 比如Visa和Mastercard, 他们管理着当今世界最流行的电子支付系统.
    DPoS也包含某些中心化机制, 但这是受控的. 一些加密货币网络倾向于信任掌握更多资源的节点(如PoW导致信任倾向算力资源多的节点, PoS导致信任倾向权益资源多的节点), 而DPoS中的每一个网络节点都有能力选择被信任的节点. DPoS允许网络在获取中心化机制的主要好处的同时, 也保持着相应程度的去中心化机制. DPoS系统中强制执行的公平推选流程让每一个人都可以成为代表其他大多数的代理者.

基本原理

    1) 提供权益所有者(即区块链参与者)推选代理人的方法
    2) 最大化权益所有者的利益
    3) 最小化网络的安全成本
    4) 最大化网络的性能
    5) 最小化网络运行的成本(如带宽, CPU使用)

   权益所有者拥有控制权

    DPoS的本质特点是权益所有者都有控制权, 正因为如此, 才能实现去中心化. 投票可能是有缺陷的, 除非能够真正的让所有权益所有者分享公司的所有权, 这是保证去中心化的唯一切实可行的方法. 如果你不喜欢公司的管理者, 你可以出售权益(导致价格下跌)从而可以使其他权益所有者重新考虑选举代理人, 这比普通公众的选举更加理性.
    每个权益所有者选举一些人(也是权益所有者)代理他们签署区块, 每个获取投票达到或超过1%的权益所有者可以加入这个代理者的圈子, 也就是成为"董事会"成员, 这些代理使用轮训签署区块的方式. 如果某个代理者错过了一次签署, 那么他将会自动的被除名代理者身份, 然后新的代理者被选入"董事会". 代理者获取代币作为他们竞选和工作的报酬, 同时所有的代理者还必须缴纳单个区块的的平均报酬的100倍作为保证金. 为了保证收益, 代理者需要99%的时间在线.

   矿池(代理PoW)

    那么, DPoS和比特币的矿池机制有什么差别呢? 在比特币, 每个矿池通常都有超过10%的HASH算力, 因此个人用户必须选择一个矿池(挖矿才可能有收益), 矿池的控制者就像是矿池中用户选出的代理者一样. 比特币鼓励个人用户经常切换不同矿池来防止出现过度的算力中心化, 但是5个最大的矿池控制了比特币网络的算力. 另一方面, 当矿池出现问题时用户需要手动切换矿池, 如果矿池关闭了又会导致比特币网络的算力大幅下降. 最终如何通过矿池挖矿变成了一种政治问题

   不随机选择代理人的原因

    -> 选择的代理人很有可能不在线
    -> 攻击者可能被选上.
    -> 不使用挖矿机制, 去中心化的系统是无法产生随机数, 并且攻击者可能会控制随机数的产生.

可伸缩性

    假设一个事务的确认成本和手续费都是固定的, 这两个成本限制了去中心化系统的事务吞吐量. 假设一个事务的确认成本等于手续费, 那么这种网络就是完全中心化的系统, 只需要一个确认者. 如果事务手续费成本于100个事务确认成本, 那么这个网络可以支持100个确认者.
    类似于NXT和Peercoin的(PoS)系统往往会产生较高的事务手续费, 因为这些系统让所有的参与者确认事务来赚取一定的手续费. PoS网络上的持有1%股份的用户将无法从事务确认中赚取手续费, 除非他们的事务手续费高于DPoS系统. 如果这些系统认为100个代理者过于集中, 需要选出1000个确认者, 那么他们费用将10倍于DPoS系统. 如果这些系统发展到比特币网络的级别(百亿币值)那么只有拥有百万币值(1000个确认者)得用户才能从确认中赚取手续费, 这一定会被认为是一个精英俱乐部, 如果这些系统想让拥有1000币值的用户也能赚取手续费, 那么这系统的事务手续费将1,000倍(1M/1k)于DPoS系统
    DPoS的开发者假定很多不能赚取费用的用户不会参与事务, 这种假定从经济学角度讲是合理的. 很清楚的事情是那些使用PoS系统的区块链用户数量将维持在一个比较低的水平, 除非他们收取高昂的事务手续费用(但这反过来又会限制用户的加入)
    综上所述, 唯一让PoS系统有效率的运行只能使用代理的方式. 比如对于NXT链, 他们可以通过某些方法形成一个矿池, 而最终这看起来和DPoS选举代理人之前的状态一样. 矿池中的代理不会收到任何回报因为事务验证成本消耗了大部分手续费用.
    最后的结论就是去中心化系统有一个永远存在的事务确认成本, 当系统规模扩大后, 不支持代理者模式的机制会使系统产生中心化倾向. 这种中心化的倾向不能置之不理让其随意发展, 应该在系统设计之初就应该考虑如何管理和控制.

代理者的职责

    1) 收集P2P网络上的事务
    2) 对收集的事务打包形成区块, 并使用数字签名签署生成的区块
    3) 对全网络广播新的区块

怎么成为代理者

    http://docs.bitshares.org/bitshares/tutorials/witness-create.html

选举算法

    1) 权益所有者可以投票多个代理者候选
    2) 只有赞成票, 没有否决票
    3) 每个维护周期(maintenance interval)进行一次新的投票

抵御攻击

    1) 如果代理者拒绝签署区块, 那么将失去代理者资格和收益(防御DDoS)
    2) 区块需要所有的代理者验证 (防御BTF问题)

多少个代理者能保护网络的安全

    取决于网络中总的用户数, 最少需要11个代理者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值