数字货币交易数据处理方法、服务器、客户端及系统与流程

文档序号:18000588发布日期:2019-06-25 22:48阅读:541来源:国知局
数字货币交易数据处理方法、服务器、客户端及系统与流程

本说明书属于数字货币技术领域,尤其涉及一种数字货币交易数据处理方法、服务器、客户端及系统。



背景技术:

数字货币是指对货币进行数字化,可以理解为电子货币形式的替代货币,电子货币可以理解为一种表示现金的加密序列数,它可以用来表示现实中各种金额的币值。数字金币和密码货币都属于数字货币。数字货币不同于虚拟世界中的虚拟货币,因为它能被用于真实的商品和服务交易,而不局限在网络游戏中。

数字货币的交易可以包括:数字货币的买入或卖出、数字货币的提币、数字货币的资产管理、数字货币的冷热钱包转账等,数据货币的交易可以通过数字货币交易平台(如:交易所)进行。如何确保用户在进行数字货币交易时交易的安全性,保证用户或交易所的资产安全,是本领域亟需解决的技术问题。



技术实现要素:

本说明书实施例目的在于提供一种数字货币交易数据处理方法、服务器、客户端及系统,提高了交易的安全性。

第一方面本说明书实施例提供了一种数字货币交易数据处理方法,包括:

接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据;

将所述待签名数据发送至第二秘钥服务客户端;

根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

第二方面,本说明书提供了一种数字货币交易数据处理服务器,包括:

交易请求接收模块,用于接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据;

签名数据转发模块,用于将所述待签名数据发送至第二秘钥服务客户端;

第一签名模块,用于根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

第一转账处理模块,用于将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

第三方面,本说明书提供了一种数字货币交易数据处理方法,包括:

向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据;

接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量;

根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

根据所述签名数据进行交易转账处理。

第四方面,本说明书提供了一种数字货币交易数据处理客户端,包括:

交易请求发送模块,用于向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据;

秘钥接收模块,用于接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量;

第二签名模块,用于根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

第二转账处理模块,用于根据所述签名数据进行交易转账处理。

第五方面,本说明书提供了一种数字货币交易数据处理方法,包括:

接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据;

向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

第六方面,本说明书提供了一种数字货币交易数据处理终端,包括:

交易请求查询模块,用于接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据;

签名确认模块,用于向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

第七方面,本说明书提供了一种数字货币交易数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述第一方面或第三方面或第五方面所述的方法。

第八方面,本说明书提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述第一方面或第三方面或第五方面所述的方法。

第九方面,本说明书提供了一种一种数字货币交易数据处理系统,包括:秘钥管理服务器、第一秘钥服务客户端、第二秘钥服务客户端;

所述数字货币交易数据处理系统用于进行数字货币的买入卖出、数字货币的提币、交易所系统数字货币的冷钱包转账、数字货币的投资管理中的至少一种,所述秘钥管理服务器用于执行上述第一方面所述的方法,所述第一秘钥服务客户端用于执行上述第二方面所述的方法,所述第二秘钥服务客户端用于执行上述第三方面所述的方法;

其中,若所述数字货币交易数据处理系统用于进行数字货币的买入卖出,则所述第一秘钥服务客户端为买方用户交易客户端或卖方用户交易客户端,所述第二秘钥服务客户端为交易所客户端;

若所述数字货币交易数据处理系统用于进行数字货币的提币,则所述第一秘钥服务客户端为提币用户客户端,所述第二秘钥服务客户端为交易所客户端,其中,若所述数字货币的提币为交易所提币,则所述第二秘钥服务客户端包括一个或多个;

若所述数字货币交易数据处理系统用于进行交易所系统数字货币的冷钱包转账,则所述第一秘钥服务客户端、所述第二秘钥服务客户端均为交易所客户端,其中,所述第二秘钥服务客户端包括一个或多个;

若所述数字货币交易数据处理系统用于进行数字货币的投资管理,则所述第一秘钥服务客户端为理财用户客户端,所述第二秘钥服务客户端为资产管理客户端。

本说明书提供的数字货币交易数据处理方法、服务器、客户端、终端、处理设备、系统,将交易账户的私钥拆分成不同的私钥分量,分别保存在数字货币交易对应的不同的秘钥服务客户端即不同的用户手中。在需要进行数字货币的交易时,需要各个秘钥服务客户端均同意交易转账后,利用各个秘钥服务客户端保存的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥进行签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了数字货币交易的安全性。

附图说明

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

图1是本说明书一个实施例中数字货币买入卖出的交易流程示意图;

图2是本说明书一个实施例中用户进行数字货币提币的流程示意图;

图3是本说明书一个实施例中交易所进行数字货币提币的流程示意图;

图4是本说明书一个实施例中交易所的冷钱包的创建流程示意图;

图5是本说明书一个实施例中理财账户创建的流程示意图;

图6是本说明书一个实施例中数字货币交易数据处理方法的流程示意图;

图7是本说明书又一实施例中数字货币交易数据处理方法的流程示意图;

图8是本说明书又一实施例中数字货币交易数据处理方法的流程示意图;

图9是本说明书一个实施例中交易所冷钱包转账到热钱包的数据处理流程示意图;

图10是本说明书实施例中数字货币买入或数字货币卖出或用户提币的数据处理流程示意图;

图11是本说明书一个实施例中数字货币的投资管理数据处理流程示意图;

图12是本说明书一个实施例中交易所进行数字货币提币的数据处理流程示意图;

图13是本说明书提供的数字货币交易数据处理服务器一个实施例的模块结构示意图;

图14是本说明书实施例中的数字货币交易数据处理客户端的结构示意图;

图15是本说明书实施例中的数字货币交易数据处理终端的结构示意图;

图16是应用本说明书实施例中数字货币交易数据处理方法的服务器的硬件结构框图。

具体实施方式

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

随着基于纸张的经济向数字经济的转变,电子现金将成为主流,电子货币形式的替代货币。现如今通过交易所进行数字货币交易的应用场景越来越多,交易所可以理解为一种管理数据货币交易的网络平台。

本说明书实施例中数字货币的交易可以包括:数字货币的买入卖出、数字货币的提币(包括用户提币和交易所提币)、交易所数字货币的冷钱包转账、数字货币的投资管理等,当然,根据实际需要,还可以进行其他的数字货币的交易,本说明书实施例不作具体限定。

图1是本说明书一个实施例中数字货币买入卖出的交易流程示意图,图1中线条上的数字可以表示数字货币买入卖出的步骤,如图1所示,数字货币的买入卖出过程可以包括如下:

1、买单用户提交一个买单委托,买单委托可以表示用户发起的买单,如买入数字货币。

2、交易所系统收到委托后,可以进行鉴权、风控、冻结账户余额等操作,如果没有相应匹配的卖单,交易所系统可以将该买单委托挂在盘口中。其中,鉴权可以表示判断用户是否有相应操作的权利,风控可以表示判断当前的数字货币交易存在的风险概率,冻结账户余额以便后续对用户的账户进行相应的操作。

3、卖单用户发起一个卖单委托,卖单委托可以表示用户发起的卖单,如卖出数字货币。

4、交易所系统收到委托后,可以进行鉴权、风控、冻结账户余额等操作,若有相应匹配的买单,则生成成交记录。

5、买卖单用户可以查询自己的委托记录是否成交。成交后,用户(包括:买单用户和卖单用户)和交易所可以进行成交结算即转账,本说明书实施例中可以将用户账户对应的私钥分为第一私钥分量、第二私钥分量,分别由用户和交易所保存,进行数字货币的买入和卖出需要用户和交易所一起进行签名才能实现。本说明书实施例中还可以通过秘钥管理服务器(kms,keymanagementservice)进行秘钥的管理和使用,转账的过程可以参考本说明书实施例中数字货币交易数据处理方法的过程,完成数字货币的买入和卖出。

图2是本说明书一个实施例中用户进行数字货币提币的流程示意图,图2中线条上的数字可以表示用户进行数字货币提币的步骤,如图2所示,用户进行数字货币的提币交易可以包括以下流程:

1、提币用户发起提币申请。

2、交易所系统收到申请后,可以进行鉴权、风控、冻结账户余额等操作。

3、提币用户可以查询审核结果。审核通过后,提币用户和交易所可以进行提币操作,本说明书实施例中可以将用户账户对应的私钥分为第一私钥分量、第二私钥分量,分别由用户和交易所保存,进行用户提币操作时,需要用户和交易所一起进行签名才能实现。本说明书实施例中还可以通过秘钥管理服务器(kms,keymanagementservice)进行秘钥的管理和使用,提币的过程可以参考本说明书实施例中数字货币交易数据处理方法的过程。

