首页 / 专利库 / 银行与财务事项 / 数字货币 / 加密货币 / 比特币 / 区块链系统中自私挖矿的屏蔽机制

链系统中自私挖矿的屏蔽机制

阅读:779发布:2020-05-13

专利汇可以提供链系统中自私挖矿的屏蔽机制专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 区 块 链 系统中自私 挖矿 的屏蔽机制,所述机制从区块链系统中选取出诚信度评估 节点 ,当区块链出现分叉时,诚信度评估节点通过对接收到分叉链上区块的时间间隔、接收到较长分叉链上第一及第二个区块的时间间隔分别与对应预设 阈值 进行比较,判断矿工是否存在自私挖矿的意图,判定后将自私矿工记录入自私矿工表单,并将自私矿工表单公布至区块链所有节点,后续区块链系统会对自私矿工进行额外的难度调整,提高自私矿工的挖矿难度,从而提高自私挖矿的 门 槛 ,达到激励其他矿工进行诚实挖矿行为,抑制矿工进行自私挖矿行为的目的。,下面是链系统中自私挖矿的屏蔽机制专利的具体信息内容。

1.一种链系统中自私挖矿的屏蔽机制,其特征在于,包括如下步骤:
S100、在区块链系统上选取诚信度评估节点,在区块链出现分叉后,所述诚信度评估节点获取位于分叉点之后的所述较长分叉链上第一个区块的接收时间T1以及较短分叉链上第一个区块的接收时间T2,判断T1是否晚于T2,若是,转到步骤S200,否则结束;
S200、所述诚信度评估节点计算T1与T2的时间间隔c1,判断c1是否小于预设的第一阈值A,若是,转到步骤S300,否则结束;
S300、所述诚信度评估节点计算所述较长分叉链上第二个区块的接收时间T3与所述T1的时间间隔c2,判断c2是否小于预设的第二阈值B,若是,转到步骤S400,否则结束;
S400、所述诚信度评估节点判定发布所述较长分叉链上的前两个区块的矿工为自私矿工,将所述自私矿工记录到自私矿工表单;
S500、所述诚信度评估节点将所述自私矿工表单公布至全网所有节点;
S600、在所述区块链系统进行新一次难度调整时,额外增加所述自私矿工的难度额度。
2.根据权利要求1所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述诚信度评估节点在所述区块链系统每进行一次难度调整之后进行一次重新选取,在全网中选取未发现进行过自私挖矿行为的矿工,且所含加密货币数量较多的节点,并由全网投票选取出最高得票者。
3.根据权利要求2所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述加密货币比特币
4.根据权利要求1所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述第一阈值A根据所述区块链系统中平均出块时间设置。
5.根据权利要求4所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述第一阈值A为所述区块链系统平均出块时间的1/30至1/2。
6.根据权利要求1所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述第二阈值B根据所述区块链系统中所有自私矿工发布所述较长分叉链上第一、二个区块的时间间隔c2设置。
7.根据权利要求1所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述区块链系统依据下列公式1对所述自私矿工进行难度调整:
式中,Dselfish指所述区块链系统对所述自私矿工进行的新一次难度调整额度,Dnew指所述区块链系统的新一次难度调整额度,Dold指所述区块链系统对的上一次难度调整额度,T指调整权重,且T<0。
8.根据权利要求1或7所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述自私矿工的难度额度根据所述时间间隔c1与所述第一阈值A的接近程度不同,分段调整。
9.根据权利要求1所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述步骤S400中,还包括对所述自私矿工设置诚信度值的操作,所述诚信度值记录在所述自私矿工表单中。
10.根据权利要求9所述的一种区块链系统中自私挖矿的屏蔽机制,其特征在于,所述自私矿工的诚信度值根据所述时间间隔c1与所述第一阈值A的接近程度不同分段设置。

说明书全文

链系统中自私挖矿的屏蔽机制

技术领域

[0001] 本发明涉及区块链技术领域,尤其是涉及一种区块链系统中自私挖矿的屏蔽机制。

背景技术

