首页> 中国专利> 基于区块链的数字货币交易管理方法、装置、设备及介质

基于区块链的数字货币交易管理方法、装置、设备及介质

摘要

本发明公开了一种基于区块链的数字货币交易管理方法、装置、设备及介质,当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。本发明通过链盾储存诸如私钥、助记词等密钥信息,在进行数字货币转账时通过链盾中的密钥信息对转账信息进行签名,由于签名后的转账信息只能由密钥信息对应的公钥进行签名验证,避免软件端直接储存私钥所面临的软件劫持、私钥失窃等问题,有利于提高当前数字货币的安全性。

著录项

  • 公开/公告号CN112232815A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 深圳三角形科技有限公司;

    申请/专利号CN202011100417.7

  • 发明设计人 高胜利;

    申请日2020-10-14

  • 分类号G06Q20/38(20120101);G06Q40/04(20120101);

  • 代理机构44287 深圳市世纪恒程知识产权代理事务所;

  • 代理人关向兰

  • 地址 518000 广东省深圳市宝安区西乡街道固兴社区骏翔U8智造产业园U6.7栋602

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于区块链的数字货币交易管理方法、装置、设备及介质。

背景技术

随着金融科技的发展及应用,经济发展方式也在逐渐变化。其中移动支付的飞速成长,不但改变了人们的生活方式,也让整个社会的经济有了质的飞跃。目前移动支付市场中,以支付宝、微信支付、云闪付为代表的支付巨头,不断投入研发创新。新的产品与功能层出不穷,扩展了市场边界,降低了交易成本,为数字经济的发展提供了基础性支撑作用。在金融市场与科技水平成熟发展的双重推动下,央行的“数字货币”也在积极建设中,数字货币以其交易成本低、交易速度快以及高度匿名性的特点受到人们的广泛追捧。

但是,目前数字货币资产领域针对用户资金流动提供的技术解决方案,基本是通过软件钱包提供支持,而软件钱包提供技术支持则会面临软件被劫持的问题,攻击者可以通过对软件IP、服务器、加密算法等领域的攻击,破获用户账户私钥,从而导致用户数字货币资产失窃,使得当前数字货币的安全性较低。

发明内容

本发明的主要目的在于提供一种基于区块链的数字货币交易管理方法、装置、设备及介质,旨在解决当前数字货币的安全性较低的技术问题。

为实现上述目的,本发明实施例提供一种基于区块链的数字货币交易管理方法,所述基于区块链的数字货币交易管理方法包括:

当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;

若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;

若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。

优选地,所述若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

若所述数字货币钱包插有链盾,则检测所述链盾是否为首次插入;

若所述链盾为首次插入,则获取链盾设置密码,对所述链盾设置密码进行一致性验证,并在所述链盾设置密码通过所述一致性验证后,检测所述链盾中是否存在登录账号对应的密钥信息;

若所述链盾不是首次插入,则获取链盾密码,在所述链盾密码通过校验后判定完成连接,并检测所述链盾中是否存在登录账号对应的密钥信息。

优选地,所述检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

获取所述数字货币钱包中登录账号的账号信息,确定所述链盾是否存在与所述账号信息匹配的密钥信息;

若所述链盾存在与所述账号信息匹配的密钥信息,则判定所述链盾中存在登录账号对应的密钥信息;

若所述链盾不存在与所述账号信息匹配的密钥信息,则判定所述链盾中不存在登录账号对应的密钥信息。

优选地,所述基于所述密钥信息执行所述数字货币转账请求的步骤包括:

提取所述密钥信息,以及获取所述转账信息;

通过所述密钥信息对所述转账信息进行签名,得到签名信息;

将所述签名信息与所述转账信息发送至区块链网络中,执行所述数字货币转账请求。

优选地,所述当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾的步骤包括:

当接收到数字货币转账请求时,发送输入转账信息的转账提示信息;

检测是否存在基于所述转账提示信息输入的转账信息;

若存在基于所述转账提示信息输入的转账信息,则对所述数字货币钱包进行检测,确定所述数字货币钱包是否插有链盾。