图3是本说明书一个实施例中交易所进行数字货币提币的流程示意图,图3中线条上的数字可以表示交易所进行数字货币提币的步骤,如图3所示,交易所进行数字货币的提币可以包括以下流程:

1、操作人员发起提币申请。操作人员可以理解为交易所的财务管理员或其他工作人员。

2、交易所系统收到申请后,可以进行做鉴权、风控、冻结账户余额。审核通过后,交易所的管理员可以进行提币操作,本说明书实施例中可以将交易所账户对应的私钥分为第一私钥分量、第二私钥分量,分别由交易所不同的管理员保存,交易所进行提币时,需要交易所多个管理员一起进行签名才能实现,提币的过程可以参考本说明书实施例中数字货币交易数据处理方法的过程。

交易所内部数字货币管理时,一般会分为冷热钱包,冷钱包进行离线存储,热钱包在线的,处理用户的提币。交易所在冷钱包向热钱包转账时,通常涉及的转账金额比较大。通常情况下交易所会有多个管理用户,类似于公司的股东或管理者,本说明书实施例中可以将交易所对应的冷钱包的私钥拆分成多个私钥分量,分别保存在不同的管理用户中。本说明书实施例中还可以通过秘钥管理服务器(kms,keymanagementservice)进行秘钥的管理和使用。在需要冷钱包向热钱包转账时,利用秘钥管理服务器获得各个管理用户同意转账的信息,并使用各管理用户手中的私钥分量进行签名后,才能实现冷钱包向热钱包的转账过程。

本说明书一些实施例还提供了一种交易所冷钱包的创建方法,图4是本说明书一个实施例中交易所的冷钱包的创建流程示意图,如图4所示,本说明书一个实施例中交易所可以包括2个管理员,每个管理员对应有一个秘钥服务客户端,管理员1对应的秘钥服务客户端可以称为第一秘钥服务客户端,管理员2对应的秘钥服务客户端可以表示第二秘钥服务客户端,图中线条上的数字可以表示冷钱包创建的步骤。如图4所示,冷钱包的创建过程可以包括如下过程:

1、管理员1可以利用第一秘钥服务客户端本地生成私钥分量以及私钥分量对应的公钥sk1+pk1:(sk1表示管理员1生成的私钥分量,pk1表示管理员1的私钥分量对应的公钥),并通过线下获得管理员2的pk2(pk2表示管理员2的私钥分量对应的公钥),调用kms创建钱包接口,并作为钱包的一个参与者。

2、管理员2可以利用第二秘钥服务客户端本地生成私钥分量以及私钥分量对应的公钥:sk2+pk2(sk2表示管理员2生成的私钥分量,pk2表示管理员2的私钥分量对应的公钥),再将sk2拆分成2部分sk2=sk2-1+sk2-2(其中,sk2-2被pk1加密),并调用kms的加入钱包接口,作为钱包的一个参与者。

3、管理员1通过kms获得管理员2的部分私钥分片sk2-2,并用sk1解密。

4、管理员1和kms做一次mpc(securemuti-partycomputation,安全多方计算)计算生成冷钱包的公钥,在进行mpc计算时管理员1提供sk1+sk2-2,kms提供sk2-1。

5、获得公钥,代表冷钱包创建成功,并且每个管理员以及秘钥管理服务器均不会持有完整的秘钥,可以保证冷钱包数字货币交易管理的安全性。

本说明书实施例的数字货币交易还可以包括数字货币的投资管理,投资过程可以表示在数字资管系统中,用户首先需要注册理财用户,然后购买理财产品。图5是本说明书一个实施例中理财账户创建的流程示意图,图5中线条上的数字可以表示理财账户创建的步骤,如图5所示,理财账户创建的过程可以包括:

1、理财用户可以利用第一秘钥服务客户端本地生成私钥分量以及私钥分量对应的公钥sk1+pk1(sk1表示理财用户生成的私钥分量,pk1表示理财用户生成的私钥分量对应的公钥)并通过线下获得的资管方的pk2(pk2表示理财用户的私钥分量对应的公钥),调用kms创建钱包接口,并作为钱包的一个参与者。理财用户可以表示投资者。

2、资管方可以利用第二秘钥服务客户端本地生成私钥分量sk2+pk2(sk2表示资管方生成的私钥分量,pk2表示资管方的私钥分量对应的公钥),在将sk2拆分成2部分sk2=sk2-1+sk2-2(其中,sk2-2被pk1加密),并调用kms的加入钱包接口,作为钱包的一个参与者。资管方可以表示提供投资管理服务的机构。

3、理财用户通过kms获得资管方的部分私钥分片sk2-2,并用sk1解密。

4、理财用户和kms做一次mpc计算生成理财用户账户的公钥,理财用户提供sk1+sk2-2,kms提供sk2-1。

5、获得公钥,代表理财用户的账户钱包创建成功,并且每个用户以及秘钥管理服务器均不会持有完整的秘钥,可以保证理财用户的数字货币交易管理的安全性。理财用户账户创建完成后,可以利用理财账户买入理财产品,其中理财产品的买入需要理财用户和资管方分别利用各自保存的理财账户的私钥分量进行签名计算,理财产品的买入过程可以参考本说明书实施例中数字货币交易数据处理方法的过程。

本说明书实施例中提供了一种数字货币交易数据处理方法,通过将交易账户的私钥分为第一私钥分量和第二私钥分量,分别保存在不同的秘钥服务客户端中,在进行数字货币的交易转账时,利用各个秘钥服务客户端中保存的私钥分量对转账的数据进行签名。各个秘钥服务客户端均同意签名即同意转账才能实现交易转账,保证了交易所数字货币交易的安全性。

本说明书中数字货币交易数据处理方法可以应用在客户端或服务器中,客户端可以是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、智能车载设备等电子设备。

具体的,图6是本说明书一个实施例中数字货币交易数据处理方法的流程示意图,本说明书实施例中的数字货币交易数据处理方法可以表示秘钥管理服务器侧执行的交易管理过程。如图6所示,本说明书一个实施例中提供的数字货币交易数据处理方法的整体过程可以包括:

步骤602、接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据。

第一秘钥服务客户端可以理解为数字货币交易过程中的一个用户的客户端,如:若进行数字货币的买入,则第一秘钥服务客户端可以表示买方用户的客户端;若进行数字货币的卖出,则第一秘钥服务客户端可以表示卖方用户的客户端;若用户进行数字货币的提币,则第一秘钥服务客户端可以表示提币用户的客户端;若交易所进行数字货币的提币,则第一秘钥服务客户端可以表示交易所中提出提币申请的管理员的客户端;若进行交易所冷钱包转账交易,则第一秘钥服务客户端可以表示提出冷钱包转账请求的管理员的客户端,如:上述图4中的管理员1对应的客户端可以称为第一秘钥服务客户端;若进行数字货币的投资管理,则第一秘钥服务客户端可以表示理财用户的客户端。

本说明书一些实施例中,交易请求数据可以包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。在进行数字货币的交易时,用户可以通过第一秘钥服务客户端向秘钥管理服务器发送交易请求数据,如:买入数字货币的请求数据、卖出数字货币的请求数据、用户提币的请求数据、交易所提币的请求数据、冷钱包转账请求数据或买入理财产品的请求数据等。其中,交易请求数据中可以包括待签名数据,待签名数据可以表示交易请求具体信息如:买入货币的金额、卖出货币的金额、提币金额、冷钱包转账金额、买入理财产品的金额和类型等信息。

步骤604、将所述待签名数据发送至第二秘钥服务客户端。

秘钥管理服务器接收到第一秘钥管理客户端发送的交易请求数据后,可以将其中的待签名数据发送至第二秘钥服务客户端,由第二秘钥服务客户端确认是否允许转账。其中,第二秘钥服务客户端可以表示数字货币交易的另一方用户对应的客户端,如:若进行数字货币的卖出,则第二秘钥服务客户端可以表示交易所客户端,交易所客户端可以理解为交易所系统或交易所平台,也可以理解为交易所指定的管理人员对应的客户端;若用户进行数字货币的提币,则第二秘钥服务客户端可以表示交易所客户端;若交易所进行数字货币的提币,则第二秘钥服务客户端可以表示交易所中除去第一秘钥服务客户端的其他管理员的客户端,其数量可以是一个或多个,根据实际需要进行设置,本说明书实施例不作具体限定;若进行交易所冷钱包转账交易,则第二秘钥服务客户端可以表示除第一秘钥服务客户端的管理员的客户端,其数量可以是一个或多个,根据实际需要进行设置,本说明书实施例不作具体限定;若进行数字货币的投资管理,则第二秘钥服务客户端可以表示资管方对应的客户端,可以理解为进行资产管理的系统或机构。

