一种基于智能合约及拜占庭共识算法的区块链存证方法技术

技术编号:39600366 阅读:19 留言:0更新日期:2023-12-03 20:00
本发明专利技术提供一种基于智能合约及拜占庭共识算法的区块链存证方法,包括如下具体步骤:

【技术实现步骤摘要】
一种基于智能合约及拜占庭共识算法的区块链存证方法


[0001]本专利技术涉及区块链存证领域,尤其涉及一种基于智能合约及拜占庭共识算法的区块链存证方法


技术介绍

[0002]数据区块链使用算法来保证容错

传统方法使用工作量证明进行容错

只要多于
50
%的网络的全部计算能力是诚实的,就可以保证容错的能力

然而工作量证明是需要花费大量的能源

较新的技术使用权益证明进行容错,其中节点需要为它们的区块链版本押上证明或“赌注”。
有了权益证明,节点就可以在经济损失的威胁下保持诚实,只要网络中
50
%以上的“赌注”是诚实的,那么就保证了容错能力

[0003]为了得到一个更有效的权益证明,数据区块链可以使用一个委托负责参与共识的拜占庭容错算法

数据区块链可以通过不同的方式,比如普通节点的投票,任命特别共识决策的节点称为“共识节点”。
这些“共识节点”代替整个网络进行共识游戏,提高效率,而仍然确保和完整的网络接近的容错

[0004]虽然“共识节点”可以增加网络找到共识的速度,而和完整的网络有接近的容错,但是诚实的行为没有被鼓励,不诚实的行为也没有被阻碍

普通的节点和“共识节点”都可以随意实施不诚实的行为,而不会有没有任何的处罚

因为“共识节点”不是把自己的利益受到经济损失的威胁,它只是代表普通节点发送命令,所以一个恶意的节点成为“共识节点”会对整个网络造成非常大的威胁

[0005]区块链存证是基于区块链技术,采取多节点共识的方式,或联合法院

公证处

仲裁机构

司法鉴定中心

授时服务机构

审计机构及数字身份认证中心等权威机构节点的电子数据存证服务

[0006]目前通常使用
PBFT
算法进行区块链中节点的计算,但是其在计算过程中存在容错低

资源耗费高,且其无法及时处理节点故障易造成贫富差距以及区块同步效率低

[0007]因此,有必要提供一种基于智能合约及拜占庭共识算法的区块链存证方法解决上述技术问题


技术实现思路

[0008]本专利技术提供一种基于智能合约及拜占庭共识算法的区块链存证方法,解决了目前通常使用
PBFT
算法进行区块链中节点的计算,但是其在计算过程中存在容错低

资源耗费高,且其无法及时处理节点故障易造成贫富差距以及区块同步效率低的问题

[0009]为解决上述技术问题,本专利技术提供的基于智能合约及拜占庭共识算法的区块链存证方法,包括如下具体步骤:
[0010]S1、
存证人员通过智能合约进行证据存证,智能合约将证据
hash
值和库密钥存入区块链中;
[0011]S2、
分析模块使用
TM

PBFT
算法对信任节点列表进行建立;
[0012]S3、
根据
S2
中的信任节点列表建立节点信任度评级模型;
[0013]S4、
区块链中的决策模块根据
S3
中的节点信任度评级模型对奖惩进行评定;
[0014]S5、
区块链中的决策模块将评定的奖罚信息输送至区块链存证客户端;
[0015]S6、
区块链通过网络将证据
hash
值和库密钥存入区块链存证客户端

[0016]优选的,所述
S1
包括如下步骤:
[0017]S11、
存证人员通过客户端实名注册生成基于身份的区块链地址,作为部署和调用智能合约的区块链地址;
[0018]S12、
存证人员登录客户端,加载存证人员区块链地址,上传存证数据和证据库密钥,服务端将存证数据存放到第三方数据库,并利用
sha256
哈希算法生成存证数据的
hash
值;
[0019]S13、
服务端通过存证人员的区块链地址将具有上传

查询

下载和授权功能的智能合约代码部署到区块链上,该智能合约只有存证人员区块链地址和授权的区块链地址能够调用,智能合约部署成功后,它将证据
hash
值和库密钥存储到区块链中,同时返回客户端证据
hash
值和证据
hash

ID。
[0020]优选的,所述
S2
具体为:
[0021]对区块链中所有节点
i
进行投票,待投票周期
V
结束后,统计各个节点
i
的得票数记为
n
i
,并且依据得票数进行排序将票数前
H
位的节点组成新的列表作为信任节点列表

