一种皮肤块、皮肤链网络及其实现方法技术

技术编号:24412504 阅读:25 留言:0更新日期:2020-06-06 09:52
本申请公开了一种皮肤块,每一个皮肤块中包含一个区块头部和一个或多个数据块。所述区块头部包括三个字段;“本块HASH编码”字段记录本皮肤块的哈希编码;“区块序号”字段记录本皮肤块的区块序号;所有皮肤块的区块序号各不相同;“前块HASH编码”字段记录本皮肤块所连接的前一个皮肤块的哈希编码。所述数据块根据登记数据、查询数据、通证转让、通证质押、通证赎回、通证分红的不同交易类别分别具有不同数据格式;所有数据块都包括“数据块序号”字段、“数据块源数据HASH”字段、“数据块类别”字段。本申请大大降低了处理节点的存储资源要求,使得处理节点更容易支撑起大量交易数据,显著提升了皮肤链网络的安全性、抗攻击性、自适应调整性。

A skin block and skin chain network and its implementation

【技术实现步骤摘要】
一种皮肤块、皮肤链网络及其实现方法
本申请涉及一种区块链(Blockchain)以及区块链网络。
技术介绍
2016年10月18日工业和信息化部发布的《中国区块链技术和应用发展白皮书》中,将区块链定义为一种无须中介参与、亦能在互不信任或弱信任的参与者之间维系一套不可篡改的账本记录的技术。首先,区块链是一种以区块(block)为单位的链(chain)状数据结构,每一个区块都与前续区块通过密码学证明的方式链接在一起。其次,区块链是一种全网共享的分布式账本(distributedledger)。许多场景中,区块链与分布式账本这两个技术术语具有相同含义。典型地,区块链技术被P2P网络(peer-to-peernetwork)的全部或部分节点用来根据某种共识算法验证新的区块,通过验证的新区块被新增到区块链数据结构的末尾。采用区块链技术的P2P网络就被称为区块链网络。共识是指多方参与的节点在预设规则下,通过多个节点交互对某些数据、行为或流程达成一致的过程。共识机制是定义共识过程的算法、协议和规则。
技术实现思路
本申请所要解决的技术问题是提供一种新型的区块链网络,称为皮肤链网络,能够支撑起大量交易的发生,安全性好。本申请还要提供一种皮肤块,即所述皮肤链网络中的区块,能够减少对节点的存储资源的要求。本申请还要提供一种皮肤链网络的实现方法,具有安全性好、自适应调整的特点。为解决上述技术问题,本申请提供了一种皮肤块,所述皮肤块构成的链状数据结构为皮肤链;所述皮肤链是一种区块链;所述皮肤块是构成区块链的每一个区块;每一个皮肤块中包含一个区块头部和一个或多个数据块。所述区块头部包括三个字段;“本块HASH编码”字段记录本皮肤块的哈希编码;“区块序号”字段记录本皮肤块的区块序号;所有皮肤块的区块序号各不相同;“前块HASH编码”字段记录本皮肤块所连接的前一个皮肤块的哈希编码。所述数据块根据登记数据、查询数据、通证转让、通证质押、通证赎回、通证分红的不同交易类别分别具有不同数据格式;所有数据块都包括如下三个字段;“数据块序号”字段记录本数据块在皮肤块中的序号;“数据块源数据HASH”字段记录本数据块所对应的原始数据的哈希编码;“数据块类别”字段记录本数据块所属交易类别。所述皮肤块与现有的区块链中的区块相比,显著特点在于不存储原始数据,只存储原始数据的哈希编码,从而大大降低了对节点的存储资源的要求,使得小存储空间的节点也能支撑起大交易量的数据。进一步的,登记数据类别的数据块还包括如下字段;“数据简要描述”字段记录源数据登记方对所登记数据的概要描述。“数据块源数据链接”字段记录本数据块所对应的原始数据的网络链接地址。“数据块源数据校验回调函数”字段记录一个校验回调函数;该函数只能由皮肤链“智能校验合约程序”调用;该函数的输入参数为“数据块源数据链接”字段和“数据块源数据HASH”字段记录的内容;该函数在执行时,根据“数据块源数据链接”字段记录的内容调用源数据,被调用的源数据需要提供完整数据,“智能校验合约程序”计算出源数据的哈希编码,与“数据块源数据HASH”字段记录的内容进行对比;如果两者相同,返回源数据未被篡改;如果两者不同,返回源数据已被篡改。“数据块源数据查询鉴权回调函数”字段记录一个查询鉴权回调函数;该函数调用源数据登记方的鉴权页面,在鉴权通过后,源数据登记方提供源数据的内容供访问;该函数在有权访问源数据的内容后,还计算出源数据的哈希编码,与“数据块源数据HASH”字段记录的内容进行对比;如果两者相同,返回源数据未被篡改;如果两者不同,返回源数据已被篡改。这是一种示例。优选的,登记数据类别的数据块还包括“数据块上游数据块”字段;当某个数据块中的数据存在上游数据时,则该字段存在;该字段记录当前数据块中的数据的上游数据所在皮肤块的区块序号、以及该上游数据所在皮肤块中的数据块的数据块序号。这样可以方便查询到上游数据。进一步的,查询数据类别的数据块还包括如下字段;“查询节点账号”字段记录发起查询的节点的账号信息。“被查询数据块”字段记录被查询的数据块所属皮肤块的区块序号、以及被查询的数据块在所属皮肤块中的数据块序号。这是一种示例。进一步的,通证转让类别的数据块还包括如下字段;“转让通证数量”字段记录转让的通证的数量。“转出账号”字段记录通证的转出节点的账号信息。“转入账号”字段记录通证的转入节点的账号信息。这是一种示例。进一步的,通证质押类别的数据块还包括如下字段;“质押通证数量”字段记录质押的通证的数量。“质押通证给予方”字段记录质押通证的给予方节点的账号信息。“质押通证获取方”字段记录质押通证的获取方节点的账号信息。这是一种示例。进一步的,通证赎回类别的数据块还包括如下字段;“通证赎回数量”字段记录赎回的通证的数量。“通证赎回承兑方”字段记录赎回通证的承兑方节点的账号信息。“通证赎回发起方”字段记录赎回通证的发起方节点的账号信息。这是一种示例。进一步的,通证分红类别的数据块还包括如下字段;“通证分红比例”字段记录通证分红的比例信息。“通证分红时间”字段记录通证分红的时间信息。“分红通证接收账号”字段记录用来接收分红通证的节点的账号信息。这是一种示例。本申请还提供了一种皮肤链网络,这是采用皮肤链的P2P网络,包括多个节点;节点分为“处理节点”和“客户端节点”两大类。处理节点是指分担处理皮肤链网络的业务负荷的计算机或计算机集群;每一个处理节点都是皮肤链的一个全备份节点;所述处理节点又分为“出块节点”、“验证节点”、“同步节点”三小类;出块节点是指负责计算交易并决定新增的皮肤块的节点;验证节点是指负责接收出块节点的新增的皮肤块的结果并进行验证、给出“通过”或“拒绝”的验证结论的节点;同步节点是指负责将验证结论为“通过”的新增的皮肤块增加到本地存储的皮肤链的末尾的节点;出块节点和验证节点也会将验证结论为“通过”的新增的皮肤块增加到本地存储的皮肤链的末尾。客户端节点是指不分担皮肤链网络的业务负荷也不存储皮肤链、可以发起交易的计算机或计算机集群。所述皮肤链网络与现有的区块链网络相比,显著特点在于对节点进行了两大类的划分,其中的处理节点又根据功能划分为三小类。本申请还提供了一种皮肤链网络的实现方法,所述皮肤链网络的共识算法包括如下步骤。步骤S901:在所有处理节点中随机选取第一数量的多个节点作为验证节点,除了验证节点以外的处理节点均作为同步节点;当处理节点的总数小于或等于第一数量时,全部处理节点都是验证节点,此时无同步节点。步骤S902:在所有验证节点中随机选取第二数量的节点作为出块节点;选出来的出块节点不再作为验证节点;第二数量小于第一数量,第二数量的取值为一个或多个。步骤S903:出块节点产生新的皮肤块并进行自检;自检通过,则进入步骤S904;自检未通过,进入步骤S910。步骤S904:所有验证节点对通过自检的新的皮肤块进行校验和表决,当第二预定比例的验证节点通过新的皮肤块的校验,则给出“通过”的验证结论,进入步骤S905;否则,给出“拒绝”的验证结论,则进入步骤S910。所本文档来自技高网...