第二秘钥服务客户端接收到待签名数据后,第二秘钥服务客户端对应的用户可以根据待签名数据判断交易是否成交,若成交,则可以向秘钥管理服务器返回签名确认信息,若不成交,则可以返回拒绝签名信息。

步骤606、根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

在具体的实施过程中,本说明书实施例中第一秘钥服务客户端和第二秘钥服务客户端可以分别保存有第一私钥分量和第二私钥分量,其中,第一私钥分量和第二私钥分量之和可以为交易账户的私钥。交易账户可以表示当前数字货币交易需要进行转账的账户,如:用户账户或交易所账户等。若进行数字货币的买卖交易、用户提币交易、数字货币的投资管理等,第一私钥分量和第二私钥分量之和可以为用户账户的私钥;若进行交易所的冷钱包转账,则第一私钥分量和第二私钥分量之和可以为交易所冷钱包的私钥;若进行交易所提币,则第一私钥分量和第二私钥分量之和可以为交易所账户对应的私钥。

当第一秘钥服务客户端和第二秘钥服务客户端均同意进行数字货币的交易后,秘钥管理服务器和第一秘钥服务客户端可以根据第一私钥分量、第二私钥分量进行签名计算,对待签名数据进行签名,获得签名数据。各秘钥服务客户端保存的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥签名获得的,完成了数字货币的安全交易。签名数据可以表示允许进行数字货币的交易如:数字货币的买入,则签名数据可以表示买方用户的账户需要支付的数字货币金额以及买入的数字货币金额,以便从买方用户的账户中转出对应的数字货币,并转入买入的数字货币金额。

本说明书实施例中,对待签名数据进行签名时,可以采用安全多方计算,即第一秘钥服务客户端和秘钥管理服务器分别提供部分私钥分量对待签名数据进行签名计算,获得签名数据,以提高数字货币交易的安全性。当然,根据实际需要,还可以采用其他的签名方法,本说明书实施例不作具体限定。

步骤608、将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

获得签名数据后,秘钥管理服务器可以将签名数据返回至第一秘钥服务客户端,第一秘钥服务客户端可以将签名数据发送至区块链上,进行数字货币交易的转账处理。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。

例如:用户a需要买入数字货币,用户a通过自己所在的客户端即第一秘钥服务客户端向秘钥管理服务器发送买入数字货币请求数据,秘钥管理服务器将买入数字货币请求数据发送给交易所即第二秘钥服务客户端,当有相应匹配的卖单委托,交易所确认可以进行交易后,可以返回确认签名信息。秘钥管理服务器可以获取到交易所保存的用户a的账户对应的第二私钥分量,并与第一秘钥管理客户端进行签名计算。其中,第一秘钥服务客户端保存有用户a账户的第一私钥分量,利用第一私钥分量和第二私钥分量进行签名计算,获得签名数据。第一秘钥服务客户端将签名数据发送到区块链上,利用区块链可以对用户a的账户进行相应的转账处理如:买入数字货币的金额以及对应的需要支付数字货币的金额,如:买入比特币的金额,需要支付以太币的金额等。

其他的数字货币的交易如:数字货币的卖出、用户进行数字货币提币、交易所提币、交易所冷钱包转账、数字货币投资管理交易等数字货币的交易过程,可以参考数字货币买入的交易处理过程,此处不再赘述。

本说明书一些实施例中的数字货币的交易过程,第二秘钥服务客户端可以是多个,例如:交易所冷钱包转账交易,交易所提币交易,以交易所冷钱包转账交易为例,第二秘钥服务客户端有2个时,数字货币交易的数据处理过程可以参考如下:

假设交易所包括三个管理员:管理员1、管理员2、管理员3,管理员1负责交易所的财务管理,管理员2为老板,管理员3为股东,管理员1对应的客户端可以表示第一秘钥服务客户端,管理员2、管理员3对应的客户端可以表示第二秘钥服务客户端。管理员1、管理员2、管理员3分别保存有交易所对应的冷钱包的私钥的私钥分量sk1、sk2、sk3,其中,管理员1、管理员2、管理员3保存的私钥分量之和等于冷钱包的私钥,即sk1+sk2+sk3=冷钱包的私钥。当交易所需要从冷钱包向热钱包转账时,管理员1可以通过自己的第一秘钥服务客户端向秘钥管理服务器发送冷钱包转账请求,秘钥管理服务器接收到请求后,可以将该请求发送至管理员2、管理员3对应的第二秘钥服务客户端,由管理员2、管理员3确认是否同意转账。若管理员2、管理员3均同意转账,则可以通过对应的第二秘钥服务客户端返回确认签名信息。秘钥管理服务器接收到管理员2、管理员3返回的确认签名信息后,可以获取到管理员2、管理员3保存的私钥分量,再利用管理员1、管理员2、管理员3各自保存的私钥分量,对冷钱包转账请求中的待签名数据进行签名,获得签名数据,表示交易所同意该笔转账信息。秘钥管理服务器还可以将获得的签名数据返回至第一秘钥服务客户端,如发送至管理员1,管理员1可以将签名数据发送至区块链,由区块链执行转账处理。

需要说明的是,本说明书实施例中各个秘钥服务客户端的私钥分量的生成可以在交易账户创建时生成,可以采用模相加、相减的算法将账户对应的私钥拆分成不同的私钥分量,再保存到各个秘钥服务客户端。具体可以参考图4、图5中交易所冷钱包创建或理财账户创建的过程中,私钥分量的生成方式。当然,也可以采用其他的方法将冷钱包的私钥进行拆分组合,本说明书实施例不作具体限定。

本说明书实施例提供的数字货币交易数据处理方法,将交易账户的私钥拆分成不同的私钥分量,分别保存在数字货币交易对应的不同的秘钥服务客户端即不同的用户手中。在需要进行数字货币的交易时,需要各个秘钥服务客户端均同意交易转账后,利用各个秘钥服务客户端保存的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥进行签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了数字货币交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述第二私钥分量包括第一私钥分片、第二私钥分片;

相应地,所述根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,包括:

获取所述第一私钥分片,并将所述第二私钥分片发送给所述第一秘钥服务客户端;

根据所述第一私钥分片,与所述第一秘钥服务客户端中保存的第一私钥分量、所述第一秘钥服务客户端接收到的所述第二私钥分片对所述待签名数据进行签名,获得所述签名数据。

在具体的实施过程中,第二秘钥服务客户端可以将自身保存的第二私钥分量拆分成第一私钥分片和第二私钥分片,秘钥分量的拆分也可以采用模相加、相减的方式,本说明书实施例不作具体限定。秘钥管理服务器在接收第二秘钥服务客户端返回的确认签名信息时,可以获取第二秘钥服务客户端保存的第一私钥分片,并将第二秘钥管理服务客户端的第二私钥分片发送给第一秘钥服务客户端。秘钥管理服务器可以利用获取到的第一私钥分片,结合第一秘钥服务客户端保存的第一私钥分量、第二私钥分片对待签名数据进行签名,获得签名数据,再进行转账处理。

本说明书一个实施例中,可以采用安全多方计算mpc对待签名数据进行签名,获得所述签名数据。mpc主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。mpc可以包括多个持有各自私有数据的参与方,共同执行一个计算逻辑(如,求最大值计算),并获得计算结果,但过程中,参与的每一方均不会泄漏各自数据的计算。

本说明书一个实施例中,mpc计算一般是两方参与,在利用mpc计算进行数据签名时,可以由秘钥管理服务器提供获取到的第二秘钥服务客户端保存的第一私钥分片和待签名数据,由第一秘钥服务客户端提供自身保存的第一私钥分量、获取到的第二秘钥服务客户端保存的第二私钥分片、待签名数据,以确保签名数据的安全性。

例如:第一秘钥服务客户端保存有交易账户的私钥分量sk1,第二秘钥服务客户端保存有交易账户的私钥分量sk2,并且第二秘钥服务客户端将sk2拆分成了第一私钥分片sk2-1和第二私钥分片sk2-2。在进行数字货币交易时,秘钥管理服务器接收到第二秘钥服务客户端返回的确认签名信息后,可以获取第二秘钥服务客户端的第一私钥分片sk2-1,并将第二秘钥服务客户端的第二私钥分片sk2-2发送给第一秘钥服务客户端。第一秘钥服务客户端和秘钥管理服务器可以利用mpc对待签名数据进行签名,在进行签名计算时,秘钥管理服务器可以提供的数据包括:sk2-1和待签名数据,第一秘钥服务客户端可以提供的数据包括:sk1、sk2-2、待签名数据。其中,sk1+sk2-1+sk2-2=交易账户的私钥,实现了交易账户的签名确认转账。

