The invention discloses a realization method of the hardware in the network consensus validation, utilization of hardware as FPGA node, FPGA node between point-to-point connections through the implementation of the TCP/IP protocol, using ARP, ICMP, DHCP TCP/IP and other auxiliary FPGA node interaction, shorten the TCP/IP stack, reducing the time delay. FPGA nodes use block chain consensus protocols, such as PBFT/SBFT/RBFT, to communicate consensus messages and select leader nodes. Other nodes receive feedback and vote after receiving consensus messages. These protocols are encrypted and digitally signed, which ensures the security of the data. The invention realizes the consensus protocol on the hardware platform without increasing the data center, effectively shortens the time delay and achieves the goal of accelerating the consensus of hardware.
【技术实现步骤摘要】
一种在网络级采用硬件实现共识验证的方法
本专利技术属于区块链
,具体涉及一种在网络级采用硬件实现共识验证的方法。
技术介绍
在当前严格的效率要求下,数据中心面临着越来越大的数据量和工作量复杂性的需求。为了满足高性能、可扩展性和可伸缩性的目标,服务通常运行在数百到数千台机器上。这就需要一些合作共识来维护机器的一致性。不可避免的性能开销和需要的附加资源往往会降低一致性,导致较少的用户必须建立更复杂的应用程序来处理潜在的不一致性。一致性需要的高成本来自于达成协议所需的多轮沟通,传统的网络栈没有对时间延迟或者特定的通信模式进行优化,使共识协议的加速变成了一个瓶颈。如今各式的硬件是当前一个日益可行的选择,能够在低能源成本下提高系统的性能。除了考虑性能及效率之外,对于智能网络,可以在网络中加入节点,使用中间件来定制它的应用,所以要想把共识作为网络的一种属性,而不是只让它在应用层上实现,需要在实现的复杂度和中间件可达到的吞吐量中找到平衡点,则在网络中加入区块链共识协议提高系统效率是很好的选择,如PBFT(PracticalByzantineFaultTolerance,实用拜占庭容错算法)/SBFT(SimpleByzantineFaultTolerance,简化拜占庭容错算法)/RBFT(RedundantByzantineFaultTolerance,冗余拜占庭容错算法)等共识协议,而FPGA(Field-ProgrammableGateArray,现场可编程门阵列)具有低功耗的特点,不受传统的CPU在数据处理方面的线速限制,在上面运行共识协议能够降低时间延迟 ...
【技术保护点】
一种在网络级采用硬件实现共识验证的方法,包括如下步骤:(1)构建在网络级采用FPGA实现共识验证的系统运行框架;(2)FPGA节点之间通过执行TCP/IP协议进行点对点连接;(3)FPGA节点采用ARP、ICMP及DHCP辅助TCP/IP协议与其他FPGA节点交互,缩短TCP/IP堆栈,使FPGA处于真实网络中;(4)FPGA节点将数据消息转化为满足共识协议需要的报文格式;(5)由FPGA节点采用PBFT、SBFT或RBFT的区块链共识协议对数据消息进行传递广播,其他FPGA节点收到后发送反馈并进行投票。
【技术特征摘要】
1.一种在网络级采用硬件实现共识验证的方法,包括如下步骤:(1)构建在网络级采用FPGA实现共识验证的系统运行框架;(2)FPGA节点之间通过执行TCP/IP协议进行点对点连接;(3)FPGA节点采用ARP、ICMP及DHCP辅助TCP/IP协议与其他FPGA节点交互,缩短TCP/IP堆栈,使FPGA处于真实网络中;(4)FPGA节点将数据消息转化为满足共识协议需要的报文格式;(5)由FPGA节点采用PBFT、SBFT或RBFT的区块链共识协议对数据消息进行传递广播,其他FPGA节点收到后发送反馈并进行投票。2.根据权利要求1所述的方法,其特征在于:所述步骤(1)的具体实现方法为:在网络中布置一定量的FPGA作为节点,任意两个FPGA节点之间存在通道可进行交互,各FPGA节点均通过连接交换机以实现同一时刻多对端口之间的数据传输,FPGA节点利用其内部BRAM缓冲区较小的特点,以释放DRAM内存空间用于共识和应用逻辑的执行。3.根据权利要求1所述的方法,其特征在于:所述步骤(2)的具体实现方法如下:由FPGA节点内部缓冲区动态分配TCP会话,使客户端请求数据小于以太网MTU大小;FPGA节点只与其他节点之间相互重传,而不考虑与客户端之间的超时设定,以减少TCP的压栈;通过硬件实现网络协议允许建立两条真正的数据流通道对应实现隔离发送和接收路径,两条通道互不影响对方且通过数据结构共享连接状态。4.根据权利要求3所述的方法,其特征在于:所述数据结构包括会话查找表、端口状态表以及由定时器支持的事件引擎;其中,会话查找表包含IP地址、目的地址和源端口,FPGA在实施时把其作为一个内容可寻址的存储器;端口状态表用于跟踪每个TCP端口的状态并为每个打开的TCP连接存储状态信息;事件引擎负责管...
【专利技术属性】
技术研发人员:孙羽羿,黄步添,王备,王云霄,杨文龙,陈建海,
申请(专利权)人:杭州云象网络技术有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。