一种区块链的匿名调用方法及系统与流程

文档序号:16063463发布日期:2018-11-24 12:25阅读:462来源:国知局

本发明涉及一种区块链的匿名调用方法及系统,属于区块链技术领域。

背景技术

区块链上的交易信息分成两部分,一部分是账本信息,另一部分是用户发起的交易信息。现有的绝大部分的区块链的账本都是公开的。每一笔交易中对余额的修改或者对合约状态的修改都是可见的。虽然每个用户只是用一个钱包地址来对区块链进行调用,这样可以达到某种程度的匿名。但是,这种半匿名的方式可以很方便的通过同一个钱包地址的交易历史来获得该钱包地址对应的用户的信息,特别是当这个钱包地址与具体的物理世界中的服务相对应起来的时候,要获得该钱包地址的用户信息就会很容易。另外,不断演进的人工智能技术也可以很方便的从区块链的交易历史中挖掘出有效的用户信息。

目前现有的解决方案是zcash提出的通过零知识证明的方式来实现对虚拟货币转账匿名的方法。但是上述现有技术存在以下缺陷:(1)零知识证明的运算量比较大,大大增加了区块处理的时间和复杂度;(2)零知识证明只能用于虚拟货币的转账,没法实现复杂的调用,比如智能合约的调用及智能合约状态的变化;(3)尽管zcash可以隐藏交易的转账信息,但是用户发起交易这个动作本身是公开可见的,而在有些情况下,这个动作本身就能披露用户的信息;(4)侧链通过维护一个与主链相对独立的区块链来实现对交易账本信息的保护,但这种匿名是通过牺牲安全性来达到的,侧链的节点数通常远小于主链,它所能提供的安全性大大小于主链能提供的安全性,当侧链与主链进行数据同步的时候,用户交易的信息和调用动作会得到披露。

因此,现有技术当中急需要一种能够更好的保护用户信息的区块链匿名调用方法及系统。



技术实现要素:

针对现有技术存在的上述缺陷,本发明提出了一种新的区块链的匿名调用方法及系统。本发明能够实现对交易请求的发起动作本身的匿名化处理,并隐藏交易请求的内容,从根本上保证了用户信息的安全性。

本发明是采用以下的技术方案实现的:

一种区块链的匿名调用方法,包括以下步骤:

递交交易请求到公有链;

公有链的服务节点将交易请求的源地址替换成自己的地址并附加签名;

交易请求由公有链发送到私有链;

私有链的处理节点对交易请求进行解密和处理。

作为优选,交易请求为对私有链的调用请求。

作为优选,交易请求中的信息包括目标地址以及负载。

作为优选,负载为经过加密处理的数据,数据信息包括源地址、调用信息、参数以及签名。

作为优选,公有链的网络为p2p网络,私有链共享公有链的p2p网络。

作为优选,负载通过非对称加密算法进行加密。

作为优选,公有链通过预先定义的协议将交易请求发送到私有链,预先定义的协议为根据私有链的地址将交易请求导向到相应的私有链中。

作为优选,交易请求的完整性通过公有链附加的签名验证。

一种区块链的匿名调用系统,包括公有链和私有链;

公有链包括多个服务节点,服务节点用于提供交易请求的验证和区块;

私有链包括多个从公有链中的服务节点选取的处理节点,处理节点通过公有链的p2p网络转发,私有链中设置有智能合约;

公有链和私有链之间通过通讯通道连接通信。

作为优选,多个处理节点之间通过预定义的共识方式达成共识。

本发明的有益效果是:

(1)本发明所述的一种区块链的匿名调用方法通过公有链对交易请求源地址的替换实现了对发起交易请求这个动作本身的匿名化处理,从根本上保证了用户信息的安全。

(2)本发明所述的一种区块链的匿名调用方法通过对交易请求中的负载进行加密处理的方式实现了交易信息的保密,保证了交易信息在传递过程中的安全性。

(3)本发明所述的一种区块链的匿名调用方法提供了快速的对交易请求的处理速度,私有链的处理速度可以独立于公有链的配置,处理速度比公有链快,比如:公有链每10s生成一个区块,私有链可以每5s生成一个区块。

(4)本发明所述的一种区块链的匿名调用方法通过公有链对交易请求附加签名的方式实现了信息在传递过程中的一致性。

