首页> 中国专利> 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统

基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统

摘要

本发明公开了基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统,其特征是按如下步骤进行:1向所述加密数字货币网络中的用户公布验证公钥地址;2接收用户的注册账号请求,并接收其公钥地址;3利用与所述验证公钥地址对应的私钥地址向所述已注册用户的加密数字货币的公钥地址发送数量大于等于零的加密数字货币作为验证交易,设置验证交易的附加信息或脚本内容中包含用户的账号名;4接收来自所述加密数字货币网络中其他用户的查询请求,根据所述查询请求反馈所述已注册用户的公钥地址。本发明能大幅提升加密数字货币交易的可用性、便利性、安全性和可靠性,避免用户因公钥地址被他人篡改、冒充导致的经济损失。

著录项

  • 公开/公告号CN104320262A

    专利类型发明专利

  • 公开/公告日2015-01-28

    原文格式PDF

  • 申请/专利权人 中国科学院合肥物质科学研究院;

    申请/专利号CN201410619756.4

  • 发明设计人 李晓风;赵赫;李芳;谭海波;

    申请日2014-11-05

  • 分类号H04L9/32(20060101);G06Q20/36(20120101);G06Q20/10(20120101);

  • 代理机构34101 安徽省合肥新安专利代理有限责任公司;

  • 代理人何梅生

  • 地址 230031 安徽省合肥市蜀山湖路350号

  • 入库时间 2023-12-17 04:36:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2015-02-25

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20141105

    实质审查的生效

  • 2015-01-28

    公开

    公开

说明书

技术领域

本发明属于加密数字货币技术领域,具体涉及一种基于加密数字货币公开账本技术的用 户公钥地址绑定、检索和校验的方法及系统。

背景技术

近年来,以全球公开账本(如区块链技术)为基础的各种加密数字货币(Crypto Currency), 如比特币、莱特币、狗狗币等,开始在因特网上大量使用和流行,日交易额超过千万美元, 并且在不断增长中。目前已有维基百科、戴尔电脑、新蛋、PayPal等著名公司和机构支持使 用以比特币为代表的加密数字货币支付来作为交易方式。

虽然比特币等加密数字货币存在较多的社会争议,但其采用的技术手段具有很高的创新 价值。典型的加密数字货币使用的公开账本是一套基于工作量证明(Proof-of-Work)机制的 分布式存储方案,通常具有极高的安全性和抗攻击特性。例如,要对比特币的公开账本(即 比特币区块链)的安全性形成有效挑战,需要高达数千TH/s以上的计算能力,这已经超过了 当前全球前500强超级计算机的计算能力总和的百倍。

要使用加密数字货币完成转账交易,发送方需要提前获取接收方的公钥地址,并用自己 的私钥完成交易。加密数字货币的公钥地址通常由随机的大小写字母和数字组成,且长度较 长,例如,比特币的典型公钥地址长度为34个字符,极不方便辨别、记忆、拷贝和转抄,在 录入过程中非常容易出错。通常来说,囿于加密数字货币的技术原理,处于被使用状态的公 钥地址远远小于所有公钥地址的总数。因此常有发生由于地址输入错误,导致发送方将币发 送到了错误的或不存在的公钥地址,造成了不可挽回的经济损失。

针对上述问题,现有技术提出一种通过二维码图片传递公钥地址,降低出错率。但此方 法受到的限制较多,在许多情况下较为不便,例如需要生成和保存图片,并完成拍摄、打印 和图片传送,仍然难以用于日常场景下快捷的交流和记忆。

同时,在线交易中交易双方的信任问题是收到广泛关注的问题,在加密数字货币的领域 里因为公钥地址的匿名性,无法有效地将地址与个人真是身份有效地关联起来,这使得发款 方容易担心收款方是否会抵赖收款,从而造成部分交易因为信任问题未能达成。

发明内容

本发明为克服上述现有技术存在的不足之处,提出一种用于加密数字货币公钥地址与用 户账号关联和检索的方法及系统,能大幅提升加密数字货币交易的可用性、便利性、安全性 和可靠性,从而避免用户因公钥地址被他人篡改或冒充或弄错而导致的经济损失。

本发明为解决技术问题采用如下技术方案:

本发明基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法,是应 用在由一个公开账本和n个用户构成的加密数字货币网络中,所述公开账本用于存储并公开 所述n个用户的交易记录;所述n个用户拥有各自不同的公钥地址和私钥地址;所述公钥地址 用于公布并接收加密数字货币,所述私钥地址用于签名并发送加密数字货币;其特点是,

所述绑定、检索和校验方法是按如下步骤进行:

步骤1、向所述加密数字货币网络中的用户公布验证公钥地址;

步骤2、接收待注册用户的注册账号请求并进行验证,对通过验证的注册账号接收其加密 数字货币的公钥地址;从而建立已注册用户,使得所述注册账号与所述公钥地址建立对应关 系;

