CPChain荣誉节点计划(RNode)

640?wx_fmt=png 点击上方 “蓝色字” 可关注我们!







640?wx_fmt=jpeg

编辑: 铅笔盒

区块链的本质是通过分布式记账,抹除中心节点,实现数字化资产的公平分配。在CPChain建立的生态系统里,节点都可参与,收益与信誉度值成正比。具体流程和运作方式如图:

640?wx_fmt=jpeg

1. CPChain生态节点类型

1)行业节点:CPChain生态系统中重要的物联网行业合作伙伴和开发团队。

2)计算与存储节点:拥有基础的软硬件和网络配置(如计算、存储、安全和网络性能配置),支持COTP (CPChain Open Transfer Protocol)的用户;

3)经济节点:至少2万个CPC的持有者。成为经济节点,并锁定2万个以上CPC,即可与荣誉节点分享基础奖励。锁定期为90天。


2. 荣誉节点准入条件

节点满足以下条件后,可成为荣誉节点。

1)经济节点 + 计算与存储节点

经济节点需锁定相应额度和时长的CPC(最少20万个,最多500万个CPC,锁定期为90天),并配置基础的软硬件与网络条件,才能申请成为荣誉节点。缴纳的保证金金额与节点基础奖励正相关,保证金在节点退出选举后返还至用户原账户。

2)行业节点 + 计算与存储节点

经CPChain认定的行业节点具备基础的软硬件与网络条件后,自动成为荣誉节点。

荣誉节点权益:有权参与委员会选举,被选为委员会的荣誉节点可获得区块生成奖励。


3. 荣誉节点DPoR共识

3.1 共识整体架构

CPChain采用上海交通大学分布式智能系统实验室自主研发的DPoR (Dynamic Proof of Reputation)协议,将整个区块链系统分为三层(见图1)。普通节点通过准入考核后,即可成为荣誉节点。系统设计了特定的选举算法,从荣誉节点中(第二层)选举出部分节点组成动态委员会(第三层),负责区块链的维护。第三层主要解决了委员会内部对区块的添加、验证、广播和上链的共识问题。总体而言,DPoR可应对大规模网络的共识问题的三个子问题,分别为节点信誉度评估、节点选举、委员会内部拜占庭容错(Byzantine Fault Tolerance, BFT)共识。

640?wx_fmt=jpeg

图1 DPoR共识结构框图

3.2 节点信誉度评估

DPoR使用从区块链中提取的数据,构建节点的信誉度评估模型,从而计算和评估系统中节点的信誉度值。评估模型有五部分:账户余额,交易,代理人信誉奖励,数据贡献,区块链维护。每部分的权重可能在一定范围内根据市场情况做出微调。

账户余额:节点账户中的CPC余额与节点信誉度的评估正相关,占总权重的40%~50%;

交易:这里的“交易”定义为在系统中节点利用通证换取数据产品的交易,占总权重的15%~20%;

代理人信誉奖励:节点在网络中作为代理(proxy)协助其他节点完成交易,会获得信誉度奖励,占总权重的10%~15%;

数据贡献:节点在网络上传数据的行为会得到信誉度奖励,分为基础信誉度奖励和附加信誉度奖励。节点上传文件时,获得基础奖励;若这些文件产生交易,则获得附加奖励。数据贡献奖励占总权重的15%~20%;

区块链维护:每一轮区块添加成功后,每个委员会成员会得到相应的信誉度奖励,占总权重的10%~15%。

评估模型特性描述:

DPoR的设计基于三个层面,分别是节点对系统生态的价值投资、流量贡献以及链的维护管理,避免了传统仅基于通证持有量或运算能力导致的中心化和权益集中等风险。至于节点对系统生态的贡献,DPoR考虑采用更综合的评价指标,增强系统生态的公平性和多元化,以构建具备可持续性的去中心化网络环境。此外,信誉度值的计算所需的数据完全来源于区块链,具有不可篡改和可追溯性,基于该模型特性得到的选举结果具有可验证性。

3.3 委员会选举

