[发明专利]用于将高级语言代码编译为区块链平台上可执行的脚本的系统和方法在审

专利信息
申请号: 201880045600.6 申请日: 2018-07-05
公开(公告)号: CN110870249A 公开(公告)日: 2020-03-06
发明(设计)人: C·S·赖特;S·萨瓦纳 申请(专利权)人: 区块链控股有限公司
主分类号: H04L9/00 分类号: H04L9/00;G06F8/41
代理公司: 上海晨皓知识产权代理事务所(普通合伙) 31260 代理人: 成丽杰
地址: 安提瓜和巴*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 高级 语言 代码 编译 区块 平台 可执行 脚本 系统 方法
【说明书】:

提供了一种计算机实现的方法(以及相应的系统),其使得能够或便利于在区块链平台上执行以高级语言(HLL)编写的部分源代码。该方法和系统可以包括区块链编译器,其被设置为将一部分高级源代码转换成可以与区块链平台一起使用的形式。这可以是比特币区块链或其他替代方案。该方法可以包括:接收部分源代码作为输入;以及生成包括多个操作码的输出脚本。操作码是功能受限的区块链脚本所固有的操作码的子集。设置和/或生成输出的脚本,以便在执行时,脚本至少部分提供源代码中指定的功能。限制区块链脚本语言,使得其不固有地支持复杂的控制流结构或通过基于跳转的循环或其他递归编程结构进行递归。生成输出脚本的步骤可以包括展开源代码中提供的至少一个循环结构。该方法可以进一步包括提供或使用解释程序或虚拟机,该解释程序或虚拟机被设置为将输出脚本转换成在区块链平台上可执行的形式。

技术领域

本公开总体上涉及分布式账本技术,并且更具体地涉及诸如比特币网络和相关协议之类的区块链技术。本发明还涉及用于转换基于计算机的代码的编译器和与编译器相关的技术。本发明的一个或多个实施方式适于用作如下解决方案,该解决方案使得能够在区块链平台或协议上自动化和执行高级程序和/或便利该自动化和执行,该区块链平台或协议包括功能上受限的基于脚本的语言。

背景技术

在本文中,我们使用术语“区块链”来涵盖所有形式的基于计算机的电子分布式账本技术。这些包括基于共识的区块链和交易链技术、经许可和未经许可的账本、共享账本及其变体。区块链技术最广为人知的应用是比特币账本,尽管已经提出并开发了其他区块链实现方式。尽管出于方便和说明的目的在本文中可以提及比特币,但是应当注意,本发明不限于与比特币区块链一起使用,并且替代的区块链实现方式和协议落入本发明的范围内。术语“用户”在此可以指人类或基于处理器的资源。

区块链是一种点对点的电子账本,其被实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一个数据结构,该数据结构对区块链系统中的参与者之间的数字资产的控制转移进行编码,并包括至少一个输入和至少一个输出。每个区块包含前一个区块的散列,以致于这些区块变为链接在一起,以创建自区块链开始以来就已经写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入其输入和输出中称为脚本的小程序,它们指定如何以及通过谁来访问交易的输出。在比特币平台上,这些脚本是使用称为Script的基于堆栈的脚本语言来编写的。脚本使用通过解释程序转换为可执行代码的命令(操作码)来编写。

为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)进行工作以确保每次交易都有效,而无效交易从网络中被拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本,来对未耗用的交易(UTXO)进行该验证工作。如果锁定和解锁脚本的执行评估为TRUE且可能通过了其他检查,则交易有效并且被写入区块链。因此,为了将交易写入区块链,该交易必须i)由接收交易的第一节点来验证-如果交易被验证,则节点将其中继到网络中的其他节点;ii)被加入由矿工建造的新区块;iii)被挖掘,即加入过去交易的公共账本。

虽然区块链技术最广为人知的地方在于加密货币实现方式的使用,但是数字企业家已经开始探索比特币所基于的加密安全系统以及可以存储在区块链上以实现新系统的数据这两者的使用。如果区块链可用于并不限于加密货币领域的自动化任务和过程,这将是非常有利的。这样的解决方案将能够利用区块链的好处(例如,事件的永久性、防篡改记录,分布式处理等),同时在其应用中更通用。因此,需要对新应用和技术创新更广泛地使用该技术,这就类似于早期使用因特网,随后在基于网络系统的开发方面蓬勃发展那样。

然而,以脚本语言编写程序例如不为更广泛的编程社区直观地容易接受,因为其需要有关于低级编程技术的知识和技巧。其需要程序员考虑堆栈以及其中数据的位置。编写低级操作码组成的程序比以高级语言(HLL)比如C、Java等编写源代码更加耗时且劳动密集。为该HLL构建的编译器/解释程序提供了一个方便的抽象层,该层使得程序员远离与内存管理等有关的更费力的低级问题。编写操作码的序列来操纵一个或更多个堆栈中的数据比以HLL编写源代码技术上更复杂和耗时。因此,由于使用低级操作码的困难性,更容易发生错误和缺陷。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于区块链控股有限公司,未经区块链控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201880045600.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top