CN114124943A - 区块链节点的处理方法、装置及系统、电子装置 - Google Patents

区块链节点的处理方法、装置及系统、电子装置 Download PDF

Info

Publication number
CN114124943A
CN114124943A CN202010818301.0A CN202010818301A CN114124943A CN 114124943 A CN114124943 A CN 114124943A CN 202010818301 A CN202010818301 A CN 202010818301A CN 114124943 A CN114124943 A CN 114124943A
Authority
CN
China
Prior art keywords
node
request
chain
block chain
response information
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
CN202010818301.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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010818301.0A priority Critical patent/CN114124943A/zh
Publication of CN114124943A publication Critical patent/CN114124943A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种区块链节点的处理方法、装置及系统、电子装置。其中,该方法包括:向第一节点发送第一请求,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点;获取第一节点返回的第一响应信息,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出;以及,根据第一响应信息确定是否执行退链操作,退链操作为第二节点从区块链中退出的操作。本申请解决了相关技术中区块链中节点退出的效率较低的技术问题。

Description

区块链节点的处理方法、装置及系统、电子装置
技术领域
本申请涉及互联网领域,具体而言,涉及一种区块链节点的处理方法、装置及系统、电子装置。
背景技术
随着信息技术的更新,区块链作为新兴的存储技术逐渐成为发展热门,区块链系统是利用密码学保证数据传输和访问的安全,生成不可篡改和不可伪造的分布式账本的数据网络系统。区块链可以分为公有链(public blockchain)、联盟链(consortiumblockchain)和私有链(private blockchain)。其中联盟链是指有多个组织共同参与管理的区块链,每个成员运行着一个或多个节点,联盟链允许成员中的节点读取和发送交易,并且共同记录交易数据。
区块链没有一个中心的机构,各个节点信息的一致性是通过区块链的共识机制来保证的。近年来,在对区块链的共识机制的研究过程中,出现了越来越多的技术,用于提高共识机制的共识一致性和可用性,但是对于节点加入或者退出联盟链的研究却并不多,其中,针对节点退出联盟链的机制方面的研究更是处于空缺状态,目前只能采用管理员手动操作的方式实现。而目前联盟链等区块链的应用越来越广泛,区块链的节点也越来越多,节点退出区块链的操作变得也越来越频繁。
发明人经过对相关技术进行分析认识到,目前区块链的共识机制中并没有节点的退出功能,在很多区块链应用中,面临着节点加入区块链后无法退出的尴尬局面,或者需要由区块链系统管理员配置相关文件以手动删除待退出节点,这与区块链去中心化的思想并不一致。可见,目前缺乏一种规范合理、安全快速的联盟链退出机制。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种区块链节点的处理方法、装置及系统、电子装置,以至少解决相关技术中区块链中节点退出的效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种区块链节点的处理方法,包括:向第一节点发送第一请求,其中,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点;获取第一节点返回的第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出;以及,根据第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
根据本申请实施例的另一个方面,还提供了一种区块链节点的处理方法,包括:获取第二节点的第一请求,其中,第一请求用于第二节点请求从区块链中退出;根据第二节点的节点信息生成第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点;以及,向第二节点返回第一响应信息,其中,第二节点用于根据第一响应信息确定是否执行从区块链中退出的退链操作。
根据本申请实施例的另一方面,还提供了一种区块链节点的处理装置,包括:发送单元,用于向第一节点发送第一请求,其中,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点;第一获取单元,用于获取第一节点返回的第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出;以及,处理单元,用于根据第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
根据本申请实施例的另一方面,还提供了一种区块链节点的处理装置,包括:第二获取单元,用于获取第二节点的第一请求,其中,第一请求用于第二节点请求从区块链中退出;生成单元,用于根据第二节点的节点信息生成第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点;以及,返回单元,用于向第二节点返回第一响应信息,其中,第二节点用于根据第一响应信息确定是否执行从区块链中退出的退链操作。
根据本申请实施例的另一方面,还提供了一种区块链节点的处理系统,包括:第一节点,用于在接收到第二节点发送的第一请求的情况下,向第二节点返回生成的第一响应信息,其中,第一请求用于第二节点请求从区块链中退出,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点;第二节点,用于在向第一节点发送第一请求之后,根据接收到的第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,区块链中待退出的第二节点可以直接向区块链中其他的第一节点请求从区块链中退出,进而根据响应信息确定是否执行退链操作,而不用管理员手动确定是否将第二节点退出,可以解决相关技术中区块链中节点退出的效率较低的技术问题,进而达到提高对区块链节点管理效率的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的区块链节点的处理方法的流程图;
图2是根据本申请实施例的一种可选的区块链节点的处理方法的流程图;
图3是根据本申请实施例的一种可选的区块链节点的处理方法的流程图;
图4是根据本申请实施例的一种可选的区块链节点的处理装置的示意图;
图5是根据本申请实施例的一种可选的区块链节点的处理装置的示意图;以及,
图6是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
区块链技术:区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的校验过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。
BaaS(Blockchain as a Service,区块链即服务):它是一种新型的云服务,一种结合区块链技术的云服务,和普通节点及交易节点相比,BaaS节点的用途主要是:快速建立自己所需的开发环境,提供基于区块链的搜索查询、交易提交、数据分析等一系列操作服务,这些服务既可以是中心化的,也可以是非中心化的,用来帮助开发者更快地校验自己的概念和模型,BaaS提供的是配套服务,可为区块链开发者、创业者提供孵化器。
数字摘要:数字摘要是Hash算法重要用途之一,顾名思义,数字摘要是对原始的数字内容进行Hash运算,获取唯一的摘要值,利用Hash函数抗碰撞性特点,数字摘要可以检测内容是否被篡改过。
数字签名:又称公钥数字签名、电子签章,是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。发送节点信息数据通过哈希加密生成摘要,然后利用发送节点的私钥对摘要进行数字签名,发送节点把信息数据、数字签名、发送节点公钥一起全网广播给接收节点,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。具体包括RSA算法、DSA算法和ECDSA椭圆曲线数字签名算法。
在目前的区块链中,很多节点面临加入联盟链后无法退出的尴尬局面;或者要由联盟链系统管理员配置相关文件,手动删除待退出节点,节点退出联盟链的效率较低,且与区块链去中心化的思想相悖,另外,如果待退出节点存在业务未完成等情况,还可能会对链上其他节点的正常工作造成干扰。类似地,在公有链和私有链中存在类似的问题。
根据本申请实施例的一方面,提供了一种区块链节点的处理方法的方法实施例,以解决上述问题。图1是根据本申请实施例的一种可选的区块链节点的处理方法的流程图,如图1所示,该方法应用于第二节点,可以包括以下步骤:
步骤S102,第二节点向第一节点发送第一请求,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点。
上述第二节点为区块链(可以为公有链、私有链以及联盟链,后续以联盟链为例进行说明)中待退出的节点,第一节点为区块链中除第二节点以外的其他节点。
步骤S104,第二节点获取第一节点返回的第一响应信息,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出。
步骤S106,第二节点根据第一响应信息确定是否执行退链操作,退链操作为第二节点从区块链中退出的操作。
通过上述步骤,区块链中待退出的第二节点可以直接向区块链中其他的第一节点请求从区块链中退出,进而根据响应信息确定是否执行退链操作,而不用管理员手动确定是否将第二节点退出,可以解决相关技术中区块链中节点退出的效率较低的技术问题,进而达到提高对区块链节点管理效率的技术效果。下面结合图1所示的步骤进一步详述本申请的技术方案。
在步骤S102提供的技术方案中,第二节点向第一节点发送第一请求。
本申请的节点可以基于BaaS实现,BaaS是结合区块链技术帮助用户创建、管理和维护企业级区块链网络及应用的服务,利用BaaS可以快速建立所需的区块链应用环境,提供基于区块链网络的搜索查询,交易、数据分析等一系列操作服务。
在上述实施例中,第二节点向第一节点发送第一请求可以通过如下步骤1-步骤4实现:
步骤1,目标终端通过本地的BaaS客户端向BaaS的云端服务器发送第二请求,第二请求用于目标帐号请求将第二节点从区块链中退出,第二节点属于目标帐号,目标帐号登录在目标终端的客户端上。
可选地,目标帐号在创建第二节点时,也可以在本地的BaaS客户端上实现,云端在收到创建节点的请求后,在云端为第二节点分配相应的资源,从而创建第二节点。
步骤2,云端接收到第二请求,云端承载有第二节点。
步骤3,对第二请求进行鉴权。
可选地,对第二请求进行鉴权包括以下至少之一:确定第二请求携带的帐号名称(也可称为用户名称)是否为第二节点的帐号名称;确定第二请求携带的帐号标识(也可以称为用户标识)是否为第二节点的帐号标识;确定第二请求携带的节点标识是否为第二节点的节点标识;确定第二请求携带的区块链名称是否为第二节点所在区块链的名称;以及,确定第二请求携带的区块链标识是否为第二节点所在区块链的标识。
若其中有任何一项信息不对则可以向用户发出提示,提示用户进行修改,并重新发起请求。
步骤4,在对第二请求鉴权通过的情况下,第二节点向第一节点发送利用第二节点的私钥签名的第一请求。
在步骤S104提供的技术方案中,第二节点获取第一节点返回的第一响应信息。
第一节点在接收到第二节点的第一请求后,利用公钥证书对该请求的来源进行验证,验证通过后根据第二节点的节点信息生成第一响应信息,第一响应信息表示第一节点是否同意第二节点从区块链中退出,例如,在确认节点的身份后,根据第二节点的身份标识,在链上查询该节点对应的交易信息,如是否有交易未完成,或节点义务未履行等异常情况,如果有就不同意退出,如果没有就同意退出。
在步骤S106提供的技术方案中,第二节点根据第一响应信息确定是否执行退链操作。
可选地,根据第一响应信息确定是否执行退链操作包括如下两种情况:其一是,在收到的表示同意的第一响应信息的数量达到目标阈值的情况下,执行退链操作,其中,目标阈值为小于等于第一节点的节点数量的正整数;其二是,在收到的表示同意的第一响应信息的数量未达到目标阈值的情况下,不执行退链操作。
上述的目标阈值可以为固定值,如100,也可以是按照某个比例确定的值,如按照90%确定的,区块链中节点总数为1000,那么只要有900个节点同意第二节点退出,那么第二节点就可以退出。
可选地,上述执行退链操作包括:第二节点向区块链的排序节点发送退链指令,退链指令用于指示排序节点向第一节点通知退链操作,第一节点用于将退链操作记入账本;第二节点获取排序节点返回的第二响应信息,第二响应信息用于表示第一节点对第二节点的退链操作达成共识,此时第二节点和第一节点之间的连接就会断开。
根据本申请实施例的另一方面,还提供了一种区块链节点的处理方法的方法实施例,图2是根据本申请实施例的一种可选的区块链节点的处理方法的流程图,如图2所示,该方法应用于第一节点,可以包括以下步骤:
步骤S202,第一获取第二节点的第一请求,第一请求用于第二节点请求从区块链中退出。
步骤S204,第一节点根据第二节点的节点信息生成第一响应信息,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点。
步骤S206,第一节点向第二节点返回第一响应信息,第二节点用于根据第一响应信息确定是否执行从区块链中退出的退链操作。
可选地,在向第二节点返回第一响应信息之后,等待最终的共识结果通知:
步骤1,第二节点获取区块链的排序节点发送的通知消息,通知消息用于向第一节点通知第二节点的退链操作。
步骤2,将退链操作记入第一节点的账本。
可选地,在将退链操作记入第一节点的账本之后,断开第一节点与第二节点之间的通信连接。
可选地,在将退链操作记入第一节点的账本之后,删除第一节点的通信许可列表中第二节点的节点标识,其中,通信许可列表用于保存允许与第一节点进行通信的节点的节点标识;删除第一节点保存的第二节点的公钥证书。
在上述技术方案中,待退出节点发出退出联盟链的请求,BaaS对该节点的参数进行校验;参数校验完成后,使用节点私钥对请求执行数字签名生成签名信息的操作;将请求广播给链上所有节点,链上节点对待退出节点的身份进行验证,并确认其是否有交易未完成,确认后达成共识,其他节点与待退出节点中断通信,之后待退出节点就不能访问联盟链了,此时,退链操作完成。
采用上述技术方案,实现了联盟链节点的快速退出机制,减少了人工操作,将个别节点的退出对联盟链的影响降低到最小的程度,保证了联盟链的运行效率;通过实现基于BaaS的联盟链退出机制,通过基于通过打造联盟链的退出机制,填补了节点在联盟链退出机制的技术缺位,为健康良性的区块链生态提供了支持;联盟链的节点退出机制的整个过程通过BaaS实现可视化,可以实时地、直观地了解到退出流程的运行状态和操作结果。
作为一种可选的实施例,下面继续以将本申请的技术方案应用于联盟链为例,结合图3进一步进行说明。
步骤S302,用户登录BaaS,在BaaS上发起“退出联盟链”的请求,用户发起退出联盟链请求,此请求为已经签名完成的请求(使用节点的私钥签名),BaaS接受此请求。
请求内容包含退出指令和节点特征;退出指令用于告知联盟链,有节点要求退出联盟链,以便联盟链能够对退出请求做出处理;节点特征属性包含但不限于节点标识、物理地址、网络地址等信息。
步骤S304,BaaS对用户发出的请求进行参数校验,包含签名等信息。
BaaS校验用户所发出的请求是否合法,校验内容包括用户名、用户标识、节点标识、联盟链名、联盟链标识等中的一个或者多个。若校验符合标准,则生成节点配置文件,否则发出提示信息,提示用户修改相关参数。若校验符合标准,则使用节点私钥对请求执行数字签名操作,生成签名信息(该私钥存储于BaaS相关联的数据库中,由用户通过BaaS进行管理,加密签名过程是用户通过BaaS进行操作,在节点中运行实现的);BaaS将签名后的信息发到联盟链中。
步骤S306,BaaS将签名的请求发送至区块链网络上的各个节点。
步骤S308,链上节点对待退出节点身份进行身份验证,并确认其是否有交易未完成。
联盟链上的其他节点在收到待退出节点的“退出请求”后,利用待退出节点的公钥证书对“退出请求”的来源节点的身份进行验证,并对比账本数据中的初始信息,验证请求数据的合法性;在确认节点的身份后,根据待退出节点的身份标识,在链上查询该节点对应的交易信息,如是否有交易未完成,或节点义务未履行等异常情况。
步骤S310,联盟链采用针对节点退出事件的共识机制对此次行为进行共识,并将共识结果返回至BaaS,各节点中断与待退出节点的通信。
在执行完步骤S308后,链上的各节点独立地模拟执行当待退出节点的退出行为,生成执行结果(该结果不写入本地账本中),观察该执行结果对自己节点的业务影响,独立判断并生成一个提议结果,并对该提议结果进行背书,即在结果中添加数字签名(利用自己的私钥对结果进行签名)。然后这些节点将自己的背书结果发给待退出节点的BaaS,待退出节点的BaaS收集到满足阈值数量的背书结果后(或者满足PBFT共识算法的要求后),向联盟链中的排序节点发起退出联盟链的事件,由排序节点对其进行排序服务,确保交易顺序的一致性,提交记录并生成新的区块,联盟链上的各节点验证区块的合法性,并且把区块写入账本中,至此,联盟链对该节点的退出行为达成共识,将共识结果返回至待退出节点对应的BaaS中。
之后,各节点将待退出节点标识从本地的通信许可列表中删除,删除该节点的公钥证书,并中断与待退出节点的通信,待退出节点无法参与下一次交易的共识过程。至此,待退出节点最终退出联盟链。
在使用的共识算法中,共识指在分布式系统中多个节点之间对某个事情(如上述的退链事件)达成一致看法的过程。达成某种共识并不意味着就保障了一致性。实践中,要保障系统满足不同程度的一致性,往往需要通过共识算法来达成。共识算法解决的是分布式系统对某个提案(Proposal),大部分节点达成一致意见的过程。提案的含义在分布式系统中十分宽泛,如多个事件发生的顺序、某个键对应的值、谁是主节点等等。可以认为任何可以达成一致的信息都是一个提案。对于分布式系统来讲,各个节点通常都是相同的确定性状态机模型(又称为状态机复制问题,State-Machine Replication),从相同初始状态开始接收相同顺序的指令,则可以保证相同的结果状态。因此,系统中多个节点最关键地是对多个事件的顺序进行共识,即排序。
根据解决的场景是否允许拜占庭错误情况,共识算法可以分为Crash FaultTolerance(CFT)和Byzantine Fault Tolerance(BFT)两类。对于非拜占庭错误的情况,可以采用Paxos、Raft等经典算法实现。这类容错算法往往性能比较好,处理较快,容忍不超过一半的故障节点。对于要能容忍拜占庭错误的情况,包括以PBFT(Practical ByzantineFault Tolerance)为代表的确定性系列算法、以PoW为代表的概率算法等。确定性算法一旦达成共识就不可逆转,即共识是最终结果;而概率类算法的共识结果则是临时的,随着时间推移或某种强化,共识结果被推翻的概率越来越小,最终成为事实上结果。拜占庭类容错算法往往性能较差,容忍不超过1/3的故障节点。此外,XFT(Cross Fault Tolerance)等最近提出的改进算法可以提供类似CFT的处理响应速度,并能在大多数节点正常工作时提供BFT保障。Algorand算法是基于PBFT进行改进,通过引入可验证随机函数解决了提案选择的问题,理论上可以在容忍拜占庭错误的前提下实现更好的性能(1000+TPS)。
步骤S312,将“退出联盟链”的请求结果返回给用户进行展示。
联盟链将最终的结果返回至待退出节点BaaS展示,通知节点已经成功退出联盟链。如果节点退出联盟链失败,则提示用户相应的节点状态信息,并继续保持与联盟链上其他节点的通信。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述区块链节点的处理方法的区块链节点的处理装置。图4是根据本申请实施例的一种可选的区块链节点的处理装置的示意图,如图4所示,该装置可以包括:
发送单元401,用于向第一节点发送第一请求,其中,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点。
第一获取单元403,用于获取第一节点返回的第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出。
处理单元405,用于根据第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
需要说明的是,该实施例中的发送单元401可以用于执行本申请实施例中的步骤S102,该实施例中的第一获取单元403可以用于执行本申请实施例中的步骤S104,该实施例中的处理单元405可以用于执行本申请实施例中的步骤S106。
通过上述模块,区块链中待退出的第二节点可以直接向区块链中其他的第一节点请求从区块链中退出,进而根据响应信息确定是否执行退链操作,而不用管理员手动确定是否将第二节点退出,可以解决相关技术中区块链中节点退出的效率较低的技术问题,进而达到提高对区块链节点管理效率的技术效果。
可选地,上述处理单元包括:第一处理模块,用于在收到的表示同意的第一响应信息的数量达到目标阈值的情况下,执行退链操作,其中,目标阈值为小于等于第一节点的节点数量的正整数;第二处理模块,用于在收到的表示同意的第一响应信息的数量未达到目标阈值的情况下,取消执行退链操作。
可选地,上述第一处理模块还可用于:向区块链的排序节点发送退链指令,其中,退链指令用于指示排序节点向第一节点通知退链操作,第一节点用于将退链操作记入账本;获取排序节点返回的第二响应信息,其中,第二响应信息用于表示第一节点对第二节点的退链操作达成共识。
可选地,本申请的装置还可包括:鉴权单元,用于在向第一节点发送第一请求之前,在云端接收第二请求,其中,云端用于承载第二节点,第二请求用于目标帐号请求将第二节点从区块链中退出,第二节点属于目标帐号;对第二请求进行鉴权,其中,在对第二请求鉴权通过的情况下,执行向第一节点发送第一请求的步骤。
可选地,鉴权单元还可用于执行以下至少之一:确定第二请求携带的帐号名称是否为第二节点的帐号名称;确定第二请求携带的帐号标识是否为第二节点的帐号标识;确定第二请求携带的节点标识是否为第二节点的节点标识;确定第二请求携带的区块链名称是否为第二节点所在区块链的名称;以及,确定第二请求携带的区块链标识是否为第二节点所在区块链的标识。
根据本申请实施例的另一个方面,还提供了一种用于实施上述区块链节点的处理方法的区块链节点的处理装置。图5是根据本申请实施例的一种可选的区块链节点的处理装置的示意图,如图5所示,该装置可以包括:
第二获取单元501,用于获取第二节点的第一请求,第一请求用于第二节点请求从区块链中退出。
生成单元503,用于根据第二节点的节点信息生成第一响应信息,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点。
返回单元505,用于向第二节点返回第一响应信息,第二节点用于根据第一响应信息确定是否执行从区块链中退出的退链操作。
需要说明的是,该实施例中的第二获取单元501可以用于执行本申请实施例中的步骤S202,该实施例中的生成单元503可以用于执行本申请实施例中的步骤S204,该实施例中的返回单元505可以用于执行本申请实施例中的步骤S206。
可选地,本申请的装置还可包括:共识单元,用于在向第二节点返回第一响应信息之后,获取区块链的排序节点发送的通知消息,其中,通知消息用于向第一节点通知第二节点的退链操作;以及,将退链操作记入第一节点的账本。
可选地,本申请的装置还可包括:断开单元,用于在将退链操作记入第一节点的账本之后,断开第一节点与第二节点之间的通信连接。
可选地,本申请的装置还可包括:删除单元,用于在将退链操作记入第一节点的账本之后,删除第一节点的通信许可列表中第二节点的节点标识,其中,通信许可列表用于保存允许与第一节点进行通信的节点的标识;和/或,删除第一节点保存的第二节点的公钥证书。
根据本申请实施例的另一个方面,还提供了一种用于实施上述区块链节点的处理方法的区块链节点的处理系统,该系统包括:第一节点和第二节点,第一节点用于在接收到第二节点发送的第一请求的情况下,向第二节点返回生成的第一响应信息,其中,第一请求用于第二节点请求从区块链中退出,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出,第一节点为区块链中与第二节点不同的节点;第二节点用于在向第一节点发送第一请求之后,根据接收到的第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行相应的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述区块链节点的处理方法的服务器或终端。
图6是根据本申请实施例的一种终端的结构框图,如图6所示,该终端可以包括:一个或多个(图6中仅示出一个)处理器601、存储器603、以及传输装置605,如图6所示,该终端还可以包括输入输出设备607。
其中,存储器603可用于存储软件程序以及模块,如本申请实施例中的区块链节点的处理方法和装置对应的程序指令/模块,处理器601通过运行存储在存储器603内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的区块链节点的处理方法。存储器603可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器603可进一步包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置605用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置605包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置605为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器603用于存储应用程序。
处理器601可以通过传输装置605调用存储器603存储的应用程序,以执行下述步骤:
向第一节点发送第一请求,其中,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点;
获取第一节点返回的第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出;以及,
根据第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图6所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图6其并不对上述电子装置的结构造成限定。例如,终端还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行区块链节点的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
向第一节点发送第一请求,其中,第一请求用于第二节点请求从区块链中退出,第一节点为区块链中与第二节点不同的节点;
获取第一节点返回的第一响应信息,其中,第一响应信息用于表示第一节点是否同意第二节点从区块链中退出;以及,
根据第一响应信息确定是否执行退链操作,其中,退链操作为第二节点从区块链中退出的操作。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (14)

