一种具有千万级TPS合约处理能力的处理装置转让专利

申请号 : CN201910372310.9

文献号 : CN110149323B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李宝次

申请人 : 山东公链信息科技有限公司

摘要 :

本申请的具有千万级TPS合约处理能力的处理装置,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,保证合约内容不对其他区块链节点公开,各个区块链节点只需要使用合约发起者和合约参与者的公钥对合约发起者和合约参与者的签名进行解密,防止某一方进行交易作弊操作,日志合约主要用于跨节点多路支付过程中,保证中间节点的资金安全,和跨节点支付的正常运行,不需要得知具体的内容,解决了现有的区块链合约签订方法,将合约内容直接广播在区块链中,合约签订者难以使用区块链进行一些私密合约的签订的问题。

权利要求 :

1.一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

Web客户端,为用户提供与云端进行交互的本地服务的网页浏览器程序,并根据用户具体要求 移动代理 执行相应的操作,所述操作包括用户上传文件、生成区块链账本地址和发起完整性校验操作;

当用户对数据进行操作时,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,用户首先连接云端的 移动代理,再选择对应的模块进行操作;

TPS合约模块,TPS合约是区块链网络的协议核心,是双方能够进行快速、安全交易的重要保障;TPS合约分为通道合约、账本合约和日志合约三种不同类型合约,通道合约将用于区块链网络中交易用户双方创建支付通道,账本合约将用于交易用户双方互相转账操作,除基本的说明交易双方转账金额之外,还将采取措施保证双方交易的安全性,防止某一方进行交易作弊操作,日志合约主要用于跨节点多路支付过程中,保证中间节点的资金安全,和跨节点支付的正常运行;

移动代理服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立Merkle哈希树操作,区块链 API 接口主要负责与区块链网络进行交互;

区块链基础服务模块:由多租户各自的移动代理节点共同维护的一条区块链,合约发起者将合约广播至区块链之前对合约进行加密,各个合约参与者的参与者公钥与合约为一一对应的关系,根据区块链客户端下载信息,安装与新区块的格式对应的区块链客户端,以通过区块链客户端根据所述新区块的格式生成新区块内容,以使其他节点在判断所述新区块内容符合更新TPS合约后记入区块链账本中,各个参与者公钥分别加密对应的合约,从而得到多份经过加密的合约。

2.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述操作包括用户上传文件、生成区块链账本地址和发起完整性校验操作,具体包括:

上传文件:将文件上传至云端 移动代理 中 C#服务器,设定文件划分的条件,指定数据块的大小,进行预处理,最后交由区块链 API 接口存储至 HDFS 集群,所述移动代理将所述内容资源在本服务域内的MA节点分片MA;

下载文件:用户向 移动代理 中 C# 服务器发出获取文件请求,C# 务器返回文件 HDFS地址,用户直接通过 HDFS 地址向 HDFS 存储集群获取源文件;发起完整性校验:用户根据文件的总块数,选取合适块数发送给 移动代理 进行完整性;

注册区块链账本地址:提供用户名和密码,交由 移动代理 中区块链 API 接口完成注册。

3.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述当用户对数据进行操作时,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,用户首先连接云端的 移动代理,再选择对应的模块进行操作,具体包括:从所述TPS合约中随机选出一个TPS合约,得到第一TPS合约;控制区块链中第一节点通过所述第一TPS合约对用户输入的信息进行处理,得到输出信息;

所述移动代理生成所述内容资源的资源特征值返回给所述用户节点,对所述合约内容进行哈希运算得到第一哈希值,使用发起者私钥对所述第一哈希值加密得到发起者签名,将所述发起者签名和各份经过加密的合约广播至区块链中,所述移动代理将所述内容资源的资源特征值和分片MA信息MA到串联链。

4.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述TPS合约模块,TPS合约是区块链网络的协议核心,是双方能够进行快速、安全交易的重要保障,具体包括:TPS合约是一个接口,而具体的功能则在对应的通道合约,账本合约和日志合约这几个类中分别实现;

