基于多重签名的数字货币钱包业务管理方法及系统与流程

文档序号:15888737发布日期:2018-11-09 19:55阅读:496来源:国知局
基于多重签名的数字货币钱包业务管理方法及系统与流程

本发明涉及数字货币技术领域,特别是涉及一种基于多重签名的数字货币钱包业务管理方法及其系统。

背景技术

现有数字货币如btc、eth、xrp,目前有两种常用的管理方式,一种是用户本地创建数字货币钱包,同时将数字货币转移至该钱包,确保用户绝对拥有权;另一种方式是用户将数字货币托管至交易平台,由交易平台代为管理。

而以上两种方式下,均存在安全隐患。第一种方式,用户需要自行保管密钥,一旦密钥丢失或者泄露,则用户无法登录钱包客户端来找回丢失的私钥,导致财产损失;第二种方式,交易所一旦被攻击或出现监守自盗行为时,由于私钥保存与交易所内,故容易导致私钥丢失,存在安全隐患,丢失的私钥也无法找回。由此可见,以上两种方式下,私钥出现丢失后找回难度大。

并且,以上两种方式下,私钥仅由用户或交易所单方持有,在需要查询业务记录时,一旦用户或交易所方出现业务错误或者其他问题导致无法查询的话,则很难进行交易记录追溯,使得数字货币保存的安全性和可靠性低。

因此,如何提供一种可靠性高的基于多重签名的数字货币钱包业务管理方法及其系统是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种基于多重签名的数字货币钱包业务管理方法及其系统,在数字货币业务处理过程中,通过至少两方钱包业务方进行多重签名,提高数字货币业务的可追溯性,数字货币保存的可靠性和安全性高。

为解决上述技术问题,本发明提供了一种基于多重签名的数字货币钱包业务管理方法,应用于基于多重签名的数字货币钱包业务管理系统,所述系统包括合约验证服务器以及三个分别持有一组密钥的钱包业务方终端,三个所述钱包业务方终端分别为:钱包客户端、钱包业务监管方终端和钱包服务提供方终端;所述方法包括:

所述钱包客户端发起业务请求至所述钱包服务提供方终端;

所述钱包服务提供方终端以及依据所述业务请求的类型选择的所述钱包客户端或所述钱包业务监管方终端,分别依据自身持有的私钥对业务请求数据进行数字签名,得到多重签名的业务请求数据;

所述钱包服务提供方终端将所述多重签名的业务请求数据发送至所述合约验证服务器;

所述合约验证服务器依据业务相关的合约对所述多重签名的业务请求数据进行验证,验证完成后进行相应的业务处理。

优选地,得到多重签名的业务请求数据的过程具体为:

所述钱包客户端接收输入的转账信息后,使用自身持有的私钥对所述转账信息进行数字签名,得到第一签名数据并发送至所述钱包服务提供方终端;

所述钱包服务提供方终端使用自身持有的私钥对所述第一签名数据进行数字签名,得到所述多重签名的业务请求数据。

优选地,所述合约验证服务器内包括支付合约,所述支付合约包含用户身份权限验证规则、数字货币钱包验证规则、交易信息验证规则以及所述钱包客户端和所述钱包服务提供方终端的公钥。

优选地,还包括:

所述合约验证服务器验证所述多重签名的业务请求数据的过程中,若合约确认该笔转账交易存在风险,所述合约验证服务器触发紧急干预进程,发送携带有对应的所述钱包业务监管方终端数字签名的指令至所述钱包服务提供方终端,将所述钱包服务提供方终端状态设置为不可用。

优选地,所述业务请求包括客户端密钥重置请求,所述客户端密钥重置请求内包括本地新生成的公钥;得到多重签名的业务请求数据的过程具体为:

所述钱包服务提供方终端接收所述钱包客户端发起的客户端密钥重置请求后,判断是否批准所述客户端密钥重置请求,若批准,则使用自身持有的私钥对所述客户端密钥重置请求的数据进行数字签名;