【技术保护点】
1.一种皮肤块,所述皮肤块构成的链状数据结构为皮肤链;所述皮肤链是一种区块链;所述皮肤块是构成区块链的每一个区块;其特征是,每一个皮肤块中包含一个区块头部和一个或多个数据块;/n所述区块头部包括三个字段;“本块HASH编码”字段记录本皮肤块的哈希编码;“区块序号”字段记录本皮肤块的区块序号;所有皮肤块的区块序号各不相同;“前块HASH编码”字段记录本皮肤块所连接的前一个皮肤块的哈希编码;/n所述数据块根据登记数据、查询数据、通证转让、通证质押、通证赎回、通证分红的不同交易类别分别具有不同数据格式;所有数据块都包括如下三个字段;/n“数据块序号”字段记录本数据块在皮肤块中的序号;/n“数据块源数据HASH”字段记录本数据块所对应的原始数据的哈希编码;/n“数据块类别”字段记录本数据块所属交易类别。/n

【技术特征摘要】
1.一种皮肤块,所述皮肤块构成的链状数据结构为皮肤链;所述皮肤链是一种区块链;所述皮肤块是构成区块链的每一个区块;其特征是,每一个皮肤块中包含一个区块头部和一个或多个数据块;
所述区块头部包括三个字段;“本块HASH编码”字段记录本皮肤块的哈希编码;“区块序号”字段记录本皮肤块的区块序号;所有皮肤块的区块序号各不相同;“前块HASH编码”字段记录本皮肤块所连接的前一个皮肤块的哈希编码;
所述数据块根据登记数据、查询数据、通证转让、通证质押、通证赎回、通证分红的不同交易类别分别具有不同数据格式;所有数据块都包括如下三个字段;
“数据块序号”字段记录本数据块在皮肤块中的序号;
“数据块源数据HASH”字段记录本数据块所对应的原始数据的哈希编码;
“数据块类别”字段记录本数据块所属交易类别。


