首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 基于区块链的转账方法及装置、区块链节点及存储介质

基于链的转账方法及装置、区块链节点及存储介质

阅读:1发布:2022-02-10

专利汇可以提供基于链的转账方法及装置、区块链节点及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种基于 区 块 链 的转账方法及装置、区块链 节点 及存储介质。所述基于区块链的转账方法,包括:接收转出方广播的转账 请求 ,其中,所述转账请求携带有转入方的转入方标识;基于所述转入方标识查询转账地址;基于所述转账地址响应所述转账请求。,下面是基于链的转账方法及装置、区块链节点及存储介质专利的具体信息内容。

1.一种基于链的转账方法,其特征在于,包括:
接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
基于所述转入方标识查询转账地址;
基于所述转账地址响应所述转账请求。
2.根据权利要求1所述的方法,其特征在于,所述基于所述转入方标识查询转账地址,包括:
查询所述转入方标识是否对应有待转账的转账地址;
所述基于所述转账地址响应所述转账请求,包括:
若所述转入方标识对应有待转账的所述转账地址,基于所述转账地址响应所述转账请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述转入方标识未对应有待转账的转账地址;
生成与所述转入方标识对应的所述转账地址。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
接收所述转账触发请求;
根据所述转账触发请求,生成所述转账地址;
对应存储所述转入方标识及所述转账地址。
5.根据权利要求1至3任一项所述的方法,其特征在于,
所述基于所述转入方标识查询转账地址,包括:
向预定数据库发送携带有所述转入方标识的查询请求;
接收基于所述查询请求返回的查询响应;
基于所述查询响应确定所述转账地址。
6.根据权利要求5所述的方法,其特征在于,
所述基于所述查询响应确定所述转账地址,包括:
获取所述查询响应中携带的合约地址;
基于所述合约地址访问合约信息并读取出所述合约信息中的所述转账地址。
7.根据权利要求1至3任一项所述的方法,其特征在于,
所述基于所述转账地址响应所述转账请求,包括:
利用所述转入方标识至少对所述转账地址进行签名,形成签名信息;
基于所述签名信息在区块链网络中广播转账信息,其中,所述签名信息用于在通过监管节点的签名验证后触发将所述转账信息写入转账区块。
8.一种基于区块链的转账方法,其特征在于,包括:
检测转账操作;
基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
9.根据权利要求8所述的方法,其特征在于,所述基于所述转账操作,向区块链网络广播携带有所述转账操作指向的转入方标识的转账请求,包括:
根据所述转账操作显示通信录;
检测作用于所述通信录的选择操作;
根据所述选择操作执行的转入方标识,向所述区块链网络广播所述转账请求。
10.一种区块链的转账装置,其特征在于,包括:
接收模块,用于接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
查询模块,用于基于所述转入方标识查询转账地址;
转账模块,用于基于所述转账地址响应所述转账请求。
11.一种区块链的转账装置,其特征在于,包括:
检测模块,用于检测转账操作;
广播模块,用于基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
12.一种区块链节点,包括:
收发器,
存储器
处理器,分别与所述收发器及存储器连接,用于通过执行存储在所述存储器上的计算机可执行代码,控制所述收发器的信息收发及能够实现权利要求1至7或8至9任一项提供的方法。
13.一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码,所述计算机可执行代码被执行后,能够实现权利要求1至7或8至9任一项提供的方法。

说明书全文

基于链的转账方法及装置、区块链节点及存储介质

技术领域

[0001] 本发明涉及信息技术领域,尤其涉及一种基于区块链的转账方法及装置、区块链节点及存储介质。

背景技术

[0002] 基于区块链的交易过程中,每次交易转账都由区块链网络生成转账地址,交易转账的过程中支付账号向所述转账地址进行支付。一般所述转账地址可为一个字符串;字符串的组成字符有字母、数字及标点等很复杂,十分不方便记忆。显然基于该转账地址进行转账繁琐,对于普通用户而言容易出现记忆错误或编写错误,导致转账错误等问题。

发明内容