[0002] 区块链是由包含交易信息的区块按照时间顺序链接起来的,每个区块都指向前一个区块。若将区块链视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被放置在之前的区块之上,区块链中常用“高度”来表示区块与首区块之间的距离,在区块链系统中存在2个矿工几乎同时挖出相同高度新区块的情况,这两个不同区块都拥有相同的父区块,因此从这两个区块开始,系统分别产生了两条不同的区块链,这种现象称为区块链的分叉,这两条链称为分叉链。在区块链系统中,始终只保持一条链运作,因此为了防止上述情况的区块链分叉现象,区块链系统采取视最长链为合法链的共识原则,即矿工永远认为最长链是正确的,当矿工发现全网有一条更长链时,他就会抛弃当前的链,把新的更长的链全部复制回来,在这条链的基础上继续挖矿,所有矿工都遵从这样的共识机制,这条链就成为了主链,分叉出来的短链会被抛弃掉,之后会消失。
[0003] 在当前区块链系统中(如比特币系统),出现了利用上述共识原则的自私挖矿行为攻击,自私挖矿的矿工通过扣留区块的做法在自己的区块后进行秘密挖矿,会造成资源的浪费,造成诚实矿工无用挖矿;此外,在区块链系统中,每一个区块都有一笔区块奖励,但矿工挖到的区块只有被纳入系统共识原则认为的合法链中矿工才能获得相应的区块奖励。因此,当自私挖矿攻击造成区块链分叉时,诚实矿工的短链如果被废弃,那么该链上的诚实矿工付出了算却什么也得不到。因此,自私挖矿还会影响区块链的网络稳定性及其它矿工参与的积极程度。
[0004] 可见自私挖矿是一种不破坏比特币共识规则的挖矿攻击,因此现有技术缺乏对自私挖矿起到检测和屏蔽作用的机制。

发明内容

[0005] 本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种区块链系统中自私挖矿的屏蔽机制,所述屏蔽机制可以检测自私挖矿行为,抑制矿工实施自私挖矿攻击,激励其他矿工进行诚实挖矿行为。
[0006] 根据本发明的区块链系统中自私挖矿的屏蔽机制,包括以下步骤:
[0007] S100、在区块链系统上选取诚信度评估节点,在区块链出现分叉后,所述诚信度评估节点获取位于分叉点之后的所述较长分叉链上第一个区块的接收时间T1以及较短分叉链上第一个区块的接收时间T2,判断T1是否晚于T2,若是,转到步骤S200,否则结束;
[0008] S200、所述诚信度评估节点计算T1与T2的时间间隔c1,判断c1是否小于阈值A,若是,转到步骤S300,否则结束;
[0009] S300、所述诚信度评估节点计算所述较长分叉链上第二个区块的接收时间T3与所述T1的时间间隔c2,判断c2是否小于第二阈值B,若是,转到步骤S400,否则结束;
[0010] S400、所述诚信度评估节点判定发布所述较长分叉链上的前两个区块的矿工为自私矿工,将所述自私矿工记录到自私矿工表单;
[0011] S500、所述诚信度评估节点将所述自私矿工表单公布至全网供所有节点查看;
[0012] S600、在所述区块链系统进行难度调整时,额外增加所述自私矿工的难度额度。
[0013] 根据本发明实施例的区块链系统中自私挖矿的屏蔽机制,至少具有如下有益效果:通过对分叉链接收时间、区块公布时间间隔的比较,可以检测到矿工的自私挖矿行为;对自私矿工额外增加难度调整,可对自私矿工和诚实矿工设置不同的挖矿难度,可以抑制矿工实施自私挖矿攻击,激励其他矿工进行诚实挖矿行为。
[0014] 根据本发明的一些实施例,所述诚信度评估节点在所述区块链系统每进行一次难度调整之后进行一次重新选取,在全网中选取未发现进行过自私挖矿行为的矿工,且所含加密货币数量较多的节点,并由全网投票选取出最高得票者。
[0015] 根据本发明的一些实施例,所述加密货币为比特币。
[0016] 根据本发明的一些实施例,所述第一阈值A根据所述区块链系统中平均出块时间设置。
[0017] 根据本发明的一些实施例,所述第一阈值A为所述区块链系统平均出块时间的1/30至1/2。
[0018] 根据本发明的一些实施例,所述第二阈值B根据所述区块链系统中所有自私矿工发布所述较长分叉链上第一、二个区块的时间间隔c2设置。
[0019] 根据本发明的一些实施例,所述区块链系统依据下列公式1对所述自私矿工进行难度调整:
[0020]
[0021] 式中,Dselfish指所述区块链系统对所述自私矿工进行的新一次难度调整额度,Dnew指所述区块链系统的新一次难度调整额度,Dold指所述区块链系统对的上一次难度调整额度,T指调整权重,且T<0。
[0022] 根据本发明的一些实施例,所述自私矿工的难度额度根据所述时间间隔c1与所述第一阈值A的接近程度不同,分段调整。
[0023] 根据本发明的一些实施例,所述步骤S400中,还包括对所述自私矿工设置诚信度值的操作,所述诚信度值记录在所述自私矿工表单中。
[0024] 根据本发明的一些实施例,所述自私矿工的诚信度值根据所述时间间隔c1与所述第一阈值A的接近程度不同分段设置。
[0025] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0026] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0027] 图1是根据本发明实施例的区块链系统中自私挖矿的屏蔽机制的流程图

