用于区块链实现的数据应用程序中的签名验证的改进方法和系统技术方案

技术编号:39576781 阅读:15 留言:0更新日期:2023-12-03 19:27
实施例提供了用于面向数据的区块链应用程序的验证方法和系统

【技术实现步骤摘要】
【国外来华专利技术】用于区块链实现的数据应用程序中的签名验证的改进方法和系统


[0001]本公开涉及安全和验证方法和系统,尤其涉及针对区块链事务执行的安全和验证操作


技术介绍

[0002]区块链是指一种分布式数据结构,其中在分布式对等
(P2P)
网络
(
以下称为“区块链网络”)
中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本

区块链包括一系列数据区块,其中每个区块包括一个或多个事务
(transaction)。
除所谓的“coinbase
事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,回到一个或多个
coinbase
事务
。coinbase
事务将在下文进一步讨论

提交给区块链网络的事务包括在新区块中

新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题

应当注意的是,区块链可以在一些节点处被修剪
(prune)
,并且区块的发布可以通过仅发布区块头来实现

[0003]区块链中的事务可用于以下目的中的一个或多个:传送数字资产
(
即,一定数量的数字通证
)
;对虚拟化分类账或注册表中的一组条目进行排序;接收和处理时间戳条目;和
/
或对索引指针按时间排序

也可利用区块链实现区块链上的层级附加功能

例如,区块链协议可允许在事务中存储附加的用户数据或数据索引

能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据

例如,这可用于在区块链中存储电子文档

音频或视频数据

[0004]区块链网络的节点
(
通常称为“矿工”)
执行分布式事务注册和验证过程,这将后续更详细地描述

总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作证明解

一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块

为了将事务记录在区块链中,用户
(
例如,区块链客户端应用程序
)
将该事务发送到网络中的节点中的一个节点进行传播

接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作证明解

每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件

无效事务将不会传播或并入到区块中

假定事务已经核实有效,从而在区块链上被接受,则该事务
(
包括任何用户数据
)
将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引

[0005]成功解决工作证明难题可创建最新区块的节点通常被奖励一个称为“coinbase
事务”的新事务,该事务分发数字资产数额,即通证数量

无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为

信息的广泛发布使得用户可以连续地审计节点的性能

仅发布区块头使得参与者可以确保区块链具有持续完整性

[0006]在“基于输出的”模型
(
有时称为基于
UTXO
的模型
)
中,给定事务的数据结构包括一个或多个输入和一个或多个输出

任何可花费输出包括指定数字资产数额的元素,该元素可从进行中的事务序列导出

可花费输出有时称为
UTXO(“未花费事务输出”)。
输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件

锁定脚本是限定核实和传送数字通证或资产所必需的条件的谓词

事务
(

coinbase
事务之外
)
的每个输入包括指向先前事务中的此类输出的指针
(
即引用
)
,并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本

因此,考虑一对事务,将其称为第一事务和第二事务
(
或“目标”事务
)。
第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本

第二目标事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出

[0007]在此类模型中,当第二目标事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件

另一条件将是第一事务的输出尚未被另一早期有效事务赎回

根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务
(
作为有效事务,但可能注册无效事务
)
,也不将该事务包括在要记录在区块链中的新区块中

[0008]另一种事务模型是基于账户的模型

在这种情况下,每个事务均不通过参考过去事务序列中先前事务的
UTXO
来定义转移的数额,而是通过参考绝对账户余额进行定义

所有账户的当前状态由节点单独存储到区块链中,并不断更新

[0009]如上所述,这些区块链模型及其相关联的协议可以用于形成基本的底层平台,在该平台上可以构建复杂的应用程序和系统以提供附加功能

因此,区块链实现的技术可以用于提供更广泛的技术优势,而不仅仅是传输加密货币

已经开发了许多更高层级的应用程序,这些应用程序利用区块链及其相关联的协议作为底层机制,使得能够存储和传输数据和资源,例如令牌化的资产