步骤3、利用与所述验证公钥地址对应的私钥地址向所述已注册用户的加密数字货币的公 钥地址发送数量大于等于零的加密数字货币,作为所述已注册用户的验证交易并记录在所述 公开账本中形成交易编号,设置所述验证交易的附加信息或脚本内容中包含所述已注册用户 的账号名;

步骤4、接收来自所述加密数字货币网络中其他用户的查询请求,所述查询请求为查询所 述已注册用户的公钥地址的请求;根据所述查询请求反馈所述已注册用户的公钥地址,并在 所述公开账本中根据所述交易编号检索是否存在所述已注册用户的验证交易;若不存在,则 表示所述已注册用户的公钥地址为可疑地址并进行提示;若存在,则校验所述已注册用户的 验证交易的发送方是否为所述验证公钥地址的公布方,且校验所述已注册用户的验证交易的 接收方是否为所述已注册用户的加密数字货币的公钥地址;若不是,则表示所述已注册用户 的公钥地址为非法地址并进行提示;若是,则检查所述验证交易的附加信息或脚本内容中, 是否包含所述已注册用户的账号名,若包含,则表示所述已注册用户的公钥地址为安全有效 地址,否则,表示所述已注册用户的公钥地址为非法地址并进行提示。

本发明所述的方法,其特点也在于,

所述步骤4还可以按如下方式进行:

接收来自所述加密数字货币网络中其他用户的查询请求,所述查询请求为查询所述已注册 用户的公钥地址的请求;根据所述查询请求在所述公开账本中根据所述交易编号检索是否存 在所述已注册用户的验证交易;若不存在,则表示所述已注册用户的公钥地址为可疑地址; 若存在,则校验所述已注册用户的验证交易的发送方是否为所述验证公钥地址的公布方,且 校验所述已注册用户的验证交易的接收方是否为所述已注册用户的加密数字货币的公钥地 址;若不是,则表示所述已注册用户的公钥地址为非法地址;若是,则检查所述验证交易的 附加信息或脚本内容中,是否包含所述已注册用户的账号名,若包含,则表示所述已注册用 户的公钥地址为安全有效地址并反馈所述已注册用户的公钥地址,否则,表示所述已注册用 户的公钥地址为非法地址。

步骤1和步骤2的顺序可以互换。

在步骤2中,对所述已注册用户进行身份认证,使得所述已注册用户为真实合法用户,从 而将用户账号、公钥地址与用户的真实身份建立起对应关系。

本发明一种基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的系统的特 点是包括:

注册和验证单元,用于接收和验证待注册用户的注册账号,并对验证的注册账号存储其加 密数字货币的公钥地址;从而建立已注册用户;

验证交易单元,用于利用预置的加密数字货币的私钥地址向已注册用户的加密数字货币的 公钥地址上发送数量大于等于零的加密数字货币,作为所述已注册用户的验证交易并记录在 所述公开账本中,从而完成验证交易;

查询和检索单元,用于接收来自所述加密数字货币网络中其他用户的查询请求,并根据所 述查询请求验证和反馈所述已注册用户的公钥地址。

与现有技术相比,本发明的有益效果在于:

1、本发明将加密数字货币公钥地址与用户账号进行绑定,其他用户只需要获知某个用户 的账号名称,即可得到待接收加密数字货币的用户的公钥地址;极大地提升了网站访问的便 利性,有效地克服了数字加密货币中,由于公钥地址过长,记忆、分辨、交流和抄录的困难, 导致出错和经济损失的风险,以及现有技术中采用二维码图片受到的限制较多,在许多情况 下较为不便的缺点。

2、本发明采用加密数字货币中具有极强安全性的公开账本,如比特币的区块链来记录验 证交易,验证交易的发送方是公开的验证公钥地址,接收方则为用户的公钥地址,附加信息 或脚本内容中包含了用户账号名。使得用户账号名和公钥地址的关联关系一目了然,除方便 计算机程序判断外,即便不了解哈希和加密技术的普通大众也能轻松检验用户账号名与公钥 地址的对应关系。只要验证公钥地址对应的私钥不泄露,用户注册的信息和关联的公钥地址 就具有极高的抗攻击和防篡改能力,大大降低了用户的公钥地址被他人替换而造成经济损失 的可能性。

3、本发明通过引导系统用户完成身份认证,采用经过手机、微博、QQ等途径认证的账 号来接收加密数字货币付款,相当于将用户公钥地址和用户的实际身份关联起来,同时向全 网公布。能够大幅提升加密数字货币付款方对于收款方和交易的信任度,促成更多潜在的交 易,最终使用户受益。

附图说明

图1为本发明中用户与公开账本构成的网络的示意图;

图2为本发明中验证交易的一种优选的示意框图;

