CN115378605A - 基于区块链的数据处理方法及装置 - Google Patents

基于区块链的数据处理方法及装置 Download PDF

Info

Publication number
CN115378605A
CN115378605A CN202210979257.0A CN202210979257A CN115378605A CN 115378605 A CN115378605 A CN 115378605A CN 202210979257 A CN202210979257 A CN 202210979257A CN 115378605 A CN115378605 A CN 115378605A
Authority
CN
China
Prior art keywords
node
user
information
login
login password
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
CN202210979257.0A
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202210979257.0A priority Critical patent/CN115378605A/zh
Publication of CN115378605A publication Critical patent/CN115378605A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的数据处理方法及装置,涉及区块链技术领域。其中该方法包括:通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中,本发明可以提高用户身份认证信息的安全性。

Description

基于区块链的数据处理方法及装置
技术领域
本发明涉及区块链技术领域,尤其涉及基于区块链的数据处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在互联网上进行交易时,交易的用户需要拥有自己的账号,经过注册、登录等操作认证用户的身份,用户可以通过该账号进行交易。用户身份验证信息(如登录密码)是数据库中安全级别最高的数据之一,相关技术中通常是交易机构通过自己或第三方的数据库存储用户登录密码,但是,这种存储方式可能会发生信息被篡改的安全问题。
发明内容
本发明实施例提供一种基于区块链的数据处理方法,用以通过区块链的去中心化特点提高用户身份验证信息的安全性,该方法包括:第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中。
可选地,在第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中之后,该方法还可以包括:第一节点接收用户的登录操作;其中,登录操作包括输入唯一标识和登录密码;第一节点调用智能合约,向服务器发送验证登录操作的请求;其中,请求携带唯一标识和登录密码;在服务器确定唯一标识对应的登录密码与登录操作输入的登录密码相同的情况下,第一节点接收服务器返回的与唯一标识对应的私钥;第一节点基于私钥对登录操作的信息加签,生成数字签名;第一节点将登录操作的信息和数字签名广播至区块链网络中,以使得区块链网络中的其他节点根据自身维护账本中存储的公钥对数字签名验签;在第一节点接收到超过预设数量的节点返回的验签成功的消息之后,第一节点登录用户的账户;第一节点调用智能合约生成登录信息,并将登录信息广播至区块链网络。
可选地,在第一节点登录用户的账户之后,该方法还可以包括:第一节点接收用户的修改操作;在修改操作包括修改用户的身份信息的情况下,第一节点调用智能合约根据修改操作生成第一修改信息,并将第一修改信息广播至区块链网络中;在修改操作包括修改用户的登录密码的情况下,第一节点调用智能合约根据修改操作生成第二修改信息,并向服务器发送修改请求,以使得服务器基于第二修改信息修改与唯一标识绑定的登录密码。
可选地,在第一节点登录用户的账户之后,该方法还可以包括:第一节点接收用户的注销操作;第一节点调用智能合约,向区块链网络广播注销操作的信息,并请求服务器注销与唯一标识关联的登录密码和私钥。
本发明实施例还提供一种基于区块链的数据处理装置,用以通过区块链的去中心化特点提高用户身份验证信息的安全性,该装置包括:第一接收单元,用于通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一生成单元,用于通过第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第二生成单元,用于通过第一节点将公钥与用户的身份信息绑定,生成注册信息;第一广播单元,用于通过第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;绑定单元,用于通过第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中。
可选地,该装置还可以包括:第二接收单元,用于在第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中之后,通过第一节点接收用户的登录操作;其中,登录操作包括输入唯一标识和登录密码;发送单元,用于通过第一节点调用智能合约,向服务器发送验证登录操作的请求;其中,请求携带唯一标识和登录密码;第三接收单元,用于在服务器确定唯一标识对应的登录密码与登录操作输入的登录密码相同的情况下,通过第一节点接收服务器返回的与唯一标识对应的私钥;第三生成单元,用于通过第一节点基于私钥对登录操作的信息加签,生成数字签名;第二广播单元,用于通过第一节点将登录操作的信息和数字签名广播至区块链网络中,以使得区块链网络中的其他节点根据自身维护账本中存储的公钥对数字签名验签;登录单元,用于在第一节点接收到超过预设数量的节点返回的验签成功的消息之后,通过第一节点登录用户的账户;第三广播单元,用于通过第一节点调用智能合约生成登录信息,并将登录信息广播至区块链网络。
可选地,该装置还可以包括:第四接收单元,用于在第一节点登录用户的账户之后,第一节点接收用户的修改操作;第四广播单元,用于在修改操作包括修改用户的身份信息的情况下,通过第一节点调用智能合约根据修改操作生成第一修改信息,并将第一修改信息广播至区块链网络中;执行单元,用于在修改操作包括修改用户的登录密码的情况下,第一节点调用智能合约根据修改操作生成第二修改信息,并向服务器发送修改请求,以使得服务器基于第二修改信息修改与唯一标识绑定的登录密码。
可选地,该装置还可以包括:第五接收单元,用于在第一节点登录用户的账户之后,通过第一节点接收用户的注销操作;第五广播单元,用于通过第一节点调用智能合约,向区块链网络广播注销操作的信息,并请求服务器注销与唯一标识关联的登录密码和私钥。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
本发明实施例中,通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中,可以将私钥与登录密码绑定存储,将公钥通过区块链网络存储,从而避免登录密码公开,防止登录密码泄漏,同时,还可以利用区块链技术的特点,通过公开存储的公钥对登录密码绑定的私钥进行验证,防止登录密码被篡改,提高了用户身份认证信息的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种基于区块链的数据处理方法的流程示意图一;
图2为本发明实施例中提供的一种基于区块链的数据处理方法的流程示意图二;
图3为本发明实施例中提供的一种基于区块链的数据处理方法的流程示意图三;
图4为本发明实施例中提供的一种基于区块链的数据处理方法的流程示意图四;
图5为本发明实施例中提供的一种基于区块链的数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
下面对本发明实施例中涉及的部分技术术语和名词解释如下:
web3.js:web3.js是一个库集合,可以使用HTTP或IPC连接本地或远程以太它节点进行交互。web3的JavaScript库能够与以太坊区块链交互。它可以检索用户帐户,发送交易,与智能合约交互等。
Testrpc:这是一个完整的在内存中的区块链,且仅存在于当前的开发设备上。相对于Geth私有链环境,TestRPC在执行交易时是实时返回,而不等待默认的出块时间,这样就可以快速验证代码,当出现错误时,也能即时获得反馈。
Truffle:Truffle是针对基于以太坊的Solidity语言的一套开发框架,本身基于Javascript,提供了内置的智能合约编译,链接,部署和二进制文件的管理,可脚本化、可扩展。
P2P网络:P2P(Peer to Peer)网络是整个区块链的基础网络架构,无需中心化服务器或中心化路由器,所有节点都是完全对等的,网络中一个或多个节点的丢失,不会影响网络数据的完整性。同时P2P能够实现存储资源的共享和计算资源的共享,有效提高了资源利用率。
区块链密码学:常用的密码学算法包括对称加密算法、非对称加密算法和消息摘要。对称加密算法具有加解密效率高、易于操作、方便标准化的特点,是网络空间与信息处理中常用的数据加密技术。非对称加密相对于对称加密算法,其加解密效率较低,但有更高的安全性,是区块链技术常用的加密算法。消息摘要可以在一定时间内将任意长度的消息通过hash算法转化成固定长度的哈希值,即h=H(m),哈希函数常用于检验数据完整性和身份认证。
Merkle Tree算法:在区块链中,利用Merkle Tree归纳一个区块中的所有交易,并生成一个区块中所有交易集合的指纹。在Merkle树中,任何一个节点的变动都会影响根节点的值,因此保证了区块链上交易的不可篡改性。当前面的交易变化后,就可以从树中剪掉,这样就可以压缩旧的区块。
共识算法:区块链中各个节点为了对记账进行验证而达成共识的一种机制,区块链建立在P2P网络上,如何在没有可信第三方和出现叛徒的情况下,让全网所有节点对记账达成一致,并让最后的结果可信,这就是共识算法,也是区块链中最核心的内容。
以太坊:以太坊是一个智能合约开发平台,它提供了合约开发所必备的基础条件,包括智能合约脚本、合约编程语言、以太坊虚拟机(EVM)、Whisper通信系统、Swarm信息管理系统、IPFS文件系统以及基于多种语言的图形化客户端和命令行操作界面,借助以太坊平台,可以方便地进行去中心化应用DApp的开发。
本发明实施例中提供了一种基于区块链的数据处理方法,图1示出了本发明一个实施例提供的基于区块链的数据处理方法的流程示意图一。如图1所示,该方法可以包括如下步骤:
步骤101,第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码。
身份信息可以包括用户名、用户角色、用户地址、性别、年龄等信息。
第一节点是区块链网络中的一个节点。区块链网络中可以包括多个节点。本发明实施例可以在私有链网络中运行,一个示例的构建私有链网络的方式可以是先针对单节点进行私有链配置,以保证单个节点可以正常接入私有链网络,进而构建私有链中的多节点集群。
如图2所示,本发明实施例中的区块链网络可以包括如下的五层:
第一层主要是区块链所依赖的技术环境,如上文介绍的P2P网络、密码学等;
第二层是区块链中涉及的操作、操作对象及环境等,其中共识算法决定着整个区块链网络的共识机制,所有节点都必须遵照该机制进行工作,本发明所使用的共识机制是工作量证明(POW),即所有区块都需要全网所有矿工不断地挖矿竞争产生;
第三层是以太坊虚拟机和远程过程调用协议RPC(Remote Procedure Call),其中以太坊虚拟机类似于java虚拟机,给基于以太坊开发的程序提供运行环境,而RPC则保证了基于以太坊开发的程序在网路之间的通信;
第四层是智能合约层,该层所有需要与区块链交互的业务逻辑都需要通过编写智能合约来实现,本发明中智能合约的实现采用solidity语言;
第五层是应用层,智能合约编写的业务逻辑支撑着整个应用层,并为其提供服务和接口,应用层则需封装界面,并实现与智能合约层的交互。
本发明实施例可以通过去中心化应用DApp实现。去中心化应用DApp可以包括如下核心流程:
1)采用solidity语言编写智能合约(合约文件以.sol结尾),通过web3.js提供的接口发送到智能合约编译器,获得二进制代码;
2)将合约的二进制内容反馈至系统前端;
3)将编译好的智能合约部署到网络,获得智能合约在区块链中的Hash地址以及ABI(ABI是合约接口的二进制表示),此处为了开发方便,将通过testrpc部署至测试网络;
4)当合约部署至区块链网络后,向前端反馈合约地址Address和ABI;
5)前端通过Address+ABI+nonce调用智能合约,完成与合约交互的操作,其中nonce是交易数,在每次交互后都会自动加1,以防止重复交易。
步骤102,第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识。
智能合约是预先部署在网络中的,可以采用solidity语言编写智能合约(合约文件以.sol结尾),通过web3.js提供的接口发送到智能合约编译器,以实现去中心化应用的业务逻辑。进而,将编译好的智能合约部署到网络,可以获得智能合约在区块链中的Hash地址以及ABI(ABI是合约接口的二进制表示)。这样,任意一个节点可以基于ABI调用智能合约。
智能合约的功能可以包括生成一对公钥和私钥、以及用户的唯一标识。用户的唯一标识是区块链网络中全局唯一的标识,可以是哈希地址,具体为一串哈希值。通过哈希地址,可以方便在账本中快速查找。用户的唯一标识是不可修改的。
步骤103,第一节点将公钥与用户的身份信息绑定,生成注册信息。
生成的公钥是在区块链网络中公开的信息。公钥与用户的身份信息绑定,生成注册信息。
步骤104,第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中。
注册信息广播至区块链网络中,以同步存储至区块链网络所有节点自身维护的账本中。
区块链网络中的所有节点可以基于共识算法进行工作,示例性的,本发明实施例中使用的共识算法可以选择工作量证明(POW),所有区块都需要区块链网络中的各个节点不断竞争产生。在第一节点将注册信息广播到区块链网络之后,每个节点可以先将接收到的注册信息打包至一个新区块中。在任意一个节点计算出表明拥有新区块记账权的问题的答案之后,可以将自己打包的新区块广播到区块链网络,区块链网络中的各个节点接收到该新区块,并验证该节点计算出的答案是正确的之后,将新区块存储至区块链中。
步骤105,第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中。
与公钥对应的私钥则可以与唯一标识和登录密码绑定,存储在服务器中。可选地,该服务器可以是交易机构指定的服务器。这样,可以将登录密码通过比较安全的方式保存,而将验证登录密码的工作交给区块链网络中的节点,从而避免登录密码在区块链网络中公开,防止登录密码泄漏,同时,还可以利用区块链技术的特点,通过公开存储的公钥对登录密码绑定的私钥进行验证,防止登录密码被篡改,提高了用户身份认证信息的安全性。
在第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中之后,如果接收到登录操作,可以通过如图3所示的如下步骤验证第一节点的登录操作是否合法:
步骤201,第一节点接收用户的登录操作;其中,登录操作包括输入唯一标识和登录密码。
唯一标识用于唯一标识该用户账户,并用于查找。登录密码用于认证用户身份。
步骤202,第一节点调用智能合约,向服务器发送验证登录操作的请求;其中,请求携带唯一标识和登录密码。服务器在接收到请求之后,基于唯一标识查找对应的登录密码和私钥。如果唯一标识对应的登录密码与用户登录操作输入的登录密码相同,则验证成功。
步骤203,在服务器确定唯一标识对应的登录密码与登录操作输入的登录密码相同的情况下,第一节点接收服务器返回的与唯一标识对应的私钥。
步骤204,第一节点基于私钥对登录操作的信息加签,生成数字签名。
步骤205,第一节点将登录操作的信息和数字签名广播至区块链网络中,以使得区块链网络中的其他节点根据自身维护账本中存储的公钥对数字签名验签。
登录操作的信息可以包括唯一标识和用户的身份信息等。其他节点接收到广播的登录操作信息和数字签名之后,基于公钥对数字签名验签,验签成功之后,确定登录操作是有效的。
步骤206,在第一节点接收到超过预设数量的节点返回的验签成功的消息之后,第一节点登录用户的账户。
预设数量可以是以预设的比例阈值计算出的,例如区块链网络中节点为x,比例阈值为y,则预设数量为x×y。
只有在超过预设数量节点都验签成功,即投票认为第一节点的登录操作是有效的情况下,允许第一节点登录账户。
步骤207,第一节点调用智能合约生成登录信息,并将登录信息广播至区块链网络。
在登录操作成功之后,第一节点调用智能合约生成本次登录的登录信息,可选地,在本发明实施例中,任意一种操作在操作成功之后,可以将本次操作的执行信息生成交易凭证,将交易凭证添加到新区块,存储在账本中。
可选地,在第一节点登录用户的账户之后,如果第一节点接收用户的修改操作,修改操作可能包括对用户身份信息的修改和/或对用户登录密码的修改。在修改操作包括修改用户的身份信息的情况下,第一节点可以调用智能合约根据修改操作生成第一修改信息,并将第一修改信息广播至区块链网络中。在修改操作包括修改用户的登录密码的情况下,第一节点调用智能合约根据修改操作生成第二修改信息,并向服务器发送修改请求,以使得服务器基于第二修改信息修改与唯一标识绑定的登录密码。
可选地,在第一节点登录用户的账户之后,如果第一节点接收用户的注销操作,则第一节点可以调用智能合约,向区块链网络广播注销操作的信息,一个示例中,可以使用delete关键字删除唯一标识对应的所有身份信息。此外,还需要请求服务器注销与唯一标识关联的登录密码和私钥。
在本发明实施例中的所有操作都与区块链底层进行交互,并会生成对应的hash值,并以交易形式被记录至区块链,如图4所示,为本发明实施例一个示例的流程。下面对图4进行说明如下:
在智能合约部署成功后,只有未注册过的地址才能注册,因为规定一个地址只能注册一个账号,即地址与账号信息一一对应。注册时需要填写该用户的地址,为一串hash值,注册的字段包括用户角色、用户名和密码。用户的注册操作经区块链网络上各节点的验证,最终以交易形式被存储至分布式账本中。
只有注册过的账号才能登录,否则系统将会提示未注册,因为未注册的地址在分布式账本中没有存储任何与之匹配的身份信息,因此无法登录。同样,登录操作也会与智能合约发生交互,产生交易凭证,记录至新的block,并广播给全网其他节点,同步至所有节点的账本中。
注册且登录成功的用户可以对个人账号信息进行修改,但是只限修改用户名和密码,用户地址是区块链中用户的唯一标识,无法修改。修改信息需要与智能合约发生交互,因此修改操作执行成功后将产生一串hash值的交易凭证,记录至新的block,并广播给全网其他节点,同步至所有节点的账本中。
当某一账号注册且登录进主页,即可执行账号注销的操作,该操作同样也会与智能合约发生交互,在智能合约中使用delete关键字删除当前地址对应的所有身份信息。上述操作成功将会生成交易凭证,添加至新的block,并通过P2P网络广播至全网,同步到所有节点的账本中。
本发明实施例中,通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中,可以将私钥与登录密码绑定存储,将公钥通过区块链网络存储,从而避免登录密码公开,防止登录密码泄漏,同时,还可以利用区块链技术的特点,通过公开存储的公钥对登录密码绑定的私钥进行验证,防止登录密码被篡改,提高了用户身份认证信息的安全性。
本发明实施例中还提供了一种基于区块链的数据处理装置,如下面的实施例所述。由于该装置解决的问题及原理与本发明实施例提供的基于区块链的数据处理方法相似,因此该装置的实施可以参见基于区块链的数据处理方法的实施,重复之处不再赘述。
图5为本发明实施例中提供的一种基于区块链的数据处理装置的结构示意图。如图5所示,该装置包括第一接收单元501,第一生成单元502,第二生成单元503,第一广播单元504和绑定单元505。
第一接收单元501用于通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一生成单元502用于通过第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第二生成单元503用于通过第一节点将公钥与用户的身份信息绑定,生成注册信息;第一广播单元504用于通过第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;绑定单元505用于通过第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中。
可选地,该装置还可以包括:第二接收单元,用于在第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中之后,通过第一节点接收用户的登录操作;其中,登录操作包括输入唯一标识和登录密码;发送单元,用于通过第一节点调用智能合约,向服务器发送验证登录操作的请求;其中,请求携带唯一标识和登录密码;第三接收单元,用于在服务器确定唯一标识对应的登录密码与登录操作输入的登录密码相同的情况下,通过第一节点接收服务器返回的与唯一标识对应的私钥;第三生成单元,用于通过第一节点基于私钥对登录操作的信息加签,生成数字签名;第二广播单元,用于通过第一节点将登录操作的信息和数字签名广播至区块链网络中,以使得区块链网络中的其他节点根据自身维护账本中存储的公钥对数字签名验签;登录单元,用于在第一节点接收到超过预设数量的节点返回的验签成功的消息之后,通过第一节点登录用户的账户;第三广播单元,用于通过第一节点调用智能合约生成登录信息,并将登录信息广播至区块链网络。
可选地,该装置还可以包括:第四接收单元,用于在第一节点登录用户的账户之后,第一节点接收用户的修改操作;第四广播单元,用于在修改操作包括修改用户的身份信息的情况下,通过第一节点调用智能合约根据修改操作生成第一修改信息,并将第一修改信息广播至区块链网络中;执行单元,用于在修改操作包括修改用户的登录密码的情况下,第一节点调用智能合约根据修改操作生成第二修改信息,并向服务器发送修改请求,以使得服务器基于第二修改信息修改与唯一标识绑定的登录密码。
可选地,该装置还可以包括:第五接收单元,用于在第一节点登录用户的账户之后,通过第一节点接收用户的注销操作;第五广播单元,用于通过第一节点调用智能合约,向区块链网络广播注销操作的信息,并请求服务器注销与唯一标识关联的登录密码和私钥。
本发明实施例中,通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中,可以将私钥与登录密码绑定存储,将公钥通过区块链网络存储,从而避免登录密码公开,防止登录密码泄漏,同时,还可以利用区块链技术的特点,通过公开存储的公钥对登录密码绑定的私钥进行验证,防止登录密码被篡改,提高了用户身份认证信息的安全性。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的数据处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的数据处理方法。
本发明实施例中,通过第一节点接收用户的注册操作,注册操作的信息包括用户的身份信息和登录密码;第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及用户的唯一标识;第一节点将公钥与用户的身份信息绑定,生成注册信息;第一节点将注册信息广播至区块链网络中,以将注册信息同步存储至区块链网络中所有节点自身维护的账本中;第一节点将私钥、唯一标识与登录密码绑定,并存储至服务器中,可以将私钥与登录密码绑定存储,将公钥通过区块链网络存储,从而避免登录密码公开,防止登录密码泄漏,同时,还可以利用区块链技术的特点,通过公开存储的公钥对登录密码绑定的私钥进行验证,防止登录密码被篡改,提高了用户身份认证信息的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种基于区块链的数据处理方法,其特征在于,包括:
第一节点接收用户的注册操作,所述注册操作的信息包括所述用户的身份信息和登录密码;
所述第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及所述用户的唯一标识;
所述第一节点将所述公钥与所述用户的身份信息绑定,生成注册信息;
所述第一节点将所述注册信息广播至所述区块链网络中,以将所述注册信息同步存储至所述区块链网络中所有节点自身维护的账本中;
所述第一节点将所述私钥、所述唯一标识与所述登录密码绑定,并存储至服务器中。
2.如权利要求1所述的方法,其特征在于,在所述第一节点将所述私钥、所述唯一标识与所述登录密码绑定,并存储至服务器中之后,所述方法还包括:
所述第一节点接收所述用户的登录操作;其中,所述登录操作包括输入所述唯一标识和所述登录密码;
所述第一节点调用所述智能合约,向所述服务器发送验证所述登录操作的请求;其中,所述请求携带所述唯一标识和所述登录密码;
在所述服务器确定所述唯一标识对应的登录密码与所述登录操作输入的登录密码相同的情况下,所述第一节点接收所述服务器返回的与所述唯一标识对应的私钥;
所述第一节点基于所述私钥对所述登录操作的信息加签,生成数字签名;
所述第一节点将所述登录操作的信息和所述数字签名广播至所述区块链网络中,以使得所述区块链网络中的其他节点根据自身维护账本中存储的公钥对所述数字签名验签;
在所述第一节点接收到超过预设数量的节点返回的验签成功的消息之后,所述第一节点登录所述用户的账户;
所述第一节点调用所述智能合约生成登录信息,并将所述登录信息广播至所述区块链网络。
3.如权利要求2所述的方法,其特征在于,在所述第一节点登录所述用户的账户之后,所述方法还包括:
所述第一节点接收所述用户的修改操作;
在所述修改操作包括修改所述用户的身份信息的情况下,所述第一节点调用所述智能合约根据所述修改操作生成第一修改信息,并将所述第一修改信息广播至所述区块链网络中;
在所述修改操作包括修改所述用户的登录密码的情况下,所述第一节点调用所述智能合约根据所述修改操作生成第二修改信息,并向所述服务器发送修改请求,以使得所述服务器基于所述第二修改信息修改与所述唯一标识绑定的登录密码。
4.如权利要求2所述的方法,其特征在于,在所述第一节点登录所述用户的账户之后,所述方法还包括:
所述第一节点接收所述用户的注销操作;
所述第一节点调用所述智能合约,向所述区块链网络广播所述注销操作的信息,并请求所述服务器注销与所述唯一标识关联的登录密码和私钥。
5.一种基于区块链的数据处理装置,其特征在于,包括:
第一接收单元,用于通过第一节点接收用户的注册操作,所述注册操作的信息包括所述用户的身份信息和登录密码;
第一生成单元,用于通过所述第一节点调用在区块链网络中预先部署的智能合约,生成一对公钥和私钥、以及所述用户的唯一标识;
第二生成单元,用于通过所述第一节点将所述公钥与所述用户的身份信息绑定,生成注册信息;
第一广播单元,用于通过所述第一节点将所述注册信息广播至所述区块链网络中,以将所述注册信息同步存储至所述区块链网络中所有节点自身维护的账本中;
绑定单元,用于通过所述第一节点将所述私钥、所述唯一标识与所述登录密码绑定,并存储至服务器中。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在所述第一节点将所述私钥、所述唯一标识与所述登录密码绑定,并存储至服务器中之后,通过所述第一节点接收所述用户的登录操作;其中,所述登录操作包括输入所述唯一标识和所述登录密码;
发送单元,用于通过所述第一节点调用所述智能合约,向所述服务器发送验证所述登录操作的请求;其中,所述请求携带所述唯一标识和所述登录密码;
第三接收单元,用于在所述服务器确定所述唯一标识对应的登录密码与所述登录操作输入的登录密码相同的情况下,通过所述第一节点接收所述服务器返回的与所述唯一标识对应的私钥;
第三生成单元,用于通过所述第一节点基于所述私钥对所述登录操作的信息加签,生成数字签名;
第二广播单元,用于通过所述第一节点将所述登录操作的信息和所述数字签名广播至所述区块链网络中,以使得所述区块链网络中的其他节点根据自身维护账本中存储的公钥对所述数字签名验签;
登录单元,用于在所述第一节点接收到超过预设数量的节点返回的验签成功的消息之后,通过所述第一节点登录所述用户的账户;
第三广播单元,用于通过所述第一节点调用所述智能合约生成登录信息,并将所述登录信息广播至所述区块链网络。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第四接收单元,用于在所述第一节点登录所述用户的账户之后,所述第一节点接收所述用户的修改操作;
第四广播单元,用于在所述修改操作包括修改所述用户的身份信息的情况下,通过所述第一节点调用所述智能合约根据所述修改操作生成第一修改信息,并将所述第一修改信息广播至所述区块链网络中;
执行单元,用于在所述修改操作包括修改所述用户的登录密码的情况下,所述第一节点调用所述智能合约根据所述修改操作生成第二修改信息,并向所述服务器发送修改请求,以使得所述服务器基于所述第二修改信息修改与所述唯一标识绑定的登录密码。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
第五接收单元,用于在所述第一节点登录所述用户的账户之后,通过所述第一节点接收所述用户的注销操作;
第五广播单元,用于通过所述第一节点调用所述智能合约,向所述区块链网络广播所述注销操作的信息,并请求所述服务器注销与所述唯一标识关联的登录密码和私钥。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4任一所述方法。
CN202210979257.0A 2022-08-16 2022-08-16 基于区块链的数据处理方法及装置 Pending CN115378605A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210979257.0A CN115378605A (zh) 2022-08-16 2022-08-16 基于区块链的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210979257.0A CN115378605A (zh) 2022-08-16 2022-08-16 基于区块链的数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN115378605A true CN115378605A (zh) 2022-11-22