同时,这个接口又被日志合约类使用,这个接口代表一个日志合约是否要被执行的条件,调用TPS合约将所述资源特征值和所述内容资源的利益分配规则上传至公有链,特别地,Transfer Condition 类实现了这个接口,并在日志合约中使用。

5.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述移动代理服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立 MERKLE哈希树操作,区块链 API 接口主要负责与区块链网络进行交互,具体包括:基础使用哈希函数、加密与签名算法密码学技术,定义区块格式与链式结构记录交易、账本状态,使用一种基于 Merkle 树与前缀树的MPT(Merkle Patricia Tree)结构保存账本状态相关数据,在接口层,交易服务器程序是对 Fabric 所提供的编程接口的一次封装,在 Fabric 中是通过部署、执行链码来完成交易的,通过对操作链码 API 的封装,方便了开发者使用RPC进行通信,简化了调用过程,一方面可以实现对交易客户端请求的转化和分发,另一方面将客户端程序与 Fabric 基础区块链服务进行隔离。

6.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述移动代理 服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立 MERKLE哈希树操作,区块链 API 接口主要负责与区块链网络进行交互,具体包括:创建TPS合约:使用区块链账户地址,调用TPS合约 ABI,消耗一定的代币生成新的合约对象地址,用来保存 MERKLE哈希树文件根哈希值;

注册区块链账户地址:每个区块链账户由一对公私钥组成,而账户地址是公钥衍生得到的 20 字节,账户运用公钥加密来签署交易以便区块链网络能安全验证发送者的身份,私钥通过用户提供的密码进行加密,注册后所有的区块链操作都基于该地址,同一用户可以注册多个账户地址,防止隐私泄露;

查询区块链上信息:根据交易记录事务Id 或者区块号查询链上信息,用来追踪文件的改动和事后审计;

文件预处理:将文件按照用户指定的格式划分为数据块,生成数字标签,计算MERKLE哈希树根哈希值;

验证挑战:根据 Web 客户端的挑战数,并构造相应的随机数,向HDFS集群获取源文件块,计算证据,验证数据完整性。

7.如权利要求1所述的一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:

所述区块链基础服务模块:由多租户各自的移动代理节点共同维护的一条区块链,合约发起者将合约广播至区块链之前对合约进行加密,各个合约参与者的参与者公钥与合约为一一对应的关系,根据所述区块链客户端下载信息安装与所述新区块的格式对应的区块链客户端,以通过区块链客户端根据所述新区块的格式生成新区块内容,以使其他节点在判断所述新区块内容符合所述更新TPS合约后记入区块链账本中,各个参与者公钥分别加密对应的合约,从而得到多份经过加密的合约,具体包括:部署TPS合约:用户将TPS合约部署到区块链网上,返回合约地址,用户通过合约地址和合约 ABI 调用合约,执行相关操作;

链上信息查询:通过交易事务Id 查询区块链网络的信息,且信息不可篡改和删除;

链上代币转账:区块链网络通过经济激励的方式奖励代币给获取打包权的租户移动代理 节点,且该代币可以在区块链账户地址间交易。

说明书 :

一种具有千万级TPS合约处理能力的处理装置

技术领域

[0001] 本发明属于区块链技术领域,具体涉及一种具有千万级TPS合约处理能力的处理装置。

背景技术

[0002] 在实际使用过程中,区块链节点可能出现各种异常情况。如黑客攻击,连 续建立与断开连接,造成被攻击的区块链节点大量资源消耗在连接上,区块链 节点效率降低,甚至不能正常工作,进而影响整个区块链的效率和安全。
[0003] 目前区块链技术人才之所以难求,因为大部分使用了小语种计算机语言开发及跨领域技术障碍,多原链打破了这一行业限制,业务层API开发接受目前所有计算机语言的开发,任何熟练掌握某一语种的普通程序员就可以在多原链上快速开发实现业务层落地。
[0004] Multiple Atomic Chain(简称MAC,多原链)是开发在比特币和以太坊之外的第三种区块链底层生态系统,致力于拓展区块链技术的商业业务层边界和技术边界,让大众用户用户能够真实的感受到区块链技术的价值,让区块链不在停滞于学术理论层面而是更加直接的业务层到开发业务层的实践中去,多原链的开发将是商业业务层和区块链技术碰撞的火花,也是对区块链现有技术的一种挑战,跳跃出了现有技术领域思维,为区块链3。0生态业务层体系的开创先锋。多原链系统中,可以通过价值传输协议来实现点对点的价值转移,高性能、高吞吐量、快速安全是多原链的特性,从而用多原链的底层构建出一个支持多个行业领域(金融、物联网、供应链、社交、游戏、电商、溯源、交易等)的去中心化的场景业务层开发生态平台。
[0005] 在多原链的公链(PublicBlockchain 系统中,全世界任何人都可读取、任何人都能发送交易且交易能获得有效确认、任何人都能参与其中共识过程的区块链(共识过程决定哪个区块可被添加到区块链中和明确当前状态)。作为中心化或者准中心化信任的替代物,公共区块链的安全由“加密数字经济”采取工作量证明机制或权益证明机制等方式,将经济奖励和加密数字验证结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励,与对共识过程作出的贡献成正比。这些区块链通常被认为是“完全去中心化”的。
[0006] 去中心化交易平台等众多去中心化的应用底层开发,利用多原链的底层技术,进行去中心化平台的开发,对于去中心化的应用最主要的问题就是关于性能的问题,通过MAC多原链高性能可以解决这一问题痛点,高TPS可以解决诸如金融物流溯源等产业的需求,真正的实现商业级的应用,让区块链真正的进入3.0的时代,MAC多原链让区块链去中心化的技术从技术理论层面到实际应用层面,商业应用是对技术性能的最大考核标准,目前我们已经拥有了一些应用开发商基于多原链进行应用,未来我们还将会接入更多的应用,从全生态的产业链开始,进行全产业链的底层搭建开发,目前的区块链2.0时代都停留在发TOKEN开发钱包等简单的应用,无法真正的接入实体经济的应用。

发明内容

[0007] 因此,为了解决当前区块链数据通信环节中的整合困难、准确性低的问题,本发明提出了一种具有千万级TPS合约处理能力的处理装置。
[0008] 本发明请求保护一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:
[0009] Web 客户端,为用户提供与云端进行交互的本地服务的网页浏览器程序,并根据用户具体要求 移动代理 执行相应的操作,所述操作包括用户上传文件、生成区块链账本地址和发起完整性校验等操作;
[0010] 当用户对数据进行操作时,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,用户首先连接云端的 移动代理,再选择对应的模块进行操作;
[0011] TPS合约模块,TPS合约是区块链网络的协议核心,是双方能够进行快速、安全交易的重要保障;
[0012] TPS合约分为通道合约、账本合约和日志合约三种不同类型合约,通道合约将用于区块链网络中交易用户双方创建支付通道,账本合约将用于交易用户双方互相转账操作,除基本的说明交易双方转账金额之外,还将采取措施保证双方交易的安全性,防止某一方进行交易作弊操作,日志合约主要用于跨节点多路支付过程中,保证中间节点的资金安全,和跨节点支付的正常运行;
[0013] 移动代理 服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立Merkle哈希树等操作,区块链 API 接口主要负责与区块链网络进行交互;
[0014] 区块链基础服务模块:由多租户各自的移动代理节点共同维护的一条区块链,合约发起者将合约广播至区块链之前对合约进行加密,各个合约参与者的参与者公钥与合约为一一对应的关系,根据所述区块链客户端下载信息安装与所述新区块的格式对应的区块链客户端,以通过区块链客户端根据所述新区块的格式生成新区块内容,以使其他节点在判断所述新区块内容符合所述更新TPS合约后记入区块链账本中,各个参与者公钥分别加密对应的合约,从而得到多份经过加密的合约。
[0015] 本申请的具有千万级TPS合约处理能力的处理装置,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,保证合约内容不对其他区块链节点公开,各个区块链节点只需要使用合约发起者和合约参与者的公钥对合约发 起者和合约参与者的签名进行解密,防止某一方进行交易作弊操作,日志合约主要用于跨节点多路支付过程中,保证中间节点的资金安全,和跨节点支付的正常运行,不需要得知具体的内容,解决了现有的区块链合约签订方法,将合约内容直接广播在区块链中,合约签订者难以使用区块链进行一些私密合约的签订的问题。

附图说明

[0016] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需 要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0017] 图1为本发明所涉及的一种千万级TPS合约处理能力的处理装置的模块结构图;
[0018] 图2为本发明所涉及的一种千万级TPS合约处理能力的处理装置各模块的工作流图。

具体实施方式

[0019] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示 了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不 应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地 理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0020] 参照附图1为本发明所涉及的一种千万级TPS合约处理能力的处理装置的模块结构图。
[0021] 本发明请求保护一种具有千万级TPS合约处理能力的处理装置,其特征在于,包括:
[0022] Web 客户端,为用户提供与云端进行交互的本地服务的网页浏览器程序,并根据用户具体要求 移动代理 执行相应的操作,所述操作包括用户上传文件、生成区块链账本地址和发起完整性校验等操作;
[0023] 当用户对数据进行操作时,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,用户首先连接云端的 移动代理,再选择对应的模块进行操作;
[0024] TPS合约模块,TPS合约是区块链网络的协议核心,是双方能够进行快速、安全交易的重要保障;
[0025] TPS合约分为通道合约、账本合约和日志合约三种不同类型合约,通道合约将用于区块链网络中交易用户双方创建支付通道,账本合约将用于交易用户双方互相转账操作,除基本的说明交易双方转账金额之外,还将采取措施保证双方交易的安全性,防止某一方进行交易作弊操作,日志合约主要用于跨节点多路支付过程中,保证中间节点的资金安全,和跨节点支付的正常运行;
[0026] 移动代理 服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立Merkle哈希树等操作,区块链 API 接口主要负责与区块链网络进行交互;
[0027] 区块链基础服务模块:由多租户各自的移动代理节点共同维护的一条区块链,合约发起者将合约广播至区块链之前对合约进行加密,各个合约参与者的参与者公钥与合约为一一对应的关系,根据所述区块链客户端下载信息安装与所述新区块的格式对应的区块链客户端,以通过区块链客户端根据所述新区块的格式生成新区块内容,以使其他节点在判断所述新区块内容符合所述更新TPS合约后记入区块链账本中,各个参与者公钥分别加密对应的合约,从而得到多份经过加密的合约。
[0028] 优选的,所述操作包括用户上传文件、生成区块链账本地址和发起完整性校验等操作,具体包括:
[0029] 上传文件:将文件上传至云端 移动代理中 C#服务器,设定文件划分的条件,指定数据块的大小,进行预处理,最后交由区块链 API 接口存储至 HDFS 集群,所述移动代理将所述内容资源在本服务域内的MA节点分片MA;
[0030] 下载文件:用户向 移动代理 中 C# 服务器发出获取文件请求,C# 务器返回文件 HDFS地址,用户直接通过 HDFS 地址向 HDFS 存储集群获取源文件。
[0031] 发起完整性校验:用户根据文件的总块数,选取合适块数发送给 移动代理 进行完整性;
[0032] 注册区块链账本地址:提供用户名和密码,交由 移动代理 中区块链 API 接口完成注册。
[0033] 进一步地,所述当用户对数据进行操作时,服务域中的移动代理接收用户节点上传的内容资源,从预设多个TPS合约中随机选择出预设数量的TPS合约,用户首先连接云端的 移动代理,再选择对应的模块进行操作,具体包括:
[0034] 从所述TPS合约中随机选出一个TPS合约,得到第一TPS合约;控制区块链中第一节点通过所述第一TPS合约对用户输入的信息进行处理,得到输出信息;
[0035] 所述移动代理生成所述内容资源的资源特征值返回给所述用户节点,对所述合约内容进行哈希运算得到第一哈希值,使用发起者私钥对所述第一哈希值加密得到发起者签名,将所述发起者签名和各份经过加密的合约广播至区块链中,所述移动代理将所述内容资源的资源特征值和分片MA信息MA到串联链。
[0036] 优选的,所述TPS合约模块,TPS合约是区块链网络的协议核心,是双方能够进行快速、安全交易的重要保障,具体包括:
[0037] TPS合约是一个接口,而具体的功能则在对应的通道合约,账本合约和日志合约这几个类中分别实现。同时,这个接口又被日志合约类使用,这个接口代表一个日志合约是否要被执行的条件,调用TPS合约将所述资源特征值和所述内容资源的利益分配规则上传至公有链,特别地,Transfer Condition 类实现了这个接口,并在日志合约中使用。
[0038] 物流网络进行信息的传递,不排除有恶意节点对加密信息的拦截和破坏,为解决物流服务交易信息的安全传递及不可篡改性问题,每个物流节点在对上一节点物流服务交易信息获取分析后加密,必须附上该节点的数字签名。各节点传递物流服务交易信息包含一系列的密钥对,每个密钥对包括一个私钥和一个公钥。私钥(k)通常为一串随机数,生成所必需的签名以证明物流服务信息的正确性。使用椭圆曲线加密函数产生一个公钥(K)。公钥(K)再进行单向加密哈希函数生成加密摘要(A)。
[0039] 进一步地,所述移动代理服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立 MERKLE哈希树等操作,区块链 API 接口主要负责与区块链网络进行交互,具体包括:
[0040] 基础使用哈希函数、加密与签名算法等密码学技术,定义区块格式与链式结构记录交易、账本状态等,使用一种基于 Merkle 树与前缀树的MPT(Merkle Patricia Tree)结构保存账本状态等相关数据,在接口层,交易服务器程序是对 Fabric 所提供的编程接口的一次封装,在 Fabric 中是通过部署、执行链码来完成交易的,通过对操作链码 API 的封装,方便了开发者使用RPC进行通信,简化了调用过程,一方面可以实现对交易客户端请求的转化和分发,另一方面将客户端程序与 Fabric 基础区块链服务进行隔离。
[0041] 优选的,所述移动代理 服务器端,主要包括 C# 服务器端和区块链 API 接口,C# 服务器端对从 Web客户端发送的请求进行响应,主要进行文件预处理、响应完整性校验、建立 MERKLE哈希树等操作,区块链 API 接口主要负责与区块链网络进行交互,具体包括:
[0042] 创建TPS合约:使用区块链账户地址,调用TPS合约 ABI,消耗一定的代币生成新的合约对象地址,用来保存 MERKLE哈希树文件根哈希值。
[0043] 注册区块链账户地址:每个区块链账户由一对公私钥组成,而账户地址是公钥衍生得到的 20 字节,账户运用公钥加密来签署交易以便区块链网络能安全验证发送者的身份,私钥通过用户提供的密码进行加密,注册后所有的区块链操作都基于该地址,同一用户可以注册多个账户地址,防止隐私泄露;
[0044] 查询区块链上信息:根据交易记录事务Id 或者区块号查询链上信息,用来追踪文件的改动和事后审计;
[0045] 文件预处理:将文件按照用户指定的格式划分为数据块,生成数字标签,计算MERKLE哈希树根哈希值;
[0046] 验证挑战:根据 Web 客户端的挑战数,并构造相应的随机数,向HDFS集群获取源文件块,计算证据,验证数据完整性。
[0047] 进一步地,所述区块链基础服务模块:由多租户各自的移动代理节点共同维护的一条区块链,合约发起者将合约广播至区块链之前对合约进行加密,各个合约参与者的参与者公钥与合约为一一对应的关系,根据所述区块链客户端下载信息安装与所述新区块的格式对应的区块链客户端,以通过区块链客户端根据所述新区块的格式生成新区块内容,以使其他节点在判断所述新区块内容符合所述更新TPS合约后记入区块链账本中,各个参与者公钥分别加密对应的合约,从而得到多份经过加密的合约,具体包括:
[0048] 部署TPS合约:用户将TPS合约部署到区块链网上,返回合约地址,用户通过合约地址和合约 ABI 调用合约,执行相关操作;
[0049] 链上信息查询:通过交易事务Id 查询区块链网络的信息,且信息不可篡改和删除;
[0050] 链上代币转账:区块链网络通过经济激励的方式奖励代币给获取打包权的租户移动代理 节点,且该代币可以在区块链账户地址间交易。
[0051] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。