存储服务的验证和恶意存储节点的发现及处理

用户 A 在存储任务完毕后,发起对上述 M 个节点所提供的存储服务的验证。用户 A 独立对每个节点存储后的内容进行基于 Merkele 树-摘要 HASH 的反向快速验证,如果不能响应成功,则说明该节点并未真实存储用户 A 的文件,用户 A 将该节点记录为恶意节点,并拒绝向该节点支付本次存储服务的 HDT。每个用户可独立保持自己的恶意存储节点名单。真正的恶意存储节点很快就会被合法用户独立发现并列入恶意节点名单,从而失去对存储链的长期危害性。上述存储机制使得恶意存储节点即使存在也对整个存储链影响有限。sskoowww.qkl91.com_.com51_thumb

文件存储

BTD 项目用户进行文件存储时,需要使用 HDT 对 BTD 项目进行驱动。 BTD 项目文件系统使用 BDFS 分布式文件系统作为底层文件系统5.8.1 典型存储过程 BTD 项目用户 A 存文件时,先将所需存储的文件进行分片和冗余加密,并形成文件分片的 Merkle 树,然后向存储链广播相应的分片存储请求消息,内容包含任务序号、文件分片大小、Hash 值,以及所需存储的副本数量、节点向下广播跳数、广播有效期和所支付的 HDT 等相关信息。智能合约核实用户 A 的 HDT 后将其所支付的 HDT 进行冻结,然后广播消息才能对外发送,以防止 HDT 不足的用户浪费存储资源行为的产生。用户 A 在 BTD 项目上的临近节点和路由节点收到该任务广播后,先校验用户 A 的 BTD 项目地址是否真实,以及合约任务所输入的 HDT 是否充足,校验任务真实性后,决定是否响应本次存储任务。如果该临近节点决定执行本任务,则将该信息的广播跳数减 1 后继续向自己的临近节点进行广播。如果临近节点决定不参与执行本任务,则不减广播跳数,直接向临近节点进行广播。节点依次类推进行消息广播,直到跳数减到 0 时截止广播。所有决定参与该任务的节点,都直接与用户 A 建立连接。此时用户 A 将根据响应存储文件的节点个数 N 和所需存储的份数 M,决定下一步操作:如果 N>=M,则智能合约根据节点的响应时间次序和节点存储服务质量加权,选择 M 个节点执行本次存储,由最终所确定和验证存储服务完成的 M 个节点共享用户 A 对本次存储服务所支付的 HDT。如果 N将根据 Hash 值判断已执行而选择忽略本次存储任务,不减广播跳数直接向临近节点广播。依次类推,直到用户 A 的存储任务被完整执行并验证后,同时用户 A 向最终的 M 个节点完全支付本次存储服务所对应的 HDT。无恶意节点情况时,典型存储任务一般在最多 2 次广播内完成。 BTD 项目创造性地使用 HDT 的成功交易作为信任度判断。某个存储服务用户的信任度与该用户地址为存储所花费的 HDT 总数正相关,而某个存储节点的信任度则与该存储节点地址因为提供存储服务而获得的 HDT 总数正相关。因此正常完成的存储任务,在将用户 A 用于存储服务所支付的 HDT 转移到存储节点的同时,既增加了用户 A 的信任度,也增加了存储节点的信任度。sskoowww.qkl91.com_.com50_thumb

BTD项目的具体实现

BTD 项目的每个用户账户实际上是一个 BTD 钱包地址。每个用户保存自己的私钥,并将公钥对应的算法保存至 BTD 项目。 BTD 项目的用户使用 HDT 对存储服务进行驱动。一方面,BTD 项目用户对文件的存储、读取、和分享等行为驱动整个 BTD 项目实现相关功能;另一方面,用户在存储和读取文件时需支付 HDT,从而来激励 BTD 项目上的存储服务节点和辅助验证节点的有序运行。 BTD 项目的具体技术实现,由文件存储、文件检索和读取等环节构成sskoowww.qkl91.com_.com5_thumb

BTD的价值

由于 HDT 总量会随时间和网络规模的快速增加而持续增长,其增长速度比 BTD 增长速度要快;而 BTD 总量有限且会因节点信用度质押违约销毁、智能合约执行销毁、回购销毁等各种场景使得 BTD 因销毁而数量减少;根据 BTD 的兑换智能合约,这意味着单位 BTD 所能对应的 HDT 数量会持续增加。因此,当 BTD 项目存储网络持续稳定运行和发展时,单位 BTD 所能对应的存储服务能力会持续增多,BTD 具有天然的内在价值增长属性。sskoowww.qkl91.com_.com49_thumb

智能合约和系统HDT池