2.根据权利要求1所述的皮肤链网络,其特征是,登记数据类别的数据块还包括如下字段;
“数据简要描述”字段记录源数据登记方对所登记数据的概要描述;
“数据块源数据链接”字段记录本数据块所对应的原始数据的网络链接地址;
“数据块源数据校验回调函数”字段记录一个校验回调函数;该函数只能由皮肤链“智能校验合约程序”调用;该函数的输入参数为“数据块源数据链接”字段和“数据块源数据HASH”字段记录的内容;该函数在执行时,根据“数据块源数据链接”字段记录的内容调用源数据,被调用的源数据需要提供完整数据,“智能校验合约程序”计算出源数据的哈希编码,与“数据块源数据HASH”字段记录的内容进行对比;如果两者相同,返回源数据未被篡改;如果两者不同,返回源数据已被篡改;
“数据块源数据查询鉴权回调函数”字段记录一个查询鉴权回调函数;该函数调用源数据登记方的鉴权页面,在鉴权通过后,源数据登记方提供源数据的内容供访问;该函数在有权访问源数据的内容后,还计算出源数据的哈希编码,与“数据块源数据HASH”字段记录的内容进行对比;如果两者相同,返回源数据未被篡改;如果两者不同,返回源数据已被篡改。


3.根据权利要求2所述的皮肤链网络,其特征是,登记数据类别的数据块还包括“数据块上游数据块”字段;当某个数据块中的数据存在上游数据时,则该字段存在;该字段记录当前数据块中的数据的上游数据所在皮肤块的区块序号、以及该上游数据所在皮肤块中的数据块的数据块序号。


