区块链核心DPoS共识算法详解
在DPoS共识算法中,选举的根本目的,是通过每个人的投票选举出社区里对项目发展和运行最有利的101个用户;这101个用户的服务器节点既可以高效维护系统的运转,而他们也会贡献自己的能力促进区块链项目的发展,这有点类似于我国的‘人民代表’制度(但是周期更短、效率更高);通过这种方式,既达到了去中心化的选举共识,又保证了整个系统的运行效率和减少能源浪费;区块链的正常运转依赖于见证人机制(witness),这些见证人是完全等价的;见证人的职责主要有:
1、提供一台服务器节点,保证节点的正常运行;
2、节点服务器收集网络里的交易;
3、节点验证交易,把交易打包到区块;
4、 节点广播区块,其他节点验证后把区块添加到自己的数据库;
5、带领并促进区块链项目的发展;
见证人的节点服务器相当于比特币网络里的矿机,在完成本职工作的同时可以领取区块奖励和交易的手续费;任何一个持币用户都可以参与到投票和竞选见证人这两个过程中;用户可以随时投票、撤票,每个用户投票的权重和自己的持币量成正比;投票和撤票可以随时进行,在每一轮(round)选举结束后,得票率最高的101(一般为101,也可以是其他数字,具体由区块链项目方决定)个用户则成为该项目的见证人,负责打包区块、维持系统的运转并获得相应的奖励。
1、DPoS算法中使用见证人机制(witness)解决中心化问题
总共有N个见证人对区块进行签名,而这些见证人由使用区块链网络的主体投票产生;由于使用了去中心化的投票机制,DPoS相比其他的系统更加民主化;DPoS并没有完全去除对于信任的要求,代表整个网络对区块进行签名的被信任主体在保护机制下确保行为正确而没有偏见;另外,每个被签名的区块都有先前区块被可信任节点签名的证明;DPoS消除了交易需要等待一定数量区块被非信任节点验证的时间消耗。
通过减少确认的要求,DPoS算法大大提高了交易的速度;通过信任少量的诚信节点,可以去除区块签名过程中不必要的步骤;DPoS的区块可以比PoW或者PoW容纳更多的交易数量,从而使加密数字货币的交易速度接近像Visa和Mastercard这样的中心化清算系统;DPoS系统任然存在中心化,但是这种中心化是受到控制的,因为每个客户端都有能力决定哪些节点可以被信任;DPoS使得这样的区块链网络保留了一些中心化系统的关键优势,同时又能保证一定的去中心化;系统通过公平选举,使每个人都有可能成为代表绝大多数用户的委托人。
2、DPoS背后的理性逻辑
1)、使权益所有者能够通过投票决定记账人
2)、最大化权益所有者的红利
3)、最小化保证网络安全的消耗
4)、最大化网络的性能
5)、最小化运行网络的成本
3、权益所有者拥有控制权
DPoS的根本特性是权益所有者保留了控制权,从而使系统去中心化;就像投票机制也有缺陷一样,DPoS是管理公司共有产权的唯一可行方式;幸运的是,如果你不喜欢运营公司的人,你可以通过卖出权益离场;而这种反馈机制可以使权益所有者在投票时比普通公民更加理性;每个权益所有者通过投票决定区块的签名验证者,任何一个拥有超过1%投票的人都可以参与到董事会;所有的代表构成一个“董事会”,轮流签署区块;如果一个董事错过了签署区块的机会,客户会自动把投票给予其他人;最终,这些错过签署机会的董事会被取消资格,其他人就可以加入董事会;董事会成员会收到少量代币作为奖励,用来激励在线时间和参与竞选;每一个董事必须要将单个区块平均奖励的100倍作为保证金,从而确保其至少99%的在线时间。
4、委任工作量证明的矿池
在目前的比特币网络中,用户为了盈利需要选择参与一个矿池,而每一个矿池拥有超过10%的哈希算力;矿池的运营者就像矿工委任的代表;比特币希望用户在矿池间切换以避免过度中心化,但是前五个主要的矿池控制了整个网络,如果其中一个矿池出问题了就需要用户进行手动干预;如果一个矿池掉线,则区块的生产率将会等比例地下降。
5、不随机从所有用户中选择的原因
1)、普通用户大部分时间不在线;
2)、攻击者可以使用其权益控制网络,而不经过其他人的认可;
3)、由于没有挖矿,在去中心化网络中生成随机数变得不可能。
6、扩展性
假设每笔交易的确认成本和手续费都是固定的,那么实现去中心化的数量也是有限制的;假设验证成本与手续费相等,则整个网络是完全中心化的,并且只能支持一个验证节点;假设手续费是验证成本的100倍,则网络可以支持100个验证节点。
PoS需要大量的手续费来保证其合理运行,而委任机制是PoS高效工作的唯一方式;在PoS中可以使用权益池的方式,但是这又变成某种形式的DPoS;委任代表无法从矿池张获得实际的收益,因为验证的花费将吞噬绝大部分的交易手续费;去中心化的成本与验证节点的数量成正比,而这个成本无法消除;从规模化角度看,这种成本的存在将最终使系统中心化,而委任代表制是唯一的解决方案;这种中心化应该在系统建设的初期就设计好,以利于用户更好地控制,而不是通过被动演化为非预期的结果。
7、委任代表的角色
1)、见证人是允许生成和广播区块的权威;
2)、生成区块的过程包括收集P2P网络中的交易并使用见证人的私钥进行签名;
3)、见证人的位置由上一个区块的最后部分随机指定。
8、DPoS对于攻击的抑制
1)、如果某个见证人拒绝签署一个区块,那么他将被解职并失去未来的稳定收入预期;
2)、不诚实的委任代表只有在明确有其他利益诉求时才会选择放弃区块生成;
3)、见证人无法签署无效的交易,因为交易需要所有见证人都确认。
9、见证人的数量
见证人的数量有权益所有者确定,至少需要确保11个见证人。
应用联盟链(AAA Chain),用DPOS打造开放数据平台
应用联盟链(AAA
Chain)是一个独立的公有链,致力于利用区块链技术打造一个由海量垂直场景应用组成的、 去中心化的、完全自治的数据开放平台;AAA
Chain的愿景是成为全球最大用户规模和最大数据规模的公有链数据开放平台。
1、AAA Chain技术架构
1)AAA Chain共识机制
AAA Chain采用经典的DPoS 共识机制来决定区块的开采权,通过让每一个AAA
Token持有者进行投票,获得最多票数的101个代表进行交易打包计算;这101个超级节点彼此的权利是完全相等的;每名代表按既定时间表轮流产生区块;相比较Bitcoin的PoW,选择DPoS的好处是,通过不同的策略,不定时的选中一小群节点,这一群节点做新区块的创建,验证,签名和相互监督,这样就大幅度的减少了区块创建和确认所需要消耗的时间和算力成本,AAA
Chain设计的共识验证时间是秒级。
2)AAA Chain数字身份体系
AAA
Chain采用统一用户数字身份,平台为每个用户生成一套非对称加密的公钥和私钥,私钥只有用户个人能访问。用户个人数据经公钥签名写入,仅拥有私钥的人可以查看原始数据,私钥意味着数据的唯一控制权。
3)开放数据存储架构
数据由数据服务商安装的SDK经过签名后写入分布式存储,并根据索引规则建立索引,再将索引存入区块链,以供搜索查询。如下图:
4)用户钱包及数据管理器
每个用户设备内安装的SDK类似一个SPV轻钱包,由用户拥有的私钥绝对控制。不同于其他区块链资产SPV轻钱包,AAA
Chain用户既可以在此SDK内管理自己的token,也可以管理自己的原始数据。
数据交易流程:
数据购买方向数据开放平台发出购买请求(智能合约),请求的智能合约中带有自己的公钥,并用私钥签名。
平台DApp验证此用户为平台的认证用户,并且通过签名验证合约正确;
平台广播此购买请求? 相关数据提供方查询数据源,获得需要的数据;
如果涉及隐私数据,平台要获得用户授权,才能继续此交易;
数据提供方用购买方的公钥加密后,通过P2P网络发送数据给购买方;
数据购买方完成付款,智能合约交易完成
2、AAA Chain平台优势
1)App Owner接入数据开放平台
App Owner接入AAA Chain会获得AAA
Token做为奖励。在开放平台提供的数据越多,被使用的优质数据越多,获得的Token奖励就越多。
2)数据的定价,结算,手续费
为了公平交易,AAA Chain的数据开放平台采用透明定价的原则。每条数据定价对所有成员可见,交易按照定价交易。
开放平台中数据的定价和结算使用AAA Token。
? 交易过程中,开放平台对每笔订单收取一定的服务费,用AAA Token支付。
? 参与数据聚会等交易的节点会受到AAA Token做为奖励。
? 数据交易涉及的用户会收到AAA Token奖励。
3)数据分类和数据结构
数据交易的一个普遍难点是数据的结构化,AAA Chain数据开放平台采用统一的数据分类。对用户的数据分类主要是从人口属性,商业属性,App行为等维度划分。
人口属性:性别,年龄,地域,职业,婚姻状况,小孩等。
商业属性:消费等级,消费周期等。
App行为:浏览,搜索,下单,发表,点赞,客服投诉等。
4)数据安全保障
传统的中心化数据开放平台有数据沉淀问题,也有数据被盗用的隐患。AAA Chain数据开放平台采用非对称加密方式对数据进行加密,点对点的交易方式保证避免中心化平台沉淀数据以及窥探数据。
点对点交易:交易所会广播购买请求,撮合数据购买方和数据提供方的交易。交易过程是去中心化的,数据是直接从数据提供方点对点传送给数据购买方。
加密传输:用户数据的内容由数据提供方App进行加密存储,第三方无法读取。交易过程中,数据购买请求里包含购买方的公钥,数据提供方先对存储的加密数据进行解密变成明文,再用购买方的公钥进行加密,把加密后的数据做为智能合约的执行结果返回给购买方。数据购买方用自己的私钥对数据进行解密,最终获得数据。
5)用户的隐私保护
AAA Chain数据开放平台提供用户隐私保护机制,对每个数据购买请求,平台会判断此类数据是否属于用户的隐私数据,如果是隐私数据,则触发隐私保护机制向用户申请授权。只有经过授权的查询或购买请求,才会继续执行交易。
数据开放平台拥有一套用户隐私授信体系,允许用户对某些数据进行一次性授信,基于授信的数据交易,不用再每次单独申请用户授权,交易成功后用户会自动获得AAA Token做为奖励。
6)交易记录
开放平台将每天平台产生的交易记录汇总后形成交易块,并与之前的交易记录形成交易链。每个成员都可以对交易链进行下载和检索。因为区块链具有完整的,不可篡改的特性,交易双方可以据此进行交易申诉,由平台来处理。
7)数据质量反馈
数据购买方可以对数据质量提供反馈,从而促进平台数据质量的持续提升。平台会给反馈方和优质数据提供方AAA
Token奖励。用户可以自行更新个人数据,平台也会提供Token奖励。
3、AAA Chain应用场景
1)主要应用场景
AAA Chain数据开放平台提供了去中心化的、可信的、公平、合规且自治的数据开放平台。各行业客户可以利用这个平台进行交易,覆盖互联网主要变现场景。
2)应用场景示例 - 数字营销场景
在数字营销场景下,AAA项目将联盟全球海量的垂直场景应用,在APP联盟整合后的海量数据基础上,对全球移动互联网几十亿受众数据进行采集、清洗、整合、挖掘,构建第三方精准人群数据开放平台;同时,由几十万家APP组成的联盟本身就有广告变现需求,可嵌入广告SDK进行广告营销投放,几十万家APP作为媒体主将吸引大量的广告主和数据分析服务厂商加入AAA生态。同时,APP也可以在体系内采购广告流量,满足自身增长需求。项目上线,就有可能形成从数据供应方到数据消费方的完整体内循环生态。
3)应用场景示例 - AI模型交易场景
在AI模型交易场景下,AAA项目将围绕AI模型训练需要的NLP语料和行业知识的可信流通,建设由拥有一方数据的各类厂商,拥有通用chatbot技术的AI技术厂商、数据标注商、AI模型及知识图谱建设厂商及使用成品AI模型或知识图谱的最终厂商构成的完整生态体系;同时,困扰商业的训练产生的知识图谱的权属和利润分配问题,也在该场景下得到了很好的解决。
4)AAA Token的应用场景
AAAToken奖励:AAA总发行量为210亿个,且总量固定永不增发 ;AAA Token是指AAA Chain主链原生加密通证,初期的形式是以太坊公有链发行的ERC-20智能合约通证,后期将在AAA Chain主链上线后1:1兑换成AAA Chain原生加密通证;AAA Token主要应用于联盟数据交易结算和以及数据贡献者的奖励,主要有以下方式:
? 联盟成员以垂直场景数据供应商的身份接收AAA Chain,将通过智能合约自动获得AAA Token初始奖励。
? 其次,联盟成员数据供应商所提供的数据每被交易一次,都可以获得AAA Token的分成奖励;
? 数据需求方(广告商等)使用AAA Token进行数据交易支付;
? 垂直场景数据供应商在交易完成之后参与数据质量评估,会获得一定数量的
4、精准广告投放案例
1)参与方:汽车厂商A,广告公司B,数据提供方C,D,E场景:
? 某豪华汽车场商A有一款新车上市,要面向在一批某城市S居住的30-40岁的高收入男性做广告推广;
? 汽车厂商A委托广告公司B进行广告投放;
? 数据提供方C,D是App联盟数据交易所的客户:C有用户的位置数据,D有用户的年龄,性别和收入的数据标签;
? 需要进行多方数据聚会计算,来进行精准广告投放流程;
? 广告公司B经过平台认识,支付AAA Token,加入App联盟数据交易所;
? 广告公司B向交易所发起购买数据的请求(智能合约);
? 交易所向拥有此类数据的App客户广播此购买请求;
? App联盟C和D分别回复此请求到广告公司B,给出他们提供的数据类型,描述和价格;
? 广告公司B确认购买数据并付款,平台执行智能合约。
2)平台会选取一个计算节点,做数据聚合的计算
?从AppC获得在指定城市S的一批用户id,并支付费用给C;
?用这批id从AppD获得满足年龄,性别,收入条件的用户id数据集,并支付费用给D;
?计算节点删除临时数据,并获得AAA Token奖励;
?返回智能合约的计算结果:S市的30-40岁高收入男性的用户ID;
? 广告公司B通过广告sdk向这批用户投放广告;
? 广告公司B根据效果,可以对数据提供方进行评价,获得AAA Token奖励。
彩蛋:2018链圈最大看点V神与BM的双神争霸! 公众号:SFA-0002
2018年,币圈最大的看点就是EOS与ETH的双神对决争霸之战!V神所倡导的区块链社区治理更像是道家学派中的“无为之治”,而BM所倡导的社区治理则更像是儒家学派口中的“有所作为”;互联网的前身阿帕网,美国军方设计的目标之一就是可经受苏联的核打击下,大部分节点被摧毁的情况下,整个网络可以复原,这和比特币的设计目标是一样的;前日,Twitter 上出现了一个名为Satoshi Nakamoto(中本聪英文名)的用户,这位“中本聪”表示对比特币核心团队失去信心,并宣布将推出真正的比特币——BCX;最重要的是“中本聪”说BCX会把POW改成DPOS,那么DPOS到底是什么引来“中本聪”?区块链中没有绝对的“去中心化”,最早的部落经济就是点对点的,完全“去中心化”的;但它为什么落后?是因为网络过于稀疏,没有协同。正如美国的整套制度,不是大家洗脑统一思想,认为民主好、自由好、平等好,而是大家来博弈,其实民主、自由和平等这三样东西是矛盾的,平等就会限制自由,……民主肯定是会破坏平等。
-End-