所述钱包服务提供方终端将自身签名后的业务请求数据和所述客户端密钥重置请求发送至所述钱包业务监管方终端;

所述钱包业务监管方终端判断是否批准所述客户端密钥重置请求,若批准,所述钱包业务监管方终端使用自身持有的私钥对所述钱包服务提供方终端签名后的业务请求数据进行数字签名,得到所述多重签名的业务请求数据并返回所述钱包服务提供方终端。

优选地,所述合约验证服务器内包括身份合约,所述身份合约包括用户实名身份信息以及所述钱包服务提供方终端和所述钱包业务监管方终端的公钥。

优选地,所述钱包服务提供方终端为商业银行服务终端,所述钱包业务监管方终端为中央银行服务终端。

为解决上述技术问题,本发明提供了一种基于多重签名的数字货币钱包业务管理系统,包括合约验证服务器以及三个分别持有一组密钥的钱包业务方终端;三个所述钱包业务方终端包括:

钱包客户端,用于发起业务请求至钱包服务提供方终端;依据发起的业务请求类型,判断是否使用自身持有的私钥对业务请求数据进行数字签名,若是,则使用自身持有的私钥对业务请求数据进行数字签名并发送至钱包服务提供方终端,若否,直接发送未签名的所述业务请求数据至所述钱包服务提供方终端;

所述钱包服务提供方终端,用于使用自身持有的私钥对接收到的所述业务请求数据进行数字签名;依据所述钱包客户端发起的业务请求类型,选择性地将自身持有的所述业务请求数据发送至钱包业务监管方终端,并接收所述钱包业务监管方终端返回的签名后的所述业务请求数据;签名业务完成后,将得到的多重签名的所述业务请求数据发送至所述合约验证服务器;

所述钱包业务监管方终端,用于接收到所述钱包服务提供方终端发送的所述业务请求数据后,使用自身持有的私钥对所述业务请求数据进行数字签名并发送至所述钱包服务提供方终端;

所述合约验证服务器,用于接收所述多重签名的业务请求数据后,依据业务相关的合约对所述多重签名的业务请求数据进行验证,验证完成后进行相应的业务处理。

本发明提供了一种基于多重签名的数字货币钱包业务管理方法及其系统,三个钱包业务方终端分别生成一组密钥,在业务处理过程中,根据业务类型,选择至少两个钱包业务方终端的私钥来对业务请求数据进行数字签名,之后对多重签名后的数据进行合约验证,验证完成后来进行相应的业务处理。可见,本发明中的每个钱包业务均使用至少两个钱包业务方终端的私钥进行数字签名,这样使得业务完成后,这两个钱包业务方终端内均保存有该条业务的执行记录,后续即使某一钱包业务方终端持有的密钥丢失(例如钱包客户端)或者受到攻击(例如钱包服务提供方终端)而导致无法查询时,也可根据执行该业务的另一个钱包业务方终端保存的执行记录进行追溯,业务追溯性强,私钥丢失后的找回难度小,数字货币保存的可靠性和安全性高。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于多重签名的数字货币钱包业务管理方法的过程的流程图;

图2为本发明提供的一种转账业务的过程的流程图;

图3为本发明提供的一种密钥重置业务的过程的流程图;

图4为本发明提供的一种基于多重签名的数字货币钱包业务管理系统的结构示意图。

具体实施方式

本发明的核心是提供一种基于多重签名的数字货币钱包业务管理方法及其系统,在数字货币业务处理过程中,通过至少两方钱包业务方进行多重签名,提高数字货币业务的可追溯性,数字货币保存的可靠性和安全性高。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种基于多重签名的数字货币钱包业务管理方法,用于基于多重签名的数字货币钱包业务管理系统,系统包括合约验证服务器以及三个分别持有一组密钥的钱包业务方终端,三个钱包业务方终端分别为:钱包客户端、钱包业务监管方终端和钱包服务提供方终端;参见图1所示,图1为本发明提供的一种基于多重签名的数字货币钱包业务管理方法的过程的流程图;该方法包括:

步骤s1:钱包客户端发起业务请求至钱包服务提供方终端;