每次选举选出30~35个荣誉节点组成委员会,委员会需要维护既有的区块链,同时添加、广播及验证新的区块,获得相应的通证奖励。DPoR根据荣誉节点的信誉度值以及随机数种子(系统自动生成的用于选举的随机数)来选举,选举算法公开,任何节点本地可自动执行选举算法,使选举结果可验证,进而保证了整个选举过程的可靠性。选举结果有一定的随机性,节点被选中的概率与节点的信誉度值成正比。

特性分析:

DPoR选举过程基于节点信誉度值及随机数种子,所有候选节点均有机会被选中,且选举结果无法被任何节点提前预测,保证了整个选举过程的公平性和安全性。选举过程完全匿名,节点无需在网络中披露个人信息,保证了用户隐私安全。

3.4 委员会内部LBFT算法

DPoR通过设计轻量级拜占庭容错算法(LBFT, Lightweight Byzantine Fault Tolerance)实现委员会内部的快速共识。算法包括两个阶段(见图2),分别为区块发布、验签(委员会节点收到新区块后,会对区块进行验证以及签名)收集阶段。目前可实现委员会内部最多1/3节点恶意行为或宕机的容错,主网上线后可实现优化的监督和备选机制,最终预计可以容错委员会内部最多1/2节点的宕机行为,以及少于1/2委员会节点的恶意行为。此外,LBFT设计了针对极端情况下的容错机制,即大部分委员会成员宕机或者勾结,加强了系统的稳定性和鲁棒性。

640?wx_fmt=jpeg

图2 轻量级拜占庭容错算法(LBFT)


4. 节点奖励分配

CPChain生态的构建需要大量的物联网企业、开发团队和用户参与,不是一蹴而就的过程。因此,CPChain分为两个阶段来规划生态激励与运营计划。第一阶段由CPC激励主导,主要通过CPChain基金会持有的运营基金来构建生态和运营维护区块链;第二阶段由市场交易主导,随着CPChain生态系统建设的完善和数据共享交易量的增加,荣誉节点的奖励主要来自智能合约和交易转账的费用。

CPC激励主导阶段,节点的通证奖励包括基础奖励与区块生成奖励:

1. 基础奖励:预计每年发放500万个CPC注入奖金池(每季度约125万个CPC,每日约1.37万个CPC),荣誉节点和经济节点根据锁定的保证金占总保证金的比例获得对应的CPC奖励。

2. 区块生成奖励:入选委员会的荣誉节点可获得额外区块奖励,每个区块中的CPC奖励数额固定,每经过1年(约出块300万个),区块奖励减少1/4,预计约5年时间发放完。第一年发放约4000万个CPC,第二年约3000万个CPC,第三年约2250万个CPC,第四年约1700万个CPC,第五年约1275万个CPC。


*注:本文中的数据可能会随着时间发生改变,CPChain享有唯一官方解释权。

本文仅代表作者个人观点,不代表区块链铅笔的立场,不构成投资建议,内容仅供参考。

