一种可信构建链上隐私链上交易的计算方法技术

技术编号:28711264 阅读:21 留言:0更新日期:2021-06-06 00:14
本发明专利技术实现一种可信构建链上隐私链上交易的计算方法,本发明专利技术在原有的能链开放许可链节点上,增加了隐私交易执行引擎可包围容器模块。隐私交易虚拟机引擎,提出了一种可信构建链上隐私链上交易的计算方法,来对链上的用户账户和智能合约账户进行隐私交易。账户和智能合约账户进行隐私交易。

【技术实现步骤摘要】
一种可信构建链上隐私链上交易的计算方法


[0001]本专利技术属于能链开放许可链领域,具体涉及基于一种可信构建链上隐私链上交易的计算方法的方法。

技术介绍

[0002]能链开放许可链是由多个分布式节点参与的分布式数据账本,它具有不可篡改、伪造的特点。能链开放许可链由一串通过密码学方法产生的区块构成,每一个区块都包含了上一个区块的哈希值(hash),从创始区块直至到当前区块,形成链条。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信链上交易,这些链上交易可追踪且不可逆转。智能合约概念于1995年由Nick Szabo首次提出。智能合约目前广泛用于数据存证、供应链金融、资产数字化等领域。能链分布式账本是一种在网络成员之间共享、复制和同步的数据库。能链分布式账本记录网络参与者之间的链上交易,比如资产或数据的交换。网络中的参与者根据共识原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构的参与。能链分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有链上交易的可审计历史记录。在一些应用场景下,某些智能合约应用需要只在某些节点上可见,执行,存储。在这种情况下,传统的智能合约虚拟机和存储难以实现相应的功能。

技术实现思路

[0003]为克服现有技术的不足,本专利技术提供一种可信构建链上隐私链上交易的计算方法,为达此目的,本专利技术采用以下技术方案:步骤一,在能链开放许可链中,链上交易执行引擎先将能链开放许可链的链上交易在能链开放许可链中所有的共识节点开始执行,以形成最终的统一能链分布式账本,链上交易执行引擎对WASM智能合约开始运行,运行时支持所有复杂的运算,包括但不限于json数据的解析,隐私链上交易数据结构定义,以及复杂for循环语句,链上交易执行引擎具有图灵完备的计算能力,如果在能链开放许可链中原有的共识节点上,增加可包围容器模块,转到步骤四;步骤二,共识节点包括有节点共识模块、链上交易执行引擎、隐私交易虚拟机引擎、本地文件存储模块;设计可包围容器模块作为一个新的JavaScript库的包管理工具的NPM模块,即将可包围容器模块以NPM模块方式以作为Node包的管理工具,并随同Node包安装用以解决Node包在代码部署上的问题,Node包是基于Chrome V8引擎的JavaScript运行环境,用以对Facebook开源的JavaScript库中的一种库Reactjs库提供友好简易安装;步骤三,能链开放许可链设定特定的链上交易执行引擎和隐私交易虚拟机引擎;隐私交易虚拟机引擎支持栈式虚拟机设计的二进制指令集的WASM智能合约;WASM智能合约设计目标为可供高级语言C、C++、Rust的平台进行编译,用于解决JavaScript性能问题,使用隐私交易虚拟机引擎时,需要智能合约的提供者提前编写相应的C、C++、Rust代码,节点共识模块并将相应的C、C++、Rust代码打包成WASM智能合约的wasm格式的二进制代码,通过链上交易发到所有共识节点中的各方;步骤四,通过隐私交易虚拟
机引擎获得强大的计算功能,隐私交易虚拟机引擎启动时跟随共识节点的启动同时进行,在节点共识模块执行链上交易执行引擎时,共识节点通过引入的头文件,自动找到相应的源文件进行编译链接机制调用将装在虚拟机引擎的可包围容器模块拉起后,后续的调用和链上交易参数的传递同样通过引入的头文件,自动找到相应的源文件进行编译链接机制调用;步骤五,在能链开放许可链中引入隐私链上交易,通过共识节点包括有节点共识模块、链上交易执行引擎、隐私交易虚拟机引擎、虚拟机计算引擎、本地文件存储模块保证执行的可信和计算的隐私,并保护存储和读取的隐私,并保证落地的相关数据不能通过明文的方式进行存储,在隐私交易虚拟机引擎中,可以查询相关的数据;步骤六,本地文件存储模块通过不可信函数的形式对文件进行读取或者查询;步骤七,为实现数据加密存储和读取,在虚拟机计算引擎中单独设定对kv数据库leveldb的存储接口,并对写入kv数据库leveldb的关键字key数据不加密,对值value进行加密与解密,然后基于可包围容器模块生成的非对称加密rsa算法的rsa公钥;在能链开放许可链中,所有的WASM智能合约需要部署执行,并且隐私链上交易智能合约同样需要部署;部署隐私智能合约的地址是隐私链上交易智能合约hash得到,并存储到kv数据库leveldb中;步骤八、隐私链上交易数据结构根据能链开放许可链的链上交易进行改造,隐私链上交易数据结构包含核心数据有:Structures a.链上交易的发送者,Structures Structures b.链上交易的接受者,Structures c.一个签名,签名用来证明发送者有意向通过能链开放许可链向接收者发送消息,Structures d.一个可选的数据域,可选的数据域用来储存发送给合约的消息;步骤九、将隐私智能合约部署链上交易中,将特殊地址“0x1333333333333333333333333333333333333333”作链上交易的接收者地址,链上交易的可选数据域为代码本身,隐私智能合约调用链上交易中,将特殊地址“0x2333333333333333333333333333333333333333”作为链上交易的接受者地址;步骤十、将链上交易的可选数据域设定为调用参数;步骤十一、对隐私链上交易执行结果进行查询;当用户需要隐私链上交易的执行结果时,和查询普通的智能合约链上交易不同,需要用户使用自己的私钥对查询进行签名;步骤十二、在隐私隐私交易虚拟机引擎中,根据链上交易的V,R,S三个字段重构出用户的公钥,V,R,S三个字段中R,S两个字段是椭圆加密算法的输出值,V是用于重构出用户的公钥的结果的恢复ID,验证签名成功后,使用用户的公钥对用户想要的数据进行加密,并将加密的结果通过具有远程过程调用传输协议和编码协议的RPC接口返回给用户;步骤十三、在形成统一的能链分布式账本过程中,链上交易在所有节点的内存中执行,并且写入到每一个节点的链上交易数据库中,最后将链上交易数据库设计为高效的kv数据库用C/C++编程语言实现,并支持十亿级别的数据量,kv数据库是指Key