其中,这里的业务指的是数字货币钱包业务。业务请求内包含该业务所需的各类信息。

另外,每个钱包客户端对应一个钱包服务提供方终端,由于钱包服务提供方终端不止一种,因此,不同的钱包客户端对应的钱包服务提供方终端也可能不同。

步骤s2:钱包服务提供方终端以及依据业务请求的类型选择的钱包客户端或钱包业务监管方终端,分别依据自身持有的私钥对业务请求数据进行数字签名,得到多重签名的业务请求数据;

钱包服务提供方终端是承载数字货币钱包业务的主要主体,因此钱包客户端发起的业务请求需要首先发送给钱包服务提供方终端,任何类型的数字货币请求均需要经过钱包服务提供方终端进行数字签名,而钱包客户端与钱包业务监管方终端处理后的数据也需要发送至钱包服务提供方终端进行统一处理。

而钱包客户端和钱包业务监管方终端,则是根据业务请求的类型不同,选择其中的任一方或者两方进行数字签名。

其中,若需要钱包客户端进行数字签名的话,则钱包客户端会首先对业务请求数据进行数字签名后再发送至钱包服务提供方终端,若不需要钱包客户端签名,则钱包客户端会将业务请求数据直接发送至钱包服务提供方终端。

而若需要钱包业务监管方终端进行数字签名的话,一种情况是钱包服务提供方终端先对业务请求数据进行签名,之后将签名后业务请求数据发送至的钱包业务监管方终端进行多次签名,之后接收钱包业务监管方终端返回的多重签名后的业务请求数据并发送至合约验证服务器;另一种情况是钱包服务提供方终端直接将钱包客户端发送的业务请求数据发送至钱包业务监管方终端进行签名,之后钱包服务提供方终端对钱包业务监管方终端返回的数据进行数字签名,签名完成后,将多重签名的业务请求数据发送至合约验证服务器。

步骤s3:钱包服务提供方终端将多重签名的业务请求数据发送至合约验证服务器;

步骤s4:合约验证服务器依据业务相关的合约对多重签名的业务请求数据进行验证,验证完成后进行相应的业务处理。

合约验证服务器接收多重签名的业务请求数据后,依据业务相关的合约对多重签名的业务请求数据进行验证,验证完成后进行相应的业务处理。

可以理解的是,钱包客户端发送的业务请求内,包含有用户需要进行的业务信息,这些信息有可能是虚假信息或者不符合相应的业务需求,因此,需要依据预先设置的相关合约对业务信息数据进行验证,来确定业务请求数据是否满足要求,验证通过后,合约验证服务器会依据业务请求的内容完成相关业务,并返回业务处理结果至相应的钱包服务提供方终端以及钱包客户端。

本发明提供了一种基于多重签名的数字货币钱包业务管理方法,三个钱包业务方终端分别生成一组密钥,在业务处理过程中,根据业务类型,选择至少两个钱包业务方终端的私钥来对业务请求数据进行数字签名,之后对多重签名后的数据进行合约验证,验证完成后来进行相应的业务处理。可见,本发明中的每个钱包业务均使用至少两个钱包业务方终端的私钥进行数字签名,这样使得业务完成后,这两个钱包业务方终端内均保存有该条业务的执行记录,后续即使某一钱包业务方终端持有的密钥丢失(例如钱包客户端)或者受到攻击(例如钱包服务提供方终端)而导致无法查询时,也可根据执行该业务的另一个钱包业务方终端保存的执行记录进行追溯,业务追溯性强,私钥丢失后的找回难度小,数字货币保存的可靠性和安全性高。

在一具体实施例中,上述业务请求包括转账业务;参见图2所示,图2为本发明提供的一种转账业务的过程的流程图;

步骤s2的过程具体为:

钱包客户端接收输入的转账信息后,使用自身持有的私钥对转账信息进行数字签名,得到第一签名数据并发送至钱包服务提供方终端;

钱包服务提供方终端使用自身持有的私钥对第一签名数据进行数字签名,得到多重签名的业务请求数据。