本说明书实施例,通过将第二秘钥服务客户端的私钥分量拆分成两部分,一部分发送给秘钥管理服务器,一部分发送给第一秘钥服务客户端,由秘钥管理服务器和第一秘钥服务客户端利用对应的私钥分量进行数据签名。任何一方都没有获得交易账户的完整的私钥,确保了交易的安全性。并且,相对于现有技术中多重签名依赖于底层链的特性,不同的链不同的方式,增加的代码的复杂度。本说明书实施例利用秘钥管理服务器kms的传签技术,可以快速的实现交易数据的签名,方法简单,提高了数据处理的速度。

在上述实施例的基础上,本说明书一个实施例中,所述第一私钥分量对应有公钥,所述第二私钥分片采用所述第一私钥分量对应的公钥进行加密;

相应地,所述将所述第二私钥分片发送给所述第一秘钥服务客户端,包括:

接收所述第二秘钥服务客户端的签名确认信息,获取所述第一私钥分片和加密后的第二私钥分片;

将所述加密后的第二私钥分片发送给所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端利用所述第一私钥分量解密获得所述第二私钥分片。

在具体的实施过程中,第一秘钥服务客户端中的第一私钥分量对应有公钥,公钥可以根据私钥计算获得,第二秘钥服务客户端可以获取第一秘钥服务客户端的第一私钥分量的公钥。并利用该公钥对第二私钥分片进行加密。秘钥管理服务器在接收到第二秘钥服务客户端返回的确认签名信息时,可以获取第二秘钥服务客户端中的第二私钥分量,但是,由于第二秘钥服务客户端中的第二私钥分量拆分成第一私钥分片、第二私钥分片,并且第二私钥分片利用第一秘钥服务客户端的私钥分量的公钥加密了,秘钥管理服务器只能获取到第二秘钥服务客户端中的第一私钥分片,无法对加密的第二私钥分片进行解密。秘钥管理服务器可以将加密后的第二私钥分片发送给第一秘钥服务客户端,第一秘钥服务客户端可以利用其自身保存的第一私钥分量对加密后的第二私钥分片进行解密,获得第二秘钥服务客户端的第二私钥分片。秘钥管理服务器和第一秘钥服务客户端可以利用各自获得或保存的交易账户的私钥分量对待签名数据进行签名,在进行交易处理。

本说明书实施例,将第二秘钥服务客户端中的私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端保存的第一私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了数字货币交易的安全性。

本说明书中上述方法的各个实施例均采用递进的方式描述,步骤并表示严格的先后顺序,根据实际需要可以调整各个步骤的顺序。各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参加方法实施例的部分说明即可。

本说明书一些实施例中还提供了基于第一秘钥服务客户端执行的数字货币交易数据处理方法,图7是本说明书又一实施例中数字货币交易数据处理方法的流程示意图,如图7所示,本说明书实施例提供的第一秘钥服务客户端执行的数字货币交易数据处理方法的流程可以包括:

步骤702、向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据。

在具体的实施过程中,本说明书实施例中的数字货币交易数据处理方法可以在第一秘钥服务客户端中执行,如:可以是进行数字货币买卖、数字货币理财、数字货币提币的用户客户端、或交易所系统中负责财务管理的管理员的客户端。当需要进行数字货币交易时,第一秘钥服务客户端可以根据数字货币交易的具体信息在本地生成交易报文,对交易报文进行哈希计算后获得待签名数据,并向秘钥管理服务器发送交易请求数据,交易请求数据中包括待签名数据。秘钥管理服务器可以将交易请求数据发送给第二秘钥服务客户端,以使得第二秘钥服务客户端确认是否同意转账。

本说明书一些实施例中,所述交易请求数据可以包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。即本说明书实施例中的数字货币交易数据处理方法可以应用在多种数字货币交易场景,在进行数字货币的交易时,用户可以通过第一秘钥服务客户端向秘钥管理服务器发送交易请求数据,如:买入数字货币的请求数据、卖出数字货币的请求数据、用户提币的请求数据、交易所提币的请求数据、冷钱包转账请求数据或买入理财产品的请求数据等。

需要说明的是,本说明书实施例中的第一秘钥服务客户端和第二秘钥服务客户端均是交易双方用户对应的客户端,区别可以在于具体的职能不同。具体可以参考上述实施例的记载,此处不再赘述。如:在进行交易所冷钱包转账或交易所提币时,可以将第一秘钥服务客户端理解为负责财务管理,主动发起交易请求的客户端,第二秘钥服务客户端可以理解为交易所中除第一秘钥管理客户端之外的其他管理员的客户端。通常情况下,第一秘钥服务客户端的数量是一个,第二秘钥服务客户端的数量可以是一个或多个,具体可以根据实际情况设置,本说明书实施例不作具体限定。

步骤704、接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量。

当秘钥管理服务器接收到第二秘钥服务客户端返回的确认签名信息时,秘钥管理服务器可以获取第二秘钥服务客户端保存的交易账户的第二私钥分量,并且可以将第二私钥分量发送给第一秘钥服务客户端。

本说明书一个实施例中,可以在交易账户创建时,根据交易账户的私钥,第一秘钥服务客户端和第二秘钥服务客户端分别生成对应的交易账户的私钥分量,第一秘钥服务客户端生成的私钥分量可以称为第一私钥分量,第二秘钥服务客户端私钥分量的生成的私钥分量可以称为第二私钥分量,第一私钥分量和所述第二私钥分量之和为交易账户的私钥。可以通过模相加、相减的算法生成私钥分量,或者采用其他的方式生成,本说明书实施例不作具体限定。

步骤706、根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

第一秘钥服务客户端接收到秘钥管理服务器发送的第二秘钥服务客户端保存的第二私钥分量后,可以根据其自身保存的第一私钥分量和接收到的第二私钥分量,与秘钥管理服务器一起对待签名数据进行签名,获得签名数据,签名数据包括交易金额等信息。

步骤708、根据所述签名数据进行交易转账处理。

获得签名数据后,第一秘钥服务客户端可以根据签名数据进行冷钱包的转账处理。如:第一秘钥服务客户端可以将签名数据发送至区块链上,进行交易转账处理。具体转账处理方式可以参考上述实施例的记载,此处不再赘述。

本说明书实施例提供的数字货币交易数据处理方法,将交易账户的私钥拆分成不同的私钥分量,分别保存在不同的秘钥服务客户端即用户手中。在需要进行数字货币交易时,需要各个秘钥服务客户端均同意转账后,利用各个秘钥服务客户端保存的冷钱包的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的冷钱包的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述第二私钥分量包括:第一私钥分片、第二私钥分片,所述第二私钥分片使用所述第一私钥分量对应的公钥进行加密;

相应地,所述接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量,包括:

接收所述秘钥管理服务器发送的加密后的第二私钥分片,并利用所述第一私钥分量对所述加密后的第二私钥分片进行解密,获得所述第二私钥分片;

相应地,所述对所述待签名数据进行签名,获得签名数据,包括:

根据所述第一私钥分量、获得的所述第二私钥分片,以及所述秘钥管理服务器获得的所述第一私钥分片对所述待签名数据进行签名,获得签名数据。

在具体的实施过程中,第二秘钥服务客户端可以将自身保存的第二私钥分量拆分成第一私钥分片和第二私钥分片,秘钥分量的拆分也可以采用模相加、相减的方式,本说明书实施例不作具体限定。第一秘钥服务客户端中第一私钥分量对应有公钥,公钥可以根据私钥计算获得。第二秘钥服务客户端可以获取第一秘钥服务客户端的第一私钥分量的公钥对第二私钥分片进行加密。

秘钥管理服务器在接收到第二秘钥服务客户端返回的确认签名信息时,可以获取第二秘钥服务客户端中的第二私钥分量。但是,由于第二秘钥服务客户端中的私钥分量拆分成第一私钥分片、第二私钥分片,并且第二私钥分片利用第一秘钥服务客户端的第一私钥分量的公钥加密了,秘钥管理服务器只能获取到第二秘钥服务客户端中的第一私钥分片,无法对加密的第二私钥分片进行解密。秘钥管理服务器可以将加密后的第二私钥分片发送给第一秘钥服务客户端,第一秘钥服务客户端可以利用其自身的第一私钥分量对加密后的第二私钥分片进行解密,获得第二秘钥服务客户端的第二私钥分片。秘钥管理服务器和第一秘钥服务客户端可以利用各自获得或保存的私钥分量对待签名数据进行签名,再进行交易处理。

