[发明专利]一种防止交易跨链重放的方法、装置及电子设备有效
申请号: | 202010697255.3 | 申请日: | 2020-07-20 |
公开(公告)号: | CN111884808B | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 王晓亮;张亚宁 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40;G06Q40/04 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 郭美丽 |
地址: | 310005 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 交易 重放 方法 装置 电子设备 | ||
本说明书实施例涉及一种防止交易跨链重放的方法、装置及电子设备,主要包括:根据待签名的交易内容计算第一交易初始摘要;根据所述第一交易初始摘要和创世块摘要计算交易摘要;对所述交易摘要进行签名并发送交易;根据接收到的签名交易中的交易内容计算第二交易初始摘要;根据所述第二交易初始摘要和创世块摘要计算验证交易摘要;根据所述验证交易摘要和交易签名验证交易的合法性。通过在用户构造交易的过程中,需要将交易内容与创世块摘要一并参与计算交易摘要,用户再根据得到的交易摘要进行签名。节点在进行验签的时候,也需要包含创世块的摘要进行验证,从而经济便捷地解决了交易跨链重放的问题。
技术领域
本说明书实施例涉及网络技术领域,尤其涉及一种防止交易跨链重放的方法、装置及电子设备。
背景技术
在联盟链中,存在多个私有化部署的联盟链。例如参与方M可以同时在两个不同的联盟链chain-A和chain-B中,在这两个区块链系统中M都有参与,也都有发送交易的权限。如果参与方M在两个链中使用的是同一个私钥,则其在chain-A发送过的交易,有可能被恶意攻击者拿到chain-B上进行重放,这样对于chain-B无法判断交易是由M主动发出的还是由恶意攻击者进行的跨链重放。
现有的一种方案是在交易中增加字段,比如增加链ID(chain_id)的字段, chain_id是私有化部署的时候,链进行初始化随机生成的,然后固化到创世块中且不允许被修改。通过在交易中增加chain_id字段,用户在发送交易的时候指定chain_id,节点在收到交易的时候通过判断chain_id是否匹配,通过这种方式来防止交易跨链重放。这种方式存在两个缺点,如果chain_id的范围不够大,很容易产生碰撞,同时,交易中chain_id的增加使得交易体积变大,增加了存储和通讯的负担。
发明内容
本说明书实施例提供一种防止交易跨链重放的方法、装置及电子设备,用以解决现有技术的如何便捷、准确的防止交易跨链重放的问题。
为了解决上述技术问题,本说明书实施例采用下述技术方案:
第一方面,提供了一种防止交易跨链重放的方法,应用于区块链系统,所述方法包括:
根据待签名的交易内容计算第一交易初始摘要;
根据所述第一交易初始摘要和创世块摘要计算交易摘要;
对所述交易摘要进行签名并发送交易;
根据接收到的签名交易中的交易内容计算第二交易初始摘要;
根据所述第二交易初始摘要和创世块摘要计算验证交易摘要;
根据所述验证交易摘要和交易签名验证交易的合法性。
第二方面,提供了一种防止交易跨链重放的装置,应用于区块链系统,所述装置包括:
第一交易初始摘要模块:用于根据待签名的交易内容计算第一交易初始摘要;
交易摘要模块:根据所述第一交易初始摘要和创世块摘要计算交易摘要;
签名模块:用于对所述交易摘要进行签名并发送交易;
第二交易初始摘要模块:根据接收到的签名交易中的交易内容计算第二交易初始摘要;
验证交易摘要模块:根据所述第二交易初始摘要和创世块摘要计算验证交易摘要;
验证模块:根据所述验证交易摘要和交易签名验证交易的合法性。
第三方面,提供了一种电子设备,包括:一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的一个或多个计算机程序,以使得该一个或多个处理器执行根据本发明各实施例提供的防止交易跨链重放的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010697255.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种按顺序打包交易的方法、装置及电子设备
- 下一篇:一种冲压冲头成型模具