System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 计算机实现的方法和系统技术方案_技高网

计算机实现的方法和系统技术方案

技术编号:39996999 阅读:19 留言:0更新日期:2024-01-09 02:52
本公开涉及一种用于验证数据集的区块链存储的表示的计算机实现的方法。该方法包括获得对链上数据集的数据集引用的步骤,链上数据集存储在区块链上并且包括携带交易的数据,其中,每个携带交易的数据包括指示存储在链下数据集中的事件的数据。该方法包括遍历链上数据集,并且对于链上数据集中的每个携带交易的数据:确定指示链下数据集中的事件的数据与链下数据集中的事件相关联,以及验证链上数据集和链下数据集彼此对应。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及用于实现与用于一个或多个客户端的分布式账本、即区块链相关联的一个或多个服务的平台的方法和系统。尤其是,本公开涉及但不限于提供数据存储和验证与区块链相关联的数据存储。


技术介绍

1、区块链指的是一种分布式数据结构形式,其中,在分布式对等(p2p)网络(下面称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且该副本被广泛宣传。区块链包括数据区块的链,其中,每个区块包括一个或多个交易。除了所谓的“coinbase交易”之外,每个交易都回指向序列中的在先交易,该序列可能跨越一个或多个区块,直到一个或多个coinbase交易为止。下面对coinbase交易进行讨论。提交给区块链网络的交易包括在新区块中。新区块由通常被称为“挖矿”的过程创建,该过程涉及多个节点中的每个节点竞争执行“工作量证明”,即,基于等待被包括在区块链的新区块中的有序且经验证的未决交易的限定集合的表示来解决加密难题。应当注意的是,区块链可以在节点处修剪,并且区块的发布可以通过仅发布区块头来实现。

2、区块链中的交易用于执行以下一项或多项:传送数字资产(即,多个数字通证),以对虚拟化账本或注册表中的日记帐条目的集合进行排序,接收和处理时间戳条目,和/或对索引指针在时间上排序。还可以利用区块链以便在区块链的顶部上叠放附加功能。区块链协议可以允许在交易中存储附加的用户数据或数据的索引。对单个交易内可以存储的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可以用于在区块链中存储电子文档,或音频或视频数据。

3、区块链网络的节点(通常称为“矿工”)执行分布式交易注册和验证过程,这将在下面详细描述。总之,在该过程期间,节点验证交易并将其插入到区块模板中,并尝试为该区块模板识别有效的工作量证明的解。一旦找到有效的解,就将新区块传播到网络的其他节点,从而使每个节点能够在区块链上记录新区块。为了将交易记录在区块链中,用户(例如,区块链客户端应用)将交易发送到网络的节点之一以进行传播。接收交易的节点可能会竞相寻找将经验证的交易并入到新区块中的工作量证明的解。每个节点被配置为执行相同的节点协议,该节点协议将包括使交易有效的一个或多个条件。无效的交易将不会被传播或并入到区块中。假设交易经过验证并由此被接受到区块链上,则交易(包括任何用户数据)将因此在区块链网络中的每个节点处保持为已注册和已索引的,作为不可变的公共记录。

4、成功求解工作量证明难题并创建最新区块的节点通常会获得名为“coinbase交易”的新交易的奖励,该交易分配一定数额的数字资产(即,若干通证)。无效交易的检测和拒绝通过竞争节点的动作来执行,这些竞争节点充当网络代理并被激励以报告和阻止不当行为。信息的广泛发布允许用户持续地审计节点的性能。仅发布区块头允许参与者确保区块链的持续完整性。

5、在“基于输出的”模型(有时称为基于utxo的模型)中,给定交易的数据结构包括一个或多个输入和一个或多个输出。任何可花费的输出包括指定能从进行的交易序列中导出的数字资产数额的元素。可花费的输出有时被称为utxo(“未花费的交易输出”)。输出还可以包括锁定脚本,该锁定脚本指定未来赎回输出的条件。锁定脚本是限定验证和转移数字通证或资产所必需的条件的声明。交易(除了coinbase交易之外)的每个输入包括指向在先交易中的此类输出的指针(即,引用),并且还可以包括用于解锁所指向的输出的锁定脚本的解锁脚本。因此,考虑一对交易,将它们称为第一交易和第二交易(或“目标”交易)。第一交易包括指定数字资产数额的至少一个输出,并且包括限定解锁输出的一个或多个条件的锁定脚本。第二目标交易包括至少一个输入,该至少一个输入包括指向第一交易的输出的指针,以及用于解锁第一交易的输出的解锁脚本。

6、在这种模型中,当第二目标交易被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性标准中的一个有效性标准将是解锁脚本满足在第一交易的锁定脚本中限定的一个或多个条件中的全部。另一个有效性标准将是第一交易的输出尚未被另一个更早的有效交易赎回。根据这些条件中的任何一个条件发现目标交易无效的任何节点将不传播目标交易(作为有效交易,但是可能注册无效交易),也不将其包括在要记录在区块链中的新区块中。

7、交易模型的一种替代类型是基于帐户的模型。在这种情况下,每个交易不通过回引过去交易序列中的在先交易的utxo来限定要转移的数额,而是通过引用绝对账户余额来限定要转移的数额。所有帐户的当前状态由与区块链分开的节点存储并被不断地更新。

8、当前研究的一个领域是使用区块链来实现“智能合约”。智能合约是设计用于自动执行机器可读合约或协议的条款的计算机程序。与用自然语言编写的传统合约不同,智能合约是机器可执行程序,其包括可以处理输入以生成结果的规则,然后可以导致根据这些结果来执行动作。区块链相关的感兴趣的另一领域是使用“通证”(或“彩色币”),以经由区块链来表示和转移现实世界实体。潜在敏感或秘密项目可以由不具有能辨别的含义或价值的通证来表示。因此,通证用作允许从区块链引用真实世界项目的标识符。

9、上述示例或情景利用区块链的优势提供永久的、防篡改的事件记录,需要客户端、客户端实体、计算装置或与客户端相关联的终端,以包括或实现软件和/或硬件或处理器/模块,例如,用于实现用于管理数字资产、管理例如由bsv(比特币中本聪愿景)区块链使用的椭圆曲线数字签名算法(ecdsa)的加密密钥的功能的数字钱包。此外,还需要客户端装置能够实现区块链交易构建并能够访问bsv库。因此,客户端不仅需要包括实现这种功能的处理,而且在能够利用区块链网络发送、接收和查看与表示真实世界资产交易的智能合约或通证相关的数据和/或数字资产之前,客户端还需要确保针对这种处理实现适当的安全措施。

10、因此,期望实现安全、低复杂度、用户友好、高效和鲁棒的技术,这些技术将允许任何客户端,无论计算复杂与否,都能够以简单、快速、准确、可靠和安全的方式即时访问与区块链相关联的有用应用并与其交互。尤其是,期望利用分布式账本(区块链)技术以及记录的增加的安全性、透明度和可靠性的优点,来提供用于多个区块链相关服务或应用的共同平台或接口,使得任何客户端计算装置能够确保与客户端相关联的任何数据、事件或数字资产能够被即时且安全地挖掘或容易地写入到区块链中,从而提供对其持久的、防篡改的和可审计的记录,这些记录可以根据需要创建、写入、更新、读取或查看。

11、现在已经设计出这种改进的解决方案。本公开通过提出一种或多种技术来解决上述技术问题,在这些技术中,通过为与区块链相关联的一个或多个服务提供应用编程接口(api)的方法、装置和系统,可以将与客户端相关联的数据或信息简单地、安全地且即时地写入到区块链中或从区块链获得,这种客户端不需要实现用于使用区块链的任何处理或功能,同时仍然能够利用与区块链相关联的所有优点。


技术实现思路

1、在第一方面,本公开提出了用于维护区块链上的流的本文档来自技高网...

【技术保护点】

1.一种用于验证数据集的区块链存储的表示的计算机实现的方法,包括以下步骤:

2.根据权利要求1所述的计算机实现的方法,其中,所述链下数据集中的数据项至少包括原像和所述原像的摘要。

3.根据权利要求2所述的计算机实现的方法,其中,指示所述链下数据集中的数据的数据包括所述链下数据集中的数据项的原像的摘要。

4.根据权利要求3所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

5.根据权利要求2至4中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括所述链下数据集中的数据项的原像。

6.根据权利要求5所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

7.根据权利要求2至6中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括事件的哈希。

8.根据权利要求7所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

9.根据权利要求2至8中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括事件和/或事件的子部分。

10.根据权利要求7所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

11.根据权利要求2至10中任一项或多项所述的计算机实现的方法,其中,所述原像包括所述链下数据集中的在先数据项的原像的摘要。

12.根据前述权利要求中任一项或多项所述的计算机实现的方法,其中,所述链上数据集中的每个交易包括对另一交易的交易引用,从而形成交易链。

13.根据权利要求12所述的计算机实现的方法,其中,遍历所述链上数据集包括:

14.根据权利要求12或13所述的计算机实现的方法,其中,对所述链上数据集的数据集引用是对交易链中的第一个交易或最后一个交易的引用。

15.根据权利要求12至14中任一项或多项所述的计算机实现的方法,其中,对所述链上数据集的数据集引用包括交易链中的第一个交易或最后一个交易的交易id。

16.根据权利要求12至15中任一项或多项所述的计算机实现的方法,其中,对所述链上数据集的数据集引用包括第一交易的区块id。

17.根据前述权利要求中任一项或多项所述的计算机实现的方法,还包括以下步骤:

18.根据前述权利要求中任一项或多项所述的计算机实现的方法,其中,通过访问数据库和/或通过访问与所述数据库大致镜像的数据存储来获得所述链下数据集中的每个数据项。

19.一种装置,包括处理器和存储器,所述存储器包括可执行指令,响应于由所述处理器执行所述可执行指令,所述可执行指令使所述装置执行如前述权利要求中任一项或多项所述的计算机实现的方法。

20.一种系统,包括:

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于验证数据集的区块链存储的表示的计算机实现的方法,包括以下步骤:

2.根据权利要求1所述的计算机实现的方法,其中,所述链下数据集中的数据项至少包括原像和所述原像的摘要。

3.根据权利要求2所述的计算机实现的方法,其中,指示所述链下数据集中的数据的数据包括所述链下数据集中的数据项的原像的摘要。

4.根据权利要求3所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

5.根据权利要求2至4中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括所述链下数据集中的数据项的原像。

6.根据权利要求5所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

7.根据权利要求2至6中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括事件的哈希。

8.根据权利要求7所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤包括:

9.根据权利要求2至8中任一项或多项所述的计算机实现的方法,其中,指示所述链下数据集中的数据项的数据还包括事件和/或事件的子部分。

10.根据权利要求7所述的计算机实现的方法,其中,确定指示所述链下数据集中的数据项的数据与所述链下数据集中的数据项相关联的步骤...

【专利技术属性】
技术研发人员:R·C·兰德
申请(专利权)人:恩晨特许股份公司
类型:发明
国别省市:

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

1