(5)本发明所述的一种区块链的匿名调用系统设置有与公有链相呼应的私有链,私有链的处理节点是从公有链的服务节点中选取的,该私有链不是一个独立的区块链,是建立在公有链的基础之上的,使得公有链中的交易请求可以通过与私有链预先定义的协议进行通讯。

(6)本发明所述的一种区块链的匿名调用方法及系统,私有链共享公有链的p2p网络,私有链的处理节点之间不互相通信,而是通过公有链的p2p网络转发,保证了私有链的安全性不会因为节点数少而降低。

附图说明

图1是本发明一种区块链的匿名调用方法的原理流程图。

图2是本发明一种区块链的匿名调用系统的结构原理图。

图中:1、公有链;2、私有链;3、服务节点;4、处理节点。

具体实施方式

为了使本发明目的、技术方案更加清楚明白,下面结合附图,对本发明作进一步详细说明。本发明的技术方案使用了非对称加密算法对交易请求中的负载进行加密处理;公有链中包括服务节点,该服务节点是指能够接入交易请求以及处理的节点;私有链中包括处理节点,该处理节点是指能够接收、解密交易请求并调用智能合约的节点。

实施例一:

如图1所示,一种区块链的匿名调用方法,包括以下步骤:递交交易请求到公有链;公有链的服务节点将交易请求的源地址替换成自己的地址并附加签名;交易请求由公有链发送到私有链;私有链的处理节点对交易请求进行解密和处理。交易请求为对私有链的调用请求,调用私有链中的智能合约。交易请求中的信息包括目标地址以及负载,但不仅限于目标地址和负载。负载为经过加密处理的数据,负载是通过非对称加密算法进行加密的,数据信息包括源地址、调用信息、参数以及签名,该参数为智能合约函数调用时的参数,签名用于验证交易请求中数据的一致性。公有链的网络为p2p网络,私有链共享公有链的p2p网络。公有链通过预先定义的协议将交易请求发送到私有链,预先定义的协议为根据私有链的地址将交易请求导向到相应的私有链中。交易请求的完整性通过公有链附加的签名验证。

如图2所示,一种区块链的匿名调用系统,包括公有链1和私有链2;

公有链1包括多个服务节点3,服务节点3用于提供交易请求的验证和区块;私有链2包括多个从公有链1中的服务节点3选取的处理节点4,处理节点4通过公有链1的p2p网络转发,私有链2中设置有智能合约;公有链1和私有链2之间通过通讯通道连接通信。多个处理节点4之间通过预定义的共识方式达成共识,预定义的共识方式可由私有链的创建者根据需要进行选择的,共识方式包括pow(工作量证明)、pos(股权或权益证明共识机制)、dpos(受托人共识机制)、pbft(拜占庭机制)。

实施例二:

本实施例列举了调用dapp私有链的实施例。

本实施例中的私有链实现一个智能合约来处理去中心化应用(dapp)的业务逻辑。

用户将调用dapp应用的交易请求递交到公有区链。这个交易请求中一般包括但不限于目标地址和负载,负载一般包括但不限于源地址、调用信息、参数以及签名。负载是已经经过加密处理的数据。使用的加密算法是非对称加密算法。

用户对dapp的调用请求会随机发送到其中一个公有链的服务节点,该服务节点可接入发送过来的交易请求。这个服务节点选择的随机性可以是用户的自由选择,也可以是系统的随机制定。

公有链的服务节点处理用户的交易请求,并将交易请求中的源地址替换成服务节点自己的地址,并附加一个签名。

当这个交易请求在p2p网络中传播的时候,其他的节点不再对其修改。这个交易请求的完整性由服务节点的签名信息验证。

交易请求通过私有链和公有链的通讯通道发送到私有链的处理节点,根据目标地址,也就是智能合约地址的不同,导向到相应的私有链中。

私有链的处理节点获得负载并解密,对用户的交易请求进行处理,解密方法即非对称加密算法的解密方法。

私有链的多个处理节点之间通过预定义的共识方式达到共识。

通过本发明的上述方法,用户的交易请求在公有链的p2p网络中传播时,既隐藏了用户的交易信息,也隐藏了用户的调用dapp这个动作本身;私有链和公有链可以通过定期刷新的机制来实现数据的最终性。

以上所述仅为本发明的较佳实施例而己,并不以本发明为限制,凡在本发明的精神和原则之内所作的均等修改、等同替换和改进等,均应包含在本发明的专利涵盖范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1