value数据库,是以键值对存储数据的数据库;链上交易数据库是单进程的服务,性能非常高,链上交易数据库声明使用者应该封装使用者的网络服务器;步骤十四、NPM模块允许用户从NPM模块的服务器下载别人编写的第三方包到本地使用;允许用户从NPM模块的服务器下载并安装别人编写的命令行程序到本地使用;允许用户将自己编写的包或命令行程序上传到NPM模块的服务器供别人使用;并且NPM模块详细记录每个包的信息,包括作者、版本、依赖、授权信息;步骤十五、通过可包围容器模块直接将JavaScript的语法扩展JSX和脚本程序设计语言ECMA2015的代码编译成浏览器可以直接运行的代码,用以简化开发者工作,能链开放许可链中的配置在应用程序的根目录下创建一个可包围容器模块,并且可包围容器模块使用Node包的标准发布平台,通过Node包进行发布传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可信构建链上隐私链上交易的计算方法,其特征在于,包括有:步骤一,在能链开放许可链中,链上交易执行引擎先将所述能链开放许可链的链上交易在所述能链开放许可链中所有的共识节点开始执行,以形成最终的统一能链分布式账本,链上交易执行引擎对WASM智能合约开始运行,运行时支持所有复杂的运算,包括但不限于json数据的解析,隐私链上交易数据结构定义,以及复杂for循环语句,链上交易执行引擎具有图灵完备的计算能力,如果在所述能链开放许可链中原有的共识节点上,增加可包围容器模块,转到步骤四;步骤二,共识节点包括有节点共识模块、链上交易执行引擎、隐私交易虚拟机引擎、本地文件存储模块;设计可包围容器模块作为一个新的JavaScript库的包管理工具的NPM模块,即将可包围容器模块以NPM模块方式以作为Node包的管理工具,并随同Node包安装用以解决Node包在代码部署上的问题,Node包是基于ChromeV8引擎的JavaScript运行环境,用以对Facebook开源的JavaScript库中的一种库Reactjs库提供友好简易安装;步骤三,所述能链开放许可链设定特定的链上交易执行引擎和隐私交易虚拟机引擎;隐私交易虚拟机引擎支持栈式虚拟机设计的二进制指令集的WASM智能合约;WASM智能合约设计目标为可供高级语言C、C++、Rust的平台进行编译,用于解决JavaScript性能问题,使用隐私交易虚拟机引擎时,需要智能合约的提供者提前编写相应的C、C++、Rust代码,节点共识模块并将相应的C、C++、Rust代码打包成WASM智能合约的wasm格式的二进制代码,通过链上交易发到所有共识节点中的各方;步骤四,通过隐私交易虚拟机引擎获得强大的计算功能,隐私交易虚拟机引擎启动时跟随共识节点的启动同时进行,在节点共识模块执行链上交易执行引擎时,共识节点通过引入的头文件,自动找到相应的源文件进行编译链接机制调用将装在虚拟机引擎的可包围容器模块拉起后,后续的调用和链上交易参数的传递同样通过引入的头文件,自动找到相应的源文件进行编译链接机制调用;步骤五,在所述能链开放许可链中引入隐私链上交易,通过共识节点包括有节点共识模块、链上交易执行引擎、隐私交易虚拟机引擎、虚拟机计算引擎、本地文件存储模块保证执行的可信和计算的隐私,并保护存储和读取的隐私,并保证落地的相关数据不能通过明文的方式进行存储,在隐私交易虚拟机引擎中,可以查询相关的数据;步骤六,本地文件存储模块通过不可信函数的形式对文件进行读取或者查询;步骤七,为实现数据加密存储和读取,在虚拟机计算引擎中单独设定对kv数据库leveldb的存储接口,并对写入kv数据库leveldb的关键字key数据不加密,对值value进行加密与解密,然后基于可包围容器模块生成的非对称加密rsa算法的rsa公钥;在所述能链开放许可链中,所有的WASM智能合约需要部署执行,并且隐私链上交易智能合约同样需要部署;部署隐私智能合...

【专利技术属性】
技术研发人员:林乐兰春嘉
申请(专利权)人:上海能链众合科技有限公司
类型:发明
国别省市:

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

1