[0003] 有鉴于此,本发明实施例期望提供一种基于区块链的转账方法及装置、区块链节点及存储介质。
[0004] 本发明的技术方案是这样实现的:
[0005] 第一方面,本发明实施例提供一种基于区块链的转账方法,包括:
[0006] 接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
[0007] 基于所述转入方标识查询转账地址;
[0008] 基于所述转账地址响应所述转账请求。
[0009] 可选地,所述基于所述转入方标识查询转账地址,包括:
[0010] 查询所述转入方标识是否对应有待转账的转账地址;
[0011] 所述基于所述转账地址响应所述转账请求,包括:
[0012] 若所述转入方标识对应有待转账的所述转账地址,基于所述转账地址响应所述转账请求。
[0013] 可选地,所述方法还包括:
[0014] 若所述转入方标识未对应有待转账的转账地址;
[0015] 生成与所述转入方标识对应的所述转账地址。
[0016] 可选地,所述方法还包括:
[0017] 接收所述转账触发请求;
[0018] 根据所述转账触发请求,生成所述转账地址;
[0019] 对应存储所述转入方标识及所述转账地址。
[0020] 可选地,所述基于所述转入方标识查询转账地址,包括:
[0021] 向预定数据库发送携带有所述转入方标识的查询请求;
[0022] 接收基于所述查询请求返回的查询响应;
[0023] 基于所述查询响应确定所述转账地址。
[0024] 可选地,所述基于所述查询响应确定所述转账地址,包括:
[0025] 获取所述查询响应中携带的合约地址;
[0026] 基于所述合约地址访问合约信息并读取出所述合约信息中的所述转账地址。
[0027] 可选地,所述基于所述转账地址响应所述转账请求,包括:
[0028] 利用所述转入方标识至少对所述转账地址进行签名,形成签名信息;
[0029] 基于所述签名信息在区块链网络中广播转账信息,其中,所述签名信息用于在通过监管节点的签名验证后触发将所述转账信息写入转账区块。
[0030] 第二方面,本发明实施例提供一种基于区块链的转账方法,包括:
[0031] 检测转账操作;
[0032] 基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
[0033] 可选地,所述基于所述转账操作,向区块链网络广播携带有所述转账操作指向的转入方标识的转账请求,包括:
[0034] 根据所述转账操作显示通信录;
[0035] 检测作用于所述通信录的选择操作;
[0036] 根据所述选择操作执行的转入方标识,向所述区块链网络广播所述转账请求。
[0037] 第三方面,本发明实施例提供一种区块链的转账装置,包括:
[0038] 接收模块,用于接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
[0039] 查询模块,用于基于所述转入方标识查询转账地址;
[0040] 转账模块,用于基于所述转账地址响应所述转账请求。
[0041] 第四方面,本发明实施例提供一种区块链的转账装置,包括:
[0042] 检测模块,用于检测转账操作;
[0043] 广播模块,用于基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
[0044] 第五方面,本发明实施例提供一种区块链节点,包括:
[0045] 收发器,
[0046] 存储器
[0047] 处理器,分别与所述收发器及存储器连接,用于通过执行存储在所述存储器上的计算机可执行代码,控制所述收发器的信息收发及能够实现第一方面或第二方面任意技术方案提供的方法。
[0048] 第六方面,一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码,所述计算机可执行代码被执行后,能够第一方面或第二方面任意技术方案提供的方法。
[0049] 本发明实施例提供的基于区块链的转账方法及装置、区块链节点及存储介质,在进行基于区块链技术的区块链转账时,发起转账请求的转出方发送的转账请求不用携带转账地址,可以直接基于转入方标识进行转账。如此,第一方面,而该转入方标识可以是转入方用户的任意标识,例如,通信标识等可以唯一标识转入方的信息,相对于复杂、枯燥、无规律且长度很大的转账地址,转出方用户可以更好记忆和阅读转出方标识,从而减少使用转账地址中填写和粘贴过程中错误导致的问题。第二方面,如此,可以不用等到生成转账地址之后在请求转账;转出方可以直接发起转账请求,而区块链网络可以同步生成转账地址,或者在接收到转账请求之后再生成转账地址,从而解耦了转账地址和转账请求的执行顺序,也减少了转出方获取转账地址的信息交互和交互时间,从而提升了转账效率。附图说明
[0050] 图1为本发明实施例提供的第一种基于区块链的转账方法的流程示意图;
[0051] 图2为本发明实施例提供的第二种基于区块链的转账方法的流程示意图;
[0052] 图3为本发明实施例提供的第三种基于区块链的转账方法的流程示意图;
[0053] 图4为本发明实施例提供的第四种基于区块链的转账方法的流程示意图;
[0054] 图5为本发明实施例提供的第一种基于区块链的转账装置的结构示意图;
[0055] 图6为本发明实施例提供的第二种基于区块链的转账装置的结构示意图;
[0056] 图7为本发明实施例提供的一种区块链节点的结构示意图;
[0057] 图8为本发明实施例提供的第五种基于区块链的转账方法的流程示意图;
[0058] 图9为本发明实施例提供的一种区块链网络的结构示意图。

具体实施方式

