与用于串行化算术电路的算术编码有关的计算机实现的方法和系统技术方案

技术编号:26264486 阅读:112 留言:0更新日期:2020-11-06 18:06
可以利用本文描述的技术来实现用于使用诸如算术编码等压缩技术将算术电路无损压缩和串行化为比特流的方法和系统。可以使用算术编码来压缩表示智能合约的算术电路,从而生成压缩的算术电路,与否则需要存储算术电路所需的计算资源相比,可以使用更少的计算资源(例如,数据存储资源)来将该压缩的算术电路存储或广播到区块链网络。基于数据结构中元素的频率(例如,算术运算符类型),可以使用熵编码有效地压缩算术电路。用于解串行化和解压缩的指令也可以被嵌入到比特流中,并且可以用于(例如,由另一计算机系统)以无损方式重建原始电路。

【技术实现步骤摘要】
【国外来华专利技术】与用于串行化算术电路的算术编码有关的计算机实现的方法和系统
本专利技术大体上涉及用于减少算术电路所使用的数据足迹(datafootprint)(例如,当算术电路被存储在磁盘上或存储器中时)的技术,并且更具体地涉及通过利用压缩技术(即,这里描述的算术编码技术)来生成串行化电路的技术。可以以无损方式压缩算术电路以产生串行化电路,该串行化电路可以在以后的时间点被用来完美地再造原始电路。算术电路可以用于产生程序(program),该程序的执行可以被委托给分布式计算环境的一个或多个节点。可以使用协议来确保程序的正确执行,其中,第一计算机系统将程序的执行委托给第二计算机系统。本专利技术特别适合于但不限于在区块链网络中使用。
技术介绍
在本文档中,我们使用术语“区块链”来包括所有形式的电子的基于计算机的分布式账本(ledger)。这些包括基于共识的区块链和交易链技术、许可的和未被许可的账本、共享账本及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币账本。尽管为了方便和说明的目的在本文中可能提及比特币,但是应当注意,本专利技术不限于与比特币区块链一起使用,并且替代的区块链实现和协议落入本专利技术的范围内。术语“比特币”在本文中旨在包括衍生自比特币协议或其变型的任何协议。区块链是一种点对点的电子账本,其被实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易都是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,此外区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经被写入区块链。交易包含嵌入到其输入和输出中的被称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每笔交易有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定脚本和解锁脚本来对未花费的交易输出(unspenttransaction,UTXO)执行该验证工作。如果锁定脚本和解锁脚本的执行评估为真(TRUE),则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,必须:i)由接收交易的第一节点验证该交易–如果交易经过验证,则该节点将其中继到网络中的其他节点;ii)将该交易添加到由矿工建造的新区块中;以及iii)该交易被挖掘,即,被添加到过去交易的公共账本中。尽管区块链技术因使用加密货币实现方式而被广泛了解,但数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者以实现新系统。如果区块链可以用于不限于加密货币领域的自动化任务和过程,那将是非常有利的。这样的方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录、分布式处理等),同时在其应用中具有更多用途。当前研究的一个领域是使用区块链来实现“智能合约”。这些是设计为自动执行机器可读合约或协议条款的计算机程序。与以自然语言编写的传统合约不同,智能合约是一种机器可执行程序,其包括可以处理输入以便产生结果的规则,然后可根据这些结果来促使动作被执行。
技术实现思路
因此,期望实现一种可验证的计算框架(例如,使用比特币网络),在该计算框架中,客户端计算机系统生成被表示为算术电路的智能合约,并使用编码技术(即算术编码)来压缩算术电路,从而生成压缩的算术电路,其可用于减少存储和/或执行智能合约的存储空间需求。进而,该压缩的算术电路可以被广播到区块链网络,并代替未压缩的算术电路而被存储(例如,存储在区块链网络的节点中)。工作者计算机系统可以获取压缩的算术电路并获得智能合约的可执行版本(例如,通过解压缩压缩的算术电路),并根据各种可验证的计算协议代表客户端计算机系统执行智能合约。现在已经设计出这种改进的方案。因此,根据本专利技术,提供了如所附权利要求书限定的系统和方法。根据本专利技术,可以提供一种用于区块链网络的节点的计算机实现的方法,该计算机实现的方法包括:基于表示智能合约的算术电路获得符号集;通过至少以下步骤来减少用于存储算术电路的数据量:将符号集的子集映射到编码值的范围,选择该编码值的范围内的编码值,以及在压缩的算术电路中用编码值来表示符号集的第一子集;以及使压缩的算术电路存储在区块链网络的节点上。优选地,压缩的算术电路包括报头,其中,报头对可用于将符号集的集合映射到编码值的不同范围的信息进行编码—例如,第一符号映射到范围[0-0.3),第二符号映射到范围[0.3,0.7),且第三符号映射到范围[0.7,1)。不同范围可以是非重叠范围,使得特定编码值恰好对应于一个符号或符号集。优选地,编码值是二进制小数(binaryfraction),例如大于或等于零且还小于一的二进制值。编码值可以基于由阈值比特数表示的编码值来选择。例如,在范围内的两个不同的二进制小数之间,可以将利用更少的比特表示的二进制小数选择作为编码值。选择编码值可以包括:将符号集的不同子集映射到编码值的范围的子范围;从编码值的范围的子范围内选择编码值;并且其中,符号的第一子集和第二子集两者都由压缩的算术电路中的编码值表示。该方法还可以包括:基于表示智能合约的算术电路来获得符号集;接收串行化输入文件的请求,该输入文件包括表示算术电路的多行码;扫描所述多行码中的至少一部分,并将符号集中的符号添加到数据结构;并且其中,该符号集是从数据结构获得的。该方法还可以包括:将符号集的符号编码为该符号与该符号集的另一符号之间的差。优选地,该算术电路包括运算符和线(wire)标识符,进一步地,其中,该符号集是运算符,并且该线标识符根据算术编码方案被分别编码。该方法还可以包括:通过解析对算术电路进行编码的文件来获得符号集,以获取对运算符集和针对该运算符集的至少一部分的参数集的标识。优选地,编码值的范围对应于子集以某一模式出现的概率。例如,在两个符号集之间,具有较大出现概率的符号集具有相对而言较大的对应的编码值的范围。优选地,该符号集的子集是一个符号。优选地,压缩的算术电路代替算术电路被广播到区块链网络。优选地,接收压缩的算术电路的区块链网络的节点能够从压缩的算术电路确定算术电路。还期望提供一种系统,该系统包括:处理器;以及包括可执行指令的存储器,该可执行指令由于被处理器执行而促使系统执行要求保护的方法中的任一个。还期望提供一种其上存储有可执行指令的非瞬时性计算机可读存储介质,该可执行指令由于被计算机系统的一个或多个处理器执行而促使计算机系统至少执行要求保护的方法中的任一个。附图说明本专利技术的这些和其他方面将从本文描述的实施例变得显而易见并参考这些实施例而阐明。现在将仅通过示例的方式并参考附图来描述本专利技术的实施例,附图中:图1示出了在本公开的实施例中的本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:/n基于表示智能合约的算术电路来获得符号集;/n通过至少以下步骤来减少用于存储所述算术电路的数据量:/n将符号集的子集映射到编码值范围;/n选择编码值范围内的编码值;以及/n在压缩的算术电路中利用所述编码值来表示所述符号集的第一子集;以及/n使压缩的算术电路被存储在区块链网络的节点上。/n