本说明书一个实施例中,可以采用安全多方计算mpc对所述待签名数据进行签名,获得所述签名数据。本说明书一个实施例中,mpc计算一般是两方参与,在利用mpc计算进行数据签名时,可以由秘钥管理服务器提供获取到的第二秘钥服务客户端保存的第一私钥分片和待签名数据,由第一秘钥服务客户端提供自身保存的第一私钥分量、获取到的第二秘钥服务客户端保存的第二私钥分片、待签名数据,以确保签名数据的安全性。

例如:第一秘钥服务客户端保存有交易账户的第一私钥分量sk1,第二秘钥服务客户端保存有交易账户的私钥分量sk2,并且第二秘钥服务客户端将sk2拆分成了第一私钥分片sk2-1和第二私钥分片sk2-2,其中,第二私钥分片sk2-2采用第一私钥分量sk1的公钥pk1进行加密。在进行数字货币交易时,秘钥管理服务器接收到第二秘钥服务客户端返回的确认签名信息后,可以获取第二秘钥服务客户端的第一私钥分片sk2-1,并将第二秘钥服务客户端的加密的第二私钥分片sk2-2发送给第一秘钥服务客户端。第一秘钥服务客户端可以利用sk1对加密后的sk2-2进行解密,获得sk2-2。第一秘钥服务客户端和秘钥管理服务器可以利用mpc对待签名数据进行签名计算,在进行签名计算时,秘钥管理服务器可以提供的数据包括:sk2-1和待签名数据,第一秘钥服务客户端可以提供的数据包括:sk1、sk2-2、待签名数据。其中,sk1+sk2-1+sk2-2=交易账户的私钥,实现了交易账户的签名确认,进一步可以根据签名数据进行交易转账处理。

本说明书实施例,将第二秘钥服务客户端中的私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端的私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述第一私钥分量和所述第二私钥分量的生成方法可以包括:

若所述交易请求数据为所述数字货币买卖交易请求数据或所述用户提币请求数据或所述理财请求数据,在所述用户账户创建时,根据所述用户账户对应的私钥,与所述第二秘钥服务客户端分别生成各自的第一私钥分量、第二私钥分量;

若所述交易请求数据为所述冷钱包转账请求数据或交易所提币请求数据,在所述交易所账户创建时,根据所述交易所账户的私钥,与所述第二秘钥服务客户端分别生成各自的第一私钥分量、第二私钥分量。

在具体的实施过程中,第一私钥分量和第二私钥分量可以在交易账户创建时生成,如:在用户账户创建时,第一秘钥服务客户端和第二秘钥服务客户端可以根据用户账户对应的私钥生成第一私钥分量和第二私钥分量。第一私钥分量和第二私钥分量之和可以为用户账户对应的私钥。私钥分量的生成可以通过对用户账户的私钥进行模相加、相减的算法生成私钥分量,或者采用其他的方式生成,本说明书实施例不作具体限定。其中,第一秘钥服务客户端可以是用户对应的客户端,保存有第一私钥分量,第二秘钥服务客户端可以是交易所客户端,保存有第二私钥分量。当用户需要进行数字货币的买入、卖出、提币等交易时,需要用户和交易所共同签名确认,才能进行交易转账处理,提高了用户资产的安全性。

在用户的理财账户创建时,第一秘钥服务客户端和第二秘钥服务客户端可以采用相同的方法生成第一私钥分量和第二私钥分量。第一私钥分量和第二私钥分量之和可以为理财账户对应的私钥。此时,第一秘钥服务客户端可以表示需要进行理财的理财用户的客户端,第二秘钥服务客户端则可以表示资管方即进行资产管理的机构的客户端。当用户需要进行理财投资时,需要理财用户和资产方均同意,即第一秘钥服务客户端和第二秘钥服务客户端共同进行签名确认,才能进行交易转账处理,提高了交易所资产的安全性。

在交易所的冷钱包创建时,第一秘钥服务客户端和第二秘钥服务客户端可以采用相同的方法生成第一私钥分量和第二私钥分量。第一私钥分量和第二私钥分量之和可以为冷钱包对应的私钥。此时,第一秘钥服务客户端可以表示交易所的财务管理员对应的客户端,第二秘钥服务客户端则可以表示其他管理员的客户端,并且第二秘钥服务客户端可以有多个如:交易所所有的股东对应的客户端。当需要进行冷钱包向热钱包转账时,需要拥有冷钱包的私钥分量的所有的管理员均同意,即第一秘钥服务客户端和第二秘钥服务客户端共同进行签名确认,才能进行交易转账处理,提高了用户投资理财的安全性。

同样的,在交易所账户创建时,第一秘钥服务客户端和第二秘钥服务客户端可以采用相同的方法生成第一私钥分量和第二私钥分量。第一私钥分量和第二私钥分量之和可以为交易所账户对应的私钥。此时,第一秘钥服务客户端可以表示交易所系统或交易所的财务管理员或其他指定管理员对应的客户端,第二秘钥服务客户端则可以表示其他管理员的客户端,并且第二秘钥服务客户端可以有多个如:交易所所有的股东对应的客户端。当需要进行交易所提币时,需要拥有交易所账户的私钥分量的所有的管理员均同意,即第一秘钥服务客户端和第二秘钥服务客户端共同进行签名确认,才能进行交易转账处理,提高了交易所资产的安全性。

本说明书中上述方法的各个实施例均采用递进的方式描述,步骤并表示严格的先后顺序,根据实际需要可以调整各个步骤的顺序。各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参加方法实施例的部分说明即可。

本说明书一些实施例中还提供了基于第二秘钥服务客户端执行的数字货币交易数据处理方法,图8是本说明书又一实施例中数字货币交易数据处理方法的流程示意图,如图8所示,本说明书实施例提供的第二秘钥服务客户端执行的数字货币交易数据处理方法的流程可以包括:

步骤802、接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据。

在具体的实施过程中,本说明书实施例中的数字货币交易数据处理方法可以在第二秘钥服务客户端中执行,如:可以是交易所系统、资管方对应的客户端、交易所的管理员对应的客户端等。当需要进行数字货币交易时,第一秘钥服务客户端可以根据数字货币交易的具体信息在本地生成交易报文,对交易报文进行哈希计算后获得待签名数据,并向秘钥管理服务器发送交易请求数据,交易请求数据中包括待签名数据。秘钥管理服务器可以将交易请求数据发送给第二秘钥服务客户端,第二秘钥服务客户端则可以接收秘钥管理服务器发送的交易请求数据。

本说明书一些实施例中,所述交易请求数据可以包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。即本说明书实施例中的数字货币交易数据处理方法可以应用在多种数字货币交易场景,在进行数字货币的交易时,用户可以通过第一秘钥服务客户端向秘钥管理服务器发送交易请求数据,如:买入数字货币的请求数据、卖出数字货币的请求数据、用户提币的请求数据、交易所提币的请求数据、冷钱包转账请求数据或买入理财产品的请求数据等。交易请求数据的具体含义可以参考上述实施例的记载,此处不再赘述。

步骤804、向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

在具体的实施过程中,第二秘钥服务客户端接收到秘钥管理服务器发送的交易请求数据后,可以判断交易请求是否通过,即该笔交易是否成交,若成交,则可以向秘钥管理服务器返回确认签名信息。第二秘钥服务客户端确认签名后,可以向秘钥管理服务器发送自身保存的第二私钥分量,秘钥管理服务器可以获取第二秘钥服务客户端保存的交易账户的第二私钥分量,并且可以将第二私钥分量发送给第一秘钥服务客户端。

第一秘钥服务客户端接收到秘钥管理服务器发送的第二秘钥服务客户端保存的第二私钥分量后,可以根据其自身保存的第一私钥分量和接收到的第二私钥分量,与秘钥管理服务器一起对待签名数据进行签名,获得签名数据,签名数据包括交易金额等信息。

获得签名数据后,第一秘钥服务客户端可以根据签名数据进行冷钱包的转账处理。如:第一秘钥服务客户端可以将签名数据发送至区块链上,进行交易转账处理。具体转账处理方式可以参考上述实施例的记载,此处不再赘述。

在上述实施例的基础上,本说明书一些实施例中提供了私钥分量的生成方法,所述第一私钥分量和所述第二私钥分量的生成方法可以包括:

若所述交易请求数据为所述数字货币买卖交易请求数据或所述用户提币请求数据或所述理财请求数据,在所述用户账户创建时,根据所述用户账户对应的私钥,与所述第一秘钥服务客户端分别生成各自的第二私钥分量、第一私钥分量;

若所述交易请求数据为所述冷钱包转账请求数据或交易所提币请求数据,在所述交易所账户创建时,根据所述交易所账户的私钥,与所述第一秘钥服务客户端分别生成各自的第二私钥分量、第一私钥分量。