如果将 BTD 项目看作一个虚拟经济体,则随着存储网络规模的持续运行以及执行存储任务, 其产出的 HDT 积分总和代表了虚拟经济体的总经济规模。另一方面,作为整个 BTD 项目价值承载体系的 BTD 而言,其产出的 BTD 代表了虚拟经济体的总交换价值。因此可以认为在任意时刻,当前已流通 BTD 总价值 = 所有已流通的 HDT 总价值+ BTD 流通性溢价。如果 BTD 流通性溢价>0,在任意时刻,可以认为: 1 BTD >= ( 系统当前流通 HDT 总量/系统当前流通 BTD 总量) * 1 HDT 。因此,BTD 项目通过链上智能合约赋予用户使用 BTD 兑换 HDT 的权利,但兑换用户只能将所兑换的 HDT 用于驱动存储服务。智能合约:1 BTD= ( 系统当前流通 HDT 总量/系统当前流通 BTD 总量) * 1 HDT 。智能合约通过合约形式进一步确定了 BTD 的内在价值和行权权利。 BTD 持有者可自行评估是否使用,以及何时使用该项权利。为保障该智能合约的执行, BTD 项目设立系统 HDT 池。每日系统新增 HDT 总量=全网节点新增 HDT+系统池新增 HDT。系统池新增 HDT = 全网节点新增 HDT* 系统池占比。系统池占比取值 5%- 20%。智能合约的执行:用户地址向智能合约地址打入 BTD,智能合约按照对应比例向用户地址打入 HDT。智能合约被执行后,相当于对应的 BTD 已完成了行权,这一部分 BTD 将永久锁定在系统池智能合约地址被销毁,不再参与流通。除用于保障 BTD 智能合约执行,HDT 池还用于支持基于 BTD 存储链的 dApp 业务。在计算节点 HDT 对全网的贡献比例时,系统 HDT 池余额不参与计算。当系统 HDT 池出现不足时,智能合约会延期执行,并会调整 BTD 产出算法中的当日存力占比、历史存力占比、未来发展占比等参数,并在满足智能合约执行条件后继续执行智能合约。sskoowww.qkl91.com_.com48_thumb

存储节点的BTD激励积分

HDT 积分体现的是节点为 BTD 项目运行所贡献的工作量。而 BTD 则体现的是节点对全网的价值贡献比例。BTD 基于 PoS 算法进行计算。每天某个节点获得的 BTD 激励积分的数量 B,按照如下算法进行计算: B=该节点对全网的价值贡献比例 C*当日全网新增 BTD 总量。【备注:当日全网新增 BTD 总量根据当天全网新增 HDT 的数量而定,具体方案见白皮书中“BTD 的分配与产出”章节】每天某个节点对全网的价值贡献比例 C,按照如下算法进行计算: C=(该节点当日新增 HDT/全网节点当日新增 HDT)*当日存力占比+ (该节点 HDT 余额/全网节点 HDT 总产出)*历史存力占比+(该节点当日 BTD 余额/全网节点 BTD 总额)*未来发展占比;当日存力占比:取值范围 0%-100%。历史存力占比:取值范围 0%-30%。未来发展占比:取值范围 0%-100%。 BTD 的产出,综合考虑了节点对全网的当日贡献(类比现实世界中企业为员工发放的每日工资),历史贡献(类比现实世界中企业为老员工发放的长期贡献奖),以及未来发展贡献(类比现实世界中企业为核心骨干发放的期权),代表了分布式存储领域最为合理的贡献机制。 BTD 项目通过每日 HDT 产出量的变化趋势、系统 HDT 池余额和消耗比例、 BTD 持币账户集中度等运行指标来判断当前存力是否满足存储市场的需要以及市场是否过热或过冷,综合指标超过阈值会触发智能合约,对当日存力占比、历史存力占比、未来发展占比等参数进行调节,在全网存力不足时鼓励更多节点加入存储网络提升存力,在 BTD 持币账户过度集中时鼓励新增用户分散 BTD 持币比例,从而促进和保障 BTD 项目的持续健康稳定运行。sskoowww.qkl91.com_.com47_thumb

BTD 项目的核心目标是打造基于共享经济的分布式边缘云存储服务。

