CN117411858A - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents

基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN117411858A
CN117411858A CN202210790202.5A CN202210790202A CN117411858A CN 117411858 A CN117411858 A CN 117411858A CN 202210790202 A CN202210790202 A CN 202210790202A CN 117411858 A CN117411858 A CN 117411858A
Authority
CN
China
Prior art keywords
social
account
password
private key
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210790202.5A
Other languages
English (en)
Inventor
吴坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210790202.5A priority Critical patent/CN117411858A/zh
Publication of CN117411858A publication Critical patent/CN117411858A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本发明公开了一种基于区块链的数据处理方法、装置、设备及可读存储介质,该方法包括:响应第一对象针对社交应用的账号注册请求,为第一对象生成私钥;根据私钥生成第一对象对应的公钥以及账号地址;根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号;私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力;注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。采用本发明,可以提高社交应用中的数据安全性。

Description

基于区块链的数据处理方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。
背景技术
近年来,各种社交应用层出不穷,网上社交逐渐成为人们生活中不可或缺的一种社交方式。
目前社交应用大多是基于服务端进行交互的,每个客户端均需要与服务端建立连接,才能正常运行该社交应用,因为对象的社交账号等数据均保存在服务器中。因此,可以理解,基于服务端进行交互的社交应用都是中心化的,所有对象的数据和信息都存储在服务器上,一旦出现服务器被攻击,则很容易造成对象隐私数据的集中丢失。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及可读存储介质,可以提高社交应用中的数据安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
响应第一对象针对社交应用的账号注册请求,基于区块链规则为第一对象生成私钥;区块链规则存储于第一对象对应的终端设备中;
根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址;
根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;
若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号;私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力;注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
第一生成模块,用于响应第一对象针对社交应用的账号注册请求,基于区块链规则为第一对象生成私钥;区块链规则存储于第一对象对应的终端设备中;
第二生成模块,用于根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址;
交易注册模块,用于根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;
账号确定模块,用于若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号;私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力;注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。
其中,第二生成模块,包括:
第一加密单元,用于对私钥进行非对称加密处理,得到第一对象对应的公钥;
第二加密单元,用于对公钥进行单向哈希加密处理,得到第一对象对应的账号地址。
其中,交易注册模块,包括:
注册交易生成单元,用于生成账号注册请求;账号注册请求携带公钥以及账号地址;
注册交易生成单元,还用于通过私钥对账号注册请求进行签名处理,得到签名数据;
注册交易生成单元,还用于将账号注册请求以及签名数据进行打包,得到针对第一对象的账号注册交易;
注册交易发送单元,还用于向区块链网络发送账号注册交易,以使区块链网络根据公钥对签名数据进行验签处理,得到验签结果,在验签结果为验签通过结果时,将账号注册交易打包至目标区块,对目标区块进行共识上链。
其中,上述数据处理装置,还包括:
第一密码设置模块,用于显示针对社交账号的密码设置页面;
第一密码设置模块,还用于响应第一对象针对密码设置页面的输入操作,获取第一对象所输入的密码,作为第一密码;
第一密码设置模块,还用于根据第一密码对私钥进行可逆加密处理,得到第一加密文件;
第一密码设置模块,还用于存储第一加密文件,在第一加密文件存储成功后,在密码设置页面显示密码设置成功提示信息。
其中,上述数据处理装置,还包括:
第二密码设置模块,用于显示针对社交账号的密码设置页面;密码设置页面包括密码设置文本框和随机码设置文本框;
第二密码设置模块,还用于响应第一对象针对密码设置文本框的设置操作,获取第一对象所设置的密码,作为第二密码;
第二密码设置模块,还用于响应第一对象针对随机码设置文本框的设置操作,获取第一对象所设置的随机码,作为目标随机码;
第二密码设置模块,还用于在加密池中获取与目标随机码匹配的加密方式,作为目标加密方式;
第二密码设置模块,还用于根据第二密码和目标加密方式对私钥进行可逆加密处理,得到第二加密文件;
第二密码设置模块,还用于将第二加密文件、目标随机码与第一对象的社交账号关联存储;
第二密码设置模块,还用于在第二加密文件、目标随机码与第一对象的社交账号关联存储成功后,在密码设置页面显示密码设置成功提示信息。
其中,上述数据处理装置,还包括:
社交交互上链模块,用于响应第一对象针对社交应用的社交交互上链操作,生成社交交互上链请求;
社交交互上链模块,还用于在社交应用中显示密码输入文本框;
社交交互上链模块,还用于响应第一对象针对密码输入文本框的输入操作,获取第一对象所输入的密码,作为输入密码;
社交交互上链模块,还用于若输入密码与第二密码相同,则获取与第一对象的社交账号关联存储的第二加密文件和目标随机码;
社交交互上链模块,还用于在加密池中获取与目标随机码匹配的目标加密方式;
社交交互上链模块,还用于根据输入密码和目标加密方式对第二加密文件进行可逆解密处理,得到私钥;
社交交互上链模块,还用于通过私钥对社交交互上链请求进行签名处理,得到社交交互签名数据;
社交交互上链模块,还用于将社交交互上链请求以及社交交互签名数据进行打包,得到社交交互上链交易;
社交交互上链模块,还用于向区块链网络发送社交交互上链交易,以使区块链网络将社交交互上链交易打包至新目标区块,对新目标区块进行共识上链。
其中,上述数据处理装置,还包括:
账号转移模块,用于响应第一对象针对转移终端设备的账号转移操作,生成目标转移码;
账号转移模块,还用于与转移终端设备建立点对点连接,接收转移终端设备通过点对点连接发送的响应转移码;
账号转移模块,还用于若响应转移码与目标转移码相同,则将第二加密文件、目标随机码与社交账号发送至转移终端设备,以使转移终端设备获取第一对象输入的验证密码,根据验证密码和目标随机码对第二加密文件进行可逆解密处理,得到解密私钥,根据解密私钥与第一对象的社交账号向区块链网络发送验证交易;
账号转移模块,还用于若接收到转移终端设备发送的转移成功提示信息,则确定账号转移成功;转移成功提示信息是转移终端设备在确定验证交易上链成功时生成的。
其中,上述数据处理装置,还包括:
密码云存储模块,用于显示针对社交账号的密码云存储页面;
密码云存储模块,还用于响应针对密码云存储页面的输入操作,获取第一对象的可用联系账号;
密码云存储模块,还用于根据可用联系账号与目标加密方式对第二密码进行可逆加密处理,得到第三加密文件;
密码云存储模块,还用于将第三加密文件与可用联系账号发送至社交应用对应的后台服务器,以使后台服务器对第三加密文件与可用联系账号进行关联存储;
密码云存储模块,还用于若接收到后台服务器发送的存储成功提示信息,则显示存储成功提示信息。
其中,上述数据处理装置,还包括:
密码云找回模块,用于显示针对社交账号的密码云找回页面;
密码云找回模块,还用于响应针对密码云找回页面的输入操作,获取第一对象所输入的输入找回账号;
密码云找回模块,还用于将输入找回账号发送至后台服务器,以使后台服务器在检测到输入找回账号与可用联系账号相同时,获取第三加密文件,生成针对第三加密文件的找回验证码,将找回验证码发送至输入找回账号;
密码云找回模块,还用于若接收到后台服务器发送的验证码已发送提示信息,则在密码云找回页面中显示验证码输入框;
密码云找回模块,还用于响应针对验证码输入框的输入操作,获取第一对象所输入的输入验证码;
密码云找回模块,还用于将输入验证码发送至后台服务器;
密码云找回模块,还用于若后台服务器验证出输入验证码和找回验证码相同,则接收后台服务器返回的第三加密文件;
密码云找回模块,还用于根据输入找回账号与目标加密方式对第三加密文件进行可逆解密处理,得到第二密码,在密码云找回页面中显示第二密码。
其中,社交交互包括社交信息发布;
上述数据处理装置,还包括:
社交信息发布模块,用于响应第一对象通过社交账号进行的社交信息发布操作,生成社交信息发布请求;社交信息发布请求包括待发布信息;
社交信息发布模块,还用于获取第一对象对应的私钥,根据私钥对社交信息发布请求进行签名处理,得到社交信息发布签名数据;
社交信息发布模块,还用于将社交信息发布请求以及社交信息发布签名数据进行打包,得到社交信息发布交易;
社交信息发布模块,还用于将社交信息发布交易发送至区块链网络,以使区块链网络将社交信息发布交易打包至社交区块,对社交区块进行共识上链;
社交信息发布模块,还用于若接收到后台服务器发送的携带待发布信息和社交区块的区块哈希的社交信息发布指令,则根据社交信息发布指令在社交应用中显示待发布信息以及区块哈希;社交信息发布指令是由后台服务器在遍历到社交区块共识上链成功时所生成的;区块哈希用于查询社交区块的区块信息。
其中,社交交互包括对象添加;
上述数据处理装置,还包括:
对象添加模块,用于响应第一对象通过社交账号进行的对象添加操作,生成对象添加请求;对象添加请求包括第二对象的社交账号;
对象添加模块,还用于与第二对象绑定的对象终端设备建立对象点对点连接;
对象添加模块,还用于若对象点对点连接建立成功,则通过对象点对点连接向对象终端设备发送对象添加请求,以使对象终端设备响应对象添加请求进行对象添加操作,得到对象添加结果;
对象添加模块,还用于若对象添加结果为对象拒绝添加结果,则确定对象添加失败;
对象添加模块,还用于若对象添加结果为对象允许添加结果,则获取第一对象的私钥,根据私钥对对象允许添加结果进行签名处理,得到添加结果签名数据;
对象添加模块,还用于将对象允许添加结果以及添加结果签名数据进行打包,得到第一对象允许添加交易;
对象添加模块,还用于将第一对象允许添加交易发送至区块链网络,以使区块链网络对第一对象允许添加交易进行共识上链;
对象添加模块,还用于若接收到后台服务器发送的对象添加成功指令,则根据对象添加成功指令将第二对象的社交账号添加至第一对象的对象列表;对象添加成功指令是由后台服务器在确定第一对象允许添加交易和第二对象允许添加交易共识上链成功时所生成的;第二对象允许添加交易是由对象终端设备根据对象允许添加结果生成的。
其中,社交交互包括对象即时会话;
上述数据处理装置,还包括:
对象即时会话模块,用于响应第一对象通过社交账号进行的对象即时会话操作,显示第一对象的对象列表;
对象即时会话模块,还用于响应针对对象列表中第二对象的社交账号的触发操作,显示与第二对象的即时会话界面;
对象即时会话模块,还用于响应第一对象的会话消息生成操作,生成即时会话消息;
对象即时会话模块,还用于通过对象点对点连接将即时会话消息发送至对象终端设备。
本申请实施例一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信网元,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
本申请实施例中,在响应第一对象针对社交应用的账号注册请求时,会基于区块链规则为第一对象生成私钥,进一步根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址,其中,区块链规则存储于第一对象对应的终端设备中;然后,根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,等待区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链,若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号,该私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力,其中,注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。采用本申请实施例提供的方法,对象的账号信息将存储在区块链中,即使后台服务器被攻击,也不会导致对象的账号信息丢失,实现了对象社交账号的去中心化,另外,对象在通过社交应用进行社交交互产生的数据需要依赖公私钥进行上链,因为公私钥可以仅在集成安装有社交应用的应用客户端的终端设备中生成与存储,因此公私钥不易被泄露,降低了社交应用的数据在上链前就被篡改的可能性,从而提高了社交应用中的数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链搭建的流程示意图;
图2是本申请实施例提供的一种网络架构示意图;
图3a是本申请实施例提供的一种去中心化社交账号注册请求上链的场景示意图;
图3b是本申请实施例提供的一种去中心化社交账号注册成功的场景示意图;
图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图5是本申请实施例提供的一种社交身份账号体系的创建过程示意图;
图6是本申请实施例提供的一种帖子发布实现的交互示意图;
图7是本申请实施例提供的一种对象添加实现的流程示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图10是本申请实施例提供的一种私钥转移的交互示意图;
图11是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链,区块链网络可以将节点区分为共识节点和业务节点,其中共识节点负责区块链全网的共识。对于区块链网络中交易数据被写入账本的过程可以为:客户端发送交易数据至业务节点,随后该交易数据以接力棒的方式在区块链网络中的业务节点之间传递,直到共识节点收到该交易数据,共识节点再将该交易数据打包进区块,与其他共识节点之间进行共识,在共识通过后,将携带该交易数据的区块写入账本。
其中,可以理解的是,区块(Block)是在区块链网络上承载交易数据(即交易业务)的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过网络的共识机制验证并确定区块中的交易。
其中,可以理解的是,哈希(hash)值,也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,前继区块被称为当前区块的父区块。哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。
其中,可以理解的是,区块链系统中可以包括有智能合约,该智能合约在区块链系统中可以理解为是一种区块链各节点(包括共识节点)可以理解并执行的代码,可以执行任意逻辑并得到结果。用户可以通过客户端发起一个交易业务请求的方式,调用区块链上已经部署的智能合约,随后,区块链上的业务节点可以将该交易业务请求发送至共识节点,而区块链上的各个共识节点可以分别运行该智能合约。应当理解,区块链中可以包括一个或多个智能合约,这些智能合约可以标识号(Identity document,ID)或名称来进行区分,而客户端发起的交易业务请求中,也可以携带智能合约的标识号或名称,以此指定区块链需要运行的智能合约。而若客户端所指定的智能合约为需要读取数据的合约,则各个共识节点会访问本地账本来进行数据的读取,最后各个共识节点会互相验证执行结果是否一致(也就是进行共识),若一致则可以将执行结果存入各自的本地账本中,并将执行结果返回至客户端。
本申请实施例提供的方法需要基于区块链实现,因为社交应用对于信息的迭代和更新要求比较高,因此公链通常情况下是不适合的,因此,本申请实施例在选择区块链时,需要选择一条出块速度快,且稳定的区块引擎。其中,区块引擎是封装了逻辑代码的底层组件,通过区块引擎可以快速部署区块链。请先参见图1,图1是本申请实施例提供的一种区块链搭建的流程示意图。如图1所示,该搭建流程主要包括以下步骤:
步骤S001,选择区块链引擎。
步骤S002,下载区块链引擎代码并编译。
步骤S003,根据将要搭建的区块链网络信息,对配置文件进行修改。例如:网络模块需要的所有节点的IP(Internet Protocol,网络协议)和端口;共识模块需要配置使用何种共识算法等。
具体的,配置共识模块时,如果倾向于最终一致性和性能可以选择Raft(一种共识算法)共识算法;如果倾向于对作恶节点的拜占庭容错,则可以选择BFT(Byzantine FaultTolerance,拜占庭容错)类共识算法。
步骤S004,将编译后的代码和配置文件,上传到对应的区块链节点。
步骤S005,执行区块链引擎的启动命令,启动区块链。
步骤S006,网络初始化。
步骤S007,共识初始化。
步骤S008,完成区块链的启动。
具体的,区块链引擎会按照依赖顺序初始化各个模块,例如共识模块需要依赖于网络模块的初始化。
具体的,按照上述步骤,假设共识算法选择的是Raft共识算法,则可以先下载引擎代码,编译后放在5(2n+1)台服务器上部署,然后部署好共识算法后,启动区块链。因为Raft类共识算法,共识判定是超过半数,因此节点数最好为奇数,这样有利于共识,同时也方便后期查看和分析日志。
请再参见图2,图2是本申请实施例提供的一种网络架构示意图。如图2所示,该网络架构可以包括区块链节点集群1000、后台服务器(服务端)集群100以及终端设备(客户端)集群10,该区块链节点集群1000可以包括至少两个区块链节点。如图1所示,该区块链节点集群1000可以包括区块链节点1000a、区块链节点1000b、…、区块链节点1000n,该后台服务器集群100具体可以包括后台服务器100a、后台服务器100b、…、后台服务器100n,该终端设备集群10具体可以包括终端设备10a、终端设备10b、…、终端设备10n。其中,区块链节点集群1000的搭建过程可以参考上述图1所示的搭建过程,这里不再进行赘述。
如图2所示,终端设备10a、终端设备10b、…、终端设备10n可以分别与后台服务器100a、后台服务器100b、…、后台服务器100n进行数据连接,以便于终端设备可以通过该数据连接与后台服务器进行数据交互;终端设备10a、终端设备10b、…、终端设备10n可以分别与区块链节点1000a、区块链节点1000b、…、区块链节点1000n进行数据连接,以便于终端设备可以通过该数据连接与区块链节点进行数据交互;后台服务器100a、后台服务器100b、…、后台服务器100n可以分别与区块链节点1000a、区块链节点1000b、…、区块链节点1000n进行数据连接,以便于后台服务器可以通过该数据连接与区块链节点进行数据交互;区块链节点1000a、区块链节点1000b、…、区块链节点1000n互相连接,以便于区块链节点之间可以进行数据交互。
可以理解的是,区块链节点之间可以通过上述数据连接进行数据或者区块传输。区块链网络可以基于节点标识实现区块链节点之间的数据连接,对于区块链网络中的每个区块链节点,均具有与其对应的节点标识,而且上述每个区块链节点均可以存储与自身有相连关系的其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将获取到的数据或生成的区块广播至其他区块链节点,例如区块链节点1000a中可以维护一个如表1所示的节点标识列表,该节点标识列表保存着其他节点的节点名称和节点标识:
表1
节点名称 节点标识
区块链节点1000a AAA.AAA.AAA.AAA
区块链节点1000b BBB.BBB.BBB.BBB
区块链节点1000n CCC.CCC.CCC.CCC
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任意一种能够用于标识区块链网络中区块链节点的信息,表1中仅以IP地址为例进行说明。例如,区块链节点1000a可以通过节点标识BBB.BBB.BBB.BBB向区块链节点1000b发送信息(例如,交易数据),且区块链节点1000b可以通过节点标识AAA.AAA.AAA.AAA确定该信息是由区块链节点1000a所发送的。
在区块链中,在将一个区块进行上链之前,该区块必须经过区块链网络中的共识节点进行共识,在共识通过后才能将该区块添加到区块链上。可以理解的是,当区块链被用于商业机构的一些场景中时,并非区块链中的所有参与节点(即上述区块链节点集群1000中的区块链节点)都有足够的资源和必要性成为区块链的共识节点。例如,在图2所示的区块链节点集群1000中,可以将区块链节点1000a、区块链节点1000b和区块链节点1000n作为该区块链节点集群中的共识节点。区块链节点集群1000中的共识节点参与共识,也就是对区块(包含一批交易)进行共识,包括生成区块,对区块进行投票;而非共识节点不参与共识,但会帮助传播区块和投票消息,以及相互同步状态等。
其中,可以理解的是,上述的数据连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他连接方式,本申请在此不做限制。
可以理解的是,本申请实施例所提供的基于区块链的数据处理方法可以由计算机设备执行,计算机设备包括但不限于上述区块链节点(可以为终端或者服务器)、后台服务器、终端设备。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
可以理解的是,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
可以理解的是,在本申请的具体实施方式中,涉及到的账号注册交易、社交交互上链交易等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
如图2所示,终端设备集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述后台服务器集群100中的任一后台服务器之间进行数据交互,使得上述后台服务器集群100中的任一后台服务器可以接收来自于每个终端设备的业务数据。其中,该应用客户端可以为游戏应用、视频编辑应用、即时通信应用、直播应用、短视频应用、视频应用、音乐应用、购物应用、小说应用、支付应用、浏览器等具有显示文字、图像、音频以及视频等数据信息功能的社交应用的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如即时通信客户端、社交客户端、视频客户端等)中的嵌入式子客户端,在此不做限定。
与第一对象绑定的终端设备可以通过社交应用的应用客户端来进行社交交互操作,为了实现对象进行网上社交的去中心化,需要先保证对象使用的社交账号体系的去中心化,因此,本申请实施例提供了一种基于区块链的数据处理方法,如图2所示,与第一对象绑定的终端设备可以通过运行该应用客户端,响应第一对象针对社交应用的账号注册请求,基于区块链规则为第一对象生成私钥,其中,区块链规则存储于第一对象对应的终端设备中;然后根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址;再根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号,之后,私钥、公钥以及社交账号将用于为第一对象提供在社交应用中执行社交交互的能力,该注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。简言之,第一对象的社交账号等信息会存储在区块链中,因此,当后台服务器被恶意攻击,即时后台服务器中第一对象的社交账号等信息被更改了,依然可以去区块链中查证,保证了对象使用的社交账号体系的去中心化,后续终端设备通过运行社交应用的应用客户端进行的社交交互操作等相关的数据也可以基于私钥、公钥以及社交账号上链,从而实现了网上社交的去中心化。
为便于理解上述过程,请一并参见图3a-图3b,其中,如图3a-图3b中所示的终端设备20可以为上述图2所示的终端设备集群10中的任一终端设备,如,终端设备20可以为终端设备10a;如图3a-图3b中所示的后台服务器200可以为上述图2所示的后台服务器集群100中的任一后台服务器,如,后台服务器200可以为后台服务器200b;如图3a-图3b中所示的区块链网络2000可以为上述图2所示区块链节点集群1000共同构成的区块链网络,区块链网络2000中的区块链节点2001可以为上述图2所示区块链节点集群1000中的任一区块链节点,如,区块链节点2001为区块链节点1000a。
请先参见图3a,图3a是本申请实施例提供的一种去中心化社交账号注册请求上链的场景示意图。假设终端设备20与对象A具有绑定关系,终端设备20中安装有社交应用21的应用客户端,若对象A还没有可以用于登录该社交应用的社交账号,则对象A可以先通过该社交应用21的应用客户端进行账号注册,如图3a所示,社交应用21的账号注册界面显示有常规注册选项211和链上注册选项212,对象A可以通过触发常规注册选择211进行针对社交应用21的常规注册,即直接向社交应用21对应的后台服务器200申请社交应用的账号注册;对象A还可以通过触发链上注册选项212进行针对社交应用21的链上注册,即通过区块链网络2000来完成针对社交应用21的注册。假设对象A触发了链上注册选项212,终端设备20可以响应对象A对链上注册选项212的触发操作生成针对社交应用21的账号注册请求,随后,如图3a所示,终端设备20可以响应该账号注册请求,然后基于区块链规则为对象A生成私钥B,再根据私钥B生成对象A对应的公钥C以及账号地址D。其中,区块链规则可以是事先设置的私钥生成规则,可以包含私钥长度、私钥可用字符种类、随机规则等等。此时,对象A的账号注册并未成功,终端设备20还需要根据私钥B、公钥C以及账号地址D生成账号注册交易22,该账号注册交易22用于将对象A注册社交应用21的相关身份信息上链存储。终端设备20会将该账号注册交易22发送至区块链网络2000中的任一区块链节点,例如,区块链节点2001,然后等待区块链网络对该账号注册交易22进行处理。
如图3a所示,在区块链网络2000中,该账号注册交易22可以被打包至目标区块23,然后,区块链网络2000会对该目标区块23进行共识处理,如果区块链网络2000对该目标区块23共识通过,该目标区块23将会被添加至区块链中进行存储。
请一并参见图3b,图3b是本申请实施例提供的一种去中心化社交账号注册成功的场景示意图。如图3b所示,社交应用21对应的后台服务器200会遍历区块链网络2000中的区块链24。其中,后台服务器200可以按照固定频率对区块链24进行一次遍历,也可以是区块链24增加新区块时,区块链网络2000中的任一区块链节点便向后台服务器200发送通知,然后后台服务器200遍历一次区块链24,也可以根据其他遍历频率对区块链24进行一次遍历,本申请在此不作限制。当后台服务器200从区块链24中第一次遍历到目标区块23中的账号注册交易22时,后台服务器200可以生成注册成功提示信息25,用于表征对象A的社交账号注册成功,然后下发至终端设备20。终端设备20接收到后台服务器200发送的注册成功提示信息25,就可以将账号地址D确定为对象A的社交账号,并保存私钥B和公钥C。后续对象A在通过终端设备20使用社交应用21时,私钥B、公钥C以及社交账号就可以为对象A提供在社交应用中执行社交交互的能力。
由上述可知,第一对象在进行社交应用的账号注册时,不再直接向社交应用对应的后台服务器申请,且也不再存储在后台服务器中,而是先生成与第一对象相关联的私钥、公钥以及账号地址,然后通过账号注册交易将相关信息进行上链存储,从而实现社交账号体系的去中心化,因为区块链具备数据不可更改的特性,即使后台服务器被恶意攻击,第一对象的正确身份信息也可以查证,大大提高了第一对象网上社交的安全性。此外,与第一对象关联的公私钥是基于第一对象相关的终端设备生成和存储的,也不需要通过后台服务器实现,不同对象的公私钥基于不同对象绑定的终端设备生成和存储,彼此之间互相隔离,保证了公私钥的安全性,降低了公私钥被泄露的可能性。
进一步地,请参见图4,图4是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。其中,该方法可以由终端设备(例如,上述图2所对应实施例中的终端设备集群10中的任一终端设备)执行。以下将以本方法由终端设备执行为例进行说明,其中,该基于区块链的数据处理方法至少可以包括以下步骤S101-步骤S104:
步骤S101,响应第一对象针对社交应用的账号注册请求,基于区块链规则为所述第一对象生成私钥;所述区块链规则存储于所述第一对象对应的终端设备中。
具体的,第一对象需要拥有该社交应用对应的社交账号,才具有登录该社交应用或者正常使用该社交应用的权限。因此,当第一对象初次使用该社交应用时,需要先通过终端设备中安装的该社交应用对应的应用客户端申请注册该社交应用对应的社交账号。然后终端设备可以响应第一对象针对社交应用的账号注册请求,然后基于区块链规则先为第一对象生成私钥。其中,区块链规则可以包含有私钥生成规则,例如,区块链中私钥的长度、可包含的字符类型、随机字符所使用的规则、唯一性验证规则等等。
具体的,终端设备中可以集成安装有区块链相关的SDK(Software DevelopmentKit,软件开发工具包),上述私钥的生成也可以通过SDK实现,即区块链规则可以存储在SDK中。此外,终端设备后续与区块链网络的交互均可以通过SDK来实现。
步骤S102,根据所述私钥生成所述第一对象对应的公钥,以及所述第一对象对应的账号地址。
具体的,根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址的一个可行实施过程,可以为:对私钥进行非对称加密处理,得到第一对象对应的公钥;对公钥进行单向哈希加密处理,得到第一对象对应的账号地址。其中,非对称加密是指加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私密的私钥,公钥加密的信息,只有私钥才能解密,私钥加密的信息,只有公钥才能解密。常见的非对称加密处理可以包含采取ECC(Elliptic Curves Cryptography,椭圆加密算法),RSA(一种公钥密码算法)等算法,本申请在此不作限制。其中,哈希加密处理是指针对公钥通过哈希(Hash)函数进行加密运算,从而得到账号地址。需要说明的是,后续终端设备需要向区块链网络发送交易或者请求时,需要通过私钥签名,用于证明所有权,这个签名是不可伪造的,且这个签名,可以被这个私钥对应的公钥进行验证。另外,一个账号地址只能有一个私钥,且不可更改。
为更好地理解上述身份账号体系(包括私钥、公钥以及账号地址)的创建过程,请一并参见图5,图5是本申请实施例提供的一种社交身份账号体系的创建过程示意图。如图5所示,终端设备50(可以为上述图2所示的终端设备集群10中的任一终端设备,如,终端设备20可以为终端设备10b)中可以集成安装有社交应用的应用客户端51和区块链SDK(软件应用开发工具包)52,终端设备50通过应用客户端51响应第一对象的账号申请操作,然后向区块链SDK52发送账号注册请求,区块链SDK52响应该账号注册请求,就可以根据区块链规则先生存一个私钥53,然后对该私钥53进行单向椭圆曲线相乘(即上述非对称加密处理),就得到公钥54,然后再对公钥54进行单向的哈希函数运行(即上述哈希加密处理),就得到账号地址55,然后,区块链SDK52就可以将私钥53、公钥54以及账号地址55均返回给应用客户单51。
通过图5所示的创建过程,可以看出,应用客户端51可以通过区块链SDK52直接按照区块链的规则生成对应的账号地址和公私钥,整个过程没有经过应用客户端51对应的后台服务器,而是在区块链SDK52里就完成了计算,实现了社交应用的身份账号体系的去中心化。后续与该账号地址相关联的请求或者交易,也可以认为由第一对象发起的请求或者交易,均需要依赖该私钥的签名才能发送至区块链网络,区块链网络则会基于公钥来进行验签。
步骤S103,根据所述私钥、所述公钥以及所述账号地址向区块链网络发送针对所述第一对象的账号注册交易,以使所述区块链网络将所述账号注册交易打包至目标区块,对所述目标区块进行共识上链。
具体的,终端设备在为第一对象生成了本申请实施例设计的社交应用的身份账号体系后,第一对象的账户注册还未成功,终端设备还需要发送一笔账号注册交易到区块链上,表示为注册账号。只有当该账号注册交易成功被写入区块链中,第一对象的账号注册才算初步完成,不过还需要等待社交应用的后台服务器做最后的确认。
具体的,根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链的一个可行实施过程,可以为:生成账号注册请求;账号注册请求携带公钥以及账号地址;通过私钥对账号注册请求进行签名处理,得到签名数据;将账号注册请求以及签名数据进行打包,得到针对第一对象的账号注册交易;向区块链网络发送账号注册交易,以使区块链网络根据公钥对签名数据进行验签处理,得到验签结果,在验签结果为验签通过结果时,将账号注册交易打包至目标区块,对目标区块进行共识上链。
步骤S104,若接收到所述社交应用对应的后台服务器发送的注册成功提示信息,则将所述账号地址确定为社交账号;所述私钥、所述公钥以及所述社交账号用于为所述第一对象提供在所述社交应用中执行社交交互的能力;所述注册成功提示信息是由所述后台服务器在遍历到所述目标区块共识上链成功时所生成的。
具体的,第一对象的账号注册成功还需要由社交应用的应用服务端,即社交应用对应的后台服务器确认才可,对于社交应用对应的后台服务器来说,要统计注册用户的相关信息,只需要遍历区块链上的区块信息,将标记为注册的账户信息收集即可。可以理解的是,后台服务器可以按照固定频率对区块链进行遍历,也可以是等接收到区块链网络发送的新区块上链通知,才对区块链进行遍历,本申请在此不作限制。当后台服务器遍历区块链时第一次遍历到目标区块中的账号注册交易,就可以获取到第一对象账号注册交易中携带的第一对象的账号身份信息,然后生成注册成功提示信息,再下发至终端设备。
具体的,终端设备在接收到后台服务器下发的注册成功提示信息后,就可以将账号地址作为第一对象登录该社交应用的社交账号,后续第一对象通过该社交账号登录社交应用后,上述身份账号体系(私钥、公钥以及社交账号)就可以用于为第一对象提供在社交应用中执行社交交互的能力。其中,社交交互包括所有第一对象通过该社交应用进行网上社交的交互行为,例如社交信息发布,对象添加,对象即时会话等等。因为第一对象针对社交应用的身份账号体系已经是去中心化的了,因此社交交互也可以基于该身份账号体系实现去中心化,从而实现整个社交应用的去中心化。
可选的,当第一对象进行社交信息发布操作时,终端设备可以响应第一对象通过社交账号进行的社交信息发布操作,生成社交信息发布请求,该社交信息发布请求包括待发布信息;然后终端设备可以获取第一对象对应的私钥,根据私钥对社交信息发布请求进行签名处理,得到社交信息发布签名数据;然后将社交信息发布请求以及社交信息发布签名数据进行打包,得到社交信息发布交易;然后终端设备可以将社交信息发布交易发送至区块链网络,区块链网络会将社交信息发布交易打包至社交区块,然后对社交区块进行共识上链。之后终端设备若接收到后台服务器发送的携带待发布信息和社交区块的区块哈希的社交信息发布指令,则根据社交信息发布指令在社交应用中显示待发布信息以及区块哈希。其中,该社交信息发布指令是由后台服务器在遍历到社交区块共识上链成功时所生成的;该区块哈希可以用于查询社交区块的区块信息。
为便于理解上述社交信息发布的实现过程,以社交信息发布为发布一篇帖子为例进行说明。请一并参见图6,图6是本申请实施例提供的一种帖子发布实现的交互示意图。如图6所示,该交互过程主要包括以下步骤S61-步骤S64:
步骤S61,终端设备向区块链网络申请将帖子上链。
具体的,终端设备可以响应第一对象的帖子发布操作,生成帖子发布请求,该帖子发布请求中会携带第一对象准备发布的帖子。然后,终端设备可以通过集成安装的区块链相关的SDK获取第一对象的私钥,然后对该帖子发布请求进行签名处理,得到帖子发布签名数据,再将帖子发布签名数据和帖子发布请求打包进帖子发布交易,最后终端设备通过区块链SDK直接将该帖子发布交易发送到区块链网络中,从而实现申请将帖子上链。这样做可以保证帖子中的数据不会被篡改,永远存在于链上。
步骤S62,后台服务器轮询区块链网络中的新区块。
具体的,每当区块链网络中有新的区块上链时,后台服务器均可以对新的区块进行一次遍历,读取其中的交易。换言之,后台服务器始终会轮询区块链的出快情况,将每一个新出的快,进行解析,并将有效数据信息,按照社交数据结构设计,存储到对应的数据库中。虽然数据依然会在服务器端的数据库中存储,但是原始数据是上链的,是可以查证的。因此单纯篡改数据库是没有意义的。
步骤S63,后台服务器遍历到帖子发布交易,取出该帖子发布交易,解析帖子信息。
步骤S64,后台服务器下发展示指令,终端设备将帖子展示给第一对象。
具体的,终端设备可以通过调用API(接口)等传统方式,从后台服务器获取数据信息,用以展示。可选的,这里的每一条数据后面都可以带上区块hash。点击超链接直接进入区块浏览器看到区块信息。也就是说,终端设备看见的帖子后面可以带上帖子发布交易所属区块的区块哈希,当第一对象对帖子展示内容的真实性存疑时,可以通过该区块哈希去区块链上查证。
可以理解,为了保证社交应用的去中心化,除了身份账号体系的去中心化以外,对象的好友网络设计也应该采取去中心化的方式,一种可行的方式是终端设备之间直接建立点对点连接(Peer to Peer,P2P),如此,对象添加或者删除、对象即时会话等社交交互就可以基于点对点连接实现,不需要通过社交应用的后台服务器,对象的对象列表可以保存在区块链上,也可以在终端设备中缓存一份,不会受到后台服务器的影响。
可选的,当第一对象进行对象添加操作时,终端设备可以响应第一对象通过社交账号进行的对象添加操作,生成对象添加请求,该对象添加请求包括第二对象的社交账号;然后与第二对象绑定的对象终端设备建立对象点对点连接;若对象点对点连接建立成功,则通过对象点对点连接向对象终端设备发送对象添加请求,以使对象终端设备响应对象添加请求进行对象添加操作,得到对象添加结果;若对象添加结果为对象拒绝添加结果,则确定对象添加失败;若对象添加结果为对象允许添加结果,则获取第一对象的私钥,根据私钥对对象允许添加结果进行签名处理,得到添加结果签名数据;将对象允许添加结果以及添加结果签名数据进行打包,得到第一对象允许添加交易;将第一对象允许添加交易发送至区块链网络,以使区块链网络对第一对象允许添加交易进行共识上链;若接收到后台服务器发送的对象添加成功指令,则根据对象添加成功指令将第二对象的社交账号添加至第一对象的对象列表;对象添加成功指令是由后台服务器在确定第一对象允许添加交易和第二对象允许添加交易共识上链成功时所生成的;第二对象允许添加交易是由对象终端设备根据对象允许添加结果生成的。
为便于理解上述对象添加的去中心化实现过程,以对象A(可以为上述第一对象)添加对象B(可以为上述第二对象)为例进行说明。请一并参见图7,图7是本申请实施例提供的一种对象添加实现的流程示意图。假设与对象A具有绑定关系的是终端设备a,与对象B具有绑定关系的是终端设备b。如图7所示,该对象添加实现的流程主要包括以下步骤S71-步骤S76。
步骤S71,终端设备a响应对象A的输入操作,获取对象B的社交账号,然后生成携带对象B的社交账号的对象添加请求。
步骤S72,区块链节点接收终端设备a发送的对象添加请求,确定对象B的社交账号是否注册,如果对象B的社交账号注册了,则执行步骤S74;如果对象B的社交账号未注册,则执行步骤S73。
具体的,区块链节点可以在区块链账本中查询对象B的社交账号,若查询到对象B的社交账号对应的账号注册交易,则确定对象B的社交账号注册了。
步骤S73,区块链节点向终端设备a发送账号未找到提示信息,结束本次对象添加流程。
步骤S74,终端设备a与终端设备b建立对象点对点连接;如果对象点对点连接建立成功,则执行步骤S75;如果对象点对点连接建立失败,则对象添加实现失败,结束所有流程。
具体的,终端设备a在与终端设备b建立对象点对点连接,也就是P2P连接时,此时终端设备a和终端设备b还不知道对方的IP和端口信息,无法直接建立连接请求,此时,需要通过双方均信任的第三方设备来获取对方的IP和端口信息。其中,第三方设备中存储有社交账号以及社交账号对应的终端设备的IP和端口信息,第三方设备可以是专门的通信服务器,也可以是上述的后台服务器,还可以区块链网络中的区块链节点。终端设备a和终端设备b都会和第三方设备建立连接,并告知第三方设备自己想要连接的社交账号,随后第三方设备获取其想要连接的社交账号对应的终端设备的IP和端口信息,并返回给对应的终端设备。如此,终端设备a和终端设备b均可以拿到对方的IP和端口信息,从而建立P2P网络连接。
具体的,终端设备a会主动与终端设备b建立P2P网络连接,如果连接建立失败则对象添加失败。可选的,终端设备a可以缓存该对象添加请求,等下次再发起与终端设备b的P2P连接时,继续对象添加操作。
步骤S75,终端设备a通过对象点对点连接向终端设备b发送对象添加请求。
步骤S76,终端设备b响应对象B针对该对象添加请求的选择操作,确定对象添加结果,如果对象添加结果为对象拒绝添加结果,则确定对象添加失败,结束所有流程;如果对象添加结果为对象允许添加结果,则执行步骤S77。
具体的,终端设备b接收到对象添加请求后,可以弹框等待对象B的选择操作,即是否同意添加对象A为好友。
步骤S77,终端设备a和终端设备b均发送对象允许添加交易至区块链网络进行上链。
步骤S78,对象允许添加交易上链成功,终端设备a和终端设备b更新本地存储的对象列表,结束所有流程。
具体的,终端设备a会将对象B的社交账号添加至对象A的对象列表中,终端设备b会将对象A的社交账号添加至对象B的对象列表中。
可以理解,每个终端设备本地可以维护一套对象列表,以及对象分组等信息。当需要进行通讯的时候,可以直接从本地缓存中获取对象信息,建立P2P连接,然后发送消息。区块链上会在每次终端设备进行添加和删除好友等操作的时候会更新相关的对象列表。终端设备本地缓存的对象列表,也可以定期从区块链上同步信息到本地。
可选的,当第一对象进行对象即时会话操作时,终端设备可以响应第一对象通过社交账号进行的对象即时会话操作,显示第一对象的对象列表;响应针对对象列表中第二对象的社交账号的触发操作,显示与第二对象的即时会话界面;响应第一对象的会话消息生成操作,生成即时会话消息;通过对象点对点连接将即时会话消息发送至对象终端设备。其中,即时会话消息可以包括文字、视频、语音等。可以理解,即时会话消息的发送不需要通过社交应用对应的后台服务器的转发,而是直接通过对象点对点连接实现点对点沟通和交流,从而实现了网上社交的去中心化。
采用本申请实施例提供的方法,在响应第一对象针对社交应用的账号注册请求时,会基于区块链规则为第一对象生成私钥,进一步根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址,其中,区块链规则存储于第一对象对应的终端设备中;然后,根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,等待区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链,若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号,该私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力,其中,注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。因此,对象的账号信息将存储在区块链中,即使后台服务器被攻击,也不会导致对象的账号信息丢失,实现了对象社交账号的去中心化,且基于私钥、公钥以及社交账号对象后续的社交交互的行为可以继续上链记录,从而实现了对象网上社交的去中心化。
进一步地,由上述图4所对应实施例的描述可知,第一对象的私钥并不是第一对象自定义的,是由终端设备所生成的,且一般较长而且较为复杂,第一对象直接记忆私钥是很困难的,但是终端设备直接存储第一对象的私钥的话,又不太安全,容易泄露。因此,本申请实施例可以允许第一对象自定义一个密码,该密码用于对第一对象的私钥进行加密存储。请参见图8,图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。其中,该方法可以由终端设备(例如,上述图2所对应实施例中的终端设备集群10中的任一终端设备)执行。以下将以本方法由终端设备执行为例进行说明,其中,该基于区块链的数据处理方法至少可以包括以下步骤S201-步骤S204:
步骤S201,显示针对第一对象的社交账号的密码设置页面。
具体的,在第一对象账号注册成功时,终端设备就可以显示针对第一对象的社交账号的密码设置页面。通过该密码设置页面,第一对象可以自定义设置密码。可选的,该密码设置页面还可以显示有密码要求,例如,密码长度不少于8位,比如大小写字母等等。
步骤S202,响应所述第一对象针对所述密码设置页面的输入操作,获取所述第一对象所输入的密码,作为第一密码。
步骤S203,根据所述第一密码对所述私钥进行可逆加密处理,得到第一加密文件。
具体的,第一密码的作用是作为加密因子,对私钥进行可逆加密。其中,可逆加密是指通过加密因子进行加密后的加密数据,可以再通过加密因子进行解密,还原成加密前的原本数据。
步骤S204,存储所述第一加密文件,在所述第一加密文件存储成功后,在所述密码设置页面显示密码设置成功提示信息。
具体的,可以理解,终端设备将存储第一加密文件,在之后的社交交互操作中,第一对象只需要输入第一密码,终端设备就可以通过对第一加密文件解密,得到第一对象的私钥。
采用本申请实施例提供的方法,第一对象无需去记忆较为复杂的私钥,只需记住自定义的第一密码,且终端设备基于第一密码对第一对象的私钥进行可逆加密,仅存储加密后的第一加密文件,减少了私钥被泄露的风险性。
进一步地,可逆加密的方式有多种,采用单一的可逆加密方式容易被破解,因此也可以设计一个加密池,该加密池中包含有多种加密方式,第一对象可以自定义一个随机码来匹配加密池中的加密方式,以增加私钥对应的加密文件被破解的难度。为便于理解,请参见图9,图9是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。其中,该方法可以由终端设备(例如,上述图2所对应实施例中的终端设备集群10中的任一终端设备)执行。以下将以本方法由终端设备执行为例进行说明,其中,该基于区块链的数据处理方法至少可以包括以下步骤S301-步骤S305:
步骤S301,显示针对所述社交账号的密码设置页面;所述密码设置页面包括密码设置文本框和随机码设置文本框。
步骤S302,响应所述第一对象针对所述密码设置文本框的设置操作,获取所述第一对象所设置的密码,作为第二密码;响应所述第一对象针对所述随机码设置文本框的设置操作,获取所述第一对象所设置的随机码,作为目标随机码。
步骤S303,在加密池中获取与所述目标随机码匹配的加密方式,作为目标加密方式;根据所述第二密码和所述目标加密方式对所述私钥进行可逆加密处理,得到第二加密文件。
具体的,加密池中包含有多种加密方式,终端设备可以按照一定的算法,例如:取模、Hash等,匹配出加密池中的某一个加密方式,作为目标加密方式。终端设备根据目标加密方式和第二密码,就可以完成私钥的可逆加密处理,得到第二加密文件。
步骤S304,将所述第二加密文件、所述目标随机码与所述第一对象的所述社交账号关联存储。
步骤S305,在所述第二加密文件、所述目标随机码与所述第一对象的所述社交账号关联存储成功后,在所述密码设置页面显示密码设置成功提示信息。
可选的,响应第一对象针对社交应用的社交交互上链操作,生成社交交互上链请求;在社交应用中显示密码输入文本框;响应第一对象针对密码输入文本框的输入操作,获取第一对象所输入的密码,作为输入密码;若输入密码与第二密码相同,则获取与第一对象的社交账号关联存储的第二加密文件和目标随机码;在加密池中获取与目标随机码匹配的目标加密方式;根据输入密码和目标加密方式对第二加密文件进行可逆解密处理,得到私钥;通过私钥对社交交互上链请求进行签名处理,得到社交交互签名数据;将社交交互上链请求以及社交交互签名数据进行打包,得到社交交互上链交易;向区块链网络发送社交交互上链交易,区块链网络将社交交互上链交易打包至新目标区块,对新目标区块进行共识上链。简言之,终端设备存储第二加密文件后,在之后的社交交互上链操作中,第一对象只需要输入第二密码,终端设备就可以通过对第二加密文件解密,得到第一对象的私钥。
上述可知,终端设备并不是直接保存的私钥,而是基于第一对象设置的第二密码以及目标随机码生成私钥对应的第二加密文件,然后保存第二加密文件,以此来提高私钥存储的安全性,当第一对象需要更换终端设备时,可以直接将第二加密文件转移至转移终端设备。可选的,终端设备可以响应第一对象针对转移终端设备的账号转移操作,生成目标转移码,然后与转移终端设备建立点对点连接,接收转移终端设备通过点对点连接发送的响应转移码;若响应转移码与目标转移码相同,则将第二加密文件、目标随机码与社交账号发送至转移终端设备,然后转移终端设备可以获取第一对象输入的验证密码,根据验证密码和目标随机码对第二加密文件进行可逆解密处理,得到解密私钥,根据解密私钥与第一对象的社交账号向区块链网络发送验证交易;若接收到转移终端设备发送的转移成功提示信息,则确定账号转移成功;该转移成功提示信息是转移终端设备在确定验证交易上链成功时生成的。
为便于理解上述私钥转移的过程,请一并参见图10,图10是本申请实施例提供的一种私钥转移的交互示意图。假设第一对象想将使用的终端设备从终端设备1更换成终端设备2,为了继续在终端设备2中正常使用社交应用,需要将私钥进行转移,即将私钥对应的第二加密文件从终端设备1转移至终端设备2。如图10所示,该转移过程中终端设备1和终端设备2之间的交互主要包括下述步骤S1-步骤S6:
步骤S1,终端设备1可以响应第一对象针对终端设备2的账号转移操作,生成目标转移码。
具体的,目标转移码用于验证接受者的身份。
步骤S2,终端设备1与终端设备2建立点对点(P2P)连接。
步骤S3,终端设备2将第一对象所输入的响应转移码发送至终端设备1。
步骤S4,若终端设备1确定响应转移码和目标转移码相同,则向终端设备2发送社交账号、第二加密文件和目标随机码。
步骤S5,终端设备2获取第一对象输入的验证密码,然后根据该验证密码验证私钥的正确性。
具体的,终端设备2在完成文件接收后,会显示密码输入框,提示用户输入之前设定的第二密码以进行验证,然后终端设备2会获取第一对象输入的验证密码,根据验证密码和目标随机码就可以对第二加密文件进行可逆解密处理,得到解密私钥。此时,终端设备2需要向区块链发送一笔验证交易,用于表征第一对象终端设备的更换。倘若该验证交易成功上链,说明验证私钥就是正确的私钥,本次转移成功。
步骤S6,若终端设备2确定私钥正确,则向发送终端设备1发送转移成功提示信息。
可选的,显示针对社交账号的密码云存储页面;响应针对密码云存储页面的输入操作,获取第一对象的可用联系账号;根据可用联系账号与目标加密方式对第二密码进行可逆加密处理,得到第三加密文件;将第三加密文件与可用联系账号发送至社交应用对应的后台服务器,然后后台服务器对第三加密文件与可用联系账号进行关联存储;若接收到后台服务器发送的存储成功提示信息,则显示存储成功提示信息。其中,可用联系账号可以包括邮箱账号、电话号码等等。简言之,通过之前目标随机码确定的目标加密方式,通过可用联系账号作为加密因子,将第二密码加密成密文,得到第三加密文件,然后提交第三加密文件到后台服务器保存。这样的话,即使后台服务器拥有第三加密文件和可用联系账号,但是并不知道目标加密方式,因此无法反解出第一对象的第二密码。
可选的,显示针对社交账号的密码云找回页面;响应针对密码云找回页面的输入操作,获取第一对象所输入的输入找回账号;将输入找回账号发送至后台服务器,若后台服务器在检测到输入找回账号与可用联系账号相同,则获取第三加密文件,生成针对第三加密文件的找回验证码,将找回验证码发送至输入找回账号;若接收到后台服务器发送的验证码已发送提示信息,终端设备则在密码云找回页面中显示验证码输入框;响应针对验证码输入框的输入操作,获取第一对象所输入的输入验证码;将输入验证码发送至后台服务器;若后台服务器验证出输入验证码和找回验证码相同,则接收后台服务器返回的第三加密文件;根据输入找回账号与目标加密方式对第三加密文件进行可逆解密处理,得到第二密码,在密码云找回页面中显示第二密码。简言之,第一对象在进行密码找回时,后台服务器会先通过向第一对象的可用联系账号发送找回验证码的方式,等待第一对象提交输入验证码完成身份验证,如果身份验证通过,后台服务器就将返回第三加密文件。终端设备拿到第三加密文件后,通过可用联系账号作为加密因子,和之前目标随机码确定的目标加密方式,就可以将第二密码解析出来。
可选的,还可以对社交账号的密码进行重置,即放弃第二密码,生成新的密码,密码重置的功能,只需要通过第二密码,和目标加密方式反解出私钥。然后重新走一遍秘钥保存的流程。通过新的密码重新生成私钥的加密文件即可。
请参见图11,图11是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的数据处理方法中的相应步骤。如图11所示,该数据处理装置1可以包括:第一生成模块101、第二生成模块102、交易注册模块103以及账号确定模块104。
第一生成模块101,用于响应第一对象针对社交应用的账号注册请求,基于区块链规则为第一对象生成私钥;区块链规则存储于第一对象对应的终端设备中;
第二生成模块102,用于根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址;
交易注册模块103,用于根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;
账号确定模块104,用于若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号;私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力;注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。
其中,第一生成模块101、第二生成模块102、交易注册模块103以及账号确定模块104的具体实现方式可以参见上述图4所对应实施例中的步骤S101-步骤S104的具体描述,这里不再进行赘述。
其中,第二生成模块102,包括:第一加密单元1021以及第二加密单元1022。
第一加密单元1021,用于对私钥进行非对称加密处理,得到第一对象对应的公钥;
第二加密单元1022,用于对公钥进行单向哈希加密处理,得到第一对象对应的账号地址。
其中,第一加密单元1021以及第二加密单元1022的具体实现方式可以参见上述图4所对应实施例中的步骤S102的具体描述,这里不再进行赘述。
其中,交易注册模块103,包括:注册交易生成单元1031以及注册交易发送单元1032。
注册交易生成单元1031,用于生成账号注册请求;账号注册请求携带公钥以及账号地址;
注册交易生成单元1031,还用于通过私钥对账号注册请求进行签名处理,得到签名数据;
注册交易生成单元1031,还用于将账号注册请求以及签名数据进行打包,得到针对第一对象的账号注册交易;
注册交易发送单元1032,还用于向区块链网络发送账号注册交易,以使区块链网络根据公钥对签名数据进行验签处理,得到验签结果,在验签结果为验签通过结果时,将账号注册交易打包至目标区块,对目标区块进行共识上链。
其中,注册交易生成单元1031以及注册交易发送单元1032的具体实现方式可以参见上述图4所对应实施例中的步骤S103的具体描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:第一密码设置模块105。
第一密码设置模块105,用于显示针对社交账号的密码设置页面;
第一密码设置模块105,还用于响应第一对象针对密码设置页面的输入操作,获取第一对象所输入的密码,作为第一密码;
第一密码设置模块105,还用于根据第一密码对私钥进行可逆加密处理,得到第一加密文件;
第一密码设置模块105,还用于存储第一加密文件,在第一加密文件存储成功后,在密码设置页面显示密码设置成功提示信息。
其中,第一密码设置模块105的具体实现方式可以参见上述图8所对应实施例中的步骤S201-步骤S204的具体描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:第二密码设置模块106。
第二密码设置模块106,用于显示针对社交账号的密码设置页面;密码设置页面包括密码设置文本框和随机码设置文本框;
第二密码设置模块106,还用于响应第一对象针对密码设置文本框的设置操作,获取第一对象所设置的密码,作为第二密码;
第二密码设置模块106,还用于响应第一对象针对随机码设置文本框的设置操作,获取第一对象所设置的随机码,作为目标随机码;
第二密码设置模块106,还用于在加密池中获取与目标随机码匹配的加密方式,作为目标加密方式;
第二密码设置模块106,还用于根据第二密码和目标加密方式对私钥进行可逆加密处理,得到第二加密文件;
第二密码设置模块106,还用于将第二加密文件、目标随机码与第一对象的社交账号关联存储;
第二密码设置模块106,还用于在第二加密文件、目标随机码与第一对象的社交账号关联存储成功后,在密码设置页面显示密码设置成功提示信息。
其中,第二密码设置模块106的具体实现方式可以参见上述图9所对应实施例中的步骤S301-步骤S305的具体描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:社交交互上链模块107。
社交交互上链模块107,用于响应第一对象针对社交应用的社交交互上链操作,生成社交交互上链请求;
社交交互上链模块107,还用于在社交应用中显示密码输入文本框;
社交交互上链模块107,还用于响应第一对象针对密码输入文本框的输入操作,获取第一对象所输入的密码,作为输入密码;
社交交互上链模块107,还用于若输入密码与第二密码相同,则获取与第一对象的社交账号关联存储的第二加密文件和目标随机码;
社交交互上链模块107,还用于在加密池中获取与目标随机码匹配的目标加密方式;
社交交互上链模块107,还用于根据输入密码和目标加密方式对第二加密文件进行可逆解密处理,得到私钥;
社交交互上链模块107,还用于通过私钥对社交交互上链请求进行签名处理,得到社交交互签名数据;
社交交互上链模块107,还用于将社交交互上链请求以及社交交互签名数据进行打包,得到社交交互上链交易;
社交交互上链模块107,还用于向区块链网络发送社交交互上链交易,以使区块链网络将社交交互上链交易打包至新目标区块,对新目标区块进行共识上链。
其中,社交交互上链模块107的具体实现方式可以参见上述图9所对应实施例中的可选描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:账号转移模块108。
账号转移模块108,用于响应第一对象针对转移终端设备的账号转移操作,生成目标转移码;
账号转移模块108,还用于与转移终端设备建立点对点连接,接收转移终端设备通过点对点连接发送的响应转移码;
账号转移模块108,还用于若响应转移码与目标转移码相同,则将第二加密文件、目标随机码与社交账号发送至转移终端设备,以使转移终端设备获取第一对象输入的验证密码,根据验证密码和目标随机码对第二加密文件进行可逆解密处理,得到解密私钥,根据解密私钥与第一对象的社交账号向区块链网络发送验证交易;
账号转移模块108,还用于若接收到转移终端设备发送的转移成功提示信息,则确定账号转移成功;转移成功提示信息是转移终端设备在确定验证交易上链成功时生成的。
其中,账号转移模块108的具体实现方式可以参见上述图9所对应实施例中的可选描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:密码云存储模块109。
密码云存储模块109,用于显示针对社交账号的密码云存储页面;
密码云存储模块109,还用于响应针对密码云存储页面的输入操作,获取第一对象的可用联系账号;
密码云存储模块109,还用于根据可用联系账号与目标加密方式对第二密码进行可逆加密处理109,得到第三加密文件;
密码云存储模块109,还用于将第三加密文件与可用联系账号发送至社交应用对应的后台服务器,以使后台服务器对第三加密文件与可用联系账号进行关联存储;
密码云存储模块109,还用于若接收到后台服务器发送的存储成功提示信息,则显示存储成功提示信息。
其中,密码云存储模块109的具体实现方式可以参见上述图9所对应实施例中的可选描述,这里不再进行赘述。
其中,上述数据处理装置1,还包括:密码云找回模块110。
密码云找回模块110,用于显示针对社交账号的密码云找回页面;
密码云找回模块110,还用于响应针对密码云找回页面的输入操作,获取第一对象所输入的输入找回账号;
密码云找回模块110,还用于将输入找回账号发送至后台服务器,以使后台服务器在检测到输入找回账号与可用联系账号相同时,获取第三加密文件,生成针对第三加密文件的找回验证码,将找回验证码发送至输入找回账号;
密码云找回模块110,还用于若接收到后台服务器发送的验证码已发送提示信息,则在密码云找回页面中显示验证码输入框;
密码云找回模块110,还用于响应针对验证码输入框的输入操作,获取第一对象所输入的输入验证码;
密码云找回模块110,还用于将输入验证码发送至后台服务器;
密码云找回模块110,还用于若后台服务器验证出输入验证码和找回验证码相同,则接收后台服务器返回的第三加密文件;
密码云找回模块110,还用于根据输入找回账号与目标加密方式对第三加密文件进行可逆解密处理,得到第二密码,在密码云找回页面中显示第二密码。
其中,密码云找回模块110的具体实现方式可以参见上述图9所对应实施例中的可选描述,这里不再进行赘述。
其中,社交交互包括社交信息发布;
上述数据处理装置1,还包括:社交信息发布模块111。
社交信息发布模块111,用于响应第一对象通过社交账号进行的社交信息发布操作,生成社交信息发布请求;社交信息发布请求包括待发布信息;
社交信息发布模块111,还用于获取第一对象对应的私钥,根据私钥对社交信息发布请求进行签名处理,得到社交信息发布签名数据;
社交信息发布模块111,还用于将社交信息发布请求以及社交信息发布签名数据进行打包,得到社交信息发布交易;
社交信息发布模块111,还用于将社交信息发布交易发送至区块链网络,以使区块链网络将社交信息发布交易打包至社交区块,对社交区块进行共识上链;
社交信息发布模块111,还用于若接收到后台服务器发送的携带待发布信息和社交区块的区块哈希的社交信息发布指令,则根据社交信息发布指令在社交应用中显示待发布信息以及区块哈希;社交信息发布指令是由后台服务器在遍历到社交区块共识上链成功时所生成的;区块哈希用于查询社交区块的区块信息。
其中,社交信息发布模块111的具体实现方式可以参见上述图4所对应实施例中的可选描述,这里不再进行赘述。
其中,社交交互包括对象添加;
上述数据处理装置1,还包括:对象添加模块112。
对象添加模块112,用于响应第一对象通过社交账号进行的对象添加操作,生成对象添加请求;对象添加请求包括第二对象的社交账号;
对象添加模块112,还用于与第二对象绑定的对象终端设备建立对象点对点连接;
对象添加模块112,还用于若对象点对点连接建立成功,则通过对象点对点连接向对象终端设备发送对象添加请求,以使对象终端设备响应对象添加请求进行对象添加操作,得到对象添加结果;
对象添加模块112,还用于若对象添加结果为对象拒绝添加结果,则确定对象添加失败;
对象添加模块112,还用于若对象添加结果为对象允许添加结果,则获取第一对象的私钥,根据私钥对对象允许添加结果进行签名处理,得到添加结果签名数据;
对象添加模块112,还用于将对象允许添加结果以及添加结果签名数据进行打包,得到第一对象允许添加交易;
对象添加模块112,还用于将第一对象允许添加交易发送至区块链网络,以使区块链网络对第一对象允许添加交易进行共识上链;
对象添加模块112,还用于若接收到后台服务器发送的对象添加成功指令,则根据对象添加成功指令将第二对象的社交账号添加至第一对象的对象列表;对象添加成功指令是由后台服务器在确定第一对象允许添加交易和第二对象允许添加交易共识上链成功时所生成的;第二对象允许添加交易是由对象终端设备根据对象允许添加结果生成的。
其中,对象添加模块112的具体实现方式可以参见上述图4所对应实施例中的可选描述,这里不再进行赘述。
其中,社交交互包括对象即时会话;
上述数据处理装置1,还包括:对象即时会话模块113。
对象即时会话模块113,用于响应第一对象通过社交账号进行的对象即时会话操作,显示第一对象的对象列表;
对象即时会话模块113,还用于响应针对对象列表中第二对象的社交账号的触发操作,显示与第二对象的即时会话界面;
对象即时会话模块113,还用于响应第一对象的会话消息生成操作,生成即时会话消息;
对象即时会话模块113,还用于通过对象点对点连接将即时会话消息发送至对象终端设备。
其中,对象即时会话模块113的具体实现方式可以参见上述图4所对应实施例中的可选描述,这里不再进行赘述。
请参见图12,图12是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,上述图11所对应实施例中的数据处理装置1可以应用于计算机设备1000,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图12所示的计算机设备1000中,网络接口1004可提供网络通讯网元;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
响应第一对象针对社交应用的账号注册请求,基于区块链规则为第一对象生成私钥;区块链规则存储于第一对象对应的终端设备中;
根据私钥生成第一对象对应的公钥,以及第一对象对应的账号地址;
根据私钥、公钥以及账号地址向区块链网络发送针对第一对象的账号注册交易,以使区块链网络将账号注册交易打包至目标区块,对目标区块进行共识上链;
若接收到社交应用对应的后台服务器发送的注册成功提示信息,则将账号地址确定为社交账号;私钥、公钥以及社交账号用于为第一对象提供在社交应用中执行社交交互的能力;注册成功提示信息是由后台服务器在遍历到目标区块共识上链成功时所生成的。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文任一个所对应实施例中对该数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文任一个所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
此外,这里需要指出的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文任一个所对应实施例提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照网元一般性地描述了各示例的组成及步骤。这些网元究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的网元,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