具体实施方式

[0028] 下面详细描述本发明的实施例,所述实施例的流程示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0029] 在本发明的描述中,大于、小于、超过等理解为不包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0030] 本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0031] 下面参考图1描述根据本发明实施例的区块链系统中自私挖矿的屏蔽机制。
[0032] 根据本发明实施例的区块链系统中自私挖矿的屏蔽机制,用于在区块链出现分叉时对分叉点之后较长分叉链上的矿工进行诚信度评估,包括以下步骤:
[0033] S100、在区块链系统上选取诚信度评估节点,在区块链出现分叉后,所述诚信度评估节点获取位于分叉点之后的所述较长分叉链上第一个区块的接收时间T1以及较短分叉链上第一个区块的接收时间T2,判断T1是否晚于T2,若是,转到步骤S200,否则结束。区块链系统是由若干节点组成,而诚信度评估节点是在全网中选取未有发现自私挖矿记录且所含加密货币数量较多的节点,并由全网投票选取出最高得票者,并且在所述区块链系统每进行一次难度调整之后进行一次重新选取。
[0034] S200、所述诚信度评估节点计算T1与T2的时间间隔c1,判断c1是否小于阈值A,若是,转到步骤S300,否则结束。预设的所述第一阈值A根据所述区块链系统中对以往自私矿工出块时间的统计分析动态设置,范围为区块链系统一般出块时间的1/30至1/2,若c1<第一阈值A,则可得出结论:c1低于一般情况下的出块间隔时间,是不正常的。
[0035] S300、所述诚信度评估节点计算所述较长分叉链上第二个区块的接收时间T3与所述T1的时间间隔c2,判断c2是否小于第二阈值B,若是,转到步骤S400,否则结束。所述第二阈值B根据所述区块链系统中对以往自私矿工的出块时间的统计信息设置,即根据区块链系统中所有自私矿工发布所述较长分叉链上第一、二个区块的时间间隔c2设置,可以取所有c2的最大值等,若c2<B,则可得出结论:c2低于一般情况下的出块间隔时间,是不正常的。
[0036] 矿工进行自私挖矿时,会扣留自己已经挖到的区块不公布,等到有诚实矿工公布新区块时立即同时公布扣留的多枚区块,造成这两枚区块在系统中开始出现的时间间隔很短,步骤S200、步骤S300中通过对区块链系统出块时间间隔的比较,可以检测出矿工的自私挖矿行为,而现有技术缺乏对自私挖矿行为的发现机制。
[0037] S400、所述诚信度评估节点判定发布所述较长分叉链上的前两个区块的矿工为自私矿工,将所述自私矿工记录到自私矿工表单。经由S200、S300两步骤得出的结论,可以分别判定矿工S1和矿工S2存在自私挖矿嫌疑,并记录入自私矿工表单。
[0038] S500、所述诚信度评估节点将所述自私矿工表单公布至全网所有节点。
[0039] 自私矿工表单的作用在于记录自私矿工、提供给区块链系统所有节点查看以及供系统难度调整作参考。
[0040] S600、在所述区块链系统进行难度调整时,额外增加所述自私矿工的难度额度。
[0041] 现有技术在进行难度调整时,所有矿工进行统一调整,对掌握较多算力的自私矿工来说,被没有任何抑制作用。而步骤S600中,区块链系统在本身对整个系统进行的难度调整外,会对自私矿工进行一次额外的难度调整,通过两轮难度调整,可以对自私矿工和诚实矿工设置不同的挖矿难度,能提高自私矿工的区块验证时间,从而有效屏蔽自私挖矿行为。
[0042] 其中,所述自私矿工的难度额度根据时间间隔c1与第一阈值A的接近程度不同,依据公式1分段调整:
[0043]
[0044] 式中,Dselfish指所述区块链系统对所述自私矿工进行的新一次难度调整额度,Dnew指所述区块链系统的新一次难度调整额度,Dold指所述区块链系统的上一次难度调整额度,T指调整权重,且T<0。时间间隔c1越低,自私挖矿的嫌疑越大。
[0045] 现有技术缺乏对自私挖矿行为的检测,当出现分叉时,全网矿工由于共识原则都会跟随在自私矿工的较长链上继续挖矿,而步骤S500中通过设定阈值进行区分,不仅能检测到自私矿工的动机,并增加自私矿工挖矿的难度,还能为诚实矿工提供判断依据,减少自私矿工所在链的算力增长。
[0046] 另外,还可对自私矿工设置诚信度值T,示例如表1:
[0047] 表1
[0048]阈值 0T -1 -0.8 -0.5
[0049] 在表格中,第一阈值A中细分了两个临界点:A1、A2,根据时间间隔c1与第一阈值A的接近程度不同,分段设置诚信度值,在步骤S400中,诚信度评估节点在判定自私矿工后,并将诚信度值与自私矿工记录入自私矿工表单,而在步骤S600中,所述自私矿工的诚信度值根据所述时间间隔c1与所述第一阈值A的接近程度不同分段设置,系统则可根据诚信度值及公式1对自私矿工进行额外的难度调整。
[0050] 下面给出一个具体的示例性实施例:
[0051] 自私矿工S扣留了区块X和区块Y未公布,当诚实矿工发布区块X’时,自私矿工立即释放区块X和Y,此时,区块链出现分叉,并且矿工S由于同时公布了两个区块,成为较长链,按照本技术方案,在本例中,当出现分叉时,诚信度评估节点首先判断出区块X是在区块X’之后公布的,于是比较这两个区块的时间间隔c1,与此时系统的第一阈值A进行比较,设V为系统上一轮难度调整前系统平均出块时间,此例中A1,A2,A分别设置为1/30V,1/20V,1/10V,若上一轮平均出块时间V为10分钟,则A1,A2,A分别为20秒,30秒,60秒,假设此例中c1为10秒,且因为区块X和区块Y几乎是同时释放的,那么评估节点对这两个区块的接收时间间隔肯定小于第二阈值B(第二阈值B根据区块链系统中所有自私矿工发布所述较长分叉链上第一、二个区块的时间间隔c2设置),因此此时根据诚信度评估节点的评估,判定矿工S具有自私挖矿嫌疑,而因为0
[0052] 通过如此设置,矿工S即使第一次实施自私挖矿成功了,但在之后两周的时间内,他的挖矿难度大大增加,影响后面的收益,反而得不偿失,这与矿工实施自私挖矿的目的背道而驰。
[0053] 根据本发明实施例的区块链系统中自私挖矿的屏蔽机制,通过如此设置,可以达成至少如下的一些效果:通过对区块公布时间间隔的比较,可以检测到矿工的自私挖矿行为;通过阈值区间来设定诚信度值,减少自私矿工所在链的算力增长;根据诚信度值额外增加难度调整,对自私矿工和诚实矿工设置不同的挖矿难度,可以抑制矿工实施自私挖矿攻击,激励其他矿工进行诚实挖矿行为。
[0054] 值得注意的是,根据本发明实施例的区块链系统中自私挖矿的屏蔽机制并不限定于比特币区块链系统,还可以应用于其他多种类似的加密货币区块链系统中;根据本发明实施例的区块链系统中自私挖矿的屏蔽机制也可以应用到自私矿工比诚实矿工多挖出两个以上区块的情况。
[0055] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0056] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