[0059] 以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
[0060] 如图1所示,本实施例提供一种基于区块链的转账方法,包括:
[0061] 步骤S110:接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
[0062] 步骤S120:基于所述转入方标识查询转账地址;
[0063] 步骤S130:基于所述转账地址响应所述转账请求。
[0064] 本实施例提供的区块链转账方法应用于区块链网络中,例如,利用于区块链钱包等区块链转账的网络中。所述区块链网络包括:多个分布式设置的区块链节点。所述区块链节点按照功能划分可分为:账本节点和监管节点。所述账本节点可以用于记录信息并产生区块链中的区块。所述监管节点可以用于对区块链中的信息和/或区块本身等进行信息验证。值得注意的是,本实施例提供的基于区块链的转账方法可以应用于图9所示的区块链网络中,但是不限于区块链网络中,例如,还可以应用于同一个区块链节点同时承担业务逻辑的执行、执行结果验证等的公共链产生的公共区块链网络中,或者,私有链产生的私有区块链网络中。
[0065] 在本实施例中,转账的转出方会在区块链网络中广播所述转账请求,通过广播的形式从而使得区块链网络中的多个区块链节点能够接收到转账请求。
[0066] 该转账请求中携带的转入方标识,并非直接的转账地址;所述转入方标识可为在区块链中唯一标识所述转入方的各种信息,例如,唯一标识所述转入方的代号信息、唯一标识所述转入方的真实身份的信息等。例如,利用转入方的电子邮箱地址标识所述转入方,利用转入方的社交账号(例如,微信号、微博号)等及时通信账号等标识转入方。在一些实施例中,所述转账地址可包括:用户在区块链网络注册时注册的账户地址。
[0067] 由于转出方发起的转账请求并非直接携带区块链转账中生成的转账地址,如此,一方面,转出方即便在未收到转入方的转账地址时也可以发起转账;另一方面,由于转出方不用获取转账地址,如此对于转出方的用户而言不用记忆或者在转账页面写入枯燥不利于记忆的转账地址,避免了转账地址中因为输入或者误操作等问题导致的转账错误;再一方面,一个转出方的用户可能会同时或不同时的向多个转入方的用户进行转账,虽然对于区块链网络来说转账地址是不同的,但是对于用户而言且具有组成结构的相似性等,很容易导致用户选择错误等导致错误转账,这种错误可包括:转账金额错误、转入到错误的转入方。故在本实施例中利用转入方的转入方标识来进行转账请求的发送和接收,可以大大的降低对用户的要求、提升用户的便捷性,同时提升转账的效率。
[0068] 在一些实施例中,所述转入方标识可为所述转入方的通信标识;所述通信标识可包括:移动通信标识(例如,手机号、或手机等用户设备的设备标识、电子邮箱地址或社交账号等)。所述设备标识可包括:国际移动设备标识(International Mobile Equipment Identity,IMEI)等。当然,所述转入方标识不限于所述通信标识,还可以所述转入方的代号等唯一标识信息,该代号可能并非转入方在其他具有通信功能应用中使用的序列号或字符串。
[0069] 举例来说,用户A想要向用户B进行转账,此时用户A可以基于手机内存储的通信录(该通信录可包括:手机号的通信录、社交应用的社交账号的通信录、还可包括电子邮箱等邮箱通信录),如此,转出方的用户可以基于通信录中存储用户B的手机号或微信号等发起转账请求,该转账请求不携带有用户B在区块链中应用的区块链的转账地址,如此,用户A一方面必须要由区块链网络或者用户B的设备向用户A的设备发送所述转账地址,也不用非等着转账地址生成后才发起转账请求;另一方面,用户A避免了在转账过程中操作错误等问题,从而简化了转账过程并降低了转账的错误率。
[0070] 在步骤S120中接收到转账请求之后,会基于转账请求中携带的转入方标识之后,可以以转入方标识查询所述转账地址。
[0071] 在步骤S130中,区块链节点基于转账地址进行区块链转账,利用区块链转账的安全性和可回溯性确保转账的安全性等。
[0072] 在一些实施例中,所述步骤S120可包括:
[0073] 查询所述转入方标识是否对应有待转账的转账地址;
[0074] 所述步骤S130可包括:
[0075] 若所述转入方标识对应有待转账的所述转账地址,基于所述转账地址响应所述转账请求。
[0076] 在接收到转账请求时,区块链网络中可能还未生成转账地址,此时可能需要确认所述转账地址是否已经生成,若已经生成了则可以利用当前已生成的转账地址进行区块链转账,若未生成可以按照预定的区块链转账逻辑进行后续操作。例如,在一些实施例中,所述方法还包括:若所述转入方标识未对应有待转账的转账地址;生成与所述转入方标识对应的所述转账地址。
[0077] 若接收到一个转出方发生的转账请求,当前未生成对应的转账地址,则执行区块链转账地址的业务逻辑的执行,以生成所述转账地址。然后再基于生成的转账地址进行区块链转账。此处,生成所述转账地址之后,需要广播所述转账地址方便所述转账地址被监管节点验证通过及其他账本节点所记录,以便后续成功转账和转账区块链中对应的转账记录的生成。
[0078] 当然,在一些实施例中,所述转账地址的生成可包括如下流程:
[0079] 接收到转账请求后未生成有转账地址,向转入方发送转账提醒,该提醒中可携带有转入方标识;
[0080] 在接收到转入方作用于所述转账提醒的同意应答之后,执行区块链转账地址的生成。
[0081] 在另一些实施例中,由于所述转账涉及资金和/或资产安全,转入方并不会随意发起转账请求,一般都是转入方的用户和转出方的用户有过协商的,双方都是知晓情况的,在这种情况下,可以在接收到转账请求发现未生成转账地址的情况下,直接启动转账地址的生成流程,以确保转账的顺利进行和减少转账的时延,避免转入方的用户当前未使用电子设备或未连接到网络导致的转账延时大的问题。
[0082] 在一些实施例中,所述转账请求除了携带所述转入方标识,还可以携带所述转入方标识,方便后续转账过程中转账区块链中区块的生成。
[0083] 在一些实施例中,在本实施例中所述转账请求对应的转账标的,可以是资金,也可以是资金以外的资产。此处的资产可为各种电子资产,此处的电子资产可为在电子设备和/或网络中流转和/或应用的资产。例如,所述电子资产可包括:网络游戏的游戏道具、游戏币、还可包括:某一类应用的账户资产,例如,购买需要支付版权税的音乐账号、某一个音乐的下载权限、电影的观看权限等。再例如,所述电子资产还可包括:购物应用的资产卡,例如,某一电商平台的购物卡或积分兑换卡等。所述电子资产还可包括:股权和/或债权等。
[0084] 总之,在本实施例中所述转账不局限于资金转账,还可以是资金以外的电子资产。所述资金涉及的是货币,例如,人民币、美元、日元、港币等。
[0085] 在一些实施例中,所述转账请求中还可以直接携带有转账标的的数额,此处的转账标的可为前述的资金和/或电子资产。转账的支付账户等。例如,该支付账户可为所述转入方的区块链中使用的转入地址,或者,行卡账号、或者,如支付宝或微信等支付平台的支付账号,如此,在转账的过程中可以基于支付账号请求支付对应数额的转账标的。
[0086] 若所述转账请求还携带有转账标的的数额和支付转账标的支付账户,如此,区块链节点接收到转账请求之后,查询到转账地址之后可以在不再与转入方的设备或者尽可能少的与转入方的设备之间进行信息交互的情况下,完成区块链转账,在利用区块链转账确保转账交易的安全性等情况下,提升转账效率。
[0087] 在本实施例中,所述对应存储所述转入方标识及所述转账地址可包括:
[0088] 所述转入方标识和所述转账地址对应存储于同一条记录中,如此,通过查询该记录就可以同时知道转入方标识及转账地址;和/或,所述转入方标识存储在第一记录中;
[0089] 所述存储地址存储在第二记录中,所述第一记录中存储有可以访问到所述第二记录的相关信息,例如,所述第二记录的访问地址、访问验证信息、索引信息等。
[0090] 如此,若查询所述转账地址可包括:
[0091] 基于所述转入标识查询所述第一记录,获得所述第二记录的相关信息;
[0092] 基于所述相关信息查询所述第二记录。
[0093] 为了确保信息的安全性,所述第一记录和所述第二记录可隔离记录,例如,隔离存储在不同的节点中或隔离存储在不同的域中。
[0094] 在另一些实施例中,为了确保安全性,在访问所述转入方标识和转账地址时需要进行验证,在验证通过之后确保才能进行访问对应的记录,确保访问的安全性。
[0095] 例如,如图2所示,所述步骤S120可包括:
[0096] 步骤S121:向预定数据库发送携带有所述转入方标识的查询请求;
[0097] 步骤S122:接收基于所述查询请求返回的查询响应;
[0098] 步骤S123:基于所述查询响应确定所述转账地址。
[0099] 在本实施例中所述转入方标识和所述转账地址,或者,所述转入方标识与转账地址的相关信息的对应关系。在本实施例中,所述区块链节点向预定数据库发送查询请求,基于该查询请求获得查询响应。
[0100] 在一些实施例中,所述预定数据库可为分布式数据库,也可以是集中数据库。
[0101] 在一些实施例中,查询所述转账地址还可包括:以所述转入方标识为查询依据查询区块链,从区块链中查询到所述转账地址。
[0102] 在一些实施例中,所述步骤S120可进一步包括:
[0103] 步骤S124:获取所述查询响应中携带的合约地址;
[0104] 步骤S125:基于所述合约地址访问合约信息并读取出所述合约信息中的所述转账地址。
[0105] 该合约地址可为能够访问到合约信息的地址,该合约地址可以指向区块链网络中某一个区块的地址,或者,指向账本节点中某一个存储空间的地址。
[0106] 总之,所述合约地址指向了所述合约信息,通过所述合约地址,参与主安装的区块链节点(转账节点)可以查询到合约信息,并从合约信息中提取出转账地址。
[0107] 例如,所述合约信息中定义有合约内容,该合约内容可以需要作为记录到区块链中的信息内容。当然,在本实施例中所述合约信息至少包含有转账地址,方便转账节点从所述合约信息中提取出于转入方标识对应的转账地址。
[0108] 所述合约内容可包括:
[0109] 转入方用户的实名信息,该实名信息可应用于标识转入方的用户的身份信息,方便满足透明转账需求的透明转账,减少利用区块链转账的洗黑钱或黑资产等非法转账的发生及非法转账的追踪。
[0110] 所述合约内容不限于所述转入方用户的实名信息。
[0111] 在一些实施例中所述合约信息中还包含有合约代码,该合约代码被执行后会实现对应的业务逻辑并提供对应的服务。
[0112] 例如,该合约代码可以包含有限定所述身份信息使用的约束条件,若执行该合约代码时会限定当前是否满足读取或使用所述实名信息的约束条件,若满足才允许读取和/或调用所述实名信息。
[0113] 再例如,所述合约代码中有限定了合约函数,通过这些合约函数的调用可以读取到对应的信息,例如,所述合约信息中配置有特定的存储空间用于存储转账地址。合约函数中转账地址的查询函数,若调用该查询函数可以快速读取到所述转账地址。
[0114] 在另一些实施例中,所述合约函数还可包含转账地址的更新函数,该更新函数可包括:首次向合约信息的特定空间写入生成的转账地址,还包括用新生成的转账地址替换旧的转账地址或者替换已经无效的转账地址。
[0115] 可选地,所述方法还包括:
[0116] 利用所述转入方标识至少对所述转账地址进行签名,形成签名信息;
[0117] 基于所述签名信息在区块链网络中广播转账信息,其中,所述签名信息用于在通过监管节点的签名验证后触发将所述转账信息写入转账区块。
[0118] 例如,利用所述转入方标识对所述转账地址进行签名,形成签名信息,例如,利用非对称加密算法对所述转账地址进行计算,得到签名后的签名信息。
[0119] 如此,监管节点接收到转账信息之后,可以基于自身存储的转账地址结合转入方标识进行签名,若签名得到的另一个签名信息与广播的转账信息中的签名信息一致,可认为当前转账无误,监管节点可以投出验证通过的一票;后续可以基于投票机制的票数统计等,最终将通过验证的转账信息写入到转账区块链中的转账区块中。
[0120] 在本实施例中由于监管节点利用转入方标识对所述其自身知晓的转账地址进行签名验证,如此,再次确定了转入方标识和转账地址之间的对应关系,可以减少转账的错误发生。
[0121] 如图3所示,本实施例提供了一种基于区块链的转账方法,包括:
[0122] 步骤S210:检测转账操作;
[0123] 步骤S220:基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
[0124] 在一些实施例中,所述步骤S210可包括:利用人机交互接口(例如,键盘触摸屏、语音检测、眼神示意)等交互接口接收转出方用户的转账指令。
[0125] 在另一些实施例中,所述步骤S210还可包括:从其他设备接收所述转账操作,例如,从远程控制设备接收所述转账操作。在另一些实施例中,所述转账操作还可包括预先设定在转出方的客户端(例如,应用程序(Application,APP)、软件开发工具(Software Development Kit,SDK)或插件中)或转出方所持有电子设备中的内置操作,例如,预购某一个资产,当该资产正式交易时就需要进行支付转账。此时,所述转账操作同样可以是预先设定在客户端或电子设备中的,如此,所述转账操作还可以是设备内置的转账操作。
[0126] 在检测到转账操作之后向区块链网络广播转账请求,触发区块链转账流程的实现。但是值得注意的是,在本发明实施例中所述转账请求中携带的是转入方标识而非转账地址。如此,转账地址不用预先生成,转出方用户也不用手动输入或复制粘贴毫无规律枯燥难让用户有记忆度和区分的转账地址,简化了用户操作,同时也减少转账错误率。
[0127] 如图4所示,所述步骤S220可包括:
[0128] 步骤S221:根据所述转账操作显示通信录;
[0129] 步骤S222:检测作用于所述通信录的选择操作;
[0130] 步骤S223:根据所述选择操作执行的转入方标识,向所述区块链网络广播所述转账请求。
[0131] 所述通信录可为各种通信标识的序列表,例如,手机号通信录、社交账号通信录、电子邮箱地址的通信录。由于通信录中通常有备注转入方的姓名、昵称等方便转出方用户辨识。姓名、昵称相对于由字符串(数字、字母及符号中的一个或多个形成的可高达20个字节)的转账地址,对于用户而言记忆度和可辨识度高非常多,如此,方便用户通过通信录内的内容选择转出方标识发送转账请求。
[0132] 在一些实施例中,所述转出方标识还可以转出方代号,该转出方代号可能与所述通信录中的转出方标识具有唯一对应关系。例如,通信录中记录的用户A的好友用户B的姓名和手机号,为了减少用户B的手机号暴露在网络中,所述方法还包括:
[0133] 根据用户B的手机号与用户B的代号的对应关系,选择用户B的代号添加到转账请求中广播给区块链网络。
[0134] 在通信录中可能有多个通信标识,在本实施例中还会检测选择操作,该选择操作可为点击操作、滑动操作等各种类型的用户操作等,方便用户根据当前需求从通信录中选择出转入方标识进行转账。
[0135] 例如,在转账应用的应用界面检测到转账操作,所述转账应用检测到转账操作之后,自动通过与通信录的接口调用通信录,并显示通信录;例如,切入到通信录应用,显示通信录应用的应用界面,在该应用界面中显示有各种通信标识。通信录应用被调用后,操作系统会记录调用事件,若选择了对应的转入方标识之后,所述操作系统可以控制或者转账应用基于所述调用事件触发通信录的应用界面的退出,返回所述转账应用的应用界面,继续后续的转账相关的操作,例如,返回转账请求的生成页面,提示转出用户输入转账数额、转账标的及转账留言等信息中的一个或多个。
[0136] 在本发明实施例中,在发起区块链转账时,会自动切换到对应的通信录,例如,若转账应用可以通过与各种通信录之间的接口调用通信录,例如,转账应用可以在用户的授权下调用手机号通信、社交账号通信录或者电子邮件应用的邮箱地址通信录等,从而开通对应应用之间的接口。
[0137] 如图5所示,本实施例提供一种区块链的转账装置,包括:
[0138] 接收模块110,用于接收转出方广播的转账请求,其中,所述转账请求携带有转入方的转入方标识;
[0139] 查询模块120,用于基于所述转入方标识查询转账地址;
[0140] 转账模块130,用于基于所述转账地址响应所述转账请求。
[0141] 该转账装置可以应用于区块链网络的区块链节点中,用于区块链节点执行转账,此时,该区块链节点可以称之为转账节点。
[0142] 所述接收模块110、查询模块120及转账模块130为程序模块,在被处理器执行后,可以实现转账请求的广播,该广播包括:以广播地址为目的地址的广播消息,该广播消息携带的内容至少包括所述转账请求。
[0143] 所述查询模块120以所述转入方标识作为查询依据,查询到本次转账请求所对应的转账地址。该转账地址可为区块链网络为对应的用户生成的。
[0144] 在查询到转账地址之后,可以基于转账地址响应转账请求完成转账,生成转账消息,该转账消息写入到转账区块中之后可以作为转账记录被账本节点以区块链的形式所记录。
[0145] 在一些实施例中,所述查询模块120,具体用于查询所述转入方标识是否对应有待转账的转账地址;
[0146] 所述转账模块130,具体用于若所述转入方标识对应有待转账的所述转账地址,基于所述转账地址响应所述转账请求。
[0147] 由于在本发明实施例中所述转账请求的接收,可能是在已经生成了有转账地址,也可以是还未生成所述转账地址,故在本实施例中所述查询模块120具体要先确定所述转入方标识是否已经对应有待转账的转账地址,若有才进行转账。在另一个实施例中,若没有则所述方法还包括:若所述转入方标识未对应有待转账的转账地址;生成与所述转入方标识对应的所述转账地址。如此,在接收到转账请求未生成有待支付的转账地址时,可以先生成转账地址。在本实施例中所述查询模块120还会生成所述转账地址,转账地址的生成可以基于相关技术中进行。例如,利用第一预设算法处理转入方的区块链钱包(一种区块链账号),得到第一计算值;基于第二预设算法对第一计算值进行处理得到第二计算值,所述第二计算值自身或所述第二计算值的部分可以作为所述转账地址。所述第一计算算法和所述第二计算算法不同。所述第一算法和所述第二算法的至少其中之一具有一定的随机性。或者,两个算法对转入方的区块链钱包进行先后处理之后,会产生一定的随机性,如此,就可以使得生成的转账地址有差异性。在一些实施例中,所述第一算法可为椭圆曲线加密算法,所述第二算法可为哈希算法。在具体实现时,所述第一算法和所述第二算法不局限于所述椭圆曲线加密算法和哈希算法。
[0148] 可选地,所述装置还包括:
[0149] 接收模块110,用于接收所述转账触发请求;
[0150] 生成模块,用于根据所述转账触发请求,生成所述转账地址;
[0151] 存储模块,用于对应存储所述转入方标识及所述转账地址。
[0152] 可选地,所述查询模块120,具体用于向预定数据库发送携带有所述转入方标识的查询请求;接收基于所述查询请求返回的查询响应;基于所述查询响应确定所述转账地址。
[0153] 可选地,所述查询模块120,具体用于获取所述查询响应中携带的合约地址;基于所述合约地址访问合约信息并读取出所述合约信息中的所述转账地址。
[0154] 在一些实施例中,所述响应模块还具体用于利用所述转入方标识至少对所述转账地址进行签名,形成签名信息;基于所述签名信息在区块链网络中广播转账信息,其中,所述签名信息用于在通过监管节点的签名验证后触发将所述转账信息写入转账区块。
[0155] 如图6所示,本实施例提供一种区块链的转账装置,包括:
[0156] 检测模块210,用于检测转账操作;
[0157] 广播模块220,用于基于所述转账操作,向区块链网络广播携带有转入方标识的转账请求,其中,所述转入方标识用于确定接受转账的转入方的转账地址。
[0158] 本实施例所述的转账装置可为应用于转出方的设备中的信息处理装置。
[0159] 所述检测模块210及广播模块220均可为程序模块,该程序模块被处理器执行后能顾实现发起携带转入方标识的转账请求就可以触发区块链转账的流程,而不用携带枯燥难度及长度较大的转账地址。
[0160] 所述装置还包括:
[0161] 显示模块,用于根据所述转账操作显示通信录;
[0162] 选择操作检测模块210,用于检测作用于所述通信录的选择操作;
[0163] 所述广播模块220,具体用于根据所述选择操作执行的转入方标识,向所述区块链网络广播所述转账请求。
[0164] 如图7所示,本实施例提供一种区块链节点,包括:
[0165] 收发器,
[0166] 存储器,
[0167] 处理器,分别与所述收发器及存储器连接,用于通过执行存储在所述存储器上的计算机可执行代码,控制所述收发器的信息收发及能够前述第一方面或第二方面提供的方法。
[0168] 所述收发器可包括:各种类型的通信接口,例如,电缆接口、光纤接口或者收发天线等。
[0169] 所述存储器可包括:各种类型的存储介质,该存储介质用于存储各种信息,例如,前述的计算机可执行代码,该计算机可执行代码可为计算机源代码,也可以是计算机目标代码,总之能够被执行的指令。
[0170] 所述存储器可包括:各种类型的存储介质,该存储介质可选为非瞬间存储介质,从而可以在合法掉电和非法掉电的情况下都可以保存所述计算机可执行代码。
[0171] 所述存储器还可供所述处理器写入其他信息,和/或,所述处理器从所述存储器读取其他信息。
[0172] 在本发明实施中,所述处理器可为:中央处理器微处理器数字信号处理器、可编程阵列、或专用集成电路等。所述处理器可以通过集成电路总线(IIC)等与所述收发器及存储器分别连接,从而实现前述一个或多个基于区块链的转账方法,例如,如图1至图4及图8所示方法中的一个或多个。
[0173] 本实施例的区块链节点可为区块链的转账节点,也可以是区块链的参与节点,该区块链的参与节点可包括:发起区块链转账的转账请求的节点,和/或,接受区块链转账的节点。
[0174] 若本实施例提供的区块链节点为所述转账节点,则可以实现应用于区块链网络中的基于区块链的转账方法,例如,图1、图2及图8所示方法中的一个或多个。
[0175] 若本实施例提供的区块链节点为所述参与节点,则可以实现应用于区块链网络中的基于区块链的转账方法,例如,图3、图4及图8所示方法中的一个或多个。
[0176] 本实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行代码,所述计算机可执行代码被执行后,能够实现前述一个或多个基于区块链的转账方法,例如,如图1至图4及图8所示方法中的一个或多个。
[0177] 在一些实施例中,所述终端设备还包括人机交互接口,例如,所述人机交互接口可包括各种输入输出设备,例如,键盘、触摸屏等。
[0178] 本实施例提供的计算机存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0179] 可选地,所述计算机存储介质可为非瞬间存储介质。
[0180] 以下结合上述任意实施例提供几个具体示例:
[0181] 示例1:
[0182] 在注册环节,创建一个数字资产交易实名信息智能合约区块的数据记录。该数据记录内存储用户的实名信息。
[0183] 该实名信息可包括以下至少之一:真实姓名、有效证件信息、性别、认证邮箱、注册手机号、已生成的区块转账地址等信息。所述真实姓名可为官方所认可的标识信息,例如,登记在户籍中的姓名、写在身份证或护照上的姓名等。
[0184] 待保存的实名信息通过区块广播形式,得到联盟链(区块链网络)内监管节点(该监控节点可为区块链节点的一种,在一些情况下该监控节点可为监管节点的一种)投票确认通过验证后,由记账节点存储。
[0185] 实名信息在智能合约中定义为使用键值对的形式保存,主键使用(电子邮箱地址、社交账号等标识信息),值为实名信息的数据实体。
[0186] 智能合约中的实名信息存储在区块链的每一个区块链节点之上,通过合约地址指向其用户的实名信息及转账地址等合约信息。
[0187] 具体的转账步骤可包括:
[0188] 发起转账请求和基于转账请求中的转入方标识进行转账地址的寻址[0189] 交易时,转出方选择转入方后,可发起一个转账请求(直接填写对方电子邮箱地址,或者,如果不愿意在交易中直接显示电子邮箱地址的,将所述电子邮箱地址与代号信息进行映射,形成映射关系),则此时在转账请求携带的是与电子邮箱地址有映射关系的代号信息。
[0190] 转账地址的生成可是逐一生成的,例如,当前生成一个转账地址,若转账地址尚未收到转账,则该转账地址一直维持有效或者在指定时间内维持有效,同时屏蔽其他转账地址的生成,如此,使得一个转入方仅对应有一个有效的转账地址。此处的有效可为:可以接收转账的地址。故,如果用户已存在一个区块转账地址,则不会再创建一个新的地址。通过实名信息智能合约的函数查询出目标用户的实名信息及其携带的转账地址。
[0191] 生成区块转账地址,可包括:
[0192] 根据目标用户的区块钱包的私钥,使用椭圆曲线加密算法(ECDSA-secp256k1)计算所述私钥所对应的公钥。
[0193] 计算公钥的哈希值,例如,计算公钥的Keccak-256哈希值;
[0194] 取计算得到哈希值的后20个字节。
[0195] 转账地址的数字签名,包括:
[0196] 使用对称加密算法(AES),为转账地址进行签名,加密结果使用base64进行编码,密钥为用户的电子邮箱。同时使用同样原理对发起方账户地址进行签名。
[0197] 数字签名后与其它交易信息一起被区块打包发送。此处的区块打包可包括:将数字签名和交易信息(对应于前面的转账信息)写入到区块链的区块中。
[0198] 区块打包之前的验证可包括:
[0199] 对转账双方的转账地址进行验证,使用目标用户(转出方)的电子邮箱对转账地址进行加密。
[0200] 如果加密的后的密文与签名密文一致,则验证通过。否则交易失败,转账事务回滚。
[0201] 转账结果确认,可包括:
[0202] 此环节为提升性能,在联盟链中可采取部分中心化的方式,各方指定监管节点。例如,对转账双方进行验证,使用目标用户的电子邮箱作为密钥对转账地址进行加密;和/或,如果加密的后的密文与签名密文一致,则验证通过。否则交易失败,转账事务回滚。
[0203] 采用本示例的转账自动寻址方案,在数字资产交易过程中,对于转出方无需再去记忆复杂的区块地址,不用担心地址填写错误。对于转入方而言,则无需为每个转出方用户去生成一个转账地址,同样也无需担心地址的错误问题,提升交易速度,保证了交易的准确性。
[0204] 转账自动寻址的核心关键点在于,使用区块链存储实名信息,使实名信息不被篡改;区块转账过程中使用实名信息进行数字签名,保证转账地址真实有效;区块打包以及交易确认环节对数字签名进行验签,核查交易的真实性。
[0205] 本示例正是基于以上所有问题,提出的一种区块转账自动寻址的解决方案。解决了公链交易中因为复杂的区块地址在用户间流转过程中,容易出现各种错误的并产生纠纷的问题,同时提供了私链不能提供的透明公正的交易环境。并且提升了交易效率,保证了国家的实名制的法律法规在数字资产交易过程中的执行。
[0206] 示例2:
[0207] 第一步:保存实名信息,具体可包括:
[0208] 创建一个智能合约,智能合约被创建之后就会产生存储在区块链生成的区块链中的合约信息。
[0209] 构建一个实名信息的数据结构体的集合(键值对,主键是注册email,值是数据结构体),该数据结构体定义包含但不限于以下属性:用户姓名、性别、生日、有效证件类型、有效证件号码、有效证件照片、注册时间、区块转账地址(一个键值对集合,不同类型的数字资产的合约地址对应不同的转账地址)、认证邮箱、注册手机号码。
[0210] 注册时,实名信息将会存储将通过智能合约存储在区块中。
[0211] 第二步:生成转账地址可包括:
[0212] 生成的哈希(hash)地址,例如:
[0213] “0x5127f78B7f22405c4248ad08865b553A0d053bBD”,其中,“0x”为固定前缀,指示该地址可为转转地址所对应的哈希地址。
[0214] 第三步:转账地址的数字签名,数字签名后广播并存储在区块链网络的账本节点中。
[0215] 第四步:转账地址的寻址,具体可包括:
[0216] 用户的实名信息是以键值对的形式存储在合约地址指向的存储空间中。
[0217]
[0218] “0x254247d6735fa73036ef9e3b3a2bf1a18377a2e2”为某数字资产的合约地址。
[0219] 这个实名信息智能合约中可能会这样定义,程序通过函数查询地址:
[0220] Map realNameInfo;//实名信息
[0221] function queryAddrss(string email,address contractAddress){[0222] return realNameInfo[emial][contractAddress]}//传入认证的电子邮箱地址和合约地址。
[0223] 例如,function queryAddrss即为传入认证的电子邮箱地址并输出合约地址的函数。上述函数中,“contractAddress”代表所述合约地址;“email”代表前述电子邮箱地址。
[0224] 数字签名的操作可如下:
[0225] 使用对称加密(AES)方式进行签名,例如使用上面的hash地址,密钥为test@163.com。那么加密后的结果为:
[0226] “2y1SFEYvDipKOx4Ybe707R64v5D0U6xhzkwEfu1QrzWA6XIXn9vGgWNjENK0Lm6k”[0227] 第五步:数字签名的验证,可包括:将地址明文按上一步数字签名的方式进行加密后比对。
[0228] 示例3:
[0229] 如图8所示,本示例提供一种基于区块链的转账方法,包括:
[0230] 转账开始:
[0231] 选择交易的目标用户,可对应于前述选择转出方标识;
[0232] 判断是否已生成区块链的转账地址,若否,进入到生成区块链的转账地址的步骤,若是,对双方的转账地址进行数字签名;
[0233] 区块链矿工节点对数字签名进行验证;
[0234] 若验证成功,区块链矿工对交易信息(对应于前述的转账信息)打包处理;
[0235] 若验证失败,结束本次转账。在一些情况下,所述方法还包括:向转账请求的请求方(即前述转出方)发送转转失败提示,在一些实施例中所述转账失败提示还失败原因,以提升用户体验。
[0236] 其他区块链矿工节点对转账地址进行验证数字签名,若验证通过,则转账成功,记录到转账区块中。
[0237] 示例4:
[0238] 如图9所示,本实施例提供一种区块链网络,该区块链网络包括以下三种区块链节点:
[0239] 监管节点,至少用于进行验证,所述验证包括:区块链节点的加入验证、执行结果的验证、及查询区块链的客户端的身份信息验证;在一些实施例中,所述监管节点还用于区块链的监管工作;此处的执行结果可包括:前述转账过程中各种业务逻辑的执行结果;
[0240] 矿工节点,用于参与各种计算,形成可添加到区块链中的执行结果;
[0241] 账本节点,用于记录通过监管节点验证的执行结果,生成并存储区块链,还用于区块链的查询。
[0242] 在本示例中,将区块链节点的功能进行了分离,每一个中区块链节点负责不同的功能;如此,一方面,可以避免单一区块链节点需要同时承担多种色导致的对区块链节点的性能要求高,对区块链节点的软硬件资源需求多的问题,从而解决了区块链节点的选择难度高及区块链网络搭建困难的问题。另一方面,由于区块链网络对区块链节点的角色进行分离,实现了区块链节点的功能分离,使得单一区块链节点所需要完成的工作类型少了,从而降低了单一区块链节点的负载率,从而使得整个区块链网络响应速率得到了大大的提升,如此,用户在查询数据和存储数据时都能够被及时的响应,从而具有响应速率高的特点。
[0243] 本示例,所述监管节点、所述矿工节点及所述账本节点为相对独立的节点;例如,所述监管节点、所述矿工节点及所述账本节点中的任意两个都设置在不同的物理设备上,或者,对应于设置平台的虚拟设备上;如此,可以确保各个节点的功能有足够的分离度,以降低对单一设备的性能要求,以简化区块链网络的搭建,同时避免单一设备累计过多的负载,导致响应速率慢的问题。
[0244] 本示例,所述账本节点的存储逻辑和数据操作逻辑是分离的,是相互独立的。如此,通过存储逻辑和数据操作逻辑的解耦,账本节点可以自行规划数据存储,可以将数据存储到离线设备或网络设备中,不局限于本节点,同时还可以删除一些长期不用的区块,以节省存储资源的消耗;或者,压缩一些长期不查询的数据,同样可以节省存储资源的消耗。
[0245] 在本示例中,所述区块链网络可为联盟区块链网络,所述区块链可为联盟区块链,联盟区块链网络生成的联盟链。联盟链区别于面向所有公众的公共链和仅面向某一团体内部的私有链;联盟链面向多个团体,一方面相对于私有链实现了数据监管的透明化,确保了数据的安全性;另一方面相对于公共链,联盟链监管更加简便。
[0246] 所述以独立于所述数据操作逻辑的存储逻辑存储所述区块链,包括以下至少之一:
[0247] 删除满足所述区块链中满足第一预设条件的区块数据;
[0248] 将所述区块链中满足第二预设条件的区块存储到预定存储设备中,其中,所述预定存储设备为独立于所述账本节点的离线设备或网络设备。
[0249] 所述满足第一预设条件的区块数据可包括以下至少之一:
[0250] 距离当前时间的时长已经达到第一预设时长的区块数据,虽然当个账本节点删除了部分数据,其他账本节点会保存完整的数据;
[0251] 删除当前已经销毁或撤回的数字资产的区块数据。
[0252] 通过区块数据的删除,可以减少存储区块链所需的存储资源。
[0253] 在一些实施例中,删除区块数据可以区块数据为粒度,也可以以区块为粒度,若以区块为粒度可以简化删除。
[0254] 例如,将一些区块转存到离线设备或者网络设备中,从而减少所述账本节点自身所需提供的存储资源。
[0255] 所述满足第二预设条件的区块可包括以下至少之一:
[0256] 距离当前时间的时长已经达到第二预设时长的区块;可选地,所述第二预设时长小于所述第一预设时长;
[0257] 转移当前已经销毁或撤回的数字资产的区块。
[0258] 可选地,其特征在于,所述方法还包括:
[0259] 接收客户端发送的区块链查询请求;
[0260] 接收监管节点广播的所述客户端的身份信息的验证结果;
[0261] 若所述客户端的身份信息通过验证,响应所述区块链查询请求。
[0262] 在本示例中区块链查询请求的身份验证是由监管节点执行的,如此,所述账本节点可以减少工作负荷量,从而保留更多的资源响应区块链查询和区块链的生成和存储。
[0263] 此处的区块数据可包括前述转账中产生的数据。
[0264] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0265] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0266] 另外,在本示例各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0267] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
[0268] 以上所述,仅为本示例的具体实施方式,但本示例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本示例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本示例的保护范围之内。因此,本示例的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