1.一种基于区块链的数据处理方法,其特征在于,包括:
响应第一对象针对社交应用的账号注册请求,基于区块链规则为所述第一对象生成私钥;所述区块链规则存储于所述第一对象对应的终端设备中;
根据所述私钥生成所述第一对象对应的公钥,以及所述第一对象对应的账号地址;
根据所述私钥、所述公钥以及所述账号地址向区块链网络发送针对所述第一对象的账号注册交易,以使所述区块链网络将所述账号注册交易打包至目标区块,对所述目标区块进行共识上链;
若接收到所述社交应用对应的后台服务器发送的注册成功提示信息,则将所述账号地址确定为社交账号;所述私钥、所述公钥以及所述社交账号用于为所述第一对象提供在所述社交应用中执行社交交互的能力;所述注册成功提示信息是由所述后台服务器在遍历到所述目标区块共识上链成功时所生成的。
2.根据权利要求1所述的方法,其特征在于,所述根据所述私钥生成所述第一对象对应的公钥,以及所述第一对象对应的账号地址,包括:
对所述私钥进行非对称加密处理,得到所述第一对象对应的公钥;
对所述公钥进行单向哈希加密处理,得到所述第一对象对应的账号地址。
3.根据权利要求1所述的方法,其特征在于,所述根据所述私钥、所述公钥以及所述账号地址向区块链网络发送针对所述第一对象的账号注册交易,以使所述区块链网络将所述账号注册交易打包至目标区块,对所述目标区块进行共识上链,包括:
生成账号注册请求;所述账号注册请求携带所述公钥以及所述账号地址;
通过所述私钥对所述账号注册请求进行签名处理,得到签名数据;
将所述账号注册请求以及所述签名数据进行打包,得到针对所述第一对象的账号注册交易;
向区块链网络发送所述账号注册交易,以使所述区块链网络根据所述公钥对所述签名数据进行验签处理,得到验签结果,在所述验签结果为验签通过结果时,将所述账号注册交易打包至目标区块,对所述目标区块进行共识上链。
4.根据权利要求1所述的方法,其特征在于,还包括:
显示针对所述社交账号的密码设置页面;
响应所述第一对象针对所述密码设置页面的输入操作,获取所述第一对象所输入的密码,作为第一密码;
根据所述第一密码对所述私钥进行可逆加密处理,得到第一加密文件;
存储所述第一加密文件,在所述第一加密文件存储成功后,在所述密码设置页面显示密码设置成功提示信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
显示针对所述社交账号的密码设置页面;所述密码设置页面包括密码设置文本框和随机码设置文本框;
响应所述第一对象针对所述密码设置文本框的设置操作,获取所述第一对象所设置的密码,作为第二密码;
响应所述第一对象针对所述随机码设置文本框的设置操作,获取所述第一对象所设置的随机码,作为目标随机码;
在加密池中获取与所述目标随机码匹配的加密方式,作为目标加密方式;
根据所述第二密码和所述目标加密方式对所述私钥进行可逆加密处理,得到第二加密文件;
将所述第二加密文件、所述目标随机码与所述第一对象的所述社交账号关联存储;
在所述第二加密文件、所述目标随机码与所述第一对象的所述社交账号关联存储成功后,在所述密码设置页面显示密码设置成功提示信息。
6.根据权利要求5所述的方法,其特征在于,还包括:
响应所述第一对象针对所述社交应用的社交交互上链操作,生成社交交互上链请求;
在所述社交应用中显示密码输入文本框;
响应所述第一对象针对所述密码输入文本框的输入操作,获取所述第一对象所输入的密码,作为输入密码;
若所述输入密码与所述第二密码相同,则获取与所述第一对象的所述社交账号关联存储的所述第二加密文件和所述目标随机码;
在所述加密池中获取与所述目标随机码匹配的所述目标加密方式;
根据所述输入密码和所述目标加密方式对所述第二加密文件进行可逆解密处理,得到所述私钥;
通过所述私钥对所述社交交互上链请求进行签名处理,得到社交交互签名数据;
将所述社交交互上链请求以及所述社交交互签名数据进行打包,得到社交交互上链交易;
向区块链网络发送所述社交交互上链交易,以使所述区块链网络将所述社交交互上链交易打包至新目标区块,对所述新目标区块进行共识上链。
7.根据权利要求5所述的方法,其特征在于,还包括:
响应所述第一对象针对转移终端设备的账号转移操作,生成目标转移码;
与所述转移终端设备建立点对点连接,接收所述转移终端设备通过所述点对点连接发送的响应转移码;
若所述响应转移码与所述目标转移码相同,则将所述第二加密文件、所述目标随机码与所述社交账号发送至所述转移终端设备,以使所述转移终端设备获取所述第一对象输入的验证密码,根据所述验证密码和所述目标随机码对所述第二加密文件进行可逆解密处理,得到解密私钥,根据所述解密私钥与所述第一对象的所述社交账号向区块链网络发送验证交易;
若接收到所述转移终端设备发送的转移成功提示信息,则确定账号转移成功;所述转移成功提示信息是所述转移终端设备在确定所述验证交易上链成功时生成的。
8.根据权利要求5所述的方法,其特征在于,还包括:
显示针对所述社交账号的密码云存储页面;
响应针对所述密码云存储页面的输入操作,获取所述第一对象的可用联系账号;
根据所述可用联系账号与所述目标加密方式对所述第二密码进行可逆加密处理,得到第三加密文件;
将所述第三加密文件与所述可用联系账号发送至所述社交应用对应的所述后台服务器,以使所述后台服务器对所述第三加密文件与所述可用联系账号进行关联存储;
若接收到所述后台服务器发送的存储成功提示信息,则显示所述存储成功提示信息。
9.根据所述权利要求8所述的方法,其特征在于,还包括:
显示针对所述社交账号的密码云找回页面;
响应针对所述密码云找回页面的输入操作,获取所述第一对象所输入的输入找回账号;
将所述输入找回账号发送至所述后台服务器,以使所述后台服务器在检测到所述输入找回账号与所述可用联系账号相同时,获取所述第三加密文件,生成针对所述第三加密文件的找回验证码,将所述找回验证码发送至所述输入找回账号;
若接收到所述后台服务器发送的验证码已发送提示信息,则在所述密码云找回页面中显示验证码输入框;
响应针对所述验证码输入框的输入操作,获取所述第一对象所输入的输入验证码;
将所述输入验证码发送至所述后台服务器;
若所述后台服务器验证出所述输入验证码和所述找回验证码相同,则接收所述后台服务器返回的第三加密文件;
根据所述输入找回账号与所述目标加密方式对所述第三加密文件进行可逆解密处理,得到所述第二密码,在所述密码云找回页面中显示所述第二密码。
10.根据权利要求1所述的方法,其特征在于,所述社交交互包括社交信息发布;
所述方法还包括:
响应所述第一对象通过所述社交账号进行的社交信息发布操作,生成社交信息发布请求;所述社交信息发布请求包括待发布信息;
获取所述第一对象对应的所述私钥,根据所述私钥对所述社交信息发布请求进行签名处理,得到社交信息发布签名数据;
将所述社交信息发布请求以及所述社交信息发布签名数据进行打包,得到社交信息发布交易;
将所述社交信息发布交易发送至区块链网络,以使所述区块链网络将所述社交信息发布交易打包至社交区块,对所述社交区块进行共识上链;
若接收到所述后台服务器发送的携带所述待发布信息和所述社交区块的区块哈希的社交信息发布指令,则根据所述社交信息发布指令在所述社交应用中显示所述待发布信息以及所述区块哈希;所述社交信息发布指令是由所述后台服务器在遍历到所述社交区块共识上链成功时所生成的;所述区块哈希用于查询所述社交区块的区块信息。
11.根据权利要求1所述的方法,其特征在于,所述社交交互包括对象添加;
所述方法还包括:
响应所述第一对象通过所述社交账号进行的对象添加操作,生成对象添加请求;所述对象添加请求包括第二对象的社交账号;
与所述第二对象绑定的对象终端设备建立对象点对点连接;
若所述对象点对点连接建立成功,则通过所述对象点对点连接向所述对象终端设备发送所述对象添加请求,以使所述对象终端设备响应所述对象添加请求进行对象添加操作,得到对象添加结果;
若所述对象添加结果为对象拒绝添加结果,则确定对象添加失败;
若所述对象添加结果为对象允许添加结果,则获取所述第一对象的所述私钥,根据所述私钥对所述对象允许添加结果进行签名处理,得到添加结果签名数据;
将所述对象允许添加结果以及所述添加结果签名数据进行打包,得到第一对象允许添加交易;
将所述第一对象允许添加交易发送至区块链网络,以使所述区块链网络对所述第一对象允许添加交易进行共识上链;
若接收到所述后台服务器发送的对象添加成功指令,则根据所述对象添加成功指令将所述第二对象的社交账号添加至所述第一对象的对象列表;所述对象添加成功指令是由所述后台服务器在确定所述第一对象允许添加交易和第二对象允许添加交易共识上链成功时所生成的;所述第二对象允许添加交易是由所述对象终端设备根据所述对象允许添加结果生成的。
12.根据权利要求11所述的方法,其特征在于,所述社交交互包括对象即时会话;
所述方法还包括:
响应所述第一对象通过所述社交账号进行的对象即时会话操作,显示所述第一对象的对象列表;
响应针对所述对象列表中所述第二对象的社交账号的触发操作,显示与所述第二对象的即时会话界面;
响应所述第一对象的会话消息生成操作,生成即时会话消息;
通过所述对象点对点连接将所述即时会话消息发送至所述对象终端设备。
13.一种基于区块链的数据处理装置,其特征在于,包括:
第一生成模块,用于响应第一对象针对社交应用的账号注册请求,基于区块链规则为所述第一对象生成私钥;所述区块链规则存储于所述第一对象对应的终端设备中;
第二生成模块,用于根据所述私钥生成所述第一对象对应的公钥,以及所述第一对象对应的账号地址;
交易注册模块,用于根据所述私钥、所述公钥以及所述账号地址向区块链网络发送针对所述第一对象的账号注册交易,以使所述区块链网络将所述账号注册交易打包至目标区块,对所述目标区块进行共识上链;
账号确定模块,用于若接收到所述社交应用对应的后台服务器发送的注册成功提示信息,则将所述账号地址确定为社交账号;所述私钥、所述公钥以及所述社交账号用于为所述第一对象提供在所述社交应用中执行社交交互的能力;所述注册成功提示信息是由所述后台服务器在遍历到所述目标区块共识上链成功时所生成的。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-12任一项所述的方法。
16.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时,可以执行权利要求1-12任一项所述的方法。
CN202210790202.5A 2022-07-06 2022-07-06 基于区块链的数据处理方法、装置、设备及可读存储介质 Pending CN117411858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210790202.5A CN117411858A (zh) 2022-07-06 2022-07-06 基于区块链的数据处理方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210790202.5A CN117411858A (zh) 2022-07-06 2022-07-06 基于区块链的数据处理方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN117411858A true CN117411858A (zh) 2024-01-16