其中,用户在进行转账业务时,需要在钱包客户端上输入收款账户地址或名称、转账金额,钱包客户端收到的转账信息除包含用户输入的信息外还包含付款账户地址或名称。

在进行转账业务时,合约验证服务器内需要包括支付合约,支付合约包含用户身份权限验证规则、数字货币钱包业务验证规则、交易信息验证规则以及钱包客户端和钱包服务提供方终端的公钥。

可以理解的是,由于转账业务属于支付交易的一种,因此需要通过支付合约进行验证,支付合约通过绑定的公钥来解压多重签名的业务请求数据,并根据包含的规则验证付款账户和收款账户的身份权限、交易信息、数字货币钱包业务权限等内容是否满足交易条件,若满足,则验证通过,合约验证服务器完成转账交易(即更改相应货币的所有权),并发送转账结果至钱包服务提供方终端以及钱包客户端。

进一步可知,该实施例还包括:

合约验证服务器验证多重签名的业务请求数据的过程中,若合约确认该笔转账交易存在风险,合约验证服务器触发紧急干预进程,发送携带有对应的钱包业务监管方终端数字签名的指令至钱包服务提供方终端,将钱包服务提供方终端状态设置为不可用。

可以理解的是,若转账交易存在严重风险,表明该笔交易很可能会使得付款账户出现较大的损失,因此,为了避免该情况出现,控制相应的钱包服务提供方终端状态为不可用,则此时钱包服务提供方终端不支持付款账户进行转账操作,尽可能避免了用户钱款被骗的情况,提高了转账交易的安全性。

在另一具体实施例中,业务请求包括客户端密钥重置请求,客户端密钥重置请求内包括本地新生成的公钥;参见图3所示,图3为本发明提供的一种密钥重置业务的过程的流程图;

步骤s2的过程具体为:

钱包服务提供方终端接收钱包客户端发起的客户端密钥重置请求后,判断是否批准客户端密钥重置请求,若批准,则使用自身持有的私钥对客户端密钥重置请求的数据进行数字签名;

钱包服务提供方终端将自身签名后的业务请求数据和客户端密钥重置请求发送至钱包业务监管方终端;

钱包业务监管方终端判断是否批准客户端密钥重置请求,若批准,钱包业务监管方终端使用自身持有的私钥对钱包服务提供方终端签名后的业务请求数据进行数字签名,得到多重签名的业务请求数据并返回钱包服务提供方终端。

其中,由于本业务需要钱包服务提供方终端和钱包业务监管方终端分别进行签名,其具体过程可以是多种,举例来说:一种是如以上步骤所述的过程。

另一种是钱包服务提供方终端首先进行批准判断,若批准,则直接将客户端密钥重置请求发送至钱包业务监管方终端,钱包业务监管方终端批准后会使用自身私钥进行数字签名,之后将签名后的业务请求数据返回钱包服务提供方终端,由钱包服务提供方终端对钱包业务监管方终端签名后的业务请求数据进行数字签名,得到多重签名的业务请求数据。

当然,以上仅为两种具体实现方式,本发明不限定签名的先后顺序,以及批准判断的时间顺序,只要最终结果满足在钱包服务提供方终端和钱包业务监管方终端均批准客户端密钥重置请求时,由钱包服务提供方终端和钱包业务监管方终端均进行数字签名的方案,均在本发明的保护范围之内。

可以理解的是,用户在自身持有的密钥丢失时,需要发起密钥重置请求,请求重新设置钱包客户端的密钥。在发起密钥重置请求时,钱包客户端会在本地生成新的公私钥对,之后将公钥添加至客户端密钥重置请求内发送至钱包服务提供方终端内,重新生成的私钥会由用户持有。

其中,合约验证服务器内应包括身份合约,身份合约包括用户实名身份信息以及钱包服务提供方终端和钱包业务监管方终端的公钥。