[0022]其中,每个节点仅可以进行一次投票,即理想状态下,总节点数=总投票数=
N
,因此
n
i
需要满足公式:
[0023][0024]区块链中所有节点最初都是普通节点,普通节点的职责主要是投票,其总数即为
N
;信任节点由普通节点投票选出,信任节点列表也是主节点候选集,其数目记为
N
T
;每轮投票只需要一个主节点,由信任节点列表中的节点依次担任,主要负责生产区块及进行共识等,其数目记为
N
M

1。
此外,系统中还有副本节点,由普通节点中信任度超过某数值的节点担任,主要用于共识阶段,其数目记为
N
R
,此外,在整个网络中,除
N
M
固定为1之外,其他类型的节点数量都不是固定不变的,
N
的数量可以随着网络节点的增多而增大,
N
R

N
T
是由需要多少信任节点和副本节点而定

[0025]每隔一段时间,系统会向投票主节点发起投票请求,再投票主节点向其它副本节点广播投票准备消息,之后副本节点选择自己想要投票的节点并将最后结果返回给主节点,待主节点统计完得票结果之后再广播给所有节点

在投票时,每个节点只有一票,可以选择其它节点也可以选择自己

得到的信任节点列表将作为主节点的候选集,可供下一次投票以及共识的主节点进行选用

[0026]优选的,所述
S3
具体为:
[0027]S31、
首先通过
TM

PBFT
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于智能合约及拜占庭共识算法的区块链存证方法,其特征在于,包括如下具体步骤:
S1、
存证人员通过智能合约进行证据存证,智能合约将证据
hash
值和库密钥存入区块链中;
S2、
分析模块使用
TM

PBFT
算法对信任节点列表进行建立;
S3、
根据
S2
中的信任节点列表建立节点信任度评级模型;
S4、
区块链中的决策模块根据
S3
中的节点信任度评级模型对奖惩进行评定;
S5、
区块链中的决策模块将评定的奖罚信息输送至区块链存证客户端;
S6、
区块链通过网络将证据
hash
值和库密钥存入区块链存证客户端
。2.
根据权利要求1所述的基于智能合约及拜占庭共识算法的区块链存证方法,其特征在于,所述
S1
包括如下步骤:
S11、
存证人员通过客户端实名注册生成基于身份的区块链地址,作为部署和调用智能合约的区块链地址;
S12、
存证人员登录客户端,加载存证人员区块链地址,上传存证数据和证据库密钥,服务端将存证数据存放到第三方数据库,并利用
sha256
哈希算法生成存证数据的
hash
值;
S13、
服务端通过存证人员的区块链地址将具有上传

查询

下载和授权功能的智能合约代码部署到区块链上,该智能合约只有存证人员区块链地址和授权的区块链地址能够调用,智能合约部署成功后,它将证据
hash
值和库密钥存储到区块链中,同时返回客户端证据
hash
值和证据
hash

ID。3.
根据权利要求1所述的基于智能合约及拜占庭共识算法的区块链存证方法,其特征在于,所述
S2
具体为:对区块链中所有节点
i
进行投票,待投票周期
V
结束后,统计各个节点
i
的得票数记为
n
i
,并且依据得票数进行排序将票数前
H
位的节点组成新的列表作为信任节点列表
。4.
根据权利要求1所述的基于智能合约及拜占庭共识算法的区块链存证方法,其特征在于,所述
S3
具体为:
S31、
首先通过
TM

PBFT
算法对当前投票周期内节点的投票信任度进行计算;
S32、
对当前投票周期内节点的表现信任度进行计算;
S33、
对截止上一个投票周期结束的节点的累积信任度进行计算;
S34、
根据投票信任度

表现信任度以及累积信任度建立立体的节点信任度评级模型
。5.
根据权利要求4所述的基于智能合约及拜占庭共识算法的区块链存证方法,其特征在于,所述
S31
中对当前投票周期内节点的投票信任度具体计算如下:由于在一个投票周期
V
内包含
M
个共识周期
T

M
的值不固定,一个共识周期
T
又可以划分为
m
个生产区间
t
,一个生产区间
t
内完...

【专利技术属性】
技术研发人员:白颢沈扬莫倩倩邹辉晖冯迪嘉李雄威
申请(专利权)人:杭州万林数链科技服务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1