CN109802993B - 一种基于供应链生态的联盟链搭建方法 - Google Patents
一种基于供应链生态的联盟链搭建方法 Download PDFInfo
- Publication number
- CN109802993B CN109802993B CN201811522240.2A CN201811522240A CN109802993B CN 109802993 B CN109802993 B CN 109802993B CN 201811522240 A CN201811522240 A CN 201811522240A CN 109802993 B CN109802993 B CN 109802993B
- Authority
- CN
- China
- Prior art keywords
- node
- information
- chain
- alliance
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种基于供应链生态的联盟链***搭建方法,包括联盟区块链网络和联盟区块链网络的辅助业务网络;联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;联盟区块链采用供应链生态应用场景的共识机制;联盟区块链辅助业务网络,采用点对点对等的分布式部署,节点动态组网,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;实现一种主体间完全点对点对等部署、分布式的,既可以满足各种商业秘密和隐私保护策略,又能在不同主体间安全地交换交易数据、信息推送,必要时还能全网分布式记账、共同见证的供应链生态联盟区块链***。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于供应链生态的联盟区块链***搭建方法。
背景技术
随着传统区块链在利用P2P组网技术的基础上,结合计算机加密技术实现了数据的去中心化,全网一致,不可伪造和不可篡改,创造了全新的信用形式。但仅凭这些特点,还不足以解决立足于供应链生态的联盟链B2B业务的要求。此外,迄今为止基于企业间市场的应用***,因为历史原因和技术原因,都采用中心化的技术方案。但中心化的技术方案,不适合企业间市场的需要,因为不同主体之间不可能不考虑商业秘密和企业数据隐私的保护。因此,中心化的技术方案,只能是技术实现上的暂时现象,不可能满足企业间市场的真正需要。
供应链是一个立体的生态***,供应链是一个以由供应商、生产制造企业、分销商、零售商等销售企业、仓储物流企业、最终消费者等商业运营主体;金融机构、征信机构等独立于商业运营主体的外部资源提供方;政府监管部门等外部社会组织机构为节点共同组成的一个立体的生态***。这个立体生态***的组织结构与区块链技术所采用的,以点对点(P2P)通信方式所联结的分布式结构是一致的。如何将这个立体生态中的主体从技术上打通,形成一个立体的网络,不仅是商业发展的需要,也是技术发展的必然方向,如图11所示,为供应链生态网络示意图。
企业和行业真正需要的是一种主体间点对点对等部署、分布式的,既可以满足各种隐私和商业秘密保护策略,又能在不同主体间安全地交换交易数据、消息推送,必要时还能全网记账见证的供应链生态网络***。本发明创造了全新的基于供应链生态的联盟区块链模式,创造性地解决了这个问题。
目前区块链技术尚在早期,稍微成熟的主要是基于加密货币交易的公有区块链。而主要关注B端业务的联盟区块链,才刚刚起步,尚未有比较成熟的应用方案。受比特币、以太坊等传统公链的影响,迄今为止,区块链的主要技术方案都是全网一致,一经写入,不可篡改、不可删除的分布式记账。尚没有可以和本发明直接对标的技术方案,可以全方位满足供应链生态的各种商业需要,除了传统区块链提供的全网一致、不可篡改的记账和见证需要外,还可以满足企业在部分主体间一致、不可篡改,特定企业间互相开放的数据查询接口,统一编码的数据共享,和企业间业务进程沟通信息推送等多层次的需要。
真实的供应链生态体系中,不同的企业主体之间的商业往来,从信息属性和隐私保护的角度看,存在如图7所示供应链生态体系中六个层次数据需要。
如图7所示,从下到上,隐私程度从高到低。不难看出,迄今为止的区块链技术,仅仅解决了第四层的需要。除了天然不需要解决的第一层,尚未有一个成熟可靠的技术方案,同时解决第二层到第六层的数据需求。
为解决这个问题,本发明创造性地提出并实现了基于供应链生态的联盟区块链***搭建方法。
发明内容
为了解决以上的问题,本发明提出了主体间点对点对等部署、分布式的,既可以满足各种隐私和商业秘密保护策略,又能在不同主体间安全地交换交易数据和消息推送,全网记账见证的供应链生态网络***。
本发明的技术方案是这样实现的:包括联盟区块链网络及联盟区块链辅助业务网络;联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;联盟区块链采用供应链生态应用场景的共识机制;联盟区块链辅助业务网络,采用点对点对等的分布式部署,节点动态组网,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;实现一种主体间完全点对点对等部署、分布式的,既可以满足各种商业秘密和隐私保护策略,又能在不同主体间安全地交换交易数据、信息推送,必要时还能全网分布式记账、共同见证的供应链生态联盟区块链***;
所述基于供应链生态的联盟链***搭建方法,具体方法如下:
S01.所述联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;
S02.所述联盟区块链采用供应链生态应用场景的共识机制,交易涉及的一个相关主体(共识发起方)用户端程序负责打包交易数据;由与交易相关的主体对应的区块链节点或委托授权的主体对应的区块链节点负责验证;再由所述共识发起方的用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;
S03.所述联盟区块链辅助业务网络,采用点对点对等的分布式部署;
S04.所述联盟区块链辅助业务网络中的各个用户端节点动态组网,根据联盟规则,可以动态加入和离开网络;
S05.所述联盟区块链辅助业务网络,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;
以上步骤循环实现所述基于供应链生态的联盟链***搭建。
进一步方案为,所述产业链主体包括:生产制造企业、各级供应商、各级分销商代理商等销售企业、仓储物流企业、最终消费者等产业链上商业运营主体;
进一步方案为,所述外部资源提供方包括:金融机构、征信机构等独立于产业链的外部资源提供方;
进一步方案为,所述监管机构包括:海关、商检、食品药品监督管理、工商、税务等可以对供应链施加影响的政府管理机构及社会组织;
进一步方案为,所述金融机构包括:商业保理公司、商业银行、信托公司、证券公司等金融机构或类金融机构,也包括SPV(载体管理人),为供应链提供资金、信用及现金管理的主体。
进一步方案为,所述供应链生态应用场景的共识机制,方法和流程如下:
a.所述每一个区块链节点对应一个唯一的标识(ID);
b.所述与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
c.所述直接发生交易的主体在区块链外达成交易意向;
d.所述共识发起方用户端程序负责根据交易意向打包交易数据;
e.所述与交易相关的主体对应节点验证交易;
f.所述共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账;
进一步方案为,所述联盟区块链辅助业务网络分布式部署方法,其特征为:
a.每个主体拥有独立的用户端,每个主体持有本用户端的数据,除了与其他用户端之间的信息交互;
b.所述联盟区块链辅助业务网络用户端,是指:由单一主体拥有及控制的,独立于其他主体的,由服务器、存储器、终端等硬件及其运行的相关软件构成,通过同一IP地址实现与其他用户端通信交互的***;
c.用户端功能模块包括:
①开放数据API节点功能模块,负责实现向链上特定主体开放的只读数据查询功能;
②辅助业务节点功能模块,负责完成无需全网分布及一致,只在少数相关用户端保持一致,且不可更改的数据记账;
③区块链节点功能模块,负责完成全网一致、不可更改、不可删除的数据记账
④全局数据节点功能模块,辅助完成必须统一编码,全网公开的全局共享数据;
⑤消息推送节点功能模块,负责用户端之间进行业务协调的即时消息推送;
d.所述联盟区块链辅助业务网络用户端之间,采用点对点(P2P)通信;
e.所述联盟区块链辅助业务网络用户端之间通信数据,全部采用基于密码学原理的非对称加密技术进行加密;
1).直接采用通信目标的公钥非对称加密,目标主体收到信息,用自身的私钥解密信息;
2).随机生成一个对称密钥,用该随机对称密钥加密数据,再用通信目标的公钥非对称加密随机密钥;目标主体收到信息密文和密钥密文,先用自身私钥解密出随机对称密钥,再用该随机对称密钥解密信息;
进一步方案为,所述联盟区块链辅助业务网络底层采用Kademlia算法实现点对点动态组网,具体方法如下:
①每个节点维护一个节点列表(k-bucket),记录节点ID和IP/UDP地址,该表根据最新收到心跳时间倒序排列,即节点心跳时间越近,排位越靠前;
②在公网上(云上)部署至少一个IP地址固定的种子节点,用于协助新节点第一次加入网络;
③当一个新节点首次试图加入网络时,首先连接已知的种子节点;并将这些节点其加入自己的节点列表(k-buckets),向节点列表(k-buckets)中的节点发起一次针对自己ID的节点查询请求,从而通过这些种子节点获取一系列与自己距离邻近的其他节点的信息;最后,刷新所有的节点列表(k-buckets),保证自己所获得的节点信息全部都是最新的。
④随机生成一个目标节点ID,向节点列表(k-buckets)中的节点发起一次针对该目标ID的节点查询请求(FINDNODE),从而通过这些节点获取一系列与该目标ID距离邻近的若干其他节点的信息;
⑤向前一步获取的返回结果(节点地址列表)中的节点,继续发送④中的目标节点查询请求(FINDNODE),并根据返回情况更新已连接节点列表(k-buckets),如此递归发送节点查询请求(FINDNODE),直至没有新的返回值。
⑥定期重复④⑤步,直至本节点离开网络。
进一步方案为,所述频道订阅机制,具体方法如下:
a.任何信息都属于特定的频道(如图4),任何节点都会订阅几个特定频道;频道的共同订阅者,都会收到一致的频道信息;
b.频道信息在节点间流动,节点收到信息,检查频道是否已订阅,若已订阅,则读取信息;
c.每个频道分配有一对非对称加密算法的公钥/私钥对。订阅该频道的节点持有私钥。
d.放入频道的信息,都用该频道的公钥加密;
e.频道的订阅者,则用其持有的频道私钥解密信息。
进一步方案为,所述类病毒传播免疫算法,具体的方法如下:
1)所述的联盟链节点产生信息之后,首先将信息放入某个频道(打上频道标签);
2)再用该频道的公钥加密信息,形成信息密文;
3)将频道标签、信息密文打包成一个数据包,并用自己的私钥对该数据包进行签名;
4)将签名后的数据包发送给和自己有直接IP/UDP连接的节点;
5)所述区块链网络P2P节点收到信息,首先用该节点事先公布的公钥验证该信息的签名,
III)如果验证通过,先对该信息的数据用哈希散列算法计算该信息的哈希摘要(D),并查询自己的抗体库(即曾经收到的信息摘要清单),如果库中已有该摘要(D),则放弃任何处理(已有抗体,不再被该病毒感染);反之,则将该摘要(D)加入抗体库(消息摘要清单);并将该信息发送给和自己有直接IP/UPD连接的其他网络节点(将病毒传染给其他节点);最后,检查该信息的频道是否已订阅,如果是,则将该信息解密,进行后续的处理;
IV)如果验证不通过,说明该节点是非法节点,丢弃该信息(不处理该信息,也不传播该信息),并将发送该信息的节点加入黑名单,从而避免女巫攻击;同时将该非法节点的ID全网广播,通知其他节点将该非法节点加入黑名单,并中断和该节点的连接,以避免DDOS拒绝服务攻击;
6)抗体库中的抗体有存活期(存活期通过配置文件设定,默认是3小时),超过存活期,抗体死亡,从抗体库中移除。以避免抗体库无限制增长,降低***性能。
进一步方案为,所述基于供应链生态的联盟链搭建方法还包括管理的多个后台服务器、存储器、终端等硬件及其运行的相关软件构成的用户端。
本发明具有以下有益的技术效果,一种主体间点对点对等部署、分布式的,既可以满足各种隐私和商业秘密保护策略,又能在不同主体间安全地交换交易数据、消息推送,必要时还能全网记账见证的供应链生态网络***,可以让供应链生态中的业务主体,轻松实现金融安全级别的、任何隐私保护策略下的、任意目的信息交互和分布式记账验证,从而实现了真正意义的供应链生态网络,主要优点有:
1、基于供应链生态的计算机网络***;
2、多维度点对点(P2P)网络方案;
3、主体间点对点对等分布式的数据和***部署;
4、主体间分层次、分目的的网络数据交互机制;
5、去中心化的商业生态网络;
6、基于供应链生态的联盟区块链;
7、区块链与企业ERP***的集成;
8、类病毒传播免疫算法;
9、频道订阅式信息交互算法;
10、一种新的抗女巫攻击和DDOS拒绝服务攻击方法;
11、通过接入多个区块链节点,辅助业务网络的桥接配合,可以方便实现企业跨区块链交易。
附图说明
图1为本发明的基于供应链生态的联盟链搭建方法示意图;
图2为本发明的完全点对点,物理分部署部署示意图;
图3为本发明的联盟区块链共识机制示意图;
图4为本发明的消息频道订阅模型示意图;
图5为本发明的类病毒传播免疫算法示意图;
图6为本发明的类病毒传播免疫算法频道订阅工作流程图;
图7为本发明的供应链生态体系中六个层次需要的数据示意图;
图8为本发明的区块链网络+辅助业务链网络示意图;
图9为本发明的简单节点功能部署示意图;
图10为本发明的全功能节点功能部署示意图;
图11为本发明的供应链生态***示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图11,本发明基于供应链生态的联盟链***搭建方法,包括联盟区块链网络及联盟区块链辅助业务网络;联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;联盟区块链采用供应链生态应用场景的共识机制;联盟区块链辅助业务网络,采用点对点对等的分布式部署,节点动态组网,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;实现一种主体间完全点对点对等部署、分布式的,既可以满足各种商业秘密和隐私保护策略,又能在不同主体间安全地交换交易数据、信息推送,必要时还能全网分布式记账、共同见证的供应链生态联盟区块链***;
基于供应链生态的联盟链***搭建方法,具体方法如下:
S01.联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;
S02.联盟区块链采用供应链生态应用场景的共识机制,交易涉及的一个相关主体(共识发起方)用户端程序负责打包交易数据;由与交易相关的主体对应的区块链节点或委托授权的主体对应的区块链节点负责验证;再由所述共识发起方的用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;
S03.联盟区块链辅助业务网络,采用点对点对等的分布式部署;
S04.联盟区块链辅助业务网络中的各个用户端节点动态组网,根据联盟规则,可以动态加入和离开网络;
S05.联盟区块链辅助业务网络,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;
以上步骤循环实现所述基于供应链生态的联盟链***搭建。
进一步地,产业链主体包括:生产制造企业、各级供应商、各级分销商代理商等销售企业、仓储物流企业、最终消费者等产业链上商业运营主体;
进一步地,外部资源提供方包括:金融机构、征信机构等独立于产业链的外部资源提供方;
进一步地,监管机构包括:海关、商检、食品药品监督管理、工商、税务等可以对供应链施加影响的政府管理机构及社会组织;
进一步地,金融机构包括:商业保理公司、商业银行、信托公司、证券公司等金融机构或类金融机构,也包括SPV(载体管理人),为供应链提供资金、信用及现金管理的主体。
进一步地,供应链生态应用场景的共识机制,方法和流程如下:
a.每一个区块链节点对应一个唯一的标识(ID);
b.与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
c.直接发生交易的主体在区块链外达成交易意向;
d.共识发起方用户端程序负责根据交易意向打包交易数据;
e.与交易相关的主体对应节点验证交易;
f.共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账;
进一步地,联盟区块链辅助业务网络分布式部署方法,其特征为:
a.每个主体拥有独立的用户端,每个主体持有本用户端的数据,除了与其他用户端之间的信息交互;
b.联盟区块链辅助业务网络用户端,是指:由单一主体拥有及控制的,独立于其他主体的,由服务器、存储器、终端等硬件及其运行的相关软件构成,通过同一IP地址实现与其他用户端通信交互的***;
c.用户端功能模块包括:
①开放数据API节点功能模块,负责实现向链上特定主体开放的只读数据查询功能;
②辅助业务节点功能模块,负责完成无需全网分布及一致,只在少数相关用户端保持一致,且不可更改的数据记账;
③区块链节点功能模块,负责完成全网一致、不可更改、不可删除的数据记账
④全局数据节点功能模块,辅助完成必须统一编码,全网公开的全局共享数据;
⑤消息推送节点功能模块,负责用户端之间进行业务协调的即时消息推送;
d.联盟区块链辅助业务网络用户端之间,采用点对点(P2P)通信;
e.联盟区块链辅助业务网络用户端之间通信数据,全部采用基于密码学原理的非对称加密技术进行加密;
1).直接采用通信目标的公钥非对称加密,目标主体收到信息,用自身的私钥解密信息;
2).随机生成一个对称密钥,用该随机对称密钥加密数据,再用通信目标的公钥非对称加密随机密钥;目标主体收到信息密文和密钥密文,先用自身私钥解密出随机对称密钥,再用该随机对称密钥解密信息;
进一步地,联盟区块链辅助业务网络底层采用Kademlia算法实现点对点动态组网,具体方法如下:
①每个节点维护一个节点列表(k-bucket),记录节点ID和IP/UDP地址,该表根据最新收到心跳时间倒序排列,即节点心跳时间越近,排位越靠前;
②在公网上(云上)部署至少一个IP地址固定的种子节点,用于协助新节点第一次加入网络;
③当一个新节点首次试图加入网络时,首先连接已知的种子节点;并将这些节点其加入自己的节点列表(k-buckets),向节点列表(k-buckets)中的节点发起一次针对自己ID的节点查询请求,从而通过这些种子节点获取一系列与自己距离邻近的其他节点的信息;最后,刷新所有的节点列表(k-buckets),保证自己所获得的节点信息全部都是最新的。
④随机生成一个目标节点ID,向节点列表(k-buckets)中的节点发起一次针对该目标ID的节点查询请求(FINDNODE),从而通过这些节点获取一系列与该目标ID距离邻近的若干其他节点的信息;
⑤继续向前一步获取的返回结果(节点地址列表)中的节点,继续发送④中的目标节点查询请求(FINDNODE),并根据返回情况更新已连接节点列表(k-buckets),如此递归发送节点查询请求(FINDNODE),直至没有新的返回值。
⑥定期重复④⑤步,直至本节点离开网络。
进一步地,引入频道订阅机制,用于实现信息一致性,具体的方法如下:
a.任何信息都属于特定的频道(如图4),任何节点都会订阅几个特定频道;频道的共同订阅者,都会收到一致的频道信息;
b.频道信息在节点间流动,节点收到信息,检查频道是否已订阅,若已订阅,则读取信息;
c.每个频道分配有一对非对称加密算法的公钥/私钥对。订阅该频道的节点持有私钥。
d.放入频道的信息,都用该频道的公钥加密;
e.频道的订阅者,则用其持有的频道私钥解密信息。
进一步地,类病毒传播免疫算法,具体方法如下:
1)联盟链节点产生信息之后,首先将信息放入某个频道(打上频道标签);
2)再用该频道的公钥加密信息,形成信息密文;
3)将频道标签、信息密文打包成一个数据包,并用自己的私钥对该数据包进行签名;
4)将签名后的数据包发送给和自己有直接IP/UDP连接的节点;
5)所述区块链网络P2P节点收到信息,首先用该节点事先公布的公钥验证该信息的签名,
V)如果验证通过,先对该信息的数据用哈希散列算法计算该信息的哈希摘要(D),并查询自己的抗体库(即曾经收到的信息摘要清单),如果库中已有该摘要(D),则放弃任何处理(已有抗体,不再被该病毒感染);反之,则将该摘要(D)加入抗体库(信息摘要清单);并将该信息发送给和自己有直接IP/UPD连接的其他网络节点(将病毒传染给其他节点);最后,检查该信息的频道是否已订阅,如果是,则将该信息解密,进行后续的处理;
VI)如果验证不通过,说明该节点是非法节点,丢弃该信息(不处理该信息,也不传播该信息),并将发送该信息的节点加入黑名单,从而避免女巫攻击;同时将该非法节点的ID全网广播,通知其他节点将该非法节点加入黑名单,并中断和该节点的连接,以避免DDOS拒绝服务攻击;
6)抗体库中的抗体有存活期(存活期通过配置文件设定,默认是3小时),超过存活期,抗体死亡,从抗体库中移除。以避免抗体库无限制增长,降低***性能。
进一步地,基于供应链生态的联盟链搭建方法还包括管理的多个后台服务器、存储器、终端等硬件及其运行的相关软件构成的用户端。
进一步地,后台服务器包括处理器及含有计算机程序代码的存储器,并能处理上述方法。
进一步地,根据具体的业务主体的不同,企业可以选择配置部分或全部维度的P2P网络节点。一般说来,有两种模式,一种是不含区块链节点,通过统一的区块链接入服务,接入区块链网络,功能包含第一层、第二层、第三层、第五层和第六层,如图9所示。另一种是含有区块链节点,功能包括第一层、第二层、第三层、第四层、第五层、第六层,如图10所示,第一层不是网络。
具体实施例如下:
通过本发明搭建的四层辅助业务链的区块链P2P网络,企业主体之间可以根据供应链生态的各种业务需要,在满足企业商业秘密和隐私保护策略的前提下,非常方便地安全地进行各种要求的交互数据。
如图7所示,对于仅适合在少数相关方保持一致,不能全网分布一致的数据,可以通过第三层网络完成,实现相关节点间的数据一致,不可更改。
对于正式的交易结果,需要全网一致,不可更改,不可删除的见证数据,可以通过第四层(传统区块链层)实现。
对于全局配置信息,必须全局公开的,统一编码的数据,可以通过第五层网络实现。
对于仅仅需要在多个主体之间,进行业务协调的通知信息推送,可以通过第六层网络实现。
通过本发明的多层区块链网络技术方案,可以完全满足业务主体在供应链生态中的各种业务需要,在技术上打通了供应链生态经济共同体中的的各个主体,使得基于供应链生态的联盟链应用得以真正落地。
传统区块链层的第三层已有消息连接,其余的第二层,第四层和第五层和第六层通过一个类似抗病毒传播和免疫的算法实现。
应用类似抗病毒传播免疫机制(把信息类比于病毒,一旦被病毒感染,就会产生抗体,下次不会重复感染),把需要传播的信息,在P2P网络中传播。任何一个P2P网络节点,一旦接收到该信息(被该病毒感染),同时会传播到该节点有直接连接的其他节点(类似于将病毒传染给所接触到的人),并会产生对该信息(病毒)的抗体,产生免疫力,一旦有了抗体,就不会再接收和处理该信息。
具体的原理如下:
如图4所示,引入频道,任何节点都会订阅几个特定频道,频道信息在节点间流动,节点收到信息,检查频道是否已订阅,若已订阅,则读取信息。每个频道分配有一对非对称加密算法的公钥/私钥对。订阅该频道的节点持有私钥。放入频道的信息,都用该频道的公钥加密。频道的订阅者,则用其持有的频道私钥解密。
一个节点产生信息之后,首先将信息放入某个频道(打上频道标签),再用该频道的公钥加密信息,然后将频道标签、信息密文打包成一个数据包,并用自己的私钥对该数据包进行签名,然后发送给和自己有直接IP/UDP连接的节点。
任何一个节点收到某条信息,首先验证该信息的签名(见图6)。
A.如果验证通过,先对该信息的数据用哈希散列算法计算该信息的哈希摘要(D),并查询自己抗体库(即曾经收到的信息摘要清单),如果库中已有该摘要,则放弃任何处理(已有抗体,不再被改病毒感染)。反之,则将该摘要(D)加入抗体库(信息摘要清单)。并将该信息发送给和自己有直接IP/UPD连接的其他网络节点(将病毒传染给其他节点)。最后,检查该信息的频道是否订阅,如果是,则将该信息解密,进行后续的处理。
B.如果验证不通过,说明该节点是非法节点,丢弃该信息(不处理该信息,也不传播该信息),并将该发送节点加入黑名单,从而避免女巫攻击。同时将该非法节点ID全网广播,通知其他节点将该恶意节点加入黑名单,并中断和该节点的连接,以避免DDOS拒绝服务攻击。
抗体库中的抗体有存活期(存活期通过配置文件设定,默认是3小时),超过存活期,抗体死亡,从抗体库中移除。以避免抗体库无限制增长,降低***性能。
通过本算法,可以保证把任何一条信息广播给整个P2P网络的所有节点。同时,又只有特定的信息订阅者才能看到(恰当保护了隐私)。通过抗体机制可以有效避免网络广播风暴(任何信息,只能到达一个节点一次,不会无限制重复发送)。
所有节点默认都会订阅自身ID为标签的频道和一个所有节点约定的全网广播频道。
需要全网广播的数据,只需要把数据放入全网广播频道,然后发送给其他节点即可。
需要发送给特定节点的一对一信息,如果该节点和自己有直接的IP/UDP连接,则直接发送。如果没有,则放入目标节点ID为标签的频道中。
任何需要同时发送特定几个节点的数据,只需要把数据放入事先约定的,只有这几个目标节点订阅的频道。然后发送给和自己有直连的节点,消息就会最终到达目的地。
对于需要把数据同时发送给没有事先约定频道的多个目标的情况,如果只是临时一次信息,可以单个目标一一发送。如果需要多次发送,则可以创建一个频道标签,并随机生成一个公钥/私钥对,用自己ID频道的私钥加密,生成密文,然后通过一对一的多次发送,通知目标节点订阅该频道之后,就可以把数据推送到该频道即可。
本发明通过Golang语言和C++语言实现。P2P底层基于以太坊,采用Kademlia算法进行网络节点的发现和维护,完成P2P组网。采用信息传播的类抗病毒信息传播算法。
本发明有如下创新点:
1、基于供应链生态的计算机网络***;
2、多维度点对点(P2P)网络方案;
3、主体间点对点对等分布式的数据和***部署;
4、主体间分层次、分目的的网络数据交互机制;
5、去中心化的商业生态网络;
6、基于供应链生态的联盟区块链;
7、区块链与企业ERP***的集成;
8、类病毒传播免疫算法;
9、频道订阅式信息交互算法;
10、一种新的抗女巫攻击和DDOS拒绝服务攻击方法;
11、通过接入多个区块链节点,经多层辅助业务链的配合,可以轻松实现企业跨区块链交易。
本发明的技术方案集成了企业ERP***和区块链网络,并在此基础上,增加了另外四层P2P网络功能,可以实现供应链生态体系中任何主体之间,金融安全级别的、任何隐私保护策略下的、任意目的信息交互和分布式记账验证。从技术上打通了供应链上主体间的立体信息交互网络,从而实现了真正意义的供应链生态网络***,将极大加快联盟区块链在各个供应链生态场景的应用,加速了去中心化的B2B时代的到来。
以上所述仅为本专利优选实施方式,并非限制本专利范围,凡是利用说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其它相关的技术领域,均属于本专利保护范围。
Claims (10)
1.一种基于供应链生态的联盟链***搭建方法,其特征在于:包括联盟区块链网络和联盟区块链网络的辅助业务网络;所述联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;所述联盟区块链采用供应链生态应用场景的共识机制;所述联盟区块链辅助业务网络采用点对点对等的分布式部署,节点动态组网,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;
所述基于供应链生态的联盟区块链***搭建方法,具体方法如下:
S01.所述联盟区块链***节点对应的主体,包括产业链主体、外部资源提供方和监管机构;
S02.所述联盟区块链采用供应链生态应用场景的共识机制,由与交易相关的主体中的一个共识发起方对应的用户端程序负责打包交易数据;由所述与交易相关的主体对应的区块链节点或委托授权的主体对应的区块链节点负责验证;再由所述共识发起方的用户端程序将交易数据和验证数据一起提交到区块链,进行排序和区块打包,完成区块链记账;
S03.所述联盟区块链辅助业务网络,采用点对点对等的分布式部署;
S04.所述联盟区块链辅助业务网络中的各个用户端节点动态组网,根据联盟规则,可以动态加入和离开网络;
S05.所述联盟区块链辅助业务网络,采用频道订阅机制和类病毒免疫算法实现网络用户端间数据一致;
以上步骤实现所述基于供应链生态的联盟区块链***搭建。
2.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述产业链主体包括:生产制造企业、各级供应商、各级分销商代理商等销售企业、仓储物流企业和最终消费者产业链上商业运营主体。
3.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述外部资源提供方包括金融机构和/或征信机构独立于产业链的外部资源提供方。
4.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述监管机构包括:海关、商检、食品药品监督管理、工商和税务,对供应链施加影响的政府管理机构及社会组织。
5.如权利要求3所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述金融机构包括:商业保理公司、商业银行、信托公司、证券公司,金融机构或类金融机构,包括SPV(载体管理人),为供应链提供资金、信用及现金管理的主体。
6.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述供应链生态应用场景的共识机制,方法和流程如下:
a.每一个所述区块链节点对应一个唯一的标识(ID);
b.所述与交易相关的主体通过对应的区块链节点,来参与区块链共识验证;
c.所述与交易相关的主体中的直接发生交易的主体在区块链外达成交易意向;
d.所述共识发起方用户端程序负责根据交易意向打包交易数据;
e.所述与交易相关的主体对应节点验证交易;
f.所述共识发起方用户端程序将交易数据和验证数据打包,并一起提交到区块链,进行排序和区块打包,完成区块链记账。
7.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述联盟区块链辅助业务网络分布式部署方法,其特征为:
a.每个主体拥有独立的用户端,每个主体持有本用户端的数据,除了与其他用户端之间的信息交互;
b.所述联盟区块链辅助业务网络用户端,是指:由单一主体拥有及控制的,独立于其他主体的,由服务器、存储器、终端等硬件及其运行的相关软件构成,通过同一IP地址实现与其他用户端通信交互的***;
c.用户端功能模块包括:
①开放数据API节点功能模块,负责实现向链上特定主体开放的只读数据查询功能;
②辅助业务节点功能模块,负责完成无需全网分布及一致,只在少数相关用户端保持一致,且不可更改的数据记账;
③区块链节点功能模块,负责完成全网一致、不可更改、不可删除的数据记账;
④全局数据节点功能模块,辅助完成必须统一编码,全网公开的全局共享数据;
⑤消息推送节点功能模块,负责用户端之间进行业务协调的即时消息推送;
d.所述联盟区块链辅助业务网络用户端之间,采用点对点(P2P)通信;
e.所述联盟区块链辅助业务网络用户端之间通信数据,全部采用基于密码学原理的非对称加密技术进行加密;
1).直接采用通信目标的公钥非对称加密,目标主体收到信息,用自身的私钥解密信息;
2).随机生成一个对称密钥,用该随机对称密钥加密数据,再用通信目标的公钥非对称加密随机密钥;目标主体收到信息密文和密钥密文,先用自身私钥解密出随机对称密钥,再用该随机对称密钥解密信息。
8.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述联盟区块链辅助业务网络底层采用Kademlia算法实现点对点动态组网,具体方法如下:
①每个节点维护一个节点列表(k-buckets),记录节点ID和IP/UDP地址,节点列表(k-buckets)里的节点都按最后一次接触的时间倒序排列;
②在公网上(云上)部署至少一个IP地址固定的种子节点,用于协助新节点第一次加入网络;
③当一个新节点首次试图加入网络时,首先连接已知的种子节点;并将这些节点加入自己的节点列表(k-buckets),向节点列表(k-buckets)中的节点发起一次针对自己ID的节点查询请求,从而通过这些种子节点获取一系列与自己距离邻近的其他节点的信息;最后,刷新所有的节点列表(k-buckets),保证自己所获得的节点信息全部都是最新的;
④随机生成一个目标节点ID,向节点列表(k-buckets)中的节点发起一次针对该目标ID的节点查询请求(FINDNODE),从而通过这些节点获取一系列与该目标ID距离邻近的若干其他节点的信息;
⑤向前一步获取的返回结果(节点地址列表)中的节点,继续发送④中的目标节点查询请求(FINDNODE),并根据返回情况更新已连接节点列表(k-buckets),如此递归发送节点查询请求(FINDNODE),直至没有新的返回值;
⑥定期重复④⑤步,直至本节点离开网络。
9.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述频道订阅机制,具体方法如下:
a.任何信息都属于特定的频道(如图4),任何节点都会订阅几个特定频道;频道的共同订阅者,都会收到一致的频道信息;
b.频道信息在节点间流动,节点收到信息,检查频道是否已订阅,若已订阅,则读取信息;
c.每个频道分配有一对非对称加密算法的公钥/私钥对,订阅该频道的节点持有私钥;
d.放入频道的信息,都用该频道的公钥加密;e.频道的订阅者,则用其持有的频道私钥解密信息。
10.如权利要求1所述的基于供应链生态的联盟链***搭建方法,其特征在于,所述类病毒传播免疫算法,具体方法如下:
1)所述联盟链节点产生信息之后,首先将信息放入某个频道(打上频道标签);
2)再用该频道的公钥加密信息,形成信息密文;
3)将频道标签、信息密文打包成一个数据包,并用自己的私钥对该数据包进行签名;
4)将签名后的数据包发送给和自己有直接IP/UDP连接的节点;
5)所述区块链网络P2P节点收到信息,首先用该节点事先公布的公钥验证该信息的签名,
I)如果验证通过,先对该信息的数据用哈希散列算法计算该信息的哈希摘要(D),并查询自己的抗体库(即曾经收到的信息摘要清单),如果库中已有该摘要(D),则放弃任何处理(已有抗体,不再被该病毒感染);反之,则将该摘要(D)加入抗体库(信息摘要清单);并将该信息发送给和自己有直接IP/UPD连接的其他网络节点(将病毒传染给其他节点);最后,检查该信息的频道是否已订阅,如果是,则将该信息解密,进行后续的处理;
II)如果验证不通过,说明该节点是非法节点,丢弃该信息(不处理该信息,也不传播该信息),并将发送该信息的节点加入黑名单,从而避免女巫攻击;同时将该非法节点的ID全网广播,通知其他节点将该非法节点加入黑名单,并中断和该节点的连接,以避免DDOS拒绝服务攻击;
6)抗体库中的抗体有存活期(存活期通过配置文件设定,默认是3小时),超过存活期,抗体死亡,从抗体库中移除,以避免抗体库无限制增长,降低***性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811522240.2A CN109802993B (zh) | 2018-12-13 | 2018-12-13 | 一种基于供应链生态的联盟链搭建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811522240.2A CN109802993B (zh) | 2018-12-13 | 2018-12-13 | 一种基于供应链生态的联盟链搭建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109802993A CN109802993A (zh) | 2019-05-24 |
CN109802993B true CN109802993B (zh) | 2021-06-04 |
Family
ID=66556645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811522240.2A Active CN109802993B (zh) | 2018-12-13 | 2018-12-13 | 一种基于供应链生态的联盟链搭建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109802993B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110189225A (zh) * | 2019-05-27 | 2019-08-30 | 广东兰贝斯科技有限公司 | 一种基于区块链的食品快速交易方法 |
CN110190968B (zh) * | 2019-06-03 | 2021-01-15 | 北京七星华电科技集团有限责任公司 | 区块链大数据安全处理***及方法 |
CN110232572A (zh) * | 2019-06-10 | 2019-09-13 | 深圳市链联科技有限公司 | 一种联盟区块链***中的交易实现方法 |
CN111133428B (zh) * | 2019-08-27 | 2023-07-04 | 创新先进技术有限公司 | 在区块链中注册可订阅状态的***和方法 |
CN110572404B (zh) * | 2019-09-12 | 2021-08-24 | 北京笔新互联网科技有限公司 | 一种轻量化区块链网络*** |
CN110781508B (zh) * | 2019-10-25 | 2022-06-03 | 四川长虹电器股份有限公司 | 一种基于区块链技术的个人数据托管方法 |
CN110874798A (zh) * | 2019-10-30 | 2020-03-10 | 链农(深圳)信息科技有限公司 | 一种基于区域链的网络平台及其安全通信方法 |
CN110851423A (zh) * | 2019-11-12 | 2020-02-28 | 北京芯际科技有限公司 | 一种基于区块链的中小企业物流平台搭建的***及其操作方法 |
CN110990408B (zh) * | 2019-12-02 | 2023-09-19 | 中国银行股份有限公司 | 基于区块链的业务信息协同方法、业务***及联盟链 |
CN111182075A (zh) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | 一种fabric区块链网络联盟组网方法 |
CN111478878B (zh) * | 2020-02-28 | 2022-10-21 | 新华三技术有限公司 | 一种防攻击方法及装置 |
CN111383378B (zh) * | 2020-03-11 | 2021-07-30 | 合肥鼎方信息科技有限公司 | 基于区块链架构的门禁识别***信息节点互联方法 |
CN111614761B (zh) * | 2020-05-21 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 区块链消息传输方法、装置、计算机以及可读存储介质 |
CN111597273B (zh) * | 2020-05-26 | 2023-07-21 | 牛津(海南)区块链研究院有限公司 | 一种数据共享方法及供应链金融*** |
CN111797161B (zh) * | 2020-06-16 | 2023-10-13 | 中国人民解放军92493部队参谋部 | 基于区块链技术辅助数据跨网汇交方法及*** |
CN111917774B (zh) * | 2020-07-31 | 2022-02-08 | 平安科技(深圳)有限公司 | 用于区块链的防攻击方法、装置、电子设备及介质 |
CN112055357B (zh) * | 2020-09-16 | 2024-05-03 | 上海电科智能***股份有限公司 | 基于区块链的可信安全高性能智能网联动态组网协作方法 |
CN112883419B (zh) * | 2021-02-03 | 2024-04-19 | 李才美 | 分布式网络中节点之间的数据共识方法、装置及节点设备 |
CN113067838B (zh) * | 2021-06-02 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 跨链交互方法及装置 |
CN113222625A (zh) * | 2021-06-02 | 2021-08-06 | 安徽国科检测科技有限公司 | 一种农产品检测结果的多元异构数据模型及其构建方法 |
CN114244851B (zh) * | 2021-12-24 | 2023-07-07 | 四川启睿克科技有限公司 | 一种基于区块链的数据分发方法 |
CN115174076B (zh) * | 2022-07-25 | 2024-04-12 | 广东科学技术职业学院 | 基于联盟链技术的私有寻踪及边缘计算网络的构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239940A (zh) * | 2017-05-11 | 2017-10-10 | 北京博晨技术有限公司 | 基于区块链***的网络交易方法及装置 |
CN107657438A (zh) * | 2017-09-18 | 2018-02-02 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及*** |
CN108009778A (zh) * | 2017-12-25 | 2018-05-08 | 南京思利华信息科技有限公司 | 一种供应链管理方法 |
CN108206820A (zh) * | 2016-12-20 | 2018-06-26 | 扬智科技股份有限公司 | 网络设备与其传输流封包的解密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10708070B2 (en) * | 2017-05-24 | 2020-07-07 | Nxm Labs Canada Inc. | System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner |
-
2018
- 2018-12-13 CN CN201811522240.2A patent/CN109802993B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206820A (zh) * | 2016-12-20 | 2018-06-26 | 扬智科技股份有限公司 | 网络设备与其传输流封包的解密方法 |
CN107239940A (zh) * | 2017-05-11 | 2017-10-10 | 北京博晨技术有限公司 | 基于区块链***的网络交易方法及装置 |
CN107657438A (zh) * | 2017-09-18 | 2018-02-02 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及*** |
CN108009778A (zh) * | 2017-12-25 | 2018-05-08 | 南京思利华信息科技有限公司 | 一种供应链管理方法 |
Non-Patent Citations (2)
Title |
---|
"n Overview of Smart Contract and Use Cases in Blockchain Technology";Bhabendu Kumar Mohanta,Soumyashree S Panda,Debasish Jena;《2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT)》;20181018;全文 * |
"区块链在金融领域中的应用";许文昊,周芳;《信息化研究》;20180430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109802993A (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109802993B (zh) | 一种基于供应链生态的联盟链搭建方法 | |
Da Xu et al. | Embedding blockchain technology into IoT for security: A survey | |
Fernández-Caramés et al. | A Review on the Use of Blockchain for the Internet of Things | |
Ferrag et al. | Blockchain technologies for the internet of things: Research issues and challenges | |
Jesus et al. | A survey of how to use blockchain to secure internet of things and the stalker attack | |
CN107766542B (zh) | 一种分区的区块链网络及其实现分区查询的方法 | |
Zhang et al. | BaDS: blockchain‐based architecture for data sharing with ABS and CP‐ABE in IoT | |
Schaub et al. | A trustless privacy-preserving reputation system | |
Yavari et al. | An Improved Blockchain‐Based Authentication Protocol for IoT Network Management | |
CN110288480B (zh) | 一种区块链的私密交易方法及装置 | |
Wang et al. | Distributed meter data aggregation framework based on Blockchain and homomorphic encryption | |
Zhong et al. | Distributed blockchain‐based authentication and authorization protocol for smart grid | |
Varshney et al. | Authentication & encryption based security services in blockchain technology | |
CN109741068B (zh) | 网银跨行签约方法、装置及*** | |
CN112417512B (zh) | 一种基于区块链的跨境贸易隐私数据管理***及方法 | |
Goyal et al. | Blockchain as a solution for security attacks in named data networking of things | |
Li et al. | Logisticschain: a blockchain‐based secure storage scheme for logistics data | |
Sankar et al. | Security improvement in block chain technique enabled peer to peer network for beyond 5G and internet of things | |
Sharma et al. | A Detail dominant approach for IoT and blockchain with their research challenges | |
Yu et al. | Blockchain technology for the 5g-enabled internet of things systems: Principle, applications and challenges | |
CN113259454B (zh) | 跨链交互方法及装置 | |
Huang et al. | zkChain: A privacy‐preserving model based on zk‐SNARKs and hash chain for efficient transfer of assets | |
Deebak et al. | Healthcare applications using blockchain with a cloud-assisted decentralized privacy-preserving framework | |
Dixit et al. | A survey of cyber attacks on blockchain based IoT systems for industry 4.0 | |
Song et al. | Research on Blockchain-Based FinTech Trust Evaluation Mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221116 Address after: 518000 A815, Building 5, Shenzhen Bay Science and Technology Ecological Park, No. 26, Gaoxin South Ring Road, High tech Zone Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Yinhengtong Trading Co.,Ltd. Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Patentee before: SHENZHEN NETCHAINS FINTECH Co.,Ltd. |