System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法技术方案_技高网

能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法技术方案

技术编号:42031379 阅读:4 留言:0更新日期:2024-07-16 23:19
描述了一个协议,该协议:(i)允许存储节点因维护公共区块链而获得奖励;和(ii)借助于区块链存储证明(PoBS)方案来验证区块链的完整性。该协议提供了一种使用挑战‑响应方法加密地检查存储在远程服务器上的数据文件是否完整的方法。该协议免受中间人攻击。恶意对等方不能将上述挑战转移到存储数据的第三方并反馈响应。上述方案也是可公开验证的。

【技术实现步骤摘要】

本说明书主要涉及适用于在区块链网络的节点中实现的计算机实现的方法和系统。描述了用于处理大量事务和大事务区块的修正区块链节点结构、网络架构和协议。


技术介绍

1、在本文中,使用术语“区块链(blockchain)”来包括所有形式的电子的、基于计算机的分布式分类账(distributed ledgers),包括但不限于区块链和事务链技术、许可及未许可的分类账、共享分类账及其变型。应当指出的是,本专利技术不限于与特定区块链一起使用,其他的区块链实施方式和协议也落入本专利技术的范围内。

2、区块链是基于共识的电子分类账,所述分类账被实现为由区块组成的基于计算机的去中心化的分布式系统,而区块由事务(transaction)和其他信息组成。就一些区块链而言,每个事务是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有事务的记录,这些事务自区块链诞生之始写入区块链。事务包含小程序,这些小程序称为脚本,嵌入至所述事务的输入和输出中,这些小程序指定了如何以及由谁来访问事务的输出。在一些平台上,这些脚本是使用基于堆栈的脚本语言编写的。

3、为了将事务写入区块链,必须对所述事务进行“验证”。一些网络节点执行工作以确保每个事务有效,无效事务则被网络拒绝。例如,安装在所述节点上的软件客户端在引用未花费的事务输出(unspent transaction outputs,简称utxo)的事务上执行验证工作。可通过执行其锁定和解锁脚本来执行验证。如果锁定和解锁脚本的执行评估为真(true),并且如果满足某些特定条件,则所述事务有效,可将所述事务写入区块链。因此,为了将事务写入区块链,所述事务必须:i)由接收事务的节点进行验证——如果事务经验证通过,则所述节点将所述事务中继到网络中的其他节点;ii)添加到建造的新区块中;iii)被挖掘,即添加到过去事务的公共分类账中。当向区块链添加足够数量的区块以使事务实际上不可逆转时,事务被视为已确认。

4、尽管区块链技术以使用加密货币实现而闻名,但数字企业家已经开始探索使用加密安全系统和可存储在区块链上的数据来实现新系统。如果区块链能够用于自动化任务和流程,而不仅仅局限于以加密货币计价的支付,那么将是非常有利的。这类解决方案将能够利用区块链的优势(例如,事件的永久防篡改记录、分布式处理等),同时在所述解决方案的应用中更具通用性。

5、研究的领域之一是使用区块链来实现“智能合约(smart contract)”。这些智能合约是旨在自动执行机器可读合约或协议的条款的计算机程序。与用自然语言编写的传统合约不同,智能合约是一种机器可执行程序,包括可处理输入以产生结果的规则,智能合约可根据这些结果引发待执行的操作。

6、与区块链相关的另一领域是使用“令牌(tokens)”通过区块链来表示和传输现实世界的实体。潜在敏感或机密的项目可以由没有明显意义或价值的令牌来表示。因此,令牌充当允许从区块链引用现实世界的项目的标识符。


技术实现思路

1、衡量基于加密货币的区块链的健康状况的关键要素之一是实际存储区块链的节点数量。区块链根据每秒的事务数量增长。但是随着加密货币变得流行,每秒支付的次数增加了,区块链的增长率也提高了。存储成本变得非常高。