1.一种区块链节点的处理方法,其特征在于,包括:
向第一节点发送第一请求,其中,所述第一请求用于第二节点请求从区块链中退出,所述第一节点为所述区块链中与所述第二节点不同的节点;
获取所述第一节点返回的第一响应信息,其中,所述第一响应信息用于表示所述第一节点是否同意所述第二节点从所述区块链中退出;以及,
根据所述第一响应信息确定是否执行退链操作,其中,所述退链操作为所述第二节点从所述区块链中退出的操作。
2.根据权利要求1所述的方法,其特征在于,根据所述第一响应信息确定是否执行退链操作包括:
在收到的表示同意的所述第一响应信息的数量达到目标阈值的情况下,执行所述退链操作,其中,所述目标阈值为小于等于所述第一节点的节点数量的正整数;以及,
在收到的表示同意的所述第一响应信息的数量未达到所述目标阈值的情况下,取消执行所述退链操作。
3.根据权利要求2所述的方法,其特征在于,执行所述退链操作包括:
向所述区块链的排序节点发送退链指令,其中,所述退链指令用于指示所述排序节点向所述第一节点通知所述退链操作,所述第一节点用于将所述退链操作记入账本;以及,
获取所述排序节点返回的第二响应信息,其中,所述第二响应信息用于表示所述第一节点对所述第二节点的所述退链操作达成共识。
4.根据权利要求1所述的方法,其特征在于,在向第一节点发送第一请求之前,所述方法还包括:
在云端接收第二请求,其中,所述云端用于承载所述第二节点,所述第二请求用于目标帐号请求将所述第二节点从所述区块链中退出,所述第二节点属于所述目标帐号;以及,
对所述第二请求进行鉴权,其中,在对所述第二请求鉴权通过的情况下,执行向所述第一节点发送所述第一请求的步骤。
5.根据权利要求4所述的方法,其特征在于,对所述第二请求进行鉴权包括以下至少之一:
确定所述第二请求携带的帐号名称是否为所述第二节点的帐号名称;
确定所述第二请求携带的帐号标识是否为所述第二节点的帐号标识;
确定所述第二请求携带的节点标识是否为所述第二节点的节点标识;
确定所述第二请求携带的区块链名称是否为所述第二节点所在区块链的名称;以及,
确定所述第二请求携带的区块链标识是否为所述第二节点所在区块链的标识。
6.一种区块链节点的处理方法,其特征在于,包括:
获取第二节点的第一请求,其中,所述第一请求用于所述第二节点请求从区块链中退出;
根据所述第二节点的节点信息生成第一响应信息,其中,所述第一响应信息用于表示第一节点是否同意所述第二节点从所述区块链中退出,所述第一节点为所述区块链中与所述第二节点不同的节点;以及,
向所述第二节点返回所述第一响应信息,其中,所述第二节点用于根据所述第一响应信息确定是否执行从所述区块链中退出的退链操作。
7.根据权利要求6所述的方法,其特征在于,在向所述第二节点返回所述第一响应信息之后,所述方法还包括:
获取所述区块链的排序节点发送的通知消息,其中,所述通知消息用于向所述第一节点通知所述第二节点的退链操作;以及,
将所述退链操作记入所述第一节点的账本。
8.根据权利要求7所述的方法,其特征在于,在将所述退链操作记入所述第一节点的账本之后,所述方法还包括:
断开所述第一节点与所述第二节点之间的通信连接。
9.根据权利要求7所述的方法,其特征在于,在将所述退链操作记入所述第一节点的账本之后,所述方法还包括:
删除所述第一节点的通信许可列表中所述第二节点的节点标识,其中,所述通信许可列表用于保存允许与所述第一节点进行通信的节点的标识;和/或,
删除所述第一节点保存的所述第二节点的公钥证书。
10.一种区块链节点的处理装置,其特征在于,包括:
发送单元,用于向第一节点发送第一请求,其中,所述第一请求用于第二节点请求从所述区块链中退出,所述第一节点为所述区块链中与所述第二节点不同的节点;
第一获取单元,用于获取所述第一节点返回的第一响应信息,其中,所述第一响应信息用于表示所述第一节点是否同意所述第二节点从所述区块链中退出;以及,
处理单元,用于根据所述第一响应信息确定是否执行退链操作,其中,所述退链操作为所述第二节点从所述区块链中退出的操作。
11.一种区块链节点的管控装置,其特征在于,包括:
第二获取单元,用于获取第二节点的第一请求,其中,所述第一请求用于所述第二节点请求从区块链中退出;
生成单元,用于根据所述第二节点的节点信息生成第一响应信息,其中,所述第一响应信息用于表示第一节点是否同意所述第二节点从所述区块链中退出,所述第一节点为所述区块链中与所述第二节点不同的节点;以及,
返回单元,用于向所述第二节点返回所述第一响应信息,其中,所述第二节点用于根据所述第一响应信息确定是否执行从所述区块链中退出的退链操作。
12.一种区块链节点的处理系统,其特征在于,包括第一节点和第二节点,
所述第一节点用于在接收到第二节点发送的第一请求的情况下,向所述第二节点返回生成的第一响应信息,其中,所述第一请求用于所述第二节点请求从区块链中退出,所述第一响应信息用于表示所述第一节点是否同意所述第二节点从所述区块链中退出,所述第一节点为所述区块链中与所述第二节点不同的节点;
所述第二节点用于在向所述第一节点发送所述第一请求之后,根据接收到的所述第一响应信息确定是否执行退链操作,其中,所述退链操作为所述第二节点从所述区块链中退出的操作。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
14.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至9任一项中所述的方法。
CN202010818301.0A 2020-08-14 2020-08-14 区块链节点的处理方法、装置及系统、电子装置 Pending CN114124943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010818301.0A CN114124943A (zh) 2020-08-14 2020-08-14 区块链节点的处理方法、装置及系统、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010818301.0A CN114124943A (zh) 2020-08-14 2020-08-14 区块链节点的处理方法、装置及系统、电子装置