在具体的实施过程中,可以在交易账户创建时,根据交易账户的私钥,第一秘钥服务客户端和第二秘钥服务客户端分别生成对应的交易账户的私钥分量,第一秘钥服务客户端生成的私钥分量可以称为第一私钥分量,第二秘钥服务客户端私钥分量的生成的私钥分量可以称为第二私钥分量,第一私钥分量和所述第二私钥分量之和为交易账户的私钥。私钥分量具体创建过程可以参考上述实施例的记载,此处不再赘述。如:可以通过模相加、相减的算法生成私钥分量,或者采用其他的方式生成,本说明书实施例不作具体限定。

本说明书实施例提供的数字货币交易数据处理方法,将交易账户的私钥拆分成不同的私钥分量,分别保存在不同的秘钥服务客户端即用户手中。在需要进行数字货币交易时,需要各个秘钥服务客户端均同意转账后,利用各个秘钥服务客户端保存的冷钱包的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的冷钱包的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述将自身保存的第一私钥分量发送给所述秘钥管理服务器,包括:

将所述第二私钥分量拆分成第一私钥分片和第二私钥分片,并采用所述第一私钥分量对应的公钥对所述第二私钥分片进行加密;

将所述第一私钥分片和所述加密后的第二私钥分片发送给所述秘钥管理服务器;

相应地,所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,包括:

所述秘钥管理服务器将所述加密后的第二私钥分片发送给所述第一秘钥服务客户端;

所述第一秘钥服务客户端采用所述第一私钥分量对所述加密后的第二私钥分片进行解密,获得所述第二私钥分片;

基于所述第一私钥分片、第一私钥分量、第二私钥分片,所述秘钥管理服务器与所述第一秘钥服务客户端,利用安全多方计算对所述待签名数据进行签名,获得所述签名数据。

在具体的实施过程中,第二秘钥服务客户端可以将自身保存的第二私钥分量拆分成第一私钥分片和第二私钥分片,秘钥分量的拆分也可以采用模相加、相减的方式,本说明书实施例不作具体限定。第一秘钥服务客户端中第一私钥分量对应有公钥,公钥可以根据私钥计算获得。第二秘钥服务客户端可以获取第一秘钥服务客户端的第一私钥分量的公钥对第二私钥分片进行加密。

秘钥管理服务器在接收到第二秘钥服务客户端返回的确认签名信息时,可以获取第二秘钥服务客户端中的第二私钥分量,并将第二私钥分量发送给第一签名服务客户端。秘钥管理服务器和第一秘钥服务客户端可以利用各自获得或保存的私钥分量对待签名数据进行签名,再进行交易处理,具体签名计算的过程可以参考上述实施例的记载,此处不再赘述。

本说明书一个实施例中,可以采用安全多方计算mpc对所述待签名数据进行签名,获得所述签名数据。本说明书一个实施例中,mpc计算一般是两方参与,在利用mpc计算进行数据签名时,可以由秘钥管理服务器提供获取到的第二秘钥服务客户端保存的第一私钥分片和待签名数据,由第一秘钥服务客户端提供自身保存的第一私钥分量、获取到的第二秘钥服务客户端保存的第二私钥分片、待签名数据,以确保签名数据的安全性。

本说明书实施例,第二秘钥服务客户端中将第二私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端的私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了交易的安全性。

图9是本说明书一个实施例中交易所冷钱包转账到热钱包的数据处理流程示意图,图中线条上的数字可以表示冷钱包转账的步骤,如图9所示,当参考上述图4创建出交易所的冷钱包后,本说明书一个实施例中交易所冷钱包转账的处理过程可以包括:

1、管理员1通过第一秘钥服务客户端在本地生成交易报文,对交易报文进行哈希计算后获得待签名的数据,调用kms发起签名的接口,参数为pk1(pk1为管理员1中保存的冷钱包的第一私钥分量对应的公钥)+待签名数据。

2、管理员2可以通过第二秘钥服务客户端查询待签名数据。

3、管理员2同意后,将sk2(sk2表示管理员2保存的冷钱包的第二私钥分量)拆分成2部分sk2=sk2-1+sk2-2(sk2-2被pk1加密),调用kms的签名确认接口。

4、管理员1通过kms获得管理员2的部分私钥分片sk2-2,并用sk1(sk1表示管理员1保存的冷钱包的第一私钥分量)解密。

5、管理员1和kms做一次mpc计算生成签名数据。管理员1提供sk1+sk2-2+待签名数据,kms提供sk2-1+待签名数据。

6、管理员1将待签名数据发送到区块链执行转账。

需要说明的是,在实际应用中,管理员2可以是多个,当管理员2有多个时,所有的管理员均保存有冷钱包的私钥分量,并且所有管理员的私钥分量之和为冷钱包的私钥。

将冷钱包的私钥保存在多个人身上,转账时需要多个人一起签名才可以完成交易,确保了交易所资产的安全保证。并且,传统的多重签名依赖于底层链的特性,不同的链不同的方式,增加的代码的复杂度,本说明书实施例中的签名方法简单易用。

图10是本说明书实施例中数字货币买入或数字货币卖出或用户提币的数据处理流程示意图,图中线条上的数字可以表示交易的步骤,参考上述图1或图3,数字货币的买卖成交后或用户提交的数字货币提币审核通过后,如图10所示,可以采用如下方法进行数字货币的交易转账:

1、用户通过第一秘钥服务客户端在本地生成交易报文,对交易报文进行哈希计算后获得待签名的数据,调用kms发起签名的接口,参数为pk1(pk1为用户中保存的用户账户的第一私钥分量对应的公钥)+待签名数据。

其中,用户可以是进行数字货币买入的用户,此时,用户提交的交易报文可以是数字货币的买单委托。用户还可以是卖出数字货币的用户,此时,用户提交的交易报文可以是数字货币的卖单委托。用户还可以是进行数字货币提币的用户,此时,用户提交的交易报文数据可以是提币请求。

即买入用户对应的客户端保存有买入用户账户的第一私钥分量,卖出用户对应的客户端保存有卖出用户的第一私钥分量,第二秘钥服务客户端即交易所保存有买入用户账户的第二私钥分量和卖出用户账户的第二私钥分量。

2、交易所可以通过第二秘钥服务客户端查询待签名数据。

3、交易所同意后,将sk2(sk2表示交易所保存的冷钱包的第二私钥分量)拆分成2部分sk2=sk2-1+sk2-2(sk2-2被pk1加密),调用kms的签名确认接口。

4、用户通过kms获得交易所的部分私钥分片sk2-2,并用sk1(sk1表示用户保存的冷钱包的第一私钥分量)解密。

5、用户和kms做一次mpc计算生成签名数据。用户提供sk1+sk2-2+待签名数据,kms提供sk2-1+待签名数据。

6、用户将待签名数据发送到区块链执行转账。买入用户对应的客户端或卖出用户对应的客户端根据所述签名数据进行交易转账处理。

需要说明的是,其中第一私钥分量、第二私钥分量的生成方式可以在用户账户创建时,参考上述图4、图5的方式生成。

用户和交易所各持有一个私钥分量,提币或数字货币的买卖时,对该账户的操作需要2个人共同完成,确保了用户资产的安全性。

图11是本说明书一个实施例中数字货币的投资管理数据处理流程示意图,图中线条上的数字可以表示数字货币投资管理的步骤,如图11所示,当参考上述图5,创建出理财账户后,用户买入理财产品的数据处理过程可以参考如下:

1、理财用户通过第一秘钥服务客户端在本地生成交易报文,对交易报文进行哈希计算后获得待签名的数据,调用kms发起签名的接口,参数为pk1(pk1为理财用户中保存的理财账户的第一私钥分量对应的公钥)+待签名数据。

2、资管方可以通过第二秘钥服务客户端查询待签名数据。

3、资管方同意后,将sk2(sk2表示资管方保存的冷钱包的第二私钥分量)拆分成2部分sk2=sk2-1+sk2-2(sk2-2被pk1加密),调用kms的签名确认接口。

4、理财用户通过kms获得交易所的部分私钥分片sk2-2,并用sk1(sk1表示理财用户保存的冷钱包的第一私钥分量)解密。

5、理财用户和kms做一次mpc计算生成签名数据。理财用户提供sk1+sk2-2+待签名数据,kms提供sk2-1+待签名数据。

6、用户将待签名数据发送到区块链执行转账。

理财用户和资管方各持有一个私钥分量,用户的买入理财产品需要2个人共同完成,确保了用户资产的安全性。并且,用户资产是保存在链上面的,所以是安全、账户流水透明,确保了用户资产使用的透明性。

图12是本说明书一个实施例中交易所进行数字货币提币的数据处理流程示意图,图中线条上的数字可以表示交易所提币的步骤,如图12所示,当参考上述图3,交易所提交的提币申请审核通过后,交易所提币的数据处理过程可以参考如下:

1、当提币审核通过后交易所通过第一秘钥服务客户端在本地生成交易报文,对交易报文进行哈希计算后获得待签名的数据,调用kms发起签名的接口,参数为pk1(pk1为管理员1中保存的冷钱包的第一私钥分量对应的公钥)+待签名数据。交易所可以表示交易所系统或交易所平台,可以由交易所的管理员负责管理。

2、管理员可以通过第二秘钥服务客户端查询待签名数据。

3、管理员同意后,将sk2(sk2表示管理员保存的冷钱包的第二私钥分量)拆分成2部分sk2=sk2-1+sk2-2(sk2-2被pk1加密),调用kms的签名确认接口。

4、交易所通过kms获得管理员的部分私钥分片sk2-2,并用sk1(sk1表示交易所保存的交易所账户的第一私钥分量)解密。

5、交易所和kms做一次mpc计算生成签名数据。交易所提供sk1+sk2-2+待签名数据,kms提供sk2-1+待签名数据。

6、交易所将待签名数据发送到区块链执行转账。

需要说明的是,在实际应用中,管理员可以是多个,当管理员有多个时,所有的管理员以及交易所均保存有交易所账户的私钥分量,并且所有管理员的私钥分量之和为交易所账户的私钥。

将交易所账户的私钥保存在多个管理人员身上,转账时需要多个人一起签名才可以完成交易,确保了交易所资产的安全性。

需要说明的是,本说明书实施例中签名计算过程,使用mpc计算,mpc计算方法可以集成在秘钥管理服务器或第一秘钥服务客户端中,也可以单独集成在签名计算模块中,本说明书实施例不作具体限定。

本说明书中上述方法的各个实施例均采用递进的方式描述,步骤并表示严格的先后顺序,根据实际需要可以调整各个步骤的顺序。各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参加方法实施例的部分说明即可。

基于上述所述的数字货币交易数据处理方法,本说明书一个或多个实施例还提供一种数字货币交易数据处理服务器、数字货币交易数据处理客户端、数字货币交易数据处理终端。所述的服务器、客户端、终端可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的服务器如下面的实施例所述。由于服务器解决问题的实现方案与方法相似,因此本说明书实施例具体的服务器、客户端、终端的实施可以参加前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

具体地,图13是本说明书提供的数字货币交易数据处理服务器一个实施例的模块结构示意图,如图13所示,本说明书中提供的数字货币交易数据处理服务器可以理解为上述实施例中的秘钥管理服务器,可以包括:交易请求接收模块131、签名数据转发模块132、第一签名模块133、第一转账处理模块134,其中:

交易请求接收模块131,可以用于接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据;

签名数据转发模块132,可以用于将所述待签名数据发送至第二秘钥服务客户端;

第一签名模块133,可以用于根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

第一转账处理模块134,可以用于将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

本说明书实施例提供的数字货币交易数据处理服务器,将交易账户的私钥拆分成不同的私钥分量,分别保存在数字货币交易对应的不同的秘钥服务客户端即不同的用户手中。在需要进行数字货币的交易时,需要各个秘钥服务客户端均同意交易转账后,利用各个秘钥服务客户端保存的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥进行签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了数字货币交易的安全性。

在上述实施例的基础上,所述第二私钥分量包括第一私钥分片、第二私钥分片;

相应地,所述第一签名模块具体用于:

获取所述第一私钥分片,并将所述第二私钥分片发送给所述第一秘钥服务客户端;

根据所述第一私钥分片,与所述第一秘钥服务客户端中保存的第一私钥分量、所述第一秘钥服务客户端接收到的所述第二私钥分片对所述待签名数据进行签名,获得所述签名数据。

本说明书实施例提供的数字货币交易数据处理服务器,通过将第二秘钥服务客户端的私钥分量拆分成两部分,一部分发送给秘钥管理服务器,一部分发送给第一秘钥服务客户端,由秘钥管理服务器和第一秘钥服务客户端利用对应的私钥分量进行数据签名。任何一方都没有获得交易账户的完整的私钥,确保了交易的安全性。并且,相对于现有技术中多重签名依赖于底层链的特性,不同的链不同的方式,增加的代码的复杂度。本说明书实施例利用秘钥管理服务器kms的传签技术,可以快速的实现交易数据的签名,方法简单,提高了数据处理的速度。

在上述实施例的基础上,所述第一私钥分量对应有公钥,所述第二私钥分片采用所述第一私钥分量对应的公钥进行加密;

相应地,所述第一签名模块具体用于:

接收所述第二秘钥服务客户端的签名确认信息,获取所述第一私钥分片和加密后的第二私钥分片;

将所述加密后的第二私钥分片发送给所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端利用所述第一私钥分量解密获得所述第二私钥分片。

本说明书实施例提供的数字货币交易数据处理服务器,将第二秘钥服务客户端中的私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端保存的第一私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了数字货币交易的安全性。

在上述实施例的基础上,所述第一签名模块具体用于:

根据所述第一私钥分量和所述第二私钥分量,与所述第一秘钥服务客户端,利用安全多方计算对所述待签名数据进行签名,获得所述签名数据。

本说明书实施例提供的数字货币交易数据处理服务器,将交易账户的私钥分量分别保存在不同的客户端中,利用多方安全计算,进行签名计算,以确保签名数据的安全性。

在上述实施例的基础上,所述交易请求接收模块接收到的所述交易请求数据包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。

本说明书实施例提供的数字货币交易数据处理服务器,为不同场景的数字货币的交易提供了安全保证,确保了用户资产或交易所资产的安全性。

需要说明的,上述所述的服务器根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述秘钥管理器执行的方法实施例的描述,在此不作一一赘述。

本说明书实施例还提供可一种数字货币交易数据处理客户端即上述实施例中的第一秘钥服务客户端,图14是本说明书实施例中的数字货币交易数据处理客户端的结构示意图,如图14所示,本说明书实施例中的数字货币交易数据处理客户端可以执行上述实施例中第一秘钥服务客户端对应的数据处理过程,可以包括:交易请求发送模块141、秘钥接收模块142、第二签名模块143、第二转账处理模块144,其中:

交易请求发送模块141,可以用于向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据;

秘钥接收模块142,可以用于接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量;

第二签名模块143,可以用于根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

第二转账处理模块144,可以用于根据所述签名数据进行交易转账处理。

本说明书实施例提供的数字货币交易数据处理客户端,将交易账户的私钥拆分成不同的私钥分量,分别保存在不同的秘钥服务客户端即用户手中。在需要进行数字货币交易时,需要各个秘钥服务客户端均同意转账后,利用各个秘钥服务客户端保存的冷钱包的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的冷钱包的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述第二私钥分量包括:第一私钥分片、第二私钥分片,所述第二私钥分片使用所述第一私钥分量对应的公钥进行加密;

相应地,所述秘钥接收模块具体用于:

接收所述秘钥管理服务器发送的加密后的第二私钥分片,并利用所述第一私钥分量对所述加密后的第二私钥分片进行解密,获得所述第二私钥分片;

相应地,所述第二签名模块具体用于:

根据所述第一私钥分量、获得的所述第二私钥分片,以及所述秘钥管理服务器获得的所述第一私钥分片对所述待签名数据进行签名,获得签名数据。

本说明书实施例提供的数字货币交易数据处理客户端,将第二秘钥服务客户端中的私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端的私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述第二签名模块具体用于:

根据所述第一私钥分量和所述第二私钥分量,与所述秘钥管理服务器,利用安全多方计算对所述待签名数据进行签名,获得所述签名数据。

本说明书实施例提供的数字货币交易数据处理客户端,将交易账户的私钥分量分别保存在不同的客户端中,利用多方安全计算,进行签名计算,以确保签名数据的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述交易请求发送模块发送的所述交易请求数据包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。

本说明书实施例提供的数字货币交易数据处理客户端,为不同场景的数字货币的交易提供了安全保证,确保了用户资产或交易所资产的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述客户端还包括第一私钥分量生成模块,用于:

若所述交易请求数据为所述数字货币买卖交易请求数据或所述用户提币请求数据或所述理财请求数据,在所述用户账户创建时,根据所述用户账户对应的私钥,与所述第二秘钥服务客户端分别生成各自的第一私钥分量、第二私钥分量;

若所述交易请求数据为所述冷钱包转账请求数据或交易所提币请求数据,在所述交易所账户创建时,根据所述交易所账户的私钥,与所述第二秘钥服务客户端分别生成各自的第一私钥分量、第二私钥分量。

本说明书实施例提供的数字货币交易数据处理客户端,在交易账户创建是根据交易账户的私钥生成多个私钥分量,私钥分量由多个用户保存,为后续数字货币的安全交易提供了数据基础。