3分钟了解什么是区块链?(中文动画)|(英文动画教程

3分钟了解什么是DAO?(中文动画)|(英文动画教程)

3分钟看懂以太坊和智能合约?(中文动画)|(英语动画教程)

3分钟了解比特币挖矿和区块链共识机制?(中文动画)|(英文动画教程)

3分钟了解公有链和私有链(中文动画教程)|(英文动画教程)

3分钟了解区块链的六层模型(中文动画教程)|(英文动画教程)

什么是区块链英文版(动画教程)

肖风:区块链与另类资产配置

逐鹿区块链!详解三大巨头BAT区块链战略布局

麦肯锡报告:区块链对保险行业的影响

八张图表解读区块链的未来发展

震惊全球的The DAO黑客事件全程回顾

Circle获得包括IDG、百度、万向在内6000万美元融资

640?

关注本公众号后,进入公众号

回复关键词可以查阅资料,以下是部分关键词

回复 WEF ,查看《WEF:世界经济论坛认为区块链是互联网金融行业的未来报告》

回复 智能合约 ,查看《巴克莱银行报告》

回复 moody ,查看《穆迪120个区块链项目报告》

回复 SWIFT ,查看SWIFT《区块链对证券交易全流程产生的影响及潜力》报告

回复 论文11 ,查看论文《可扩展的去中心区块链》

回复 埃森哲2 ,查看埃森哲《区块链每年可以为投资银行节省120亿美元》报告

回复 联合国报告 ,查看联合国报告《数字货币和区块链技术在构建社会和可信金融之间扮演的角色》

回复 用户特性 ,查看普林斯顿大学首本比特币教科书初稿《比特币用户的特性(Characteristics of Bitcoin Users)》

回复 普林斯顿 ,查看普林斯顿大学首本比特币教科书初稿《比特币和数字货币技术(Bitcoin and Cryptocurrency Technologies)》

回复 IMF,查看国际货币基金组织报告《Virtual Currencies and Beyond: Initial Considerations》

回复 DTCC ,查看美国存管信托清算公司报告《DTCC: 拥抱分布式》

回复 广发 ,查看报告《科技前沿报告:区块链:正快速走进公众和政策视野》

回复 川财1 ,查看报告《川财证券:区块链技术调研报告之一:具有颠覆所有行业的可能性》

回复 川财2 ,查看报告《川财证券:区块链技术调研报告之二:区块链技术进化论-区块链技术的国内实践和展望》

回复 桑坦德 ,查看桑坦德银行报告《The Fintech 2.0 Paper: rebooting financial services》

回复 拜占庭 ,查看《拜占庭将军问题详解》

回复 论文1 ,查看论文《比特币闪电网络:可扩展的离线即时支付》

回复 论文2 ,查看论文《比特币骨干协议》

回复 论文3 ,查看论文《数字货币是否应该进入Barbados央行国际储备货币组合中》

回复 帮助 ,查看本公众号全部关键词列表

640?wx_fmt=png

点击下方“阅读原文”查看更多页面出现后再点击“来源”可以查看译文原文链接  ↓↓↓
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
#include <stdio.h> #include <string.h> #include <stdlib.h> #define N 100 typedef struct { char data; unsigned int weight; unsigned int parent,lchild, rchild; }HTNode; typedef struct { char cd[N]; int start;} HCode; // 创建Huffman树 void createHT(HTNode ht[], int n) { int i, k, lnode, rnode; double min1, min2; for (i = 0; i < 2 * n - 1; i++) ht[i].parent = ht[i].lchild = ht[i].rchild = -1; for (i = n; i <= 2 * n - 2; i++) { min1 = min2 = 32767; lnode = rnode = -1; for (k = 0; k <= i - 1; k++) { if (ht[k].parent == -1) { if (ht[k].weight < min1) { min2 = min1; rnode = lnode; min1 = ht[k].weight; lnode = k; } else if (ht[k].weight < min2) { min2 = ht[k].weight; rnode = k; } } } ht[i].weight = ht[lnode].weight + ht[rnode].weight; ht[i].lchild = lnode; ht[i].rchild = rnode; ht[lnode].parent = i; ht[rnode].parent = i; }} // 生成编码 void CreateHCode(HTNode ht[], HCode hcd[], int n) { int i, f, c; HCode hc; for (i = 0; i < n; i++) { hc.start = n; c = i; f = ht[i].parent; while (f != -1) { if (ht[f].lchild == c) hc.cd[hc.start--] = '0'; else hc.cd[hc.start--] = '1'; c = f; f = ht[f].parent; } hc.start++; hcd[i] = hc; }} int main() { char str[N] = "\0"; int x; printf("请输入字符串:"); gets(str); int n = strlen(str); HTNode ht[N]; for (int i = 0; i < n; i++) { ht[i].data = str[i]; printf("请输入第%d个结点权重:", i + 1); scanf("%d", &x); ht[i].weight = x; } HCode hcd[N]; createHT(ht, n); CreateHCode(ht, hcd, n); for (int j = 0; j < n; j++) { printf("%s", hcd[j].cd); } return 0; }改正错误
最新发布
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值