一种区块链节点连接方法及装置制造方法及图纸

技术编号:34039942 阅读:16 留言:0更新日期:2022-07-06 13:14
一种区块链节点连接方法及装置,由区块链第一节点执行,该方法包括:建立与第二节点之间的连接,以用于与第二节点之间进行数据传输;获取与第二节点之间的传输延迟信息;根据传输延迟信息,调节连接的连接参数。调节连接的连接参数。调节连接的连接参数。

【技术实现步骤摘要】
一种区块链节点连接方法及装置


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链节点连接方法及装置。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视,已在众多的领域中进行了广泛的应用。

技术实现思路

[0003]本专利技术的目的在于提供一种区块链节点连接方法及装置,达到提高在网络拥塞状况下的区块链共识效率的效果。
[0004]本说明书第一方面提供一种区块链节点连接方法,由区块链第一节点执行,所述方法包括:
[0005]建立与第二节点之间的连接,以用于与所述第二节点之间进行数据传输;
[0006]获取与所述第二节点之间的传输延迟信息;
[0007]根据所述传输延迟信息,调节所述连接的连接参数。
[0008]本说明书第二方面提供一种区块链节点连接装置,部署于区块链第一节点,所述装置包括:
[0009]连接建立单元,配置为,以用于与所述第二节点之间进行数据传输;
[0010]延迟信息确定单元,配置为,获取与所述第二节点之间的传输延迟信息;
[0011]连接参数调整单元,配置为,根据所述传输延迟信息,调节所述连接的连接参数。
[0012]第三方面,提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行第一方面所述的方法。
[0013]第四方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现第一方面所述的方法。
[0014]利用以上各个方面中的方法、装置、计算设备、存储介质中的一个或多个,可以提高在网络拥塞状况下的区块链共识效率。
附图说明
[0015]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1示出一实施例中的区块链架构图;
[0017]图2是一种区块链节点间数据传输过程的示意图;
[0018]图3是本说明书一实施例中一种区块链节点连接方法的示意图;
[0019]图4是本说明书一实施例中一种区块链节点连接方法的流程图;
[0020]图5是本说明书一实施例中一种区块链节点连接装置的架构图。
具体实施方式
[0021]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0022]图1示出一实施例中的区块链架构图。如图1所示,区块链100中例如包含6个节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点存储相同的状态数据库。可以理解,图1中虽然示出了区块链中包括6个节点,本说明书实施例不限于此,而是可以包括其他数目的节点。具体是,区块链中包含的节点可以满足拜占庭容错(Byzantine Fault Tolerance,BFT)要求。所述的拜占庭容错要求可以理解为在区块链内部可以存在拜占庭节点,而区块链对外不体现拜占庭行为。一般的,一些拜占庭容错算法中要求节点个数大于3f+1,f为拜占庭节点个数,例如实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)。
[0023]区块链领域中的交易可以指在区块链中执行并记录在区块链中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。在交易调用区块链中的智能合约的情况中,From字段表示发起该交易的账户地址,To字段表示交易所调用的合约的账户地址,Data字段中包括调用合约中的函数名、及对该函数的传入参数等数据,以用于在交易执行时从区块链中获取该函数的代码并执行该函数的代码。
[0024]区块链技术区别于传统技术的去中心化特点之一,就是在各个节点上进行记账,或者称为分布式记账,而不是传统的集中式记账。区块链系统要成为一个难以攻破的、公开的、不可篡改数据记录的去中心化诚实可信系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆。不同类型的区块链网络中,为了在各个记录账本的节点中保持账本的一致,通常采用共识算法(即共识机制)来保证。例如,区块链节点之间可以实现区块粒度的共识机制,比如在节点(例如某个独特的节点)产生一个区块后,如果产生的这个区块得到其它节点的认可,其它节点记录相同的区块。再例如,区块链节点之间可以实现交易粒度的共识机制,比如在节点(例如某个独特的节点)获取一笔区块链交易后,如果这笔区块链交易得到其他节点的认可,认可该区块链交易的各个节点可以分别将该区块链交易添加至自身维护的最新区块中,并且最终能够确保各个节点产生相同的最新区块。共识机制是区块链节点就区块信息(或称区块数据)达成全网一致共识的机制,可以保证最新区块
被准确添加至区块链。当前主流的共识机制包括:工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等。
[0025]其中,根据PBFT共识算法,可将共识过程划分为请求(Request)、预备(Pre

Prepare)、准备(Prepare)和提交(Commit)四个阶段。假设一区块链中包括节点n1

节点n4四个共识节点,其中,节点n1例如为主节点,节点n2

节点n4例如为从节点,根据PBFT算法,在节点n1

节点n4中可容忍f=1个恶意节点。具体是,在请求阶段,区块链的用户可通过其用户设备向节点n1发送请求,该请求例如为区块链交易的形式。在预备阶段,节点n1在从一个或多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链节点连接方法,由区块链第一节点执行,所述方法包括:建立与第二节点之间的连接,以用于与所述第二节点之间进行数据传输;获取与所述第二节点之间的传输延迟信息;根据所述传输延迟信息,调节所述连接的连接参数。2.根据权利要求1所述的方法,其中,所述第一节点和第二节点为所述区块链中参与共识的节点,所述连接用于进行所述区块链中的共识过程。3.根据权利要求1所述的方法,所述建立与第二节点之间的连接包括,基于UDP协议,通过多次握手机制和多次挥手机制建立所述连接。4.根据权利要求3所述的方法,其中,所述建立与第二节点之间的连接包括,设置所述连接的数据发送缓冲区和数据接收缓冲区。5.根据权利要求4所述的方法,其中,所述数据发送缓冲区具有预设的最大空间,所述连接用于使用所述最大空间存储待发送的数据,将所述数据发送缓冲区中存储的数据发送给所述第二节点。6.根据权利要求1所述的方法,其中,根据所述传输延迟信息,调节所述连接的连接参数,包括:根据所述传输延迟信息,确定所述连接是否是拥塞连接;若结果为是,降低所述连接的数据包超时重传参数。7.根据权利要求1所述的方法,其中,根据所述传输延迟信息,调节所述连接的连接参数,包括:根据所述传输延迟信息,确定所述连接是否是拥塞连接;若结果为是,降低针对所述连接设置的第一参数,所述第一参数用于指定所述第一节点向所述第二节点返回的确认对应的从所述第二节点接收的连续多个数据包...

【专利技术属性】
技术研发人员:石杰
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1