优选地,所述确定数字货币钱包是否插有链盾的步骤之前包括:

执行数字货币钱包的创建流程,输出是否更换链盾的提示信息;

若接收到基于所述提示信息发送的链盾更换指令,则检测新的链盾,将keystore文件存储至新的链盾,并判定完成所述数字货币钱包的创建流程;

若未接收到基于所述提示信息发送的链盾更换指令,则将所述keystore文件存储至所述链盾中,并判定完成所述数字货币钱包的创建流程。

优选地,所述确定数字货币钱包是否插入链盾的步骤之前还包括:

执行数字货币钱包的导入流程,确定所述数字货币钱包的导入方式,若为链盾导入,则确定所述链盾是否存在keystore文件;

若不存在keystore文件,则输出更换链盾的更换提示信息;

若存在keystore文件,则从所述链盾中确定keystore文件,并对所述数字货币钱包名称与钱包密码进行校验,若校验成功则根据所述keystore文件、所述数字货币钱包名称与所述钱包密码完成钱包导入。

为实现上述目的,本发明还提供一种基于区块链的数字货币交易管理装置,所述基于区块链的数字货币交易管理装置包括:

确定模块,用于当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;

检测模块,用于若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;

执行模块,用于若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。

进一步地,为实现上述目的,本发明还提供一种基于区块链的数字货币交易管理设备,所述基于区块链的数字货币交易管理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于区块链的数字货币交易管理程序,所述基于区块链的数字货币交易管理程序被所述处理器执行时实现上述的基于区块链的数字货币交易管理方法的步骤。

进一步地,为实现上述目的,本发明还提供一种介质,所述介质上存储有基于区块链的数字货币交易管理程序,所述基于区块链的数字货币交易管理程序被处理器执行时实现上述的基于区块链的数字货币交易管理方法的步骤。

本发明实施例提供一种基于区块链的数字货币交易管理方法、装置、设备及介质,当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。本发明通过链盾储存诸如私钥、助记词等密钥信息,在进行数字货币转账时通过链盾中的密钥信息对转账信息进行签名,由于签名后的转账信息只能由密钥信息对应的公钥进行签名验证,避免软件端直接储存私钥所面临的软件劫持、私钥失窃等问题,有利于提高当前数字货币的安全性。

附图说明

图1为本发明基于区块链的数字货币交易管理方法实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明基于区块链的数字货币交易管理方法第一实施例的流程示意图;

图3为本发明基于区块链的数字货币交易管理方法第二实施例的流程示意图;

图4为本发明基于区块链的数字货币交易管理装置较佳实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种基于区块链的数字货币交易管理方法、装置、设备及介质,当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。本发明通过链盾储存诸如私钥、助记词等密钥信息,在进行数字货币转账时通过链盾中的密钥信息对转账信息进行签名,由于签名后的转账信息只能由密钥信息对应的公钥进行签名验证,避免软件端直接储存私钥所面临的软件劫持、私钥失窃等问题,有利于提高当前数字货币的安全性。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的基于区块链的数字货币交易管理设备结构示意图。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

本发明实施例基于区块链的数字货币交易管理设备可以是PC,也可以是平板电脑、便携计算机等可移动式终端设备。

如图1所示,该基于区块链的数字货币交易管理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的基于区块链的数字货币交易管理设备结构并不构成对基于区块链的数字货币交易管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的数字货币交易管理程序。

在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于区块链的数字货币交易管理程序,并执行以下操作:

当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;

若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;

若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。

进一步地,所述若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

若所述数字货币钱包插有链盾,则检测所述链盾是否为首次插入;

若所述链盾为首次插入,则获取链盾设置密码,对所述链盾设置密码进行一致性验证,并在所述链盾设置密码通过所述一致性验证后,检测所述链盾中是否存在登录账号对应的密钥信息;

若所述链盾不是首次插入,则获取链盾密码,在所述链盾密码通过校验后判定完成连接,并检测所述链盾中是否存在登录账号对应的密钥信息。

进一步地,所述检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

