一种区块链的写入权限分配方法及系统与流程

文档序号:11951681阅读:473来源:国知局
一种区块链的写入权限分配方法及系统与流程

本发明涉及区块链技术领域,具体涉及一种区块链的写入权限分配方法及系统。



背景技术:

现有技术中,在向区块链数据库中写入数据时,其写入权限的分配是按照计算出难题结果的速度进行分配的,如果某个终端最先解出难题的结果,那么该终端拥有向区块链中写入数据的写入权限。采用该写入权限分配方法会导致写入权限被集中在少数计算速度快的“矿机”对应的“旷工”手中,导致“中心化”问题产生,如果少数“旷工”达成一致一起对区块链数据库进行攻击,或者一起改变区块链数据库记录数据的规则,会让区块链数据库产生极大的安全隐患。因而如何解决“中心化”问题,实现“去中心化”是现在区块链技术领域中亟待解决的问题。



技术实现要素:

本发明所要解决的技术问题是提供一种区块链的数据记账方法及系统,解决了区块链数据库的写入权限被少数“旷工”所掌握的“中心化”问题,提高了区块链数据库的安全性。

本发明解决上述技术问题的技术方案如下:

依据本发明的一个方面,提供了一种区块链的写入权限分配方法,所述方法包括:

S101、记录多个终端解决按照预设算法规则生成的难题所花费的计算时间;

S102、对各个终端对应的计算时间进行升序排序,并将计算时间小于预设时间对应的多个终端作为备选终端;

S103、按照预设权限规则从所述备选终端中选择一个终端作为写入终端,将向区块链数据库中写入数据的写入权限分配给所述写入终端。

本发明的有益效果:本发明提供的一种区块链的写入权限分配方法,能够记录并统计各个终端计算难题的计算时间,并从多个终端中筛选出计算时间小于预设时间的多个终端作为备选终端,然后按照预设权限规则从备选终端中选择一个终端作为写入终端,赋予其写入权限。本发明按照预设权限规则选择写入终端并赋予写入权限,而不是将写入权限赋予计算时间最短的终端,解决了写入权限集中于少数终端对应的“旷工”手中造成的区块链数据库的安全隐患问题,提高了区块链数据库的安全性,实用性较强。

进一步的,所述S103中所述预设权限规则具体包括随机分配规则或者效率分配规则。

采用上述进一步方案的有益效果:采用不同的权限规则来从备选终端中选择一个终端作为写入终端,避免写入权限过于集中。

进一步的,所述预设权限规则为随机分配规则时,所述S103中所述按照预设权限规则从所述备选终端中选择一个终端作为写入终端具体包括:

从所述备选终端中随机选取一个终端,将其作为写入终端,所述备选终端中每个终端被选取的概率相同。

采用上述进一步方案的有益效果:采用随机分配规则挑选终端,保证每一个备选终端都有相同的概率被选中成为写入终端,避免写入权限过于集中。

进一步的,所述预设权限规则为效率分配规则时,所述S103中所述按照预设权限规则从所述备选终端中选择一个终端作为写入终端具体包括:

根据公式计算出效率参数,然后根据所述效率参数计算得到各个备选终端被选择成为所述写入终端的概率,并按照所述概率从所述备选终端中选择一个终端作为写入终端,其中,ti为各个备选终端对应的计算时间,d为效率参数,为第i个备选终端被选择成为所述写入终端的概率。

采用上述进一步方案的有益效果:采用效率分配规则挑选终端,在基于计算时间的基础上相对公平的挑选写入终端,避免写入权限过于集中。

依据本发明的另一个方面,提供了一种区块链的写入权限分配系统,所述系统包括:

记录单元,用于记录多个终端解决按照预设算法规则生成的难题所花费的计算时间;

排序确定单元,用于对各个终端对应的计算时间进行升序排序,并将计算时间小于预设时间对应的多个终端作为备选终端;

权限分配单元,用于按照预设权限规则从所述备选终端中选择一个终端作为写入终端,将向区块链数据库中写入数据的写入权限分配给所述写入终端。

