发明内容
本发明的目的是提供一种可节约时间、降低资源耗费且安全可靠的共识方法,为此,本发明提供了以下技术方案:
对区块链中的节点进行分类,在类内部根据节点信用评分和预交诚意金的金额大小产生管理节点,产生管理节点的方法包括以下步骤:(1)根据评分确定预备管理节点;(2)在预备管理节点中具备根据预交诚意金金额进行排序,预交诚意金金额最高的当选管理节点;(3)根据管理期间的情况调整各个节点的信用评分。
采用两级共识的方式完成共识,两级共识包括一级共识和二级共识;一级共识中,每个类对所述类内部的交易进行处理,并形成新的区块,各个类将形成的新的区块通过管理节点发送到链上进行二级共识;节点在预交一定金额诚意金后方能参与所述一级共识。
在管理期间内,当出现以下情况时管理节点将提前结束管理期间:管理节点发生故障、无法继续履行管理职责、在管理过程中被判断为不诚信,管理期间提前结束时,进入新一轮管理节点的推选过程。
一级共识的工作流程为,(1)管理节点将其管理的类中所有节点的交易进行连接,形成拟进行共识的区块;(2)管理节点向其管理的节点发送拟进行共识的区块;(3)同一类中的其他节点查验所述拟进行共识的区块是否正确,查验的内容包括每笔交易的内容是否正确,每笔交易的哈希值是否正确;(4)如果确认无误,则向管理节点发送确认消息;如确认有误,则进入不诚信节点的惩处;(5)当管理节点收到的确认信息达到设定值时,管理节点将上述步骤(1)中的区块提交至交互链上。
在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是某被管理节点不诚信造成,则向管理节点发送否认信息并指明作恶节点,当收到针对某一节点的指控达到设定值时,判定该被管理节点不诚信;此时,没收所述不诚信被管理节点的预交诚意金并重新预交诚意金、扣除相应的信用评分,要求其提交改正后的交易,管理节点重新拟定共识区块并重新开始一级共识;对所有向管理节点发送否认信息并指明不诚信节点的节点进行相应的增加信用评分操作;当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分;对于没收的预交诚意金,由所有向管理节点发送否认信息并指明作恶节点的节点按照缴纳诚意金的比例分配;
在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是管理节点不诚信造成,则向上述类中的其他节点发送否认信息并要求替换管理节点,当要求替换管理节点的信息达到设定值时,判定管理节点不诚信;此时,没收所述不诚信管理节点的预交诚意金、要求其重新缴纳诚意金、扣除所述不诚信管理节点的相应信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块并重新开始一级共识;对所有发送否认信息并要求替换管理节点的节点进行相应的增加信用评分操作;当要求替换管理节点的信息没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分;对于没收的预交诚意金,由所有发送否认信息并要求替换管理节点的节点按照所交诚意金的比例进行分配。
二级共识的工作流程为,交互链在收到各个类形成的新的区块后,交互链上的管理节点校验各个区块提交的区块是否正确,确认则发出确认消息,发现错误则发出否认信息;如果发出确认消息的管理节点达到指定值,交互链就一次将各个类的区块链接到一起,形成交互链的新区块,将最终形成的区块进行广播,并开启下一个共识周期;
如果发出确认消息的管理节点未达到指定值,按照以下两种方式之一进行处理:(1)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量超过设定值时,就会对所述类进行惩处,具体为,没收所述类中参与确认节点的诚意金、要求所述参与确认节点重新缴纳诚意金、扣除类中参与确认节点的信用评分并通知管理节点提交改正后的区块;(2)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量未超过设定值时,此时判定为管理节点不诚信,对所述类的管理节点进行惩罚,具体为,没收所述不诚信管理节点的诚意金、要求所述不诚信管理节点重新缴纳诚意金、扣除所述类中管理节点的信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块。
按照缴纳诚意金的比例对没收所得的预交诚意金进行分配具体为,假定没收的诚意金金额为M,发送否认信息并要求替换管理节点的节点数量为N,上述N个节点中每个节点所交诚意金为N1、N2…Nn,则第k个节点可以得到的预交诚意金为Mk=M*Nk/(N1+N2…+Nn)。
在第(1)步中对类中所有节点的信用评分进行排序,形成排序表,排名前0%-b1的节点被认定为高信用节点,可作为预备管理节点参与到选举中,其中0%<b1<100%。
步骤(3)中,根据以下方法对节点的信用评分进行调整:(1)当选的管理节点在其管理周期内保持诚信,则在管理周期结束后,对管理节点投赞成票的节点增加信用评分1分,对管理节点投反对票的节点扣除信用评分0.5分,弃权的不扣分也不加分;(2)当选的管理节点在其管理周期内不诚信,则在管理周期结束后,对管理节点投赞成票的节点扣除信用评分0.5分,对管理节点投反对票的节点增加信用评分1分,弃权的不扣分也不加分;(3)当选的管理节点在其管理周期内不诚信,则在管理周期结束后,对该管理节点扣除信用评分5分;对所有在一级共识中发送否认信息并要求替换管理节点的节点增加1分;(4)被管理节点在一个管理周期内不诚信,则在其不诚信行为被确认后,对所述被管理节点扣除信用评分2分,对向管理节点发送否认信息并指明不诚信节点的节点增加0.5分;(5)在一级共识中,当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,对向管理节点发送否认信息并指明不诚信节点的节点扣除0.5分;(6)在一级共识中,当要求替换管理节点的信息没有达到设定值,对要求替换管理节点的节点扣除1分;(7)在二级共识中对类进行惩处时,扣除类中参与确认节点的信用评分1分。
一种基于区块链的电子设备管理系统,采用上述的一种基于节点信用评分和预交诚意金的区块链共识方法完成共识。
与现有技术相比,本发明的有益效果:
(1)本发明中提出的分类管理系统有效降低了交互链的链上节点的规模,降低了对参与区块链的电子设备的存储空间、运算能力大小的要求,交互链的上的交易由各个类中的管理节点管理,显著地提高了效率。
(2)现有技术中所有节点均可要求共识且通过工作量证明算法等方式形成新的区块,由于节点数量众多,将直接造成降低效率并导致需要耗费大量的计算能力去求解哈希函数以获取记账的权利,本发明中各个类中的节点只对管理节点提出的区块进行共识,并对正确的区块进行确定即可,能显著降低计算频率。单次共识即可验证一个类在一个共识周期内的所有交易,有效提高了单次共识的效能。此外,各个类的一级共识可同时进行,显著地提高了共识效率。综上,相较现有技术而言,本发明提出的技术方案提高了效率,降低了资源浪费。
(3)采用发明中的技术方案可根据节点之间的信任状况对相应的信用评分系数、缴纳诚意金系数进行动态调整,以满足风险控制的需要。具体而言,在相互信任程度较低的情况下,提高s2值,保证了以诚意金金额大小为导向的管理节点选举策略。相应的,在相互信任程度较高的情况下,提高s1值,保证了以信用度为导向的管理节点选举策略,可在保证管理节点诚信的情况下,降低高额诚意金对节点造成的资金压力。
(4)对诚意节点进行鼓励,对不诚信节点进行惩罚,有利于形成对所有节点的有效监督,引导所有节点均作出诚信的行为,积极地查找错误并报告。采用按预交诚意金比例分配所没收诚意金的方式,能够鼓励所有节点都缴纳尽量多的诚意金,而缴纳更多的诚意金有助于使得节点保持诚信,故上述分配方式将有利于促进节点保持诚信。
(5)设置诚意金下限避免了因不诚信的成本过低导致节点不诚信,设有最低要求可以保证不诚信节点的最低成本。
(6)从信用评分和预交诚意金两个维度对节点进行考核,实现了多维度考察节点的要求,不诚信节点一旦被发现,将面临没收诚意金和扣除信用评分两方面的损失,有利于使所有节点都保持诚信。
(7)在二级共识中,由于只有管理节点才能参与被没收的预交诚意金分配,因此,更多被管理节点愿意通过增加预交诚意金金额的方式参与到管理节点的竞争中。此外,只有发现错误的诚信节点可参与分配。因此,本发明提出的系统可以引导管理节点保持诚信以参与被没收预交诚意金的分配,避免因不诚信而导致高额预交诚意金被没收。
(8)建立了一套完整的信用评分的调整方法,通过合理的设置加减分分值,提供了一种可操作性强的信用评分调整方法,即能够鼓励所有节点恪守诚信,又能够有效防止恶意指控。
需要说明的是,根据行文简洁的需要,上述8点仅为本发明的有益效果的概述,并未囊括所有有益效果,详细描述请参见实施例中的具体阐述。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
因此,以下对本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的部分实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征和技术方案可以相互组合。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,这类术语仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1:
一种基于区块链技术的电子设备管理系统,包括局域管理系统和广域管理系统。其中局域管理系统包括设备管理链,广域管理系统包括交互链。
实施例2:
优选的,设备管理链,包括设有至少一个管理设备,管理设备用于管理所述设备管理链的交易;若干个电子设备,每一个电子设备与一个区块相关联;所有区块的连接构成设备管理链。
优选的,由设备管理链主人确定管理设备。
优选的,管理设备的管理内容包括区块创建,密钥管理,存档请求交易,参数请求交易,交互链交易转换。在完成交易后,管理设备将与电子设备相关的交易置于与所述电子设备对应的区块,并更新到设备管理链上。
优选的,区块创建的过程为:当一个新的电子设备获得设备管理链主人的同意进入设备管理链时,为所述新的电子设备创设区块,该区块与该电子设备唯一对应。
优选的,密钥管理的过程为:当一个新的电子设备获得设备管理链主人的同意进入设备管理链时,管理设备为该电子设备发放密钥,其用于对电子设备与管理设备之间的交易进行加密;当一个电子设备被判定为不诚信设备或者授权期限到期时,管理设备将先前发放的密钥注销。通过密钥的发放和注销,实现了对电子产品的有效管理。
优选的,电子设备之间需要数据的交互方能完成其功能,例如,健康监测相关的设备需要统计心率、血压等数据后才能判断健康状况。此时,有获取参数需要的电子设备向管理设备发出参数请求交易,管理设备收到交易后,向发起请求的电子设备发放密钥,所述发起请求的电子设备通过该密钥完成访问。根据数据请求频率,可分为单次访问和重复访问,因此,对于密钥的管理也可分为单次和长期。对于单次访问,发放单次密钥,该密钥仅为完成单次数据的获取。对于长期访问,发放长期密钥,凭该密钥可在一定期限内重复获取。上述设置可避免一段时期内针对同一参数请求反复发起交易而造成的资源浪费。
优选的,存档过程为:要求存档的电子设备向管理设备发出一次请求存档的交易,管理设备收到交易后,向发起请求的电子设备发放密钥,电子设备通过该密钥完成在存储单元的存储动作。
优选的,当发起参数请求的电子设备来自交互链时,由于设备管理链和交互链交易结构存在差异,设备管理链的区块不能直接对交互链的交易进行记账,此时管理设备需要将交互链的交易进行结构转换,使其符合设备管理链的结构标准。上述设置有效的解决了因设备管理链和交互链交易结构差异而造成的通信问题。
优选的,设备管理链中的交易由管理设备确认后方可发生,具有较高的安全性,也无需交易的发起方和被发起方签名确认。因此,相较于现有技术中的区块链数据交易结构而言,本发明提出了一种简化的结构。设备管理链交易中至少包括以下数据:(1)交易编号;(2)交易类型,如访问交易,存档交易;(3)目标电子设备的地址,即请求访问的电子设备的地址;(4)是否为交互链交易。
优选的,每个区块包括第一部、第二部以及交易部。区块的前两个部分是第一部、第二部,后面是交易部。第一部存储了前一个区块的哈希值,第二部用于对新增电子设备进行授权并记载设备主人对于所述电子设备的权限管理方法,如表1所示。以第二行为例,他代表编号为A1的设备不能对编号为B2的设备进行访问。交易部用于存放该区块对应电子设备的所有交易。
表1
在本发明提出的设备管理链中,电子设备的主人可以通过管理设备创建区块的方式新增电子设备,设备管理链中的每个区块都有一个用于权限管理的第二部,允许电子设备的主人对设备管理链中的所有电子设备的权限进行控制。此外,利用第一部的哈希值保证了链上的数据不被篡改,相较于一般的电子设备管理系统而言,更加安全。而相比现有的区块链网络而言,设备管理链中由指定的管理设备进行管理,不存在因争夺记账而导致的额外的计算能力开销,在新增电子设备时,亦无需由其他节点通过共识算法进行确认,同样能够节约时间、提高效率。
实施例3:
优选的,交互链的节点由各个设备管理链的管理设备组成。
优选的,交互链的节点由各个设备管理链的管理设备、电子设备的云端存储设备,提供各种服务的相关设备组成。
优选的,为便于实现高效管理,本发明采用分类管理的方式实现对节点的管理。
优选的,分类管理具体为,对节点进行分类,在每一类节点中确定管理节点,管理节点用于管理所述类中发生的交易。
优选的,为降低管理节点不诚信带来的损失,本发明中的管理节点是动态变化的。
优选的,将一个管理期间的时间设置为与一个共识期间相同。
本发明中提出的分类管理系统有效降低了交互链的链上节点的规模,降低了对参与区块链的电子设备的存储空间、运算能力大小的要求,交互链的上的交易由各个类中的管理节点管理,显著地提高了效率。
优选的,交互链中的交易采用以下数据结构:本次交易标号、前一次交易标号、交易发起者的密钥和签名、交易接受者的密钥和签名,交易处理结果,交易内容。
优选的,第一部分是本次交易的标号,第二部分为前一次交易标号,用于指向交易发起者的上一次交易,采用该结构便于将同一交易发起者的所有交易进行串联。
优选的,第三部分、第四部分分别是交易发起者的密钥和签名、交易接收者的密钥和签名。
优选的,第五字段是本次交易处理结果,包括以下参数:接收所述交易或拒绝所述交易。
优选的,第六字段是交易内容,交易内容中包含交易发起者希望该交易接受者完成的操作。
优选的,每个节点均设有一个权限管理列表,该表记载了能向该节点发起交易的节点明细。
优选的,每个类中设有权限管理列表集,该列表集为该类中所有权限管理列表的集合。
优选的,每个节点可对权限管理列表集中涉及自身交易权限部分的内容进行增删、修改。
优选的,当管理节点收到一个交易时,首先确认该交易的交易接受者是否是在其管理的节点中,如果不在其中,则将该交易发送至链上的其他类的管理节点。
优选的,当管理节点收到一个交易时,首先确认该交易的交易接受者是否是在其管理的节点中,如果在其中,则校验该交易的发起者是否在该节点的权限管理列表中。如果在,则将该交易发送至交易接受者,并告知链上的其他类的管理节点该交易已被接受;如果不在,则处理该交易,处理结果为拒绝,告知链上的其他类的管理节点该交易已被处理。
优选的,所有接收到的交易将由管理节点存储,管理节点整合一个管理周期内的所有交易,并组织创建新区块。
优选的,交互链中至少包括以下交易类型:存档交易、参数请求交易。
优选的,存档交易用于将电子设备中的相关数据存储在指定的存放位置,例如,健康检测的电子设备将所检测到的数据存储到指定的数据健康平台上,以便于医生对病患的监控数据进行及时的了解。
优选的,存档交易的工作流程如下:存档请求设备发起存档请求交易,并将存档请求交易发送至其管理设备,所述管理设备确认并对其进行格式转换后,将存档请求交易发送至其管理节点;所述存档请求设备所在节点的管理节点接收到所述存档请求交易后,将所述交易进行广播;链上的管理节点在接收到所述存档请求交易后,首先确认所述存档请求交易的交易接受者是否是在其管理的节点中,如果不在其中,则将所述存档请求交易发送至链上的其他管理节点;如果在其中,则校验该交易的存档请求设备是否在权限管理列表中,如果在权限管理列表中,则将该交易发送给存放设备的管理设备,存放设备的管理设备对存档请求交易进行签名,并将签名后的交易发送至其管理节点以便于将该交易在交互链中储存;此时,存档请求设备的管理设备通过数据传输协议,将需要存储的参数存储到所述指定存放设备。
优选的,参数请求交易用于获取电子设备采集到的参数。如:病人的医生希望获取病人血压监测器的血压参数。
优选的,参数请求交易的工作流程如下:参数请求交易用于获取电子设备采集到的参数,参数请求交易的工作流程如下:参数请求设备发起参数请求交易,并将参数请求交易发送至请求设备的管理设备,参数请求设备的管理设备确认并对交易进行格式转换后,将上述交易发送至其管理节点;所述参数请求设备所在节点的管理节点接收到所述交易后,将所述交易进行广播;链上的管理节点在接收到所述参数请求交易后,首先确认所述参数请求交易的交易被请求设备是否是在其管理的节点中,如果不在其中,则将所述参数请求交易发送至链上的其他管理节点;如果在其中,则校验该交易的参数请求设备是否在权限管理列表中,如果在权限管理列表中,则将该交易发送给该节点的管理设备,所述被请求节点管理设备对参数请求交易进行签名,并将签名后的交易发送至其管理节点以便于将该交易在交互链中储存,此时,被请求电子设备的管理设备从被请求电子设备获取所述参数后,通过数据传输协议将采集到的参数发送给参数请求设备。
在本发明的交互链中,请求传输的参数不再作为交易的一部分在链上传输,这样一方面充分发挥了区块链在去中心化存证、验证方面的优势,防止交易数据被篡改;另一方面极大地降低了链上数据的规模,降低了对链上设备存储能力和计算能力的要求。因此,本发明中提出的交互链相较现有技术而言,具有明显改进。
实施例4:
优选的,本发明中采用两级共识的方式完成共识,两级共识包括一级共识和二级共识。
优选的,一级共识中,每个类对所述类内部的交易进行处理,并形成新的区块。各个类将形成的新的区块通过管理节点发送到链上以便于进行二级共识。
优选的,在管理期间届满后,进入新一轮管理节点的推选过程。
优选的,在管理期间内,当出现以下情况时管理节点将提前结束管理期间:管理节点发生故障、无法继续履行管理职责、在管理过程中被判断为不诚信。在管理期间提前结束时,进入新一轮管理节点的推选过程。
优选的,上述设定值可以设置为60%、65%或70%。
优选的,管理节点可采用以下三种方法之一产生:根据信用评分产生管理节点;根据预交的诚意金金额产生管理节点;根据信用评分和预交的诚意金综合判断产生管理节点。
现有技术中所有节点均可要求共识且通过工作量证明算法等方式形成新的区块,由于节点数量众多,将直接造成降低效率并导致需要耗费大量的计算能力去求解哈希函数以获取记账的权利,本发明中各个类中的节点只对管理节点提出的区块进行共识,并对正确的区块进行确定即可,能显著降低计算频率。单次共识即可验证一个类在一个共识周期内的所有交易,有效提高了单次共识的效能。此外,各个类的一级共识可同时进行,显著地提高了共识效率。综上,相较现有技术而言,本发明提出的技术方案提高了效率,降低了资源浪费。
实施例5:
优选的,基于信用评分产生管理节点的一级共识的工作流程为,(1)管理节点将其管理的类中所有节点的交易进行连接,形成拟进行共识的区块;(2)管理节点向其管理的节点发送拟进行共识的区块;(3)同一类中的其他节点查验所述拟进行共识的区块是否正确,查验的内容包括每笔交易的内容是否正确,每笔交易的哈希值是否正确。(4)如果确认无误,则向管理节点发送确认消息;如确认有误,则进入不诚信节点的惩处。(5)当管理节点收到的确认信息达到设定值时,管理节点将上述步骤(1)中的区块提交至交互链上。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是某被管理节点不诚信造成,则向管理节点发送否认信息并指明作恶节点,当收到针对某一节点的指控达到设定值时,判定该被管理节点不诚信。此时,则扣除其程序评分后,要求其提交改正后的交易,管理节点重新拟定共识区块并重新开始一级共识。对所有向管理节点发送否认信息并指明不诚信节点的节点进行相应的增加信用评分操作。当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分。
上述机制一方面能够鼓励更多的节点尽职负责的进行监督,防止不诚信的节点造成的损失;另一方面,能够防止部分节点为获得信用评分奖励而做出不实指控。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是管理节点不诚信造成,则向上述类中的其他节点发送否认信息并要求替换管理节点,当要求替换管理节点的信息达到设定值时,判定管理节点不诚信。此时,扣除所述不诚信管理节点的相应信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块并重新开始一级共识。对所有发送否认信息并要求替换管理节点的节点进行相应的增加信用评分操作。当要求替换管理节点的信息没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分。
上述机制一方面能形成对管理节点的有效监督,能够鼓励更多的节点尽职负责的进行监督,防止不诚信的管理节点造成的巨大损失;另一方面,能够防止部分节点为获得信用评分奖励而发出不诚信指控。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,二级共识的工作流程为,交互链在收到各个类形成的新的区块后,交互链上的管理节点校验各个区块提交的区块是否正确,确认则发出确认消息,发现错误则发出否认信息。如果发出确认消息的管理节点达到指定值,交互链就一次将各个类的区块链接到一起,形成交互链的新区块,将最终形成的区块进行广播,并开启下一个共识周期。
优选的,如果发出确认消息的管理节点未达到指定值,按照以下两种方式之一进行处理:(1)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量超过设定值时,就会对所述类进行惩处,具体为,扣除类中参与确认节点的信用评分并通知管理节点提交改正后的区块。(2)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量未超过设定值时,此时判定为管理节点不诚信,对所述类的管理节点进行惩罚,具体为,扣除所述类中管理节点的信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,根据信用评分产生管理节点的方法包括以下步骤:(1)根据评分确定各个节点的选举权限;(2)选举产生新管理节点;(3)根据管理期间的情况调整各个节点的信用评分。
优选的,所述根据信用评分产生管理节点的过程的步骤(1)中,包括以下步骤,对类中所有节点的信用评分进行排序,形成排序表,排名前0%-a1的节点被认定为高信用节点,可作为预备管理节点参与到选举中,其同时有选举和被选举的权利;排名a1-a2的节点被认定为一般节点,有选举权,没有被选举权;排名a2-100%的节点被认定为低信用节点,没有选举权,没有被选举权,即不能参与到选举中;其中0%<a1<a2<100%。
优选的,所述根据信用评分产生管理节点的过程的步骤(2)中,通过投票的方式从前0%-a1节点中选出新的管理节点,获得赞同票最多的节点当选管理节点。有权投票的节点可投赞同票、反对票、弃权票。
优选的,所述根据信用评分产生管理节点的过程的步骤(3)中,根据以下方法对节点的信用评分进行调整:(1)当选的管理节点在其管理周期内保持诚信,则在管理周期结束后,对管理节点投赞成票的节点增加信用评分1分,对管理节点投反对票的节点扣除信用评分0.5分,弃权的不扣分也不加分。(2)当选的管理节点在其管理周期内不诚信,则在管理周期结束后,对管理节点投赞成票的节点扣除信用评分0.5分,对管理节点投反对票的节点增加信用评分1分,弃权的不扣分也不加分。(3)当选的管理节点在其管理周期内不诚信,则在管理周期结束后,对该管理节点扣除信用评分5分。对所有在一级共识中发送否认信息并要求替换管理节点的节点增加1分。(4)被管理节点在一个管理周期内不诚信,则在其不诚信行为被确认后,对所述被管理节点扣除信用评分2分,对向管理节点发送否认信息并指明不诚信节点的节点增加0.5分。(5)在一级共识中,当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,对向管理节点发送否认信息并指明不诚信节点的节点扣除0.5分。(6)在一级共识中,当要求替换管理节点的信息没有达到设定值,对要求替换管理节点的节点扣除1分。(7)在二级共识中对类进行惩处时,扣除类中参与确认节点的信用评分1分。
上述增加、扣除分值的限制主要考虑的节点的恶意程度,具体分析如下,对于管理节点在其管理周期内不诚信,其显然具有主观故意性且管理节点不诚信造成的危害较大,因此,对于其采取扣除5分的处理。对于被管理节点的不诚信,其显然同样具有主观故意性但被管理节点不诚信造成的危害较小,因此,对于其采取扣除2分的处理。对于管理节点在其管理周期内不诚信,给所述不诚信管理节点投赞成票的节点有可能是过失,因此,对其采取扣除0.5分的处理。当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,即指控不成立,对上述发起指控的节点分为两种情况讨论,第一种是发起指控的节点为不诚信节点,希望通过不诚信指控的方式获得信用评分,第二种是发起指控的节点为善意节点,但由于疏忽大意造成了误指控。对于第一种节点应当进行严厉的惩罚,但惩罚过重会挫伤第二种节点的监督积极性。因此,对于指控不成立节点的惩罚设置为0.5,未超过指控成立可以获得的分值,此时即能够惩罚不诚信节点也能够避免因惩罚过重而挫伤善意节点的监督积极性。
根据前述分析可知,上述信用评分的调整方法通过合理的设置加减分分值,提供了一种可操作性强的信用评分调整方法,即能够鼓励所有节点恪守诚信,又能够有效防止恶意指控。
优选的,对于新加入的节点给予一个默认分值,默认分值可设置为50、60或70。
实施例7:
前述实施例中,提供了一种根据信用评分产生管理节点的方法,但实际操作中,通过对诚信节点给予物质奖励、对不诚信节点给予物质惩罚的方式往往能起到更好的效果,基于此,本实施例提出了根据预交的诚意金金额产生管理节点的方法。
优选的,节点在预交一定金额诚意金后方能参与上述一级共识。
优选的,由于被管理节点不诚信造成的损失较小,而管理节点不诚信造成的损失较大。因此,由预交诚意金最多的节点担任管理节点。
优选的,根据预交诚意金的金额产生管理节点具体工作流程为:在管理期间届满后,预交诚意金最多的节点成为下一个管理期间的管理节点。在管理期间内,当出现以下情况时管理节点将提前结束管理期间:管理节点发生故障、无法继续履行管理职责;在管理过程中被判断为不诚信。被管理节点在指定时间内没有收到管理节点发送的信息,即认为该管理节点发生故障,此时进入新一轮管理节点的推选过程。此时,管理节点的产生过程如下:对除当前管理节点以外的所有节点预交的诚意金进行比较,预交诚意金最多的节点成为管理节点。
优选的,上述设定值可以设置为60%、65%或70%。
通过诚意金金额大小选择管理节点,保证了管理节点预交的诚意金金额最大,其一旦发生不诚信行为以后,被没收的金额最大,这样能对管理节点的不诚信行为形成有效震慑,防止管理节点不诚信带来的巨大损失。此外,对于推举效率而言,直接比较诚意金金额大小的方式省去了节点投票的环节,进一步简化了选举程序,有利于迅速产生管理节点。
优选的,根据预交的诚意金金额产生管理节点的一级共识的工作流程与实施例6相同。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是某被管理节点不诚信造成,则向管理节点发送否认信息并指明作恶节点,当收到针对某一节点的指控达到设定值时,判定该被管理节点不诚信。此时,没收所述不诚信被管理节点的预交诚意金,要求其重新预交诚意金并提交改正后的交易,管理节点重新拟定共识区块并重新开始一级共识。对于没收的预交诚意金,由所有向管理节点发送否认信息并指明作恶节点的节点按照缴纳诚意金的比例进行分配。
上述工作方法可形成对被管理节点的有效监督,引导所有节点均作出诚信的行为,积极地查找错误并报告。
优选的,按照缴纳诚意金的比例对没收所得的预交诚意金进行分配具体为:假定没收的诚意金金额为M,发送否认信息并要求替换管理节点的节点数量为N,上述N个节点中每个节点所交诚意金为N1、N2…Nn,则第k个节点可以得到的预交诚意金为Mk=M*Nk/(N1+N2…+Nn)。
采用比例分配的方式,能够鼓励所有节点都缴纳尽量多的诚意金,而缴纳更多的诚意金有助于使得节点保持诚信,故上述分配方式将有利于促进节点保持诚信。
优选的,上述设定值可以设置为60%、65%或70%。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是管理节点不诚信造成,则向上述类中的其他节点发送否认信息并要求替换管理节点,当要求替换管理节点的信息达到设定值时,判定管理节点不诚信。此时,没收所述不诚信管理节点的预交诚意金、要求所述不诚信管理节点重新缴纳诚意金,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块并重新开始一级共识。对于没收的预交诚意金,由所有发送否认信息并要求替换管理节点的节点按照所交诚意金的比例进行分配。上述机制一方面能形成对管理节点的有效监督,防止不诚信的管理节点造成的巨大损失;另一方面,能够鼓励更多的节点尽职负责的进行监督。
优选的,上述设定值可以设置为60%、65%或70%。
优选的,诚意金的金额有最低要求,但不设上限。不诚信的成本过低将不利于所有节点保持诚信,设有最低要求可以保证不诚信节点的最低成本。
优选的,二级共识的工作流程为,交互链在收到各个类形成的新的区块后,交互链上的管理节点校验各个区块提交的区块是否正确,确认则发出确认消息,发现错误则发出否认信息。如果发出确认消息的管理节点达到指定值,交互链就一次将各个类的区块链接到一起,形成交互链的新区块,将最终形成的区块进行广播,并开启下一个共识周期。
优选的,如果发出确认消息的管理节点未达到指定值,按照以下两种方式之一进行处理:(1)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量超过设定值时,就会对所述类进行惩处,具体为,没收所述类中参与确认节点的诚意金,并要求所述参与确认节点重新预交诚意金,通知管理节点提交改正后的区块。对于没收的预交诚意金,由交互链上发现错误的管理节点分配。(2)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量未超过设定值时,此时判定为管理节点不诚信,对所述类的管理节点进行惩罚,具体为,没收所述不诚信管理节点的诚意金、重新缴纳诚意金并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块。
优选的,上述设定值可以设置为60%、65%或70%。
优选的,对于没收的预交诚意金,由交互链上的发现错误的管理节点按所预交的诚意金按比例分配。
在二级共识中,由于只有管理节点才能参与被没收的预交诚意金分配,因此,更多被管理节点愿意通过增加预交诚意金金额的方式参与到管理节点的竞争中。此外,只有发现错误的诚信节点可得到分配。因此,本发明提出的系统可以引导管理节点保持诚信以参与被没收预交诚意金的分配,避免因不诚信而导致高额预交诚意金被没收。
实施例8:
为充分发挥实施例6和实施例7中两种管理节点产生方法的优势,本实施例中结合二者的特点,提出一种混合型的管理节点产生方法。
优选的,基于混合型的管理节点产生方法的一级共识的工作流程与实施例6相同。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是某被管理节点不诚信造成,则向管理节点发送否认信息并指明作恶节点,当收到针对某一节点的指控达到设定值时,判定该被管理节点不诚信。此时,没收所述不诚信被管理节点的预交诚意金并重新预交诚意金、扣除相应的信用评分,要求其提交改正后的交易,管理节点重新拟定共识区块并重新开始一级共识。对所有向管理节点发送否认信息并指明不诚信节点的节点进行相应的增加信用评分操作。当向管理节点发送否认信息并指明不诚信节点的节点没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分。对于没收的预交诚意金,由所有向管理节点发送否认信息并指明作恶节点的节点按照缴纳诚意金的比例分配。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,在所述一级共识工作过程的第(4)步的不诚信节点的惩处中,如果认为有问题且认为该问题是管理节点不诚信造成,则向上述类中的其他节点发送否认信息并要求替换管理节点,当要求替换管理节点的信息达到设定值时,判定管理节点不诚信。此时,没收所述不诚信管理节点的预交诚意金、要求其重新缴纳诚意金、扣除所述不诚信管理节点的相应信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块并重新开始一级共识。对所有发送否认信息并要求替换管理节点的节点进行相应的增加信用评分操作。当要求替换管理节点的信息没有达到设定值,即证明指控有误,则扣除发送否认信息并要求替换管理节点的节点信用评分。对于没收的预交诚意金,由所有发送否认信息并要求替换管理节点的节点按照所交诚意金的比例进行分配。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,二级共识的工作流程为,交互链在收到各个类形成的新的区块后,交互链上的管理节点校验各个区块提交的区块是否正确,确认则发出确认消息,发现错误则发出否认信息。如果发出确认消息的管理节点达到指定值,交互链就一次将各个类的区块链接到一起,形成交互链的新区块,将最终形成的区块进行广播,并开启下一个共识周期。
优选的,如果发出确认消息的管理节点未达到指定值,按照以下两种方式之一进行处理:(1)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量超过设定值时,就会对所述类进行惩处,具体为,没收所述类中参与确认节点的诚意金、要求所述参与确认节点重新缴纳诚意金、扣除类中参与确认节点的信用评分并通知管理节点提交改正后的区块。(2)当一个类提交的区块中包含错误交易并且所述类中参与确认的节点数量未超过设定值时,此时判定为管理节点不诚信,对所述类的管理节点进行惩罚,具体为,没收所述不诚信管理节点的诚意金、要求所述不诚信管理节点重新缴纳诚意金、扣除所述类中管理节点的信用评分,并执行更换管理节点流程,在更换管理节点后,由新的管理节点重新拟定共识区块。
优选的,上一段中的设定值可以设置为60%、65%或70%。
优选的,根据信用评分产生管理节点的方法包括以下步骤:(1)根据评分确定各个节点的选举权限;(2)根据节点预交诚意金金额在具有被选举权的节点中确定管理节点;(3)根据管理期间的情况调整各个节点的信用评分。
优选的,所述混合型管理节点产生步骤(1)中,包括以下步骤,对类中所有节点的信用评分进行排序,形成排序表,排名前0%-b1的节点被认定为高信用节点,可作为预备管理节点参与到选举中,其中0%<b1<100%。
优选的,所述混合型管理节点产生步骤(2)中,在信用评分排名前0%-b1的节点中根据预交诚意金金额进行排序,预交诚意金金额最高的当选管理节点。
优选的,所述混合型管理节点产生步骤(3)中的评分调整方法与实施例6中相同。
优选的,对于新加入的节点给与一个默认分值,默认分值可设置为50、60或70。
采用实施例中提出的管理节点产生方法可以避免组织投票造成的时间、算力浪费,通过排序即可确定新的管理节点。此外,本实施例中提出的方法一方面保证了担任管理节点的节点具有较高的信任评分,即具有较高的可信度;另一方面通过最高诚意金金额的节点担任管理节点亦可保证一旦管理节点发生不诚信行为将付出最大的代价,这将进一步阻止诚信节点向不诚信节点的转变。
实施例9
为充分发挥实施例6和实施例7中两种管理节点产生方法的优势,本实施例中结合二者的特点,提出一种混合型的管理节点产生方法。
优选的,基于混合型的管理节点产生方法的一级共识的工作流程与实施例8相同。
优选的,所述一级共识工作过程的第(4)步的不诚信节点的惩处与实施例8相同。
优选的,二级共识的工作流程与实施例8相同。
优选的,混合型管理节点产生步骤如下:(1)根据评分确定各个节点的选举权限;(2)根据节点预交诚意金金额和信用评分在具有被选举权的节点中确定管理节点;(3)根据管理期间的情况调整各个节点的信用评分。
优选的,所述混合型管理节点产生步骤(1)中,包括以下步骤,对类中所有节点的信用评分进行排序,形成排序表,排名前0%-c1的节点被认定为高信用节点,可作为预备管理节点参与到选举中,其中0%<c1<100%。
优选的,所述混合型管理节点产生步骤(2)中,假设信用评分排名前0%-c1的节点共有V个,首先,得到上述V个节点的信用评分名次表A,其次得到V个节点缴纳诚意金金额名次表B,则节点W的综合评分为:
Z=s1*AW+s2*BW
其中:s1、s2为信用评分系数、缴纳诚意金系数,s1>0,s2>0,s1+s2=1;
AW为节点W的信用评分中排名名次对应的分值,第1名对应的分值最高,以后的依次减1,例如:第1名对应的分值为V,第2名对应的分值V-1,第3名对应的分值V-2,以此类推;
BW为节点W的在诚意金金额中的排名名次对应的分值,第1名的分值最高,以后的依次减1,例如:第1名对应的分值为V,第2名对应的分值V-1,第3名对应的分值V-2,以此类推;
根据综合评分Z数值大小进行排序,综合评分Z数值最大的节点当选管理节点。
优选的,在节点之间相互信任程度较低的情况下,可将s1值设置为较小,s2值设置为较大。例如,将s1值设置为0.2,s2值设置为0.8。优选的,在节点之间完全不信任的情况下,可将s1值设置为0.1,s2值设置为0.9,甚至将s1值设置为0,s2值设置为1。
优选的,在节点之间相互信任程度较高的情况下,可将s1值设置为较小,s2值设置为较大。例如,将s1值设置为0.8,s2值设置为0.2。
优选的,所述混合型管理节点产生步骤(3)中信用评分的调整方法与实施例8中相同。
优选的,对于新加入的节点给与一个默认分值,默认分值可设置为50、60或70。
采用本实施例中的技术方案可根据节点之间的信任状况对相应的信用评分系数、缴纳诚意金系数进行动态调整,以满足风险控制的需要。具体而言,在相互信任程度较低的情况下,提高s2值,保证了以诚意金金额大小为导向的管理节点选举策略。相应的,在相互信任程度较高的情况下,提高s1值,保证了以信用度为导向的管理节点选举策略,可在保证管理节点诚信的情况下,降低高额诚意金对节点造成的资金压力。
以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但本发明不局限于上述具体实施方式,因此任何对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均涵盖在本发明的权利要求范围当中。