图3为本发明系统的结构框图。

具体实施方式

如图1所示,在由一个公开账本和n个用户构成的加密数字货币网络中,n个用户共享同 一套公开账本(如比特币的区块链,即Block Chain),在用户的计算机中存储公开账本的全部 或部分副本。公开账本具有极高的安全性,其安全性由工作量证明(Proof-of-work)等机制 进行保护。如图1中,用户的所有交易会向全网的其他用户广播,最终进入公开账本中。公 开账本用于存储并公开n个用户的交易记录,每条交易记录的内容包括交易编号、交易时间、 发送方和接收方的公钥地址,发送加密数字货币的数量、交易手续费、附加信息或脚本内容 等;n个用户拥有各自不同的公钥地址和私钥地址,这些公钥地址和私钥地址成对存在,使 用私钥地址可以生成公钥地址,反之则不可以,可以很方便地使用私钥地址来验证用户对某 个公钥地址的所有权;公钥地址用于公布并接收加密数字货币,私钥地址用于签名并发送加 密数字货币;

一种用于加密数字货币的公钥地址与用户账号的关联和检索方法是按如下过程进行:

步骤1、向加密数字货币网络中的用户公布验证公钥地址;公布验证公钥地址的方式有网 站公开、微博公开、微信公众号等。为方便识别,可采用VanityGen等工具生成包含有特殊 字符串的公钥地址。

步骤2、建立已注册用户:

步骤2.1、接收待注册用户的注册账号请求并进行验证,验证条件有:

(1)账号名不得为被禁止注册的账号名,如保留字、长度少于4的账号名,以及带有攻 击或侮辱性字样的账号名;

(2)账号名、邮箱地址不得与已有账号名、邮箱地址重复。

步骤2.2、对通过验证的注册账号接收其加密数字货币的公钥地址,加密数字货币的公钥 地址可以是多种加密数字货币的多个公钥地址,从而建立已注册用户,在数据库中记录注册 用户的账号名和注册用户的公钥地址,使得注册账号与公钥地址建立对应关系;

如果用户输入的是已被其他用户登记过的公钥地址,提示用户检查是否输入了错误的公钥 地址,若是,则重新输入,若不是,则通过以下方式之一进行申诉:

(1)人工申诉:通过电话、电子邮件、QQ等方式进行人工核验;

(2)自动申诉:提示用户在限定的时间内(如15分钟),使用其输入的公钥地址对应的 私钥地址发送一笔极小额的加密数字货币至特定的公钥地址,以证明用户对公钥地址及对应 的私钥地址的所有权。

对申诉成功的用户,将其账号与其输入的公钥地址的关联,同时解除该公钥地址与其他用 户的绑定。

步骤2.3、对已注册用户进行身份认证,使得已注册用户为真实合法用户,从而将用户账 号、公钥地址与用户的真实身份建立起对应关系。

本实施例中,引导已注册用户使用电子邮箱、手机、微博和QQ号进行身份认证。其中电 子邮箱的认证方法为:向其邮箱发送带有特殊链接的电子邮件,用户打开电子邮件点击该链 接后即完成电子邮箱认证。手机认证的方法为:向手机发送带有验证码的短消息,用户在账 号手机验证界面中,输入正确的手机验证码,即可通过手机认证。微博和QQ号的认证方式 为:通过微博和QQ开发的OAUTH认证接口API,由用户输入其拥有的微博和QQ账号、密 码并授权,即可通过微博和QQ认证;

具体实施中,步骤1和步骤2的顺序可以互换。

步骤3、利用与验证公钥地址对应的私钥地址向已注册用户的加密数字货币的公钥地址发 送数量大于等于零的加密数字货币作为已注册用户的验证交易并记录在公开账本中形成交易 编号,设置验证交易的附加信息或脚本内容中包含已注册用户的账号名;本实施例中,采用 比特币交易中的脚本类型为OP_RETURN的脚本内容存放校验数据。图2给出了验证交易的示 意框图。图中发送方的验证公钥地址即为步骤1中向用户公布的验证公钥地址,接收方地址 为已注册用户的加密数字货币的公钥地址,用户的账号名即作为OP_RETURN的脚本内容。