本发明的有益效果:本发明提供的一种区块链的写入权限分配系统,能够记录并统计各个终端计算难题的计算时间,并从多个终端中筛选出计算时间小于预设时间的多个终端作为备选终端,然后按照预设权限规则从备选终端中选择一个终端作为写入终端,赋予其写入权限。本发明按照预设权限规则选择写入终端并赋予写入权限,而不是将写入权限仅仅赋予计算时间最短的终端,解决了写入权限集中于少数速度快的终端对应的“旷工”手中造成的区块链数据库的安全隐患问题,提高了区块链数据库的安全性,实用性较强。

进一步的,所述权限分配单元中所述预设权限规则具体包括随机分配规则或者效率分配规则。

采用上述进一步方案的有益效果:采用不同的权限规则来从备选终端中选择一个终端作为写入终端,避免写入权限过于集中。

进一步的,所述预设权限规则为随机分配规则时,所述权限分配单元具体用于:

从所述备选终端中随机选取一个终端,将其作为写入终端,所述备选终端中每个终端被选取的概率相同。

采用上述进一步方案的有益效果:采用随机分配规则挑选终端,保证每一个备选终端都有相同的概率被选中成为写入终端,避免写入权限过于集中。

进一步的,所述预设权限规则为效率分配规则时,所述权限分配单元具体用于:

根据公式计算出效率参数,然后根据所述效率参数计算得到各个备选终端被选择成为所述写入终端的概率,并按照所述概率从所述备选终端中选择一个终端作为写入终端,其中,ti为各个备选终端对应的计算时间,d为效率参数,为第i个备选终端被选择成为所述写入终端的概率。

采用上述进一步方案的有益效果:采用效率分配规则挑选终端,在基于计算时间的基础上相对公平的挑选写入终端,避免写入权限过于集中。

附图说明

图1为本发明实施例一的一种区块链的写入权限分配方法流程图;

图2为本发明实施例二的一种区块链的写入权限分配系统示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

实施例一、一种区块链的写入权限分配方法。下面结合图1对本实施例提供的方法进行详细说明。

参见图1,S101、记录多个终端解决按照预设算法规则生成的难题所花费的计算时间。

具体的,记录多个终端分别解决按照预设算法规则生成的难题并得到计算结果所花费的计算时间,其中,所述预设算法规则具体包括POW(Proof of Work,工作量证明)算法以及POS(Proof of Stake,权益证明)算法,所述POW算法具体包括比特币算法、莱特币算法以及X11算法,所述POS算法具体包括点点币算法和以太坊算法。另外,每个终端计算的都是同一个难题。

S102、对各个终端对应的计算时间进行升序排序,并将计算时间小于预设时间对应的多个终端作为备选终端。

具体的,每个终端解决所述难题花费的时间不同,对各个终端对应的计算时间进行升序排序,并设定一个预设时间,将计算时间在所述预设时间之内的终端作为备选终端,其余计算时间大于所述预设时间的终端被排除在外,例如,将预设时间设为1分钟,则在计算时间1分钟之外的终端都没有资格作为备选终端,只有计算时间小于1分钟的终端有资格作为备选终端。

S103、按照预设权限规则从所述备选终端中选择一个终端作为写入终端,将向区块链数据库中写入数据的写入权限分配给所述写入终端。

具体的,按照预设权限规则从所述备选终端中选择一个终端作为写入终端,将向区块链数据库中写入数据的写入权限分配给所述写入终端,所述预设权限规则具体包括随机分配规则或者效率分配规则。

当所述预设权限规则为随机分配规则时,所述按照预设权限规则从所述备选终端中选择一个终端作为写入终端具体包括:从所述备选终端中随机选取一个终端,将其作为写入终端,所述备选终端中每个终端被选取的概率相同。例如,如果总共有五个终端,A终端的计算时间为1s,B终端的计算时间为2s,C终端的计算时间为5s,D终端的计算时间为10s,E终端的计算时间为20s,若预设时间设置为15s,则A、B、C、D四个终端成为备选终端,每个终端被选中成为所述写入终端的概率均为1/4。

当所述预设权限规则为效率分配规则时,所述按照预设权限规则从所述备选终端中选择一个终端作为写入终端具体包括:根据公式(1)计算效率参数,然后根据所述效率参数计算得到各个备选终端被选择成为所述写入终端的概率,并按照所述概率从所述备选终端中选择一个终端作为写入终端,,所述公式(1)如下所示:

<mrow> <mfrac> <mn>1</mn> <msub> <mi>t</mi> <mn>1</mn> </msub> </mfrac> <mo>&times;</mo> <mi>d</mi> <mo>+</mo> <mfrac> <mn>1</mn> <msub> <mi>t</mi> <mn>2</mn> </msub> </mfrac> <mo>&times;</mo> <mi>d</mi> <mo>+</mo> <mo>...</mo> <mo>+</mo> <mfrac> <mn>1</mn> <msub> <mi>t</mi> <mi>n</mi> </msub> </mfrac> <mo>&times;</mo> <mi>d</mi> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中,ti为各个备选终端对应的计算时间,d为效率参数,为第i个备选终端被选择成为所述写入终端的概率。计算时间越短的终端被选择成为写入终端的概率越高。例如,如果总共有五个终端,A终端的计算时间为1s,B终端的计算时间为2s,C终端的计算时间为5s,D终端的计算时间为10s,E终端的计算时间为20s,若预设时间设置为15s,则A、B、C、D四个终端成为备选终端,根据公式(1)计算得到为效率参数d的值为5/9,并分别得到A、B、C、D四个终端被选中成为写入终端的概率分别为10/18,5/18,2/18,1/18,因而计算时间越短的终端被选中成为写入终端的概率更高。

实施例二、一种区块链的写入权限分配系统。下面结合图2对本实施例提供的系统进行详细说明。

参见图2,本发明提供的一种区块链的写入权限分配系统包括记录单元、排序确定单元以及权限分配单元。

记录单元,用于记录多个终端解决按照预设算法规则生成的难题所花费的计算时间。

具体的,所述预设算法规则具体包括POW(Proof of Work,工作量证明)算法以及POS(Proof of Stake,权益证明)算法,所述POW算法具体包括比特币算法、莱特币算法以及X11算法,所述POS算法具体包括点点币算法和以太坊算法。

排序确定单元,用于对各个终端对应的计算时间进行升序排序,并将计算时间小于预设时间对应的多个终端作为备选终端。

权限分配单元,用于按照预设权限规则从所述备选终端中选择一个终端作为写入终端,将向区块链数据库中写入数据的写入权限分配给所述写入终端。

具体的,所述权限分配单元中所述预设权限规则具体包括随机分配规则或者效率分配规则。

在所述预设权限规则为随机分配规则时,所述权限分配单元具体用于从所述备选终端中随机选取一个终端,将其作为写入终端,所述备选终端中每个终端被选取的概率相同。

在所述预设权限规则为效率分配规则时,所述权限分配单元具体用于根据公式计算出效率参数,然后根据所述效率参数计算得到各个备选终端被选择成为所述写入终端的概率,并按照所述概率从所述备选终端中选择一个终端作为写入终端,其中,ti为各个备选终端对应的计算时间,d为效率参数,为第i个备选终端被选择成为所述写入终端的概率。计算时间越短的终端被选择成为写入终端的概率越高。

本发明提供的一种区块链的写入权限分配方法及系统,能够记录并统计各个终端计算难题的计算时间,并从多个终端中筛选出计算时间小于预设时间的多个终端作为备选终端,然后按照预设权限规则从备选终端中选择一个终端作为写入终端,赋予其写入权限。本发明按照预设权限规则选择写入终端并赋予写入权限,而不是将写入权限赋予计算时间最短的终端,解决了写入权限集中于少数“旷工”手中造成的区块链数据库的安全隐患问题,提高了区块链数据库的安全性,实用性较强。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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