共识计算芯片、设备、系统及主板的制作方法

文档序号:12176353阅读:249来源:国知局
共识计算芯片、设备、系统及主板的制作方法与工艺

本发明涉及信息处理技术领域,特别涉及一种共识计算芯片、设备、系统及主板。



背景技术:

区块链(BlockChain)技术是近年来在金融科技(FinTech)领域出现的一种新兴技术,其独特的去中心化、信息不可篡改、多节点集体维护性、公开性、隐私保护等属性,在基于不可信的互联网中,能记录提供可信的交易信息数据。

区块链中的工作量证明算法即共识计算,保证了区块链防篡改的特性,其本质在于采用多层Hash算法进行实现。区块链工作量证明运算通常采用标准CPU进行计算,也有采用标准GPU进行计算。

然而,在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:由于标准CPU不但承载有操纵系统,还承载有各种应用程序,这使得用于工作量证明运算的内存比较少,而CPU的能耗却比较大,导致计算性能与耗能的比值不高。



技术实现要素:

本发明实施方式的目的在于提供一种共识计算芯片、设备、系统及主板,提高了共识计算的计算性能与耗能的比值,可以提高计算性能,并可以节约能耗。

为解决上述技术问题,本发明的实施方式提供了一种共识计算芯片,所述共识计算芯片为现场可编程门阵列FPGA芯片,所述共识计算芯片包括:存储模块与计算模块;所述存储模块与所述计算模块连接;共识计算算法的机器码通过烧结固化在所述存储模块中,所述计算模块用于根据所述存储模块中的共识计算算法的机器码进行共识计算。

本发明的实施方式还提供了一种主板,包括:接口芯片与上述的共识计算芯片;所述接口芯片与所述共识计算芯片连接;所述接口芯片用于接收所述共识计算算法的计算参数,并传递至所述共识计算芯片中的计算模块;所述计算模块根据所述计算参数与所述共识计算算法进行共识计算。

本发明的实施方式还提供了一种共识计算设备,包括:上述的主板。

本发明的实施方式还提供了一种共识计算系统,包括:终端与上述的共识计算设备;所述共识计算设备与所述终端连接;所述终端包括:接口、驱动模块、获取模块与发送模块;所述接口芯片与所述接口对接;所述驱动模块用于驱动所述共识计算设备;所述获取模块,用于获取计算参数;所述发送模块,用于将所述获取模块获取的计算参数通过所述接口芯片发送至所述计算模块。

本发明实施方式相对于现有技术而言,共识计算芯片采用FPGA芯片实现,具体地,在FPGA芯片中烧结有共识计算算法的机器码,并且可根据共识计算算法的机器码执行共识计算。这样,单独使用FPGA芯片执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值,而且,上述的共识计算芯片、共识计算设备及主板体积小,易于集成。

另外,在一个实施方式中,所述机器码的哈希Hash复杂度计算式可以为:

SHA256M(Start N)<Target;

其中,SHA256为安全散列算法,运算结果为256位,Start为初始值,N为整数,所述Start与所述N相拼接;所述Target为目标值;M为哈希运算次数,从第二次哈希运算开始,每一次哈希运算的输入为上一次哈希运算的输出。本发明实施方式通过多次迭代可以求出小于目标值的Hash复杂度。

另外,在一个实施方式中,所述存储模块中还烧结步幅控制机器码;所述步幅控制机器码用于控制所述N的增幅。本实施方式中,存储模块中的步幅控制机器码可以控制N的增幅,这样,通过控制N的增幅,可以调节Hash复杂度的计算速度。

另外,在一个实施方式中,所述步幅控制机器码包括等幅度自增控制机器码与非等幅自增控制机器码;在所述计算模块根据第一选择参数调用所述等幅度自增控制机器码时,所述计算模块进行共识计算的步幅为大于1的整数;在所述计算模块根据第二选择参数调用非等幅自增控制机器码时,所述计算模块进行共识计算的步幅按照预设的非等幅的步幅数列进行共识计算;其中,所述第一选择参数、所述第二选择参数分别与等幅度自增控制机器码、非等幅自增控制机器码一一对应。本发明实施方式中,计算模块可以根据第一选择参数调取等幅自增控制机器码,或者根据第二选择参数调取非等幅自增控制机器码。这样,在共识计算的过程中,可以根据具体的选择参数调取等幅自增控制机器码或者非等幅自增控制机器码,进而提高计算模块进行共识计算的效率。

附图说明

图1是根据本发明第一实施例的共识计算芯片的结构图;

图2是根据本发明第二实施例的共识计算芯片的结构图;

图3是根据本发明第二实施例的共识计算算法的流程图;