2、因此,一个技术问题是如何重新配置区块链网络,使其适合存储非常大型的区块链。进一步的技术问题是如何在不需要区块链网络上的所有节点都存储如此大型的区块链的情况下实现这一目标。还有一个技术问题是如何重新配置区块链网络,以使专用存储节点可以证明其正在存储这样一个非常大型的区块链的至少一部分。还有另一个技术问题是如何重新配置区块链网络,以激励专用存储节点存储这样一个非常大型的区块链的至少一部分。

3、本专利技术的目的是通过提供本文所述的技术方案来解决这些技术问题。特别地,本说明书描述了一种协议,所述协议(i)允许存储节点因维护公共区块链而获得奖励;和(ii)借助于区块链存储证明(proof-of-blockchain storage,简称pobs)方案来验证所述区块链的完整性。所述协议提供了一种使用挑战-响应方法加密地检查存储在远程服务器上的数据文件是否完整的方法。所述协议免受中间人攻击(man-in-the-middle attack)。恶意对等方不能将所述挑战转移到存储数据的第三方并反馈响应。所述方案也是可公开验证的。

4、本专利技术的实施例可以以多种形式提供。例如,可以提供一种包括计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使一个或多个处理器执行本文所述的方法。还可以提供一种电子设备,所述电子设备包括:接口设备;连接到接口设备的一个或多个处理器;连接到一个或多个处理器的存储器,所述存储器存储了计算机可执行指令,所述计算机可执行指令在被执行时使得所述一个或多个处理器执行本文所述的方法。此外,还可以提供区块链网络的节点,所述节点用于执行本文所述的方法。

本文档来自技高网...

【技术保护点】

1.一种用于区块链网络的网络节点的计算机实现的方法,所述计算机实现的方法包括:

2.根据权利要求1所述的计算机实现的方法,

3.根据权利要求1或2所述的计算机实现的方法,

4.根据权利要求3所述的计算机实现的方法,其中所述挑战前缀消息被提供于区块链事务的不可花费的输出中。

5.根据前述任一权利要求所述的方法,其中所述网络节点与所述存储节点之间存在受信关系。

6.根据权利要求2所述的方法,其中所述加密函数是散列函数。

7.根据权利要求2所述的方法,其中所述加密函数包括区块头与所述一个或多个选定的事务的事务标识符的级联的散列。

8.根据前述任一权利要求所述的方法,其中,所述区块链存储奖励的证明是通过提供与所述区块链事务的所述事务标识符进行级联后的所述区块头的散列来获得的。

9.根据权利要求1所述的计算机实现的方法,

10.根据权利要求1所述的计算机实现的方法,

11.根据前述任一权利要求所述的计算机实现的方法,

12.根据权利要求11所述的计算机实现的方法,

13.一种包括计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使一个或多个处理器执行权利要求1至12中任一项所述的方法。

14.一种电子设备,包括:

15.一种区块链网络的节点,所述节点用于执行权利要求1至12中任一项所述的方法。

...

【技术特征摘要】

1.一种用于区块链网络的网络节点的计算机实现的方法,所述计算机实现的方法包括:

2.根据权利要求1所述的计算机实现的方法,

3.根据权利要求1或2所述的计算机实现的方法,

4.根据权利要求3所述的计算机实现的方法,其中所述挑战前缀消息被提供于区块链事务的不可花费的输出中。

5.根据前述任一权利要求所述的方法,其中所述网络节点与所述存储节点之间存在受信关系。

6.根据权利要求2所述的方法,其中所述加密函数是散列函数。

7.根据权利要求2所述的方法,其中所述加密函数包括区块头与所述一个或多个选定的事务的事务标识符的级联的散列。

8.根据前述任一权利要求所述的...

【专利技术属性】
技术研发人员:朱塞佩·德泰法尼西蒙娜·马代奥帕特里克·莫蒂林斯基史蒂芬·文森特
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:

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

1