【技术特征摘要】
【国外来华专利技术】20180327 GB 1804948.6;20180824 GB 1813863.61.一种计算机实现的方法,包括:
基于表示智能合约的算术电路来获得符号集;
通过至少以下步骤来减少用于存储所述算术电路的数据量:
将符号集的子集映射到编码值范围;
选择编码值范围内的编码值;以及
在压缩的算术电路中利用所述编码值来表示所述符号集的第一子集;以及
使压缩的算术电路被存储在区块链网络的节点上。


2.根据前述权利要求中任一项所述的方法,其中,所述压缩的算术电路包括报头编码信息,所述报头编码信息可用于将所述符号集的集合映射到不同的编码值范围。


3.根据前述权利要求中任一项所述的方法,其中,所述编码值是二进制小数。


4.根据前述权利要求中的任一项所述的方法,其中,所述编码值是基于使用阈值比特数可表示的编码值来选择的。


5.根据前述权利要求中任一项所述的方法,其中,选择所述编码值包括:
将符号集的不同子集映射到编码值范围的子范围;
从编码值范围的子范围内选择所述编码值;以及
其中,符号的第一子集和第二子集两者都由压缩的算术电路中的所述编码值来表示。


6.根据前述权利要求中任一项所述的方法,还包括:
基于表示智能合约的算术电路来获得符号集;
接收对输入文件进行串行化的请求,所述输入文件包括表示所述算术电路的多行码;
扫描所述多行码中的至少一部分,并将符号集...

【专利技术属性】
技术研发人员:西尔维娅·巴托鲁奇S·马蒂奥
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

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

1