图4是根据本发明第三实施例的主板的结构框图;

图5是根据本发明第四实施例的共识计算设备的结构图;

图6是根据本发明第五实施例的共识计算系统的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种共识计算芯片,如图1所示,该共识计算芯片100可以为FPGA(现场可编程门阵列)芯片。FPGA芯片执行计算任务的计算方式是并行计算,计算速度快。

共识计算芯片100可以包括存储模块101与计算模块102。其中,存储模块101与计算模块102连接。

共识计算算法的机器码可以通过烧结固化在存储模块101中,计算模块102根据存储模块101中的共识计算算法的机器码进行共识计算。具体地说,共识计算算法以程序的形式经过一系列加密等形式形成机器码,该机器码可以通过烧结固化到共识计算芯片的存储模块101中,进而,共识计算芯片中的计算模块102,可以根据存储模块101中的共识计算算法的机器码进行共识计算。

与现有技术相比,共识计算芯片采用FPGA芯片实现,具体地,在FPGA芯片中烧结有共识计算算法的机器码,并且可根据共识计算算法的机器码执行共识计算。这样,单独使用FPGA芯片执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值,而且,上述的共识计算芯片体积小,易于集成。

本发明的第二实施方式涉及一种共识计算芯片,如图2所示,共识计算芯片100可以为FPGA芯片,该共识计算芯片上包括:存储模块101与计算模块102。并且存储模块101与计算模块102相连接。共识计算算法的机器码201通过烧结固化在存储模块101中,计算模块102用于根据存储模块101中的共识计算算法的机器码201进行共识计算。这样,单独使用FPGA芯片执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值,而且,上述的共识计算芯片体积小,易于集成。

具体地,共识计算算法机器码的Hash(哈希)复杂度计算式为:

SHA256M(Start N)<Target;

其中,SHA256为安全散列算法,运算结果为256位,Start为初始值,N为整数,初始值Start与N相拼接;Target为目标值;M为哈希运算次数,从第二次哈希运算开始,每一次哈希运算的输入为上一次哈希运算的输出。

当M=1时,Hash复杂度计算式为:

SHA256(Start N)<Target;

当M=2时,Hash复杂度计算式为:

SHA256(SHA256(Start N))<Target;

当M=3时,Hash复杂度计算式为:

SHA256(SHA256(SHA256(Start N)))<Target;

具体地说,预先输入的参数有初始值Start与目标值Target,其中,初始值Start可以为长度不定的字符串,目标值Target可以为固定的256bit无符号整数。哈希复杂度计算式中,初始值Start与N可以采用字符串拼接方式,也可以采用数字相加等方式。

共识计算芯片100中的存储模块101还可以烧结步幅控制机器码,该步幅控制机器码可以用于控制N的增幅。具体地说,可以根据预设的具体目标值Target以及用户的实际需求,控制N采用何种方式的幅度增长。

步幅控制机器码可以包括等幅自增控制机器码202与非等幅自增控制机器码203,共识计算芯片100中的计算模块102根据第一选择参数调用等幅自增控制机器码202时,计算模块102进行共识计算的步幅为大于1的整数。在计算模块102根据第二选择参数调用非等幅自增控制机器码203时,计算模块102进行共识计算的步幅按照预设的非等幅的步幅进行共识计算,其中,第一选择参数、第二选择参数分别与等幅度自增控制机器码、非等幅自增控制机器码一一对应。具体地说,存储模块101中可以预存第一选择参数、第二选择参数与等幅自增控制机器码202、非等幅自增控制机器码203一一对应关系,该对应关系可以是一数据列表。当来自用户的选择参数为第一参数时,计算模块102根据所述数据列表进行查表,选择等幅度自增控制机器码,并根据选择的等幅度自增控制机器码控制计算时N的步幅的增幅。

当计算模块102根据第一选择参数调用等幅自增控制机器码202时,等幅自增控制机器码为N=N+x;其中x为大于1的整数。当计算模块102根据第二选择参数调用非等幅自增控制机器码203时,非等幅自增控制机器码为N=N+xn,其中{xn}为整数数列,xn为大于1的整数。

在本实施方式中,计算模块102进行共识计算的具体过程如图3所示,包括:

步骤301:输入初始值Start以及目标值Target。例如,输入的初始值为5,输入的目标值为1005。

步骤302:Hash复杂度计算。具体地说,根据初始值与目标值进行一次哈希运算。

步骤303:判断运算结果是否小于目标值Target。若是,则执行步骤305,否则,执行步骤304。