Publications (1)

Publication Number Publication Date
CN114124943A true CN114124943A (zh) 2022-03-01

Family

ID=80373687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010818301.0A Pending CN114124943A (zh) 2020-08-14 2020-08-14 区块链节点的处理方法、装置及系统、电子装置

Country Status (1)

Country Link
CN (1) CN114124943A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033405A (zh) * 2018-08-03 2018-12-18 华为技术有限公司 维护区块链的方法和装置、服务器和计算机可读存储介质
CN109391480A (zh) * 2018-10-19 2019-02-26 微梦创科网络科技(中国)有限公司 一种数据存储方法、装置及电子设备
US20190188086A1 (en) * 2017-12-14 2019-06-20 International Business Machines Corporation Redundancy reduction in blockchains
CN110210961A (zh) * 2019-05-21 2019-09-06 平安普惠企业管理有限公司 基于联盟链的数据获取方法、服务器及计算机存储介质
WO2019205849A1 (zh) * 2018-04-28 2019-10-31 腾讯科技(深圳)有限公司 区块链访问的鉴权方法和装置、存储介质、电子装置
CN111010394A (zh) * 2019-08-15 2020-04-14 腾讯科技(深圳)有限公司 区块链多链管理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190188086A1 (en) * 2017-12-14 2019-06-20 International Business Machines Corporation Redundancy reduction in blockchains
WO2019205849A1 (zh) * 2018-04-28 2019-10-31 腾讯科技(深圳)有限公司 区块链访问的鉴权方法和装置、存储介质、电子装置
CN109033405A (zh) * 2018-08-03 2018-12-18 华为技术有限公司 维护区块链的方法和装置、服务器和计算机可读存储介质
CN109391480A (zh) * 2018-10-19 2019-02-26 微梦创科网络科技(中国)有限公司 一种数据存储方法、装置及电子设备
CN110210961A (zh) * 2019-05-21 2019-09-06 平安普惠企业管理有限公司 基于联盟链的数据获取方法、服务器及计算机存储介质
CN111010394A (zh) * 2019-08-15 2020-04-14 腾讯科技(深圳)有限公司 区块链多链管理方法和装置