存储资源池的形成 BTD 项目的存储资源池来源于所有愿意贡献其闲置存储空间的用户。用户通过贡献其闲置存储空间来参与建设 BTD 项目,并获得相应的数字资产 HDT+BTD 回报。加入 BTD 项目后,节点所贡献的存储空间将会成为 BTD 项目分布式存储池的一部分,海量的存储节点共同构建一个海量、弹性、可持续增长的存储池。存储节点与和存储链建设每一个运行 BTD 项目存储服务的节点,既作为存储服务的提供者,同时也是存储服务的校验者和存储链信息的传递者。所有存储节点共同实时协调工作,保障 BTD 项目的稳定运行。 5.3 存储节点的HDT存储积分 BTD 项目根据经典的工作量证明共识机制和分布式存储的技术特点,结合分布式硬件节点的工作特性,提出基于可信赖存储证明 PoCR(Proof of Capacity Reliability)算法,根据节点所共享的存储空间大小、在线率、网络上下行带宽、实际存储、检索、读取服务质量等对节点的服务进行校验和激励,节点获得其 HDT 存储积分。每天每个存储节点所获得的存储积分 HDT 的数量 A,按照如下算法进行计算: A=节点贡献存储容量*在线率评分系数*网络带宽评分系数*节点硬件评分系数*节点信任度评分系数。image_thumb-30 定义1HDT=1G*1 月,代表存储节点不间断地提供1个月1个G存储空间的服务工作量。一台贡献1T 存储容量,标准化环境(在线率评分系数=1,网络带宽评分系数=1, 节点硬件评分系数=1,节点信任度评分系数=1)下的 BTD 存储节点,每天可产出 HDT 数量为: A=(1024G*12 月/365 天)*1*1*1*1=33.7 HDT。节点每天的实际产出数量会因为上述各项系数不同而产生差异。在线率评分系数:根据存储节点在线率进行评估。当在线率低于70%时,评分系数为0。在线率70%-90%时,评分系数为50%;在线率90%以上不足100%时,评分系数80%;在线率100%时评分系数100%。网络带宽评分系数:参考上行带宽5MB/s,下行带宽20MB/s。如果一条宽带下面运行了过多存储节点设备,则存储节点设备的收益比将降低。节点硬件评分系数:参考处理器等硬件处理能力指标,以及实际评估节点硬件运行 BTD 客户端软件的效率,取值范围 0.8-1 之间。节点信任度系数:当节点信任度机制被启动时,所有节点信任度初始值为 5%。如果次日在线率 100%,则信任度增加 5%,连续保持 20 天后节点信任度系数达到 1,节点信任度达到 1 后不再增加。运行期间任何一天在线率低于 90%,节点信任度将重新从 5%开始计起。信任度机制启动后,节点也可通过质押 BTD 来增加该节点地址的信任度并承诺在失信时接受惩罚扣除其质押的 BTD,被扣除的 BTD 将会被销毁。节点信任度机制将于每天 HDT 数量产出达到一定高度时被激活。结算周期: 每 24 小时结算一次。image_thumb-31

BTD钱包

BTD 钱包分为用户层、应用层、服务层、交易层和技术平台层,提供去中心化账号管理和结算接口,内置安全交易功能,主体是一个轻量级区块链客户端(light-weight client)。image_thumb-29 基本功能地址注册、账号导入与导出和交易密码管理等功能。用户的钱包文件和私钥由用户自行保管,将用户的权利完全归还用户,系统更私密安全。用户私钥一旦丢失,钱包将永远不可找回。交易密码只用于保护用户日常操作安全性,可通过私钥进行重置。资产功能 HDT/BTD 的相互转账、兑换等各种功能。查询功能 HDT/BTD 交易查询,让一切数据尽在掌握。sskoowww.qkl91.com_.com46_thumb

BTD分层框架

BTD 项目的技术分层框架包括:应用层、网络节点层、存储节点层、文件系统层、区块链共识层等多个不同层级。分布式存储节点:为 BTD 项目提供存储、带宽、计算资源的存储节点;分布式网络节点:为 BTD 项目提供 P2P 穿透和域路由功能的网络节点;分布式文件系统:BTD 项目分布式文件系统 BDFS。区块链共识层:基于 ChainSQL 平台,共识机制基于 RPCA。应用层:BTD 钱包 APP(IOS、Android、Windows 等)。sskoowww.qkl91.com_.com45_thumb-1

BTD验证

更为快速有效的区块认证技术:由全网所有的信任节点负责记账,超过半数的记账节点维护的区块链为有效链。区块生成后,广播到全网由记账节点进行投票,记账节点按收到的对某一区块的投票多少来决定选取哪个区块为有效区块,大约 3S 可以生成一个区块。正确性:RPCA 中正确性的验证方式很简单,因为共识需要 80%的阈值,那么只要 UNL 中有 80%的诚实节点,就能达成共识,另外即使有超过 20%的欺诈节点,也不能破坏正确性,因为欺诈节点也必须达到 80%以上才能达成共识。无论欺诈节点还是诚实节点,达不到 80%,都无法通过共识。一致性:一致性是通过子网络与其它子网络的连通性来保证的,要保证区块链不分叉,必须确保每个子网络必须至少与整个网络节点中的 20%保持连通性。image_thumb-28 可用性:在每一轮投票过程中,节点会搜集它 UNL 中每个节点的响应时间,一直响应时间慢的节点将会被剔除出去,这样 UNL 就能保持一个较高的沟通效率。在高效沟通的前提下,RPCA 算法能保证每 3-10 秒产生一个区块, TPS>1000。多点数据同步节点数据不全时,向相邻节点索取数据,通过数据离散、多节点同时索取、本地再组合的方式,使系统具备了数据快速传输,断点续传等优秀特性。 4.2.7 Radix-Merkle 存储算法区块中的状态与交易,根据哈希后的结果以 Merkel 树的形式进行组装。以基数树的结构来设计多个叶子节点,通过 key 值可以快速索引到具体的某一个交易或者状态。改进的 lz4 压缩算法交易内容中的每个字段,按名称进行排序,得到固定顺序的数据内容,通过改进后的 LZ4 算法,得到较高的压缩比及压缩速度。 4.2.9 智能合约项目的存储积分和激励积分的发放基于智能合约执行,对提供存储服务的节点用户进行激励。sskoowww.qkl91.com_.com44_thumb-1