一个此类示例是“Metanet”,其提供了用于存储

构造

索引和共享数据的传统互联网的基于区块链的替代方案
。Metanet
协议位于底层区块链网络和相关联的协议之上
(https://bitcoinsv.io/wp

content/uploads/2020/10/The

Metanet

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

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种用于验证在区块链事务中提供的签名的方法,所述方法包括:在所述区块链事务中提供所述签名和
/
或对其进行验证,其中所述签名基于消息,所述消息:包括用于唯一地标识所述事务的事务标识数据;以及仅包含能够从所述事务中导出和
/
或获取的数据
。2.
根据权利要求1所述的方法,其中:
i)
所述消息是被数字签名的;和
/

ii)
所述消息的至少一部分是加密的或编码的;和
/

iii)
所述签名是在所述事务中除解锁脚本之外的位置提供的;和
/

iii)
所述签名和
/
或所述消息是在所述事务的输出中提供的,优选地是在所述事务的锁定脚本中提供的
。3.
根据权利要求1或2所述的方法,其中:
i)
所述事务标识数据包括或涉及输出点或其他的部分数据,其与所述事务唯一地关联;和
/

ii)
所述事务标识数据是被编码

哈希或混淆处理的
。4.
根据前述任一项权利要求所述的方法,所述方法还包括:
i)
对所述签名执行验证操作;和
/

ii)
使用所述消息和公钥对所述签名执行验证操作
。5.
根据前述任一项权利要求所述的方法,所述方法包括以下步骤:使用基于计算机的资源来验证所述签名,其中所述基于计算机的资源不被设置为根据与所述区块链相关联的底层协议来执行挖掘和
/
或验证操作
。6.
根据前述任一项权利要求所述的方法,所述方法还包括:使用加密密钥对所述消息进行数字签名

编码或加密
。7.
根据前述任一项权利要求所述的方法,所述方法还包括:如果所述签名的验证成功,则允许动作;或者,如果所述消息的验证失败,则禁止动作
。8.
根据前述任一项权利要求所述的方法,其中:所述区块链事务是根据应用层协议形成的
。9.
根据权利要求8所述的方法,其中所述协议:被设置为促进区块链事务的关联以形成区块链事务的逻辑层级结构;和
/
或是一种区块链实现的
Metanet
协议
。10.
根据前述任一项权利要求所述的方法,所述方法包括:在与使用所述公钥生成的另一签名的比较中,使用所述签名和所述公钥;或者通过将所述公钥与另一公钥进行比较来执行验证
。11.
根据前述任一项权利要求所述的方法,其中所述事务标识数据包括输出点
。12.
一种区块链实现的验证方法,所述方法包括:生成或提供区块链事务,所述区块链事务包括:
i)
消息,所述消息包括:用于唯一地标识所述事务的事务标识数据;和仅从所述事务中能够导出和
/
或能够获取的数据;
以及
ii)
数字签名,所述数字签名与所述消息相关

基于所述消息或是使用所述消息生成的
。13.
根据权利要求
12
所述的区块链实现的验证方法,其中:
i)
所述事务还包括与用于生成所述签名的加密密钥相关的公钥;和
/

iii)
所述事务标识数据包括输出;和
/

ii)
所述签名是通过使用与所述公钥相关的加密密钥对所述消息进行数字签名来生成的;和
/

iv)
所述签名被提供于与所述事务相关联的任何输入之外的
。14.
一种验证在区块链事务
(Tx)
中提供的数字签名的方法,所述区块链事务
(Tx)
包括:待验证的所述数字签名;消息,所述消息:
i)
包括用于唯一地标识所述事务的事务标识数据,和
ii)
仅包含从所述事务中能够导出和
/
或能够获取的数据;事务
ID(TxID)
;协议标志;自主公钥
(DPK)
;以及自主事务
ID(DTxID)。15.
根据权利要求
14
所述的方法,其中所述事务
...

【专利技术属性】
技术研发人员:克雷格
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

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

1