步骤304:N自增。具体地说,当上述运算结果不小于目标值时,N自增,例如,预设N为5,选择参数为第一选择参数,计算模块调用等幅自增控制机器码,x等于5,则初始值可以在原始输入值5的基础上增加5,变为10,之后返回步骤302,继续Hash复杂度计算,直至得到满足条件的结果为止。

步骤305:返回N的值。

由于N的增幅方式可以根据选择参数进行选择,而且,N的增幅大于1,这样,用户可以通过选择参数控制共识计算的步幅的增幅方式,进而,选择计算效率较高的步幅控制方式,提高运算效率。

此外,共识计算的过程中可以控制计算进程,上述步骤中的任意一步都可以根据用户需要随时中断并退出。

与现有技术相比,单独使用FPGA芯片执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值,而且,上述的共识计算芯片体积小,易于集成;计算模块进行共识计算的步幅可根据预设的具体目标值Target以及用户的不同需求而调控,这样,还可以提高共识计算的速度。

本发明的第三实施方式涉及一种主板,如图4所示,该主板401可以包括:接口芯片与共识计算芯片100。其中接口芯片与共识计算芯片100连接,接口芯片可以接收共识计算芯片100中共识计算算法的计算参数,并可以将该计算参数传递至共识计算芯片100中的计算模块,进而,计算模块可以根据共识计算算法的计算参数与共识计算算法进行共识计算。

接口芯片包括第一接口芯片402,其中,第一接口芯片402可以为PCI Express接口芯片。具体地说,PCI Express是总线接口,发送数据和接收数据可以同步进行,采用8b/10b编码的内嵌时钟技术,时钟信息被直接写入数据流中,能有效地节省传输通道,提高传输效率,采用点对点工作模式(Peer to Peer,也被称为P2P),每个设备都有自己的专用传输线路,可避免多个设备争抢带宽的问题;可以将数据传输率提高到一个很高的频率。

接口芯片还可以包括第二接口芯片403,其中,第二接口芯片403可以为USB2.0接口芯片,传输速度更快,支持热插拔以及连接多个设备,并且可以向下兼容USB1.1。

与现有技术相比,接口芯片可以接收共识计算算法的计算参数,并且传递至共识计算芯片中的计算模块用于进行共识计算。这样,单独使用FPGA芯片执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值,而且,上述的主板体积小,易于集成。

本发明第四实施方式涉及一种共识计算设备,如图5所示,包括主板401,该主板可以包括接口芯片与共识计算芯片100。其中,接口芯片与共识计算芯片100相连接,接口芯片可以接收共识计算算法的参数,而且可以将参数传递至共识计算芯片中的计算模块,进而,计算模块可以根据计算参数与共识计算算法进行共识计算。

接口芯片包括第一接口芯片402,其中,第一接口芯片402可以为PCI Express接口芯片。接口芯片还可以包括第二接口芯片403,其中,第二接口芯片403可以为USB2.0接口芯片。

与现有技术相比,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值;而且,体积小,易于集成,具体地,该共识计算设备可以实现小型化,进而,可以与现有的电视机、手机、汽车等硬件设备集成。

本发明第五实施方式涉及一种共识计算系统,如图6所示,可以包括终端600与共识计算设备501。其中,共识计算设备501与终端600连接。

终端600可以包括第一接口601、第二接口602、驱动模块603、获取模块604与发送模块605。其中,第一接口芯片与终端的第一接口601对接,第二接口芯片与终端的第二接口602对接,驱动模块603用于驱动共识计算设备,获取模块604用于获取计算参数,发送模块605用于将获取模块获取的计算参数通过接口芯片发送至计算模块。终端600还可以包括显示器以及键盘等输入设备。上述终端可以为计算机、手机、电视机、PDA(Personal Digital Assistant,个人数字助理)等。

具体地说,本发明实施方式中,共识计算设备501可以通过将设备上的接口芯片与终端的接口对接而连接在一起。共识计算所需要计算参数,例如初始值与目标值,可以通过键盘等输入设备由用户输入至终端600,之后,终端600中的获取模块604可以获取输入的计算参数,并将计算参数传递至发送模块605,进而,发送模块605可以将计算参数通过共识计算设备上的接口芯片发送至计算模块,计算模块可以根据接收到的计算参数以及共识计算算法进行共识计算,最终将共识计算的结果值通过接口芯片传递至终端600,这样,用户可通过显示器获取检测共识计算的结果值。

与现有技术相比,共识计算设备通过接口芯片与终端相连接,这样,共识计算设备通过终端获取计算参数并进行共识计算。采用共识计算设备执行共识计算,不但可以提高计算性能,还可以降低能耗,提高共识计算的计算性能与耗能的比值。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1