Similar Documents

Publication Publication Date Title
CN110569675B (zh) 一种基于区块链技术的多Agent交易信息保护方法
CN109327528B (zh) 一种基于区块链的节点管理方法和装置
CN109936457B (zh) 区块链多方见证方法、装置、设备及计算机可读存储介质
CN108777625B (zh) 签名的验证方法、装置和系统、存储介质、电子装置
CN107888562B (zh) 一种平行链接入互联链的数据验证和收发方法、节点及系统
CN112311735B (zh) 可信认证方法,网络设备、系统及存储介质
CN107396360B (zh) 区块验证方法及装置
CN109819443B (zh) 基于区块链的注册认证方法、装置及系统
CN109447645B (zh) 一种设备联动方法、区块链网络及存储介质
CN113098907B (zh) 一种区块链的群组划分方法与装置
CN110990408A (zh) 基于区块链的业务信息协同方法、业务系统及联盟链
CN110351133A (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN110545286B (zh) 加入联盟链、退出联盟链的方法、装置、设备及存储介质
CN111476572B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN112527912B (zh) 基于区块链网络的数据处理方法、装置及计算机设备
CN111275555B (zh) 区块链交易处理方法、交易节点以及区块链系统
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN114240433A (zh) 基于区块链的数据处理方法及系统
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
JP7192196B2 (ja) 複数のノードに基づくネットワークトランザクション検証方法及びそのシステム並びに記憶媒体
CN113055176B (zh) 终端认证方法和系统、终端设备、p2p验证平台和介质
CN110992178A (zh) 区块链节点的验证方法、装置、计算机设备及存储介质
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN110647583B (zh) 一种区块链构建方法、装置、终端及介质
CN113328854A (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