步骤4、接收来自加密数字货币网络中其他用户的查询请求,查询请求为查询已注册用户 的公钥地址的请求;具体实施中,查询请求由用户在浏览器网页中提交,对用户提交的内容 进行判断,是否在数据库中存在查询请求的用户账号名,若不存在则提示用户未找到。若存 在,根据查询请求反馈已注册用户的公钥地址,并在公开账本中根据交易编号检索是否存在 已注册用户的验证交易;具体实施中,根据数据库中记录的交易编号,在比特币区块链中使 用GetTransaction(txid)命令接口进行检索,其中txid即为交易编号。若不存在,则表示已注册 用户的公钥地址为可疑地址并进行提示;若存在,则校验已注册用户的验证交易的发送方是 否为验证公钥地址的公布方,且校验已注册用户的验证交易的接收方是否为已注册用户的加 密数字货币的公钥地址;若不是,则表示已注册用户的公钥地址为非法地址并进行提示;若 是,则检查验证交易的附加信息或脚本内容中,是否包含已注册用户的账号名,若包含,则 表示已注册用户的公钥地址为安全有效地址,否则,表示已注册用户的公钥地址为非法地址 并进行提示。具体实施中,调取用户的账号信息和公钥地址,再与区块链中的验证消息的 OP_RETURN脚本内容中的数据进行对比,判断是否用户名和OP_RETURN脚本内容中的数据 是否完全一致即可。采用这种方式的优点在于,数据源是本地数据库,所以响应速度快,用 户体验较好。在返回本地数据库中保存的地址之后再到公开账本进行验证,给出验证结果的 提示,用户能以最快速度查询到检索的账号名对应的公钥地址,因为绝大多数情况下,用户 的公钥地址不会被攻击或冒用;但是技术实现相对复杂。

除了以上方式外,步骤4还可以按如下方式进行:

接收来自加密数字货币网络中其他用户的查询请求,具体实施中,查询请求由用户在浏览 器网页中提交,对用户提交的内容进行判断,是否在数据库中存在查询请求的用户账号名, 若不存在则提示用户未找到。若存在,查询请求为查询已注册用户的公钥地址的请求;根据 查询请求在公开账本中根据交易编号检索是否存在已注册用户的验证交易;具体实施中,根 据数据库中记录的交易编号,在比特币区块链中使用GetTransaction("txid")命令进行检索,其 中txid即为交易编号。若不存在,则表示已注册用户的公钥地址为可疑地址;若存在,则校 验已注册用户的验证交易的发送方是否为验证公钥地址的公布方,且校验已注册用户的验证 交易的接收方是否为已注册用户的加密数字货币的公钥地址;若不是,则表示已注册用户的 公钥地址为非法地址;若是,则检查验证交易的附加信息或脚本内容中,是否包含已注册用 户的账号名,若包含,则表示已注册用户的公钥地址为安全有效地址并反馈已注册用户的公 钥地址,否则,表示已注册用户的公钥地址为非法地址。采用此方式的优点是技术实现相对 简单,对数据库存储空间要求也略低一些。但因为需要先去公开账本查询,查询的响应速度 相对较慢,用户体验比前一方式也有所下降。

参见图3,基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的系统,包 括:

客户端,用于接收系统用户提供注册和登陆账号、接收新的用户检索已有用户用于接收加 密电子货币的公钥地址的请求,并向服务端发起请求,获取服务端的处理结果,向系统用户 呈现服务端处理结果的功能。

服务端,包括注册和验证单元、验证交易单元以及查询和检索单元。具体实施中,服务端 使用C#语言实现,开发环境为Visual Studio2013。服务端采用Asp.Net MVC网站开发技术, 部署于IIS7网站容器供用户访问。数据库部分使用My SQL5.6,存储引擎为InnoDB。

注册和验证单元,用于接收和验证待注册用户的注册账号,并对验证的注册账号存储其加 密数字货币的公钥地址;从而建立已注册用户;本实施例中,服务端将通过验证的用户注册 号和公钥地址存储入MySQL数据库,使用用户的账号主键ID与用户的公钥地址进行关联, 关联方式为1:n,其中“1”代表用户账号,“n”代表用户的多个公钥地址。

验证交易单元,用于利用预置的加密数字货币的私钥地址向已注册用户的加密数字货币的 公钥地址上发送数量大于等于零的加密数字货币作为已注册用户的验证交易并记录在公开账 本中,从而完成验证交易;本实施例中,服务端调用Bitcoin Core客户端的RPC的JSON格式 接口或CLI命令行接口,使用其中的“CreateRawTransaction”、”SignRawTransaction”等接口实 现验证交易的构造和发送。交易完成后,从BItcoin Core返回的参数中会携带有验证交易的交 易编号,将此交易编号存储于数据库中,并与用户的账号主键ID关联。

查询和检索单元,用于接收来自加密数字货币网络中其他用户的查询请求,并根据查询请 求验证和反馈已注册用户的公钥地址。具体实施中,在系统数据库中使用用户查询的用户账 号名,调取与该账号名使用同样账号主键ID关联的验证交易的交易编号并在区块链中查找该 验证交易;在数据库中调取与该账号名使用同样账号主键ID关联的公钥地址、账号名,与区 块链中验证交易的接收方公钥地址、OP_RETURN脚本内容内容进行核对校验。

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

以上对本申请所提供的一种用于加密数字货币的公钥地址与用户账号的关联和检索方法 及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般 技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说 明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号