4.根据权利要求1所述的皮肤链网络,其特征是,查询数据类别的数据块还包括如下字段;
“查询节点账号”字段记录发起查询的节点的账号信息;
“被查询数据块”字段记录被查询的数据块所属皮肤块的区块序号、以及被查询的数据块在所属皮肤块中的数据块序号。


5.根据权利要求1所述的皮肤链网络,其特征是,通证转让类别的数据块还包括如下字段;
“转让通证数量”字段记录转让的通证的数量;
“转出账号”字段记录通证的转出节点的账号信息;
“转入账号”字段记录通证的转入节点的账号信息。


6.根据权利要求1所述的皮肤链网络,其特征是,通证质押类别的数据块还包括如下字段;
“质押通证数量”字段记录质押的通证的数量;
“质押通证给予方”字段记录质押通证的给予方节点的账号信息;
“质押通证获取方”字段记录质押通证的获取方节点的账号信息。


7.根据权利要求1所述的皮肤链网络,其特征是,通证赎回类别的数据块还包括如下字段;
“通证赎回数量”字段记录赎回的通证的数量;
“通证赎回承兑方”字段记录赎回通证的承兑方节点的账号信息;
“通证赎回发起方”字段记录赎回通证的发起方节点的账号信息。


8.根据权利要求1所述的皮肤链网络,其特征是,通证分红类别的数据块还包括如下字段;
“通证分红比例”字段记录通证分红的比例信息;
“通证分红时间”字段记录通证分红的时间信息;
“分红通证接收账号”字段记录用来接收分红通证的节点的账号信息。


9.一种皮肤链网络,这是采用皮肤链的P2P网络,包括多个节点;其特征是,节点分为“处理节点”和“客户端节点”两大类;
处理节点是指分担处理皮肤链网络的业务负荷的计算机或计算机集群;每一个处理节点都是皮肤链的一个全备份节点;所述处理节点又分为“出块节点”、“验证节点”、“同步节点”三小类;出块节点是指负责计算交易并决定新增的皮肤块的节点;验证节点是指负责接收出块节点的新增的皮肤块的结果并进行验证、给出“通过”或“拒绝”的验证结论的节点;同步节点是指负责将验证结论为“通过”的新增的皮肤块增加到本地存储的皮肤链的末尾的节点;出块节点和验证节点也会将验证结论为“通过”的新增的皮肤块增加到本地存储的皮肤链的末尾;
客户端节点是指不分担皮肤链网络的业务负荷也不存储皮肤链、可以发起交易的计算机或计算机集群。


10.一种皮肤链网络的实现方法,其特征是,所述皮肤链网络的共识算法包括如下步骤;
步骤S901:在所有处理节点中随机选取第一数量的多个节点作为验证节点,除了验证节点以外的处理节点均作为同步节点;当处理节点的总数小于或等于第一数量时,全部处理节点都是验证节点,此时无同步节点;
步骤S902:在所有验证节点中随机选取第二数量的节点作为出块节点;选出来的出块节点不再作为验证节点;第二数量小于第一数量,第二数量的取值为一个或多个;
步骤S903:出块节点产生新的皮肤块并进行自检;自检通过,则进入步骤S904;自检未通过,进入步骤S910;
步骤S904:所有验证节点对通过自检的新的皮肤块进行校验和表决,当第二预定比例的验证节点通过新的皮肤块的校验,则给出“通过”的验证结论,进入步骤S905;否则,给出“拒绝”的验证结论,则进入步骤S910;所述第二预定比例≥50%;
步骤S905:同步节点、出块节点和验证节点均将通过验证的新产生的皮肤块加入到本地存储的皮肤链的末尾;
步骤S906:当出块节点产生的新的皮肤块的数量小于设定的阈值,则回到步骤S903;当出块节点产生的新的皮肤块的数量等于设定的阈值,则将所有出块节点改作为同步节点,同时在所有同步节点中随机选取第二数量的节点作为验证节点,补充到现有的验...

【专利技术属性】
技术研发人员:王秀文王晨欢王剑峰
申请(专利权)人:上海闪晶信息科技有限公司
类型:发明
国别省市:上海;31

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1