需要说明的,上述所述的客户端根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述第一秘钥服务客户端执行的方法实施例的描述,在此不作一一赘述。

本说明书实施例还提供可一种数字货币交易数据处理终端即上述实施例中的第二秘钥服务客户端,图15是本说明书实施例中的数字货币交易数据处理终端的结构示意图,如图15所示,本说明书实施例中的数字货币交易数据处理终端可以执行上述实施例中第二秘钥服务客户端对应的数据处理过程,可以包括:交易请求查询模块151、签名确认模块152,其中:

交易请求查询模块151,可以用于接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据;

签名确认模块152,可以用于向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

本说明书实施例提供的数字货币交易数据处理终端,将交易账户的私钥拆分成不同的私钥分量,分别保存在不同的秘钥服务客户端即用户手中。在需要进行数字货币交易时,需要各个秘钥服务客户端均同意转账后,利用各个秘钥服务客户端保存的冷钱包的私钥分量进行签名计算,获得签名数据,转账信息才能生效。各秘钥服务客户端保存的冷钱包的私钥分量之和为交易账户的私钥,签名数据实质上是利用交易账户的私钥签名获得的,完成交易账户的签名转账。通过将交易账户的私钥分量进行分开保存,转账时,需要多个秘钥服务客户端的私钥分量一起签名才能完成交易,确保了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述签名确认模块具体用于:

将所述第二私钥分量拆分成第一私钥分片和第二私钥分片,并采用所述第一私钥分量对应的公钥对所述第二私钥分片进行加密;

将所述第一私钥分片和所述加密后的第二私钥分片发送给所述秘钥管理服务器;

相应地,所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,包括:

所述秘钥管理服务器将所述加密后的第二私钥分片发送给所述第一秘钥服务客户端;

所述第一秘钥服务客户端采用所述第一私钥分量对所述加密后的第二私钥分片进行解密,获得所述第二私钥分片;

基于所述第一私钥分片、第一私钥分量、第二私钥分片,所述秘钥管理服务器与所述第一秘钥服务客户端,利用安全多方计算对所述待签名数据进行签名,获得所述签名数据。

本说明书实施例提供的数字货币交易数据处理终端,第二秘钥服务客户端中将第二私钥分量进行拆分,并将拆分后的第二私钥分片用第一秘钥服务客户端的私钥分量的公钥进行加密。使得秘钥管理服务器无法获得第二秘钥服务客户端的完整的私钥分量,进一步无法获得交易账户的完整的私钥。整个签名过程,没有一方可以获得交易账户的全部私钥,交易过程需要多方完成,提高了交易的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述交易请求查询模块接收到的所述交易请求数据包括:数字货币买卖交易请求数据、用户提币请求数据、冷钱包转账请求数据、交易所提币请求数据、理财请求数据中的至少一种。

本说明书实施例提供的数字货币交易数据处理终端,为不同场景的数字货币的交易提供了安全保证,确保了用户资产或交易所资产的安全性。

在上述实施例的基础上,本说明书一个实施例中,所述终端还包括第二私钥分量生成模块,用于:

若所述交易请求数据为所述数字货币买卖交易请求数据或所述用户提币请求数据或所述理财请求数据,在所述用户账户创建时,根据所述用户账户对应的私钥,与所述第一秘钥服务客户端分别生成各自的第二私钥分量、第一私钥分量;

若所述交易请求数据为所述冷钱包转账请求数据或交易所提币请求数据,在所述交易所账户创建时,根据所述交易所账户的私钥,与所述第一秘钥服务客户端分别生成各自的第二私钥分量、第一私钥分量。

本说明书实施例提供的数字货币交易数据处理终端,在交易账户创建是根据交易账户的私钥生成多个私钥分量,私钥分量由多个用户保存,为后续数字货币的安全交易提供了数据基础。

需要说明的,上述所述的终端根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述第二秘钥服务客户端执行的方法实施例的描述,在此不作一一赘述。

本说明书实施例还提供一种数字货币交易数据处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的数字货币交易数据处理方法,如:

接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据;

将所述待签名数据发送至第二秘钥服务客户端;

根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

或,

向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据;

接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量;

根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

根据所述签名数据进行交易转账处理。

或,

接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据;

向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

在上述实施例的基础上,本说明书一个实施例中还可以提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述实施例数字货币交易数据处理方法,如:

接收第一秘钥服务客户端发送的交易请求数据,所述交易请求数据包括待签名数据;

将所述待签名数据发送至第二秘钥服务客户端;

根据所述第一秘钥服务客户端保存的第一私钥分量和所述第二秘钥服务客户端保存的第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

将所述签名数据发送至所述第一秘钥服务客户端,以使得所述第一秘钥服务客户端进行交易转账处理。

或,

向秘钥管理服务器发送交易请求数据,以使得所述秘钥管理服务器向第二秘钥服务客户端发送交易请求数据,所述交易请求数据包括待签名数据;

接收所述秘钥管理服务器发送的所述第二秘钥服务客户端保存的第二私钥分量;

根据自身保存的第一私钥分量以及接收到的所述第二私钥分量,对所述待签名数据进行签名,获得签名数据,其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥;

根据所述签名数据进行交易转账处理。

或,

接收秘钥管理服务器发送的交易请求数据,所述交易请求数据由第一秘钥服务客户端发送,所述交易请求数据包括待签名数据;

向所述秘钥管理服务器返回确认签名信息,并将自身保存的第二私钥分量发送给所述秘钥管理服务器,以使得所述秘钥管理服务器和所述第一秘钥服务客户端根据所述第二私钥分量,以及所述第一秘钥服务客户端保存的第一私钥分量对所述待签名数据进行签名,获得签名数据,且由所述第一秘钥服务客户端根据所述签名数据进行交易转账处理;

其中,所述第一私钥分量和所述第二私钥分量之和为交易账户的私钥。

所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

需要说明的,上述所述的处理设备以及计算机可读存储介质根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。

在上述实施例的基础上,本说明书一个实施例中还可以提供一种数字货币交易数据处理系统,可以包括:秘钥管理服务器、第一秘钥服务客户端、第二秘钥服务客户端;

所述数字货币交易数据处理系统用于进行数字货币的买入卖出、数字货币的提币、交易所系统数字货币的冷钱包转账、数字货币的投资管理中的至少一种,所述秘钥管理服务器、所述第一秘钥服务客户端、所述第二秘钥服务客户端执行上述实施例中对应的方法。

如图9-图12所示,本说明书实施例中的数字货币交易数据处理系统在进行不同场景的数字货币交易时,第一秘钥服务客户端和第二秘钥服务客户端对应于不同的终端,如:

若所述数字货币交易数据处理系统用于进行数字货币的买入卖出,则所述第一秘钥服务客户端为买方用户交易客户端或卖方用户交易客户端,所述第二秘钥服务客户端为交易所客户端即交易所。

若所述数字货币交易数据处理系统用于进行数字货币的提币,则所述第一秘钥服务客户端为提币用户客户端,所述第二秘钥服务客户端为交易所客户端。其中,若所述数字货币的提币为交易所提币,则第一秘钥服务客户端可以为交易所中负责提交提币申请的管理员所在的客户端,所述第二秘钥服务客户端包括一个或多个,具体可以是交易所中其他管理员对应的客户端。若为用户提币,则第一秘钥服务客户端可以为提交提币申请的用户对应的客户端,第二秘钥服务客户端为交易所。

若所述数字货币交易数据处理系统用于进行交易所系统数字货币的冷钱包转账,则所述第一秘钥服务客户端、所述第二秘钥服务客户端均为交易所客户端即交易所的管理员对应的客户端,其中,所述第二秘钥服务客户端包括一个或多个。

若所述数字货币交易数据处理系统用于进行数字货币的投资管理,则所述第一秘钥服务客户端为理财用户客户端,所述第二秘钥服务客户端为资产管理客户端。

不同的应用场景对应的客户端,可以参考上述实施例的记载,此处不再赘述。

本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图16是应用本说明书实施例中数字货币交易数据处理方法的服务器的硬件结构框图,图16可以表示秘钥管理服务器的结构框图,也可以表示第一秘钥服务客户端和第二秘钥服务客户端的结构框图。如图16所示,服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图16中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、gpu,或者具有与图16所示不同的配置。

存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的数字货币交易数据处理方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果。

本说明书实施例提供的上述数字货币交易数据处理方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在pc端实现、linux系统实现,或其他例如使用android、ios系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。

需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参加方法实施例的部分说明即可。

本说明书实施例并不局限于必须是符合行业通信标准、标准计算机数据处理和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参加即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参加方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。

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