Family

ID=89494902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210790202.5A Pending CN117411858A (zh) 2022-07-06 2022-07-06 基于区块链的数据处理方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN117411858A (zh)

Similar Documents

Publication Publication Date Title
TWI738208B (zh) 跨鏈發送可認證訊息的方法和裝置
CN111681003B (zh) 资源跨链转移方法、装置、计算机设备以及存储介质
CN111010372A (zh) 区块链网络身份认证系统、数据处理方法及网关设备
EP3701667B1 (en) Anonymity system for goods delivery
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
WO2021203853A1 (zh) 密钥生成方法、装置、设备及介质
CN110149323B (zh) 一种具有千万级tps合约处理能力的处理装置
TW202101350A (zh) 基於處理模組跨鏈發送可認證訊息的方法和裝置
CN113541970B (zh) 分布式标识符的使用方法和分布式标识符使用系统
CN111416709B (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN112804354B (zh) 跨链进行数据传输的方法、装置、计算机设备和存储介质
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN111275555A (zh) 区块链交易处理方法、交易节点以及区块链系统
CN113328997A (zh) 联盟链跨链系统及方法
CN112600671A (zh) 一种数据处理方法、装置、设备及存储介质
Charapko et al. Bridging paxos and blockchain consensus
WO2023020242A1 (zh) 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
JP2024515022A (ja) ブロックチェーンに基づくデータ処理方法、装置、機器及びコンピュータプログラム
US20230087220A1 (en) Data processing method and apparatus based on instant messaging, device, and storage medium
CN117411858A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113987062A (zh) 一种数据上链存储方法、系统、装置以及存储介质
US20240163118A1 (en) Blockchain-based data processing method, device, and readable storage medium
Fu et al. New public blockchain protocol based on sharding and aggregate signatures
CN117560190A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN116743377A (zh) 基于区块链密钥的数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination