主页 > imtoken钱包开发 > 一种智能选择记账节点的方法及过程

一种智能选择记账节点的方法及过程

imtoken钱包开发 2023-02-06 07:00:16

本发明涉及区块链、虚拟货币和人工智能领域,具体涉及一种记账节点智能选择方法。

背景技术:

2009年比特币启蒙时期,矿工们仅用家里的电脑,一周内就可以轻松挖出数百个比特币。 然而,随着挖比特币人数的快速增长和比特币挖矿硬件的不断改进,比特币挖矿已经从临时工在家做实验,变成了投入数百万美元运行大型设备的专业人士; 同时,随着挖比特币人数的增加,所有机器协同工作,造成电力资源浪费,能源消耗问题日益突出; Morgan S. 在 Danley 发布的一份研究报告中估计,比特币的挖矿业务每年消耗约 36 太瓦时的能源,相当于卡塔尔一年的能源消耗总量; 报告还指出,2018年,比特币国家的电力需求将增加两倍以上,用电量可能超过125太瓦时,相当于阿根廷全国一年的能源消耗量。 比特币挖矿的原理是,算力高的人更容易挖到新的比特币,并在账本上记录转账交易。 这种机制造成计算资源的严重浪费。

BM根据现状设计了dpos系统。 在这个系统中,大家不再集体挖矿,而是少数人,即见证人,负责记账。 从eos中选出21人作为见证人,见证人轮流为大家记账; 这种方法大大提高了记账速度; 同时,整个系统大大节省了电能。 dpos模式记账快,省电,但这种方式人为因素起主导作用,不能保证去中心化。 因此,需要一种能够保证公平、去中心化、避免人为干预的智能分配记账权或挖矿权的方法。

技术实现要素:

本发明的目的在于:本发明改进了记账节点的智能选择方法,解决了现有挖矿采用人工记账,无法保证公平性和去中心化,挖矿效率低下的问题。

本发明采用的技术方案如下:

一种智能选择计费节点的方法,包括以下步骤:

第一步:根据区块数据计算每个记账节点的节点能力值;

步骤2:计算每个记账节点的节点能力值阈值;

第三步:根据阈值确定当前记账节点后,随机选择其他节点完成节点选择。

优选地,步骤1中的节点能力值包括节点记录的交易笔数、节点的信息处理能力和节点的交易手续费总额。

优选地,节点保存交易数的计算包括以下步骤:

步骤a:计算对应块号的总和,计算公式如下:

o=j=k(i)lj

其中,lj为第i个节点挖出的区块数k(i)对应的编号,j∈[1,k(i)],o为对应区块编号之和;

步骤b:计算统计权重,计算公式如下:

其中,δj表示统计权重,o表示对应块号的总和;

步骤c:计算节点出块数,计算公式如下:

比特币挖矿流程图_比特币和莱特币挖矿_比特币挖矿软件

其中,tr(i)(j)为每个区块的交易数量。

优选地,节点信息处理能力的计算如下式所示:

c(i)=α*s(i)+β*cal(i)+γ*带宽d(i)

其中,c(i)表示第i个节点的信息处理能力,s(i)表示第i个节点当前可用的存储空间,cal(i)表示第i个节点的处理器运算速度node, bandwidthd(i) 表示第i个节点当前的网络带宽,α、β、γ为计算权重,满足α+β+γ=1。

优选地,节点交易手续费总额的计算包括以下步骤:

步骤aa:计算每个区块的交易手续费,计算公式如下:

其中,fa为每笔交易的手续费,tr(i)(j)为每个区块的交易数,a的取值范围为a∈[1,tr(i)(j)],lj为i个节点占用的块数k(i)对应的个数,j∈[1,k(i)];

步骤bb:计算节点的总交易手续费,计算公式如下:

其中,k(i)为第i个节点占用的块数。

优选地,各节点的节点能力值阈值的计算如下式所示:

y(i)=w1*x1+w2*x2+w3*x3

其中,w1+w2+w3=1,y(i)为各节点能力值的阈值,x1为节点记录在每个区块中的交易数,x2为节点的信息处理能力, x3 为节点交​​易手续费总和。

优选地,所述步骤三包括以下步骤:

步骤3.1:根据每个节点能力值的阈值y(i),假设其最小值ymin和最大值ymax,将[ymin,ymax]区间归一化为[a1,b1],以c1为区间,划分区间分为(b1-a1)/c1类;

步骤3.2:将阈值y(i)映射到类别空间的值classi,计算公式如下:

比特币挖矿流程图_比特币挖矿软件_比特币和莱特币挖矿

其中,ymin为阈值的最小值,ymax为阈值的最大值,y(i)为第i个节点的节点能力值的阈值;

步骤3.3:根据类别空间的取值classi确定区域[n,n+1]。 确定类别为第n+1个类别后,判断n是否大于类别阈值e1,e1的值为[0,(b1-a1)/c1]比特币挖矿流程图,若为固定节点,则确定作为当前节点,如果不是,跳到步骤ddd;

步骤ddd:计算非固定节点,即固定节点以外的节点的信息处理能力。 计算公式如下:

z(i)=x3

其中,z(i)为非固定节点的信息处理能力,x3为节点的总交易费用;

步骤3.4:根据非固定节点的信息处理能力值z(i)取最小值zmin和最大值zmax,将[zmin,zmax]区间归一化为[a2,b2],将区间划分为c2 为类别(b2-a2)/c2;

步骤3.5:将非固定节点信息处理能力值z(i)映射到类别空间的值class2i,计算公式如下:

其中,zmin为阈值的最小值,zmax为阈值的最大值,z(i)为非固定节点的信息处理能力值;

根据class2i的值,确定节点所属区域[m,m+1],则节点属于第m+1类,统计所有m>类阈值e2的节点,取值e2的为[0,(b2-a2)/c2],随机选择r个节点作为节点完成节点选择,其中r为随机数。

综上所述,由于采用上述技术方案,本发明的有益效果是:

1、本发明通过计算每个节点的节点能力值,统计其阈值,确定当前节点并随机选择其他节点完成记账节点的选择,通过选择算力强、算力大的节点实现挖矿记账。交易数量,并设置随机节点,提高区块挖矿和记账的安全性,解决了现有挖矿或记账中由于使用人为选择的节点而存在的不公平和无法保证去中心化的问题,在实现节能的同时提高矿业会计的效率和安全性;

2、本发明智能选择固定节点参与区块挖矿记账,合理分配挖矿权或记账权,大大节省能源消耗,避免人工选择带来的恶意攻击风险;

3、本发明通过综合考虑已开采区块的数量、每个区块包含的交易数量、节点当前的信息处理能力、每个区块的交易手续费总额等来评估节点能力值。算力、带宽、前节点参与能力等因素,降低整个区块链节点挖矿或记账的冲突概率,提高节点处理交易记录的效率,从而大大提高区块挖矿和记账效率;

4、本发明在选择固定节点的基础上,增加了随机节点,增加了区块挖掘的安全性,降低了黑客攻击的可能性。

图纸说明

本发明将参照附图以示例的方式进行说明,其中:

图1为本发明节点选择示意图;

图2是本发明的流程图;

比特币挖矿流程图_比特币和莱特币挖矿_比特币挖矿软件

图3是本发明的流程示意图。

详细说明

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,可以以任何方式组合,相互排斥的特征和/或步骤除外。

下面结合图1至图3详细描述本发明。 1-3 。

该方法基于对区块所属节点和每个区块包含的交易数据量的智能分析,提出了节点能力值的计算方法,作为选择记账节点的依据,是用于降低整个区块链的节点挖矿冲突概率,提高节点处理交易记录的效率。 本发明包括记账节点能力值计算模块、阈值计算模块和节点选择模块;

节点能力值包括节点挖出的区块数量、每个区块记录的交易数量、节点当前的信息处理能力、节点的总交易手续费。 节点的信息处理能力包括当前节点计算中心的处理速度、当前网络带宽和当前可用存储空间; 节点挖出的区块数是指节点从参与到现在挖出的区块总数; 每个区块记录的交易数是指节点挖出的区块中打包交易的数据量。

阈值计算是指所有参与节点的节点能力值统计数据,目标函数为y(i)=w1*x1+w2*x2+w3*x3,一组高鲁棒性参数w1-w3为通过训练得到,其中x1、x2、x3分别代表每个区块包含的交易数量、节点交易费用总额、节点的信息处理能力,y(i)代表每个区块的阈值节点的节点能力值; 还有一个目标能量函数z(i)=x3,z(i)表示非固定节点的信息处理能力,即计算能力值。

节点选择模块,节点根据当前数据计算该节点的节点能力值y,如果y大于固定节点选择阈值n,则将该节点选入固定节点,确定为当前记账节点; 一个节点的算力值z,如果z大于随机节点选择的阈值m,则从中随机选择r个节点参与区块挖掘,完成节点选择。

示例 1

一种智能选择计费节点的方法,包括以下步骤:

第一步:根据区块数据计算每个记账节点的节点能力值;

步骤2:计算每个记账节点的节点能力值阈值;

第三步:根据阈值确定当前记账节点后,随机选择其他节点完成节点选择。

步骤1中的节点能力值包括节点记录的交易数量、节点的信息处理能力和节点的总交易费用。

计算节点保存的交易数包括以下步骤:

步骤a:计算对应块号的总和,计算公式如下:

o=j=k(i)lj

其中,lj为第i个节点挖出的区块数k(i)对应的编号,j∈[1,k(i)],o为对应区块编号之和;

步骤b:计算统计权重,计算公式如下:

比特币挖矿软件_比特币和莱特币挖矿_比特币挖矿流程图

其中,δj表示统计权重,o表示对应块号的总和;

步骤c:计算节点出块数,计算公式如下:

其中,tr(i)(j)为每个区块的交易数量。

节点信息处理能力的计算如下式所示:

c(i)=α*s(i)+β*cal(i)+γ*带宽d(i)

其中,c(i)表示第i个节点的信息处理能力,s(i)表示第i个节点当前可用的存储空间,cal(i)表示第i个节点的处理器运算速度node, bandwidthd(i) 表示第i个节点当前的网络带宽,α、β、γ为计算权重,满足α+β+γ=1。

节点交易手续费总额的计算包括以下步骤:

步骤aa:计算每个区块的交易手续费,计算公式如下:

其中,fa为每笔交易的手续费,tr(i)(j)为每个区块的交易数,a的取值范围为a∈[1,tr(i)(j)],lj为i个节点占用的块数k(i)对应的个数,j∈[1,k(i)];

步骤bb:计算节点的总交易手续费,计算公式如下:

其中,k(i)为第i个节点占用的块数。

每个节点的节点能力值的阈值计算如下:

y(i)=w1*x1+w2*x2+w3*x3

其中,w1+w2+w3=1,y(i)为各节点能力值的阈值,x1为节点记录在每个区块中的交易数,x2为节点的信息处理能力, x3 为节点交​​易手续费总和。

步骤3包括以下步骤:[a1, b1]=[a2, b2]=[0,10], c1=c2=1, e1=5, e2=3:

比特币挖矿软件_比特币挖矿流程图_比特币和莱特币挖矿

步骤3.1:根据每个节点的节点能力值的阈值y(i),假设其最小值ymin和最大值ymax,将[ymin,ymax]区间归一化为[0, 10],以1为区间,划分区间 分为10类;

步骤3.2:将阈值y(i)映射到类别空间的值classi,计算公式如下:

其中,ymin为阈值的最小值,ymax为阈值的最大值,y(i)为第i个节点的节点能力值的阈值;

步骤3.3:根据类别空间的取值classi确定区域[n,n+1]。 确定类别为第n+1个类别后,判断n是否大于5,如果是,则为固定节点。 如果不是,跳到步骤ddd;

步骤ddd:计算非固定节点,即固定节点以外的节点的信息处理能力。 计算公式如下:

z(i)=x3

其中,z(i)为非固定节点的信息处理能力,x3为节点的总交易费用;

步骤3.4:根据非固定节点的信息能力值z(i),取最小值zmin和最大值zmax,将[zmin,zmax]区间归一化为[0, 10],将区间分为10类别;

步骤3.5:将非固定节点信息处理能力值z(i)映射到类别空间的值class2i,计算公式如下:

其中,zmin为阈值的最小值,zmax为阈值的最大值,z(i)为非固定节点的输出;

根据class2i的值确定节点所属的区域[m,m+1],则节点属于第m+1类,统计所有m>3的节点,随机选择其中r个节点节点,r值是随机的,可以是1/3/5等。

该方法旨在解决矿工大量挖矿计算导致的记账冲突、记账效率低和能源浪费等问题,避免人工投票选择记账节点带来的不公平和非中心化问题。 基于区块数据与矿工的各个维度的数据,采用智能记账权或挖矿权分配机制,同时利用记账权或挖矿权的随机分配,防止黑客攻击,保证公平性、去中心化区块链在安全的前提下,解决了挖矿冲突带来的能源浪费和记账效率低的问题。

技术特点:

技术概要

本发明公开了一种智能选择记账节点的方法,涉及区块链、虚拟货币和人工智能领域。 包括以下步骤: 第一步:根据区块数据计算每个记账节点的节点能力值; 步骤2:计算每个节点的节点能力值阈值; 步骤3:根据阈值确定当前记账节点后,随机选择部分记账节点完成节点选择; 低效和能源浪费,以及避免人工投票选择记账节点带来的不公平和非中心化问题,基于区块数据和矿工的各种维度数据,采用智能记账权或挖矿权分配,同时采用随机分配记账权或挖矿权,防止黑客攻击,在保证区块链公平性、去中心化和安全性的前提下比特币挖矿流程图,实现解决因挖矿冲突导致的能源浪费和记账效率低下。 问题。

技术研发人员:段凯; 陈建武

受保护技术用户:北京领享未来科技有限公司

技术研发日:2018.05.14

技术公告日期:2018.10.16