可以理解的是,由于密钥重置是针对用户账号进行重置的,因此需要通过身份合约来进行验证验证,身份合约通过绑定的公钥来解压多重签名的业务请求数据,并根据包含的身份信息验证密钥重置请求内的用户信息的合法性、正确性,验证通过后,将原本系统内绑定的钱包客户端的公钥进行重置;之后,返回重置结果至钱包服务提供方终端以及钱包客户端。

当然,以上两个实施例仅为两种具体业务的实施例,钱包服务提供方终端提供的数字货币钱包业务还包含许多其他业务,本申请不限定钱包客户端向钱包服务提供方终端发起的业务类型。

具体的,钱包服务提供方终端为商业银行终端,钱包业务监管方终端为中央银行终端。另外,钱包服务提供方终端可以为交易平台服务器等,本申请并不限定钱包服务提供方终端和钱包业务监管方终端的业务主体。

本发明还提供了一种基于多重签名的数字货币钱包业务管理系统,参见图4所示,图4为本发明提供的一种基于多重签名的数字货币钱包业务管理系统的结构示意图;该系统包括合约验证服务器4以及三个分别持有一组密钥的钱包业务方终端;

三个钱包业务方终端包括:

钱包客户端1,用于发起业务请求至钱包服务提供方终端2;依据发起的业务请求类型,判断是否使用自身持有的私钥对业务请求数据进行数字签名,若是,则使用自身持有的私钥对业务请求数据进行数字签名并发送至钱包服务提供方终端2,若否,直接发送未签名的业务请求数据至钱包服务提供方终端2;

钱包服务提供方终端2,用于使用自身持有的私钥对接收到的业务请求数据进行数字签名;依据钱包客户端1发起的业务请求类型,选择性地将自身持有的业务请求数据发送至钱包业务监管方终端3,并接收钱包业务监管方终端3返回的签名后的业务请求数据;签名业务完成后,将得到的多重签名的业务请求数据发送至合约验证服务器4;

可以理解的是,对于任何数字货币钱包业务,钱包服务提供方终端2均需要对业务请求数据进行数字签名,但是钱包服务提供方终端2的签名顺序可以根据实际情况自行设定。例如,在需要钱包业务监管方终端3进行数字签名时,可以首先由钱包服务提供方终端2对业务请求数据进行数字签名,然后将签名后的数据发送至钱包业务监管方终端3进行数字签名;或者钱包服务提供方终端2也可以先将钱包客户端1发送的业务请求数据直接发送至钱包业务监管方终端3进行数字签名,然后钱包服务提供方终端2再对钱包业务监管方终端3返回的签名后的业务请求数据进行签名。故上述钱包服务提供方终端2自身持有的业务请求数据,可以为钱包服务提供方终端2接收到的钱包客户端1发送的业务请求数据,也可以为钱包服务提供方终端2进行数字签名后的业务请求数据,本发明对此不作限定。

钱包业务监管方终端3,用于接收到钱包服务提供方终端2发送的业务请求数据后,使用自身持有的私钥对业务请求数据进行数字签名并发送至钱包服务提供方终端2;

合约验证服务器4,用于接收多重签名的业务请求数据后,依据业务相关的合约对多重签名的业务请求数据进行验证,验证完成后进行相应的业务处理。

本发明提供了一种基于多重签名的数字货币钱包业务管理系统,三个钱包业务方终端分别生成一组密钥,在业务处理过程中,根据业务类型,选择至少两个钱包业务方终端的私钥来对业务请求数据进行数字签名,之后对多重签名后的数据进行合约验证,验证完成后来进行相应的业务处理。可见,本发明中的每个钱包业务均使用至少两个钱包业务方终端的私钥进行数字签名,这样使得业务完成后,这两个钱包业务方终端内均保存有该条业务的执行记录,后续即使某一钱包业务方终端持有的密钥丢失(例如钱包客户端)或者受到攻击(例如钱包服务提供方终端)而导致无法查询时,也可根据执行该业务的另一个钱包业务方终端保存的执行记录进行追溯,业务追溯性强,私钥丢失后的找回难度小,数字货币保存的可靠性和安全性高。

以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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