Family

ID=84065048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210979257.0A Pending CN115378605A (zh) 2022-08-16 2022-08-16 基于区块链的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN115378605A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055047A (zh) * 2023-03-31 2023-05-02 中国科学技术大学 一种对主账号关联记录的可信匿名管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055047A (zh) * 2023-03-31 2023-05-02 中国科学技术大学 一种对主账号关联记录的可信匿名管理方法

Similar Documents

Publication Publication Date Title
KR102566194B1 (ko) 블록체인 네트워크에 기반한 데이터 처리 방법 및 장치, 전자 디바이스, 및 저장 매체
CN110192380B (zh) 用于管理区块链云服务的系统和方法
EP3721603B1 (en) System and method for creating decentralized identifiers
US11336455B2 (en) Consensus protocol for blockchain DAG structure
CN110400221B (zh) 数据处理方法、系统、存储介质及计算机设备
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN112602076A (zh) 分布式分类账中基于dag的交易处理方法和系统
CN105247529A (zh) 在目录服务之间同步凭证散列
JP2023506634A (ja) 部分的に順序付けられたブロックチェーン
CN102830992A (zh) 插件加载方法及系统
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
CN110149323B (zh) 一种具有千万级tps合约处理能力的处理装置
CN115208665B (zh) 一种基于区块链的种质资源数据安全共享方法及系统
CN111835514A (zh) 一种前后端分离数据安全交互的实现方法及系统
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
WO2021220226A1 (en) Systems and methods for decentralization of blockchain-based processes employing a blockchain-associated front end or blockchain-associated user interface
CN111597537B (zh) 基于区块链网络的证书签发方法、相关设备及介质
CN115378605A (zh) 基于区块链的数据处理方法及装置
Quamara et al. An in-depth security and performance investigation in hyperledger fabric-configured distributed computing systems
CN113836573A (zh) 基于分布式存储的用户信息处理方法及装置
CN116975901A (zh) 基于区块链的身份验证方法、装置、设备、介质及产品
Cachin et al. Stateful multi-client verifiable computation
CN112926981B (zh) 用于区块链的交易信息处理方法、装置、介质及电子设备
CN114372245A (zh) 基于区块链的物联网终端认证方法、系统、设备及介质
JP2023551160A (ja) Dltネットワークの自動化されたマージ

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