获取所述数字货币钱包中登录账号的账号信息,确定所述链盾是否存在与所述账号信息匹配的密钥信息;

若所述链盾存在与所述账号信息匹配的密钥信息,则判定所述链盾中存在登录账号对应的密钥信息;

若所述链盾不存在与所述账号信息匹配的密钥信息,则判定所述链盾中不存在登录账号对应的密钥信息。

进一步地,所述基于所述密钥信息执行所述数字货币转账请求的步骤包括:

提取所述密钥信息,以及获取所述转账信息;

通过所述密钥信息对所述转账信息进行签名,得到签名信息;

将所述签名信息与所述转账信息发送至区块链网络中,执行所述数字货币转账请求。

进一步地,所述当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾的步骤包括:

当接收到数字货币转账请求时,发送输入转账信息的转账提示信息;

检测是否存在基于所述转账提示信息输入的转账信息;

若存在基于所述转账提示信息输入的转账信息,则对所述数字货币钱包进行检测,确定所述数字货币钱包是否插有链盾。

进一步地,所述确定数字货币钱包是否插有链盾的步骤之前,处理器1001可以用于调用存储器1005中存储的基于区块链的数字货币交易管理程序,并执行以下操作:

执行数字货币钱包的创建流程,输出是否更换链盾的提示信息;

若接收到基于所述提示信息发送的链盾更换指令,则检测新的链盾,将keystore文件存储至新的链盾,并判定完成所述数字货币钱包的创建流程;

若未接收到基于所述提示信息发送的链盾更换指令,则将所述keystore文件存储至所述链盾中,并判定完成所述数字货币钱包的创建流程。

进一步地,所述确定数字货币钱包是否插入链盾的步骤之前,处理器1001可以用于调用存储器1005中存储的基于区块链的数字货币交易管理程序,并执行以下操作:

执行数字货币钱包的导入流程,确定所述数字货币钱包的导入方式,若为链盾导入,则确定所述链盾是否存在keystore文件;

若不存在keystore文件,则输出更换链盾的更换提示信息;

若存在keystore文件,则从所述链盾中确定keystore文件,并对所述数字货币钱包名称与钱包密码进行校验,若校验成功则根据所述keystore文件、所述数字货币钱包名称与所述钱包密码完成钱包导入。

为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

参照图2,本发明第一实施例提供一种基于区块链的数字货币交易管理方法的流程示意图。该实施例中,所述基于区块链的数字货币交易管理方法包括以下步骤:

步骤S10,当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;

本实施例中基于区块链的数字货币交易管理方法应用于数字货币交易管理系统,数字货币交易管理系统至少包含数字货币钱包与链盾,数字货币钱包用于存储数字货币,同时可以进行数字货币交易,数字货币钱包在本实施例中以软件的形式安装于智能终端中,其中智能终端可以为智能手机、平板电脑等终端;链盾用于存储私钥、助记词、keystore(一种文件格式)等密钥信息,并在进行数字货币转账时通过密钥信息对转账信息进行签名,以便于根据密钥信息中的私钥对应的公钥对签名后的签名信息进行签名验证,提高数字货币交易的安全性,链盾可以通过智能终端中设置的接口插入至智能终端中,与数字货币钱包进行连接。

可以理解地,目前数字货币资产领域针对用户资金流动提供的技术解决方案,基本是通过软件钱包提供支持,而软件钱包提供技术支持则会面临软件被劫持的问题,攻击者可以通过对软件IP(Internet Protocol,网际互连协议)、服务器、加密算法等领域的攻击,破获用户账户私钥,从而导致用户数字货币资产失窃,使得当前数字货币的安全性较低。为解决当前数字货币交易的安全性问题,本发明提供一种可应用于智能终端的数字货币交易管理方法,通过链盾储存诸如私钥、助记词等密钥信息,在进行数字货币转账时通过链盾中的密钥信息对转账信息进行签名,由于签名后的转账信息只能由密钥信息对应的公钥进行签名验证,避免软件端直接储存私钥所面临的软件劫持、私钥失窃等问题,提高当前数字货币的安全性。

进一步地,当用户需要进行数字货币交易时,通过智能终端中的数字货币钱包发起数字货币转账请求,当系统接收到用户发送的数字货币转账请求时,提示用户输入转账信息,例如:收款人钱包地址、转账金额、备注以及矿工费。进一步地,当系统检测到用户输入的转账信息时,对数字货币钱包进行检测,确定数字货币钱包中是否插有链盾,具体地,检测智能终端的接口中是否存在链盾请求与智能终端连接,以在数字货币钱包中插有链盾时,进一步执行数字货币转账的后续转账流程。

进一步地,所述当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾的步骤包括:

步骤S11,当接收到数字货币转账请求时,发送输入转账信息的转账提示信息;

步骤S12,检测是否存在基于所述转账提示信息输入的转账信息;

步骤S13,若存在基于所述转账提示信息输入的转账信息,则对所述数字货币钱包进行检测,确定所述数字货币钱包是否插有链盾。

进一步地,当用户需要进行数字货币交易时,通过智能终端中的数字货币钱包发起数字货币转账请求,具体地,用户可以通过在以软件形式存在的数字货币钱包中点击或触摸转账按键,系统在接收到用户点击或触摸转账按键触发的数字货币转账请求时,发送用于提示用户输入转账信息的转账提示信息,例如提示用户输入:收款人钱包地址、转账金额、备注以及矿工费等信息。可以理解地,为确保及时对用户输入的转账信息进行处理,系统在大宋转账提示信息后,实时检测是否存在用户在转账提示信息的基础上输入的转账信息,当系统检测到存在用户输入的转账信息时,对数字货币钱包进行检测,确定数字货币钱包中是否插有链盾,具体地,检测智能终端的接口中是否存在链盾请求与智能终端连接,以在数字货币钱包中插有链盾时,进一步执行数字货币转账的后续转账流程。

步骤S20,若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;

进一步地,若经确定数字货币钱包中插有链盾,为了确定插入的链盾能否为本次数字货币转账提供签名,系统先获取数字货币钱包中用户的登录账号,确定登录账号对应的目标密钥信息,根据目标密钥信息确定链盾中是否存在登录账号对应的密钥信息,以在链盾中存在登录账号对应的密钥信息时,执行数字货币转账请求,其中登录账号为用户进入数字货币钱包时,处于通过输入账号与密码而处于登录状态的账号,目标密钥信息为用户创建数字货币钱包时系统根据登录账号自动生成并存储的信息,密钥信息包括登录账号对应的私钥、助记词以及keystore等。

步骤S30,若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。

进一步地,若经检测确定链盾中存在登录账号对应的密钥信息,说明链盾可以为本次数字货币转账的转账信息进行签名提供密钥信息,系统通过密钥信息,按照非对称加密算法对转账信息进行签名,并在签名得到签名信息后,将签名信息广播到区块链网络中,执行数字货币转账请求,在接收方通过密钥信息对应的公钥对签名信息验证成功时,完成数字货币转账请求,由于将签名信息广播到区块链网络中,基于区块链作为共享数据库的特性,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,其中非对称加密算法可以为RSA算法、DSA(Digital Signature Algorithm,数字签名算法)、ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线签名算法)等多种算法之一,在本实施例中不对具体的非对称加密算法进行限定。

本实施例提供一种基于区块链的数字货币交易管理方法、装置、设备及介质,当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。本发明通过链盾储存诸如私钥、助记词等密钥信息,在进行数字货币转账时通过链盾中的密钥信息对转账信息进行签名,由于签名后的转账信息只能由密钥信息对应的公钥进行签名验证,避免软件端直接储存私钥所面临的软件劫持、私钥失窃等问题,有利于提高当前数字货币的安全性。

进一步地,参照图3,基于本发明基于区块链的数字货币交易管理方法的第一实施例,提出本发明基于区块链的数字货币交易管理方法的第二实施例,在第二实施例中,所述若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

步骤S21,若所述数字货币钱包插有链盾,则检测所述链盾是否为首次插入;

步骤S22,若所述链盾为首次插入,则获取链盾设置密码,对所述链盾设置密码进行一致性验证,并在所述链盾设置密码通过所述一致性验证后,检测所述链盾中是否存在登录账号对应的密钥信息;

步骤S23,若所述链盾不是首次插入,则获取链盾密码,在所述链盾密码通过校验后判定完成连接,并检测所述链盾中是否存在登录账号对应的密钥信息。

进一步地,若经确定数字货币钱包中插有链盾,系统需要检测链盾是否为首次插入,具体地,系统获取数字货币钱包中的历史连接记录或者智能终端中的历史连接记录,确定历史连接记录中是否存在该链盾与数字货币钱包或智能终端的连接记录,若历史连接记录中存在该链盾与数字货币钱包或智能终端的连接记录,则判定链盾不是首次插入;若历史连接记录中不存在该链盾与数字货币钱包或智能终端的连接记录,则判定链盾为首次插入。进一步地,若经检测链盾为首次插入,系统显示“请设置链盾密码”的信息,并在用户对设置的链盾密码进行确认后,获取链盾设置密码。进一步地,为确保用户在进行链盾密码设置时设置的两次密码相同,系统还需要对链盾设置密码进行一致性验证,具体地,验证用户两次输入的链盾设置密码是否一致,若用户两次输入的链盾设置密码一致,则说明链盾设置密码通过一致性验证,系统检测链盾中是否存在登录账号对应的密钥信息;相反地,若经检测链盾并非首次插入,系统则获取用户输入的链盾密码,在将用户输入的链盾密码与数字货币钱包中存储的目标密码进行比较,并确定链盾密码与目标密码相同时,判定链盾密码通过校验,并判定完成链盾与数字货币钱包的连接,并检测链盾中是否存在登录账号对应的密钥信息,以在链盾中存在登录账号对应的密钥信息时,基于密钥信息执行数字货币转账请求。

进一步地,所述检测所述链盾中是否存在登录账号对应的密钥信息的步骤包括:

步骤S221,获取所述数字货币钱包中登录账号的账号信息,确定所述链盾是否存在与所述账号信息匹配的密钥信息;

步骤S222,若所述链盾存在与所述账号信息匹配的密钥信息,则判定所述链盾中存在登录账号对应的密钥信息;

步骤S223,若所述链盾不存在与所述账号信息匹配的密钥信息,则判定所述链盾中不存在登录账号对应的密钥信息。

进一步地,在确定数字货币钱包中插有链盾后,系统检测链盾中是否存在登录账号对应的密钥信息,具体地,系统识别数字货币钱包的登录账号,并获取登录账号的账号信息。在获取登录账号对应的账号信息之后,系统获取与账号信息对应的目标密钥信息,将目标密钥信息作为索引条件,在链盾中进行索引,查找链盾中是否存在与目标密钥信息匹配的密钥信息。进一步地,若经索引确定链盾中存在与目标密钥信息匹配的密钥信息,说明链盾提供对本次数字货币转账的转账信息进行签名的密钥信息,系统判定链盾中存在登录账号对应的密钥信息。相反地,若经索引确定链盾中不存在与目标密钥信息匹配的密钥信息,说明链盾不能提供对本次数字货币转账的转账信息进行签名的密钥信息,系统判定链盾中不存在登录账号对应的密钥信息。例如:系统识别到当前登录账号为:xiaoming,则获取当前登录账号的账号信息中的钱包地址:0xb365064b46AA9d2CdD42B66757FF90a719ef0a32,并获取与账号信息中钱包地址对应的密钥信息,例如keystore:{"address":"b654321b46aa9d2cdd42b66757ff90a719ef0a67","crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"71a741be707e75bb242f36262752015c"},"ciphertext":"c1408f617d4d0e68a6d61c2e1d37a25608944b1dad88cf933281a63087c528c0","kdf":"scrypt","kdfparams":{"dklen":32,"n":65536,"p":1,"r":8,"salt":"08a3ae02445eda741ace8186bb33888d7b14db101327a1400fc5f225e3e441d3"},"mac":"b133544cc12c7fe07cd83f90f4003297931362251f37aeb7478def67de8760fb"},"id":"cf9e9d26-d19e-40c0-a2b6-3562a123456a","version":1},以及私钥:62b82fa1e5b640b669f63efc855f4abdcc9bd9eee35110052120324898f12345等目标密钥信息。进一步地,将目标密钥信息中的私钥与keystore作为索引条件,在链盾中进行索引,查找是否存在与私钥和/或keystore匹配的密钥信息,具体地,可以采用字符匹配法,将私钥和/或keystore中的字符与链盾中存储的文件进行对比,若对比到存在与私钥和/或keystore的字符完全匹配的密钥信息,则判定链盾中存在登录账号对应的密钥信息。若对比到不存在与私钥和/或keystore的字符完全匹配的密钥信息,则判定链盾中不存在登录账号对应的密钥信息。

本实施例中检测链盾中是否存在登录账号对应的密钥信息,判断链盾中是否存在为数字货币转账的转账信息进行签名的密钥信息,通过密钥信息对转账信息进行签名,由于签名后的转账信息只有密钥信息对应的用户才能进行验证,有利于提高数字货币转账的安全性。

进一步地,基于本发明基于区块链的数字货币交易管理方法的第一实施例,提出本发明基于区块链的数字货币交易管理方法的第三实施例,在第三实施例中,所述基于所述密钥信息执行所述数字货币转账请求的步骤包括:

步骤S31,提取所述密钥信息,以及获取所述转账信息;

步骤S32,通过所述密钥信息对所述转账信息进行签名,得到签名信息;

步骤S33,将所述签名信息与所述转账信息发送至区块链网络中,执行所述数字货币转账请求。

进一步地,系统根据数字货币钱包与链盾的连接关系,从链盾中提取与目标密钥信息匹配的密钥信息,并获取用户输入的转账信息,例如:收款人钱包地址、转账金额、备注、矿工费等。进一步地,在提取密钥信息并获取转账信息后,系统通过非对称加密算法,对转账信息进行加密,具体地,可以采用椭圆曲线签名算法,对转账信息进行加密,得到加密信息;再调用密钥信息对加密信息进行签名,得到签名信息。进一步地,在得到签名信息后,系统将签名信息与转账信息一并发送至区块链网络中,具体地,将签名信息与转账信息广播至区块链网络的多个节点中,以供多个网络节点对签名信息进行验签,并从多个网络节点中选取表征接收方的目标网络节点,由目标网络节点使用与密钥信息对应的公钥对签名信息进行验证,确定签名信息与转账信息是用本申请中的用户所发送,执行数字货币转账请求,并在接收方确认交易后完成数字货币转账。

本实施例中通过密钥信息执行数字货币转账请求,根据密钥信息对转账信息进行签名,并通过区块链网路节点将签名后的签名信息广播给接收方,由于区块链的“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,使得签名信息难以被截取与解读,有利于提高数字货币转账的安全性。

进一步地,基于本发明基于区块链的数字货币交易管理方法的第一实施例,提出本发明基于区块链的数字货币交易管理方法的第四实施例,在第四实施例中,所述确定数字货币钱包是否插有链盾的步骤之前包括:

步骤S40,执行数字货币钱包的创建流程,输出是否更换链盾的提示信息;

步骤S50,若接收到基于所述提示信息发送的链盾更换指令,则检测新的链盾,将keystore文件存储至新的链盾,并判定完成所述数字货币钱包的创建流程;

步骤S60,若未接收到基于所述提示信息发送的链盾更换指令,则将所述keystore文件存储至所述链盾中,并判定完成所述数字货币钱包的创建流程。

进一步地,在进行数字货币转账之前,用户需要在软件中创建数字货币钱包,具体地,可以通过点击或触摸软件中的创建钱包按键发送钱包创建指令,当系统接收到钱包创建指令时,执行数字货币钱包的创建流程,在数字货币钱包的创建流程执行完毕后生成keystore文件,为了便于用户将keystore文件进行安全存储,系统输出是否更换链盾的提示信息,以提示用户是否需要通过更换链盾存储keystore文件以使keystore文件更加安全。进一步地,为及时存储keystore文件,系统在发送提示信息后,实时检测是否存在链盾更换指令,若系统接收到用户根据提示信息作出选择而发送的链盾更换指令,判定用户需要更换链盾存储keystore文件,系统检测是否存在新的链盾,具体地,检测是否存在除当前链盾之外的链盾请求与数字货币钱包进行连接,当检测到新的链盾时,系统将keystore文件存储至新的链盾中,判定完成数字货币钱包的创建流程;相反地,若系统未接收到用户根据提示信息作出选择而发送的链盾更换指令,说明用户不需要更换链盾存储keystore文件,而是选择通过当前链盾存储keystore文件,系统将keystore文件存储至当前链盾中,并判定完成数字货币钱包的创建流程。

本实施例先创建数字货币钱包,用户可以选择将创建数字货币钱包产生的keystore文件存储至其他链盾,或直接存储在当前链盾中,因将keystore文件存储于链盾中,而非存储于智能终端或记录在纸质文本中,可以降低keystore文件被他人窃取的几率,有利于提高数字货币转账的安全性。

进一步地,基于本发明基于区块链的数字货币交易管理方法的第一实施例,提出本发明基于区块链的数字货币交易管理方法的第五实施例,在第五实施例中,所述确定数字货币钱包是否插入链盾的步骤之前还包括:

步骤S70,执行数字货币钱包的导入流程,确定所述数字货币钱包的导入方式,若为链盾导入,则确定所述链盾是否存在keystore文件;

步骤S80,若不存在keystore文件,则输出更换链盾的更换提示信息;

步骤S90,若存在keystore文件,则从所述链盾中确定keystore文件,并对所述数字货币钱包名称与钱包密码进行校验,若校验成功则根据所述keystore文件、所述数字货币钱包名称与所述钱包密码完成钱包导入。

进一步地,在进行数字货币转账之前,用户出了新建数字货币钱包外,还可以在软件中导入数字货币钱包,具体地,用户可以点击软件中的导入钱包按键,通过点击导入钱包按键发送钱包导入指令,当系统接收到钱包导入指令时,提示用户选择数字货币钱包的导入方式,其中导入方式包括链盾导入和助记词/私钥导入,链盾导入为通过将链盾中存储的keystore文件导入软件中,通过keystore文件查询并创建与keystore文件对应的数字货币钱包;助记词/私钥导入为通过直接输入助记词/私钥,软件直接获取助记词/私钥对应的数字货币钱包。进一步地,若确定用户选择的导入方式为链盾导入,系统对链盾进行检测,确定链盾中是否存在keystore文件,若链盾中不存在keystore文件,说明系统不能根据keystore文件获取keystore文件对应的数字货币钱包,即无法导入数字货币钱包,系统输出更换链盾的更换提示信息,以提示用户当前链盾中不存在keystore文件,需要更换链盾。若链盾中存在keystore文件,说明系统可以根据keystore文件获取keystore文件对应的数字货币钱包,完成数字货币钱包的导入。可以理解地,系统还提示用户输入数字货币钱包名称与钱包密码,在用户输入数字货币钱包名称与钱包密码后,对数字货币钱包名称与钱包密码进行校验,确定数字货币钱包名称与钱包密码是否对应,若数字货币钱包名称与钱包密码对应,则判定校验成功。进一步地,系统将keystore文件、数字货币钱包名称与钱包密码作为检索式,查询与检索式匹配的数字货币钱包,并将数字货币钱包导入至软件中,完成钱包导入流程。

本实施例可以通过不同导入方式向软件中导入数字货币钱包,若通过链盾导入方式进行导入,只需将存储有keystore文件的链盾插入智能终端中,与软件进行连接,即可完成数字货币钱包的导入,有利于提高进行数字货币转账的便捷性。

进一步地,本发明还提供一种基于区块链的数字货币交易管理装置。

参照图4,图4为本发明基于区块链的数字货币交易管理装置第一实施例的功能模块示意图。

所述基于区块链的数字货币交易管理装置包括:

确定模块10,用于当接收到数字货币转账请求并检测到转账信息时,确定数字货币钱包是否插有链盾;

检测模块20,用于若所述数字货币钱包插有链盾,则检测所述链盾中是否存在登录账号对应的密钥信息;

执行模块30,用于若所述链盾中存在所述登录账号对应的密钥信息,则基于所述密钥信息执行所述数字货币转账请求。

进一步地,所述确定模块10包括:

发送单元,用于当接收到数字货币转账请求时,发送输入转账信息的转账提示信息;

第一检测单元,用于检测是否存在基于所述转账提示信息输入的转账信息;

第二检测单元,用于若存在基于所述转账提示信息输入的转账信息,则对所述数字货币钱包进行检测,确定所述数字货币钱包是否插有链盾。

进一步地,所述确定模块10还包括:

第一执行单元,用于执行数字货币钱包的创建流程,输出是否更换链盾的提示信息;

第一判定单元,用于若接收到基于所述提示信息发送的链盾更换指令,则检测新的链盾,将keystore文件存储至新的链盾,并判定完成所述数字货币钱包的创建流程;

第二判定单元,用于若未接收到基于所述提示信息发送的链盾更换指令,则将所述keystore文件存储至所述链盾中,并判定完成所述数字货币钱包的创建流程。

进一步地,所述确定模块10还包括:

第一确定单元,用于执行数字货币钱包的导入流程,确定所述数字货币钱包的导入方式,若为链盾导入,则确定所述链盾是否存在keystore文件;

输出单元,用于若不存在keystore文件,则输出更换链盾的更换提示信息;

校验单元,用于若存在keystore文件,则从所述链盾中确定keystore文件,并对所述数字货币钱包名称与钱包密码进行校验,若校验成功则根据所述keystore文件、所述数字货币钱包名称与所述钱包密码完成钱包导入。

进一步地,所述检测模块20包括:

第三检测单元,用于若所述数字货币钱包插有链盾,则检测所述链盾是否为首次插入;

验证单元,用于若所述链盾为首次插入,则获取链盾设置密码,对所述链盾设置密码进行一致性验证,并在所述链盾设置密码通过所述一致性验证后,检测所述链盾中是否存在登录账号对应的密钥信息;

第四检测单元,用于若所述链盾不是首次插入,则获取链盾密码,在所述链盾密码通过校验后判定完成连接,并检测所述链盾中是否存在登录账号对应的密钥信息。

进一步地,所述检测模块20还包括:

第二确定单元,用于获取所述数字货币钱包中登录账号的账号信息,确定所述链盾是否存在与所述账号信息匹配的密钥信息;

第三判定单元,用于若所述链盾存在与所述账号信息匹配的密钥信息,则判定所述链盾中存在登录账号对应的密钥信息;

第四判定单元,用于若所述链盾不存在与所述账号信息匹配的密钥信息,则判定所述链盾中不存在登录账号对应的密钥信息。

进一步地,所述执行模块30包括:

提取单元,用于提取所述密钥信息,以及获取所述转账信息;

签名单元,用于通过所述密钥信息对所述转账信息进行签名,得到签名信息;

第二执行单元,用于将所述签名信息与所述转账信息发送至区块链网络中,执行所述数字货币转账请求。

此外,本发明还提供一种介质,所述介质优选为计算机可读存储介质,其上存储有基于区块链的数字货币交易管理程序,所述基于区块链的数字货币交易管理程序被处理器执行时实现上述基于区块链的数字货币交易管理方法各实施例的步骤。

在本发明基于区块链的数字货币交易管理装置和介质的实施例中,包含了上述基于区块链的数字货币交易管理方法各实施例的全部技术特征,说明和解释内容与上述基于区块链的数字货币交易管理方法各实施例基本相同,在此不做赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是固定终端,如物联网智能设备,包括智能空调、智能电灯、智能电源、智能路由器等智能家居;也可以是移动终端,包括智能手机、可穿戴的联网AR/VR装置、智能音箱、自动驾驶汽车等诸多联网设备)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号