CN108647009A - 区块链信息交互的装置、方法和存储介质 - Google Patents
区块链信息交互的装置、方法和存储介质 Download PDFInfo
- Publication number
- CN108647009A CN108647009A CN201810241357.7A CN201810241357A CN108647009A CN 108647009 A CN108647009 A CN 108647009A CN 201810241357 A CN201810241357 A CN 201810241357A CN 108647009 A CN108647009 A CN 108647009A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- block chain
- code
- contract code
- contract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链信息交互的装置、方法和存储介质。该方法包括:中央处理器,用于接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;协处理器,用于响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;中央处理器,还用于获取执行结果,并将执行结果从内核层反馈给应用层的区块链。本发明实施例优化了区块链的信息交互的环境,提升智能合约的执行效率,扩大了适用范围,提高了交易的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链信息交互的装置、方法和存储介质。
背景技术
随着通信技术的发展,区块链由于公开、透明、无法篡改等优点而逐渐被应用于数据处理的应用场景中。区块链可以看作分布式统一账本,由所有参与方共同决定记账内容,每个参与方都保存有全量数据,任何个体参与方无法对数据进行篡改。
区块链作为分布式账本技术的基础,提供了高可靠、去信任的能力,尤其是集成了智能合约的区块链应用开发平台以太坊(Ethereum)的出现,使得区块链技术不仅仅适用于数字货币领域,而且能够在市场的其他各个领域中发挥作用。
申请人经研究发现:现有的区块链信息交互过程中,通常智能合约通过编译会产生一段代码。代码以数字化的形式写入区块链中,以控制信息处理。当区块链接收到需要处理的事务,需要调用智能合约时,智能合约代码会在以太坊虚拟机(EVM)中运行,并返回执行结果。EVM是一个专用于区块链的基于栈的虚拟机,其设计比较简单,但存在如下缺陷:
1、基于栈的设计,区块链信息交互执行的效率较低。比如交换(SWAP)和数据定义(DUP)系列操作,执行效率较低;
2、基于栈的设计,导致了EVM中执行的代码栈的深度有限,区块链信息交互时,容易产生“栈溢出”的问题,给智能合约代码的设计造成了不便,导致适用范围较窄;
3、基于栈的EVM本身是一个软件,其本身可能存在BUG,那么攻击者可以利用该缺陷(BUG)攻击区块链,这会降低区块链的安全性。
目前,区块链中的智能合约运行在EVM中效果不佳。如何优化区块链的信息交互环境,提升智能合约的执行效率、适用范围和安全性,成为亟待解决的技术问题。
发明内容
为了解决区块链信息交互的效率较低、适用范围较窄以及安全性较差的问题,本发明实施例提供了一种区块链信息交互的装置、方法和存储介质。
第一方面,提供了一种区块链信息交互的装置。该装置包括:
中央处理器,用于接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;
协处理器,用于响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;
中央处理器,还用于获取执行结果,并将执行结果从内核层反馈给应用层的区块链。
第二方面,提供了一种区块链信息交互的方法。该方法包括以下步骤:
中央处理器接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;
协处理器响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;
中央处理器获取执行结果,并将执行结果从内核层反馈给应用层的区块链。
第三方面,提供了一种计算机可读存储介质。
该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第四方面,提供了一种包含指令的计算机程序产品。当该产品在计算机上运行时,使得计算机执行上述各方面所述的方法。
第五方面,提供了一种计算机程序。当该计算机程序在计算机上运行时,使得计算机执行上述各方面所述的方法。
上述发明实施例通过中央处理器接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;通过协处理器响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;通过中央处理器获取执行结果,并将执行结果从内核层反馈给应用层的区块链,颠覆了传统的在EVM运行智能合约代码的方式。
一方面,上述发明实施例通过使用专门的协处理器来执行合约代码,利用硬件将执行智能合约代码的功能从虚拟软件的EVM中独立出来,提升了智能合约代码的执行速度,提高了区块链的信息交互效率。
另一方面,通过硬件协处理器来提供智能合约代码的执行环境,且通过内核层的操作系统内核来访问智能合约执行环境,相比直接通过应用层来访问智能合约执行环境,优化区块链的信息交互环境,大幅度提升了信息交互的安全性。
又一方面,通过使用协处理器,利用协处理器中的寄存器可以提供整个协处理器的运行空间,解决了EVM中由于栈溢出所造成的智能合约代码造成的空间限制问题,不仅可以扩大智能合约代码的适应范围,而且可以简化合约代码的设计难度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的区块链信息交互的系统架构示意图;
图2是本发明一实施例的区块链信息交互的装置的结构以及各个层中信息交互的示意图;
图3是本发明实施例的区块链信息交互的方法的流程示意图;
图4是本发明实施例的区块链信息交互的框架示意性框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是可以应用于本发明的区块链信息交互的系统架构示意图。
如图1所示,系统架构可以包括:多个网络节点和网络。其中,每个网络节点可以对应一台服务器。各个网络节点可以通过网络协议连接。每个网络节点均可以运行智能合约。当网络节点进行信息传输和处理时,智能合约通过编译会产生一段代码。代码以数字化的形式写入区块链中,以控制信息传输和处理。区块链可以分为公有链、联盟链、私有链三类。联盟链、私有链等可以统称为许可链。区块链信息交互(如交易)的方式例如可以是,用户A向用户B支付数字货币,该支付处理记录在A节点的区块链中,通过网络共识之后,广播给网络。网络共识可以通过工作量证明PoW(Proof of Work)、权益证明PoS(Proof of Stake)和委托权益证明DPoS(Delegated proof-of-stake)、瑞波共识RCP(Ripple Consensus)及Stellar协议等来实现。
应该理解,图1中的网络节点的数目仅仅是示意性的,根据实现需要,该系统架构可以具有任意数目的网络节点。各个网络节点可以包括但不限于个人电脑、智能手机、平板电脑、个人数字助理、服务器等。下面各实施例均可以应用本实施例的系统架构进行区块链信息交互或者信息处理。
图2是本发明一实施例的区块链信息交互的装置的结构以及各个层中信息交互的示意图。
如图2所示,该装置的硬件层可以包括:中央处理器100和协处理器200。中央处理器100可以包括:合约接口110和合约驱动模块120。协处理器200可以包括:环境接口210和合约执行环境模块220。中央处理器100和协处理器200可以通过总线连接。总线可以包括:PCIe总线、AMBA总线等。
该装置的应用层可以包括:业务层、服务层、智能合约层和底层区块链等。其中,业务层可以运行关于区块链的各个方面业务,如数字货币业务、市场的各个领域的业务等。服务层可以接收底层区块链的业务请求,将智能合约层的智能合约所编译的合约代码通过合约接口110传入内核层。内核层中的合约驱动模块120可以负责与协处理器200上的合约(如智能合约)环境模块220通信。合约执行环境模块220可以获取智能合约代码后执行智能合约代码,并将执行结果通过合约驱动模块120以及合约接口110返回给应用层。由于应用层和内核层各自存在于不同的层,有不同的空间(内核空间和用户空间),二者执行操作的线程也不同,二者无法直接进行信息传输,而本发明实施例通过合约接口110和合约驱动模块实现了应用层和内核层之间的信息传输。
底层区块链可以为许可链。许可链可称为共享认证型区块链(Shared PermissionBlockchain)。其通常会有确定的单位来参与区块链的运行、应用、维护和共识。许可链的运行服务器可定制,其可以增加一些特殊功能的服务器部件(如增加协处理器、中央处理器和区块链信息交互的装置等),来增强许可链的性能,如提高智能合约的执行效率,提高信息交互的安全性,提高信息交互的稳定性。
在该装置中,中央处理器100上可以运行有操作系统(OS),协处理器200上可以运行固件(Firmware)和/或片上系统(SoC)。中央处理器100上应用层和内核层之间的信息交互可以通过合约接口110和合约驱动模块120来传输信息。中央处理器100和协处理器200之间的信息交互可以通过合约驱动模块120和环境接口210来传输信息。
在本实施例中,在设计区块链信息交互的装置时,首先可以设计用于运行智能合约代码的协处理器200,并将其集成到许可链的运行节点(如图1中的网络节点)对应的服务器上。协处理器200可以通过总线与中央处理器100(CPU)相连接,中央处理器100可以通过访问协处理器200和共享内存实现信息通信。在区块链运行的服务器开机过程中,协处理器200会随之启动,运行在协处理器200上的片上系统(System on Chip,SoC)和智能合约运行环境也随之加载并准备就绪。在服务器开机完成之后,运行在内核层的合约驱动模块120就可以加载成功,并可以准备好面向应用层的合约接口110。
在本实施例中,中央处理器100可以用于接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;协处理器200可以用于响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;中央处理器100还可以用于获取执行结果,并将执行结果从内核层反馈给应用层的区块链。
在一些实施例中,合约接口110可以用于响应于应用层中区块链的信息交互的请求,获取区块链中的智能合约所编译生成的智能合约代码的合约地址;合约驱动模块120可以用于根据合约地址,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令。合约驱动模块120还可以用于:根据合约地址,将智能合约代码从应用层拷贝至内核层的内核空间。
由此,上述实施例可以通过在中央处理器中集成合约接口、合约驱动模块,不仅可以使应用层与内核层之间得以自由通信,而且避免了内核层的内核空间与应用层的用户空间的信息混乱的问题,保证了信息安全。
在一些实施例中,环境接口210可以响应于指令(合约驱动模块120发出的指令),获取智能合约代码的合约地址,并根据合约地址获取智能合约代码;合约执行环境模块220以用于为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果。
在一些实施例中,合约执行环境模块220可以包括寄存器。寄存器可以用于根据指定固件(Firmware)和/或操作系统(SoC)执行智能合约代码。其中,Firmware和/或SoC可以是预先固化存储在寄存器中的,或者是在协处理器200启动过程所加载的中央处理器100中的Firmware和/或SoC。Firmware和/或SoC可以集成用于执行智能合约代码的执行环境。中央处理器100和协处理器200均可以包括寄存器和引脚。中央处理器100中的寄存器可以通过引脚向协处理器200中的寄存器传输控制指令。协处理器200中的寄存器可以根据控制指令执行具体的操作。
由此,本实施例利用协处理器中的寄存器可以提供整个协处理器的运行空间,解决了EVM中由于栈溢出所造成的智能合约代码造成的空间限制问题,不仅可以扩大智能合约代码的适应范围,而且可以简化合约代码的设计难度。
在一些实施例中,该装置还可以包括存储器。存储器可以基于内存映射的方式为中央处理器和协处理器共享存储空间。
具体的,在区块链信息交互的装置进行区块链信息交互时,合约接口110可以运行在应用层,其可以负责接收区块链请求,并通过应用层与内核层接口,将编译完成的合约代码地址传输给合约驱动模块120。合约驱动模块120可以运行在内核层,其可以接收应用层合约接口110发送的命令,将智能合约代码从应用层的用户空间拷贝到内核层的内核空间。合约驱动模块120可以通过环境接口210将智能合约代码传输给合约执行环境模块220。合约执行环境模块220在智能合约执行环境中执行智能合约代码,并生成执行结果。该执行结果可以与信息交互的请求相对应。该执行结果例如可以是用户A向用户B发送数字货币。执行结果反馈给合约驱动模块120,合约驱动模块120将执行结果反馈给合约接口110。合约接口110可以将执行结果通知区块链。在执行完成返回结果时,执行结果从内核层的内核空间拷贝到了应用层的用户空间。
运行智能合约代码的协处理器200可以是一种为了智能合约代码的执行专门设计的协处理器,其上可以运行Firmware和/或SoC。协处理器200可以通过系统总线与服务器的中央处理器100相连接,并可以通过内存映射的方式与中央处理器100通信,而不需要进行内存拷贝,从而可以提升智能合约代码的执行效率。
为了解决EVM中区块链信息交互执行的效率较低,智能合约代码适用范围窄的问题,上述发明实施例可以在协处理器200(或者合约执行环境模块220)内使用寄存器,并可以使用智能合约协处理器200上的整个内存空间来执行智能合约代码,其性能和功能比EVM更加强大。
智能合约代码可以是由智能合约编译生成的字节码,其可以存放在区块链上。当需要执行智能合约代码时,可以将智能合约代码拷贝到协处理器200上执行,使其运行在智能合约执行环境中。
上述发明实施例可以在协处理器上运行定制化的Firmware和/或SoC,其中可以集成智能合约执行环境。协处理器可以使用寄存器,其功能也更加强大。通过协处理器、Firmware和SoC,可以将EVM的功能从区块链中独立出来,并使用硬件或者软件实现,从而提升智能合约的执行效率和安全性,其安全性远远高于EVM。
图3是本发明实施例的区块链信息交互的方法的流程示意图。
如图3所示,该方法包括以下步骤:S310,中央处理器接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令;S320,协处理器响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果;S330,中央处理器获取执行结果,并将执行结果从内核层反馈给应用层的区块链。
在一些实施例中,中央处理器接收应用层中的区块链的信息交互的请求,响应于请求,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令(S310)的实现方式可以包括:
S311,中央处理器的合约接口响应于应用层中区块链的信息交互的请求,获取区块链中的智能合约所编译生成的智能合约代码的合约地址;
S312,中央处理器的合约驱动模块根据合约地址,获取区块链中的智能合约所编译生成的智能合约代码,并发出为智能合约代码提供执行环境的指令。
在一些实施例中,该方式还包括:合约驱动模块根据合约地址,将智能合约代码从应用层拷贝至内核层的内核空间。
在一些实施例中,用于响应于指令,获取智能合约代码,为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果(S320)的实现方式可以包括:
S321,协处理器的环境接口响应于指令,获取智能合约代码的合约地址,并根据合约地址获取智能合约代码;
S322,协处理器的合约执行环境模块为智能合约代码提供执行环境,并在执行环境中执行智能合约代码,生成执行结果。
在一些实施例中,该方式还包括:存储器基于内存映射的方式为中央处理器和协处理器共享存储空间。
具体的,区块链信息交互的方法的实现方式可以包括:
在本实施例中,区块链可以为许可链。
S1,在底层区块链需要执行智能合约时,先准备好编译完成的智能合约代码,然后通过合约接口110通知合约驱动模块120;
S2,合约驱动模块120接收到通知之后,对命令做检查,然后更加接口提供的合约代码地址,将合约代码拷贝到内核空间;
S3,合约驱动模块120通知智能合约执行环境,并将合约代码的内存地址发送给协处理器上的智能合约执行环境模块220;
S4,智能合约执行环境模块220通过合约驱动模块120指定的合约代码的地址,获得合约代码,然后执行合约代码;
S5,智能合约执行环境将执行结果存放在内存的某一个地址处,然后通知运行在服务器CPU上的合约驱动模块;
S6,合约驱动模块获取执行结果,将执行结果拷贝到合约接口110,并通知合约接口110;
S7,合约接口110获取执行接口,并返回给底层区块链;
S8,智能合约执行完成。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
需要说明的是,在不冲突的情况下,本领域的技术人员可以按实际需要将上述的操作步骤的顺序进行灵活调整,或者将上述步骤进行灵活组合等操作。为了简明,不再赘述各种实现方式。另外,各实施例的内容可以相互参考引用。
图4是本发明实施例的区块链信息交互的框架示意性框图。
如图4所示,该框架可以包括中央处理器401、协处理器402,这2个处理器通过相互配合,可以根据存储在存储器403中的程序而执行图3实施例所做的各种操作。在存储器403中,可以存储有系统架构操作所需的各种程序和数据。中央处理器401、协处理器402以及存储器403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载,并可以通过存储部分408和/或可拆卸介质411被安装。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (17)
1.一种区块链信息交互的装置,其特征在于,包括:
中央处理器,用于接收应用层中的区块链的信息交互的请求,响应于所述请求,获取所述区块链中的智能合约所编译生成的智能合约代码,并发出为所述智能合约代码提供执行环境的指令;
协处理器,用于响应于所述指令,获取所述智能合约代码,为所述智能合约代码提供所述执行环境,并在所述执行环境中执行所述智能合约代码,生成执行结果;
所述中央处理器,还用于获取所述执行结果,并将所述执行结果从内核层反馈给所述应用层的所述区块链。
2.根据权利要求1所述的装置,其特征在于,所述中央处理器包括:
合约接口,用于响应于所述应用层中区块链的信息交互的请求,获取所述区块链中的所述智能合约所编译生成的智能合约代码的合约地址;
合约驱动模块,用于根据所述合约地址,获取所述区块链中的智能合约所编译生成的智能合约代码,并发出为所述智能合约代码提供执行环境的指令。
3.根据权利要求2所述的装置,其特征在于,所述合约驱动模块还用于:
用于根据所述合约地址,将所述智能合约代码从所述应用层拷贝至所述内核层的内核空间。
4.根据权利要求1所述的装置,其特征在于,所述协处理器包括:
环境接口,响应于所述指令,获取所述智能合约代码的合约地址,并根据所述合约地址获取所述智能合约代码;
合约执行环境模块,用于为所述智能合约代码提供所述执行环境,并在所述执行环境中执行所述智能合约代码,生成执行结果。
5.根据权利要求4所述的装置,其特征在于,所述合约执行环境模块包括:
寄存器,用于根据指定固件和/或操作系统执行所述智能合约代码,其中,所述指定固件和/或所述操作系统是预先固化存储在所述寄存器中的,或者是在所述协处理器启动过程所加载的所述中央处理器中的所述固件和/或所述操作系统。
6.根据权利要求1所述的装置,其特征在于,还包括:
存储器,基于内存映射的方式为所述中央处理器和所述协处理器共享存储空间。
7.根据权利要求1所述的装置,其特征在于,还包括:
总线,用于连接所述中央处理器和所述协处理器。
8.根据权利要求7所述的装置,其特征在于,其中:
所述总线包括:PCIe总线和/或AMBA总线。
9.根据权利要求1-8中任一项所述的装置,其特征在于,其中:
所述区块链为许可链。
10.一种区块链信息交互的方法,其特征在于,包括以下步骤:
中央处理器接收应用层中的区块链的信息交互的请求,响应于所述请求,获取所述区块链中的智能合约所编译生成的智能合约代码,并发出为所述智能合约代码提供执行环境的指令;
协处理器响应于所述指令,获取所述智能合约代码,为所述智能合约代码提供所述执行环境,并在所述执行环境中执行所述智能合约代码,生成执行结果;
所述中央处理器获取所述执行结果,并将所述执行结果从内核层反馈给所述应用层的所述区块链。
11.根据权利要求10所述的方法,其特征在于,中央处理器接收应用层中的区块链的信息交互的请求,响应于所述请求,获取所述区块链中的智能合约所编译生成的智能合约代码,并发出为所述智能合约代码提供执行环境的指令,包括:
所述中央处理器的合约接口响应于所述应用层中区块链的信息交互的请求,获取所述区块链中的所述智能合约所编译生成的智能合约代码的合约地址;
所述中央处理器的合约驱动模块根据所述合约地址,获取所述区块链中的智能合约所编译生成的智能合约代码,并发出为所述智能合约代码提供执行环境的指令。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述合约驱动模块根据所述合约地址,将所述智能合约代码从所述应用层拷贝至所述内核层的内核空间。
13.根据权利要求10所述的方法,其特征在于,用于响应于所述指令,获取所述智能合约代码,为所述智能合约代码提供所述执行环境,并在所述执行环境中执行所述智能合约代码,生成执行结果,包括:
所述协处理器的环境接口响应于所述指令,获取所述智能合约代码的合约地址,并根据所述合约地址获取所述智能合约代码;
所述协处理器的合约执行环境模块为所述智能合约代码提供所述执行环境,并在所述执行环境中执行所述智能合约代码,生成执行结果。
14.根据权利要求13所述的方法,其特征在于,还包括:
寄存器根据指定固件和/或操作系统执行所述智能合约代码,其中,所述指定固件和/或所述操作系统是预先固化存储在所述寄存器中的,或者是在所述协处理器启动过程所加载的所述中央处理器中的所述固件和/或所述操作系统。
15.根据权利要求10所述的方法,其特征在于,还包括:
存储器基于内存映射的方式为所述中央处理器和所述协处理器共享存储空间。
16.根据权利要求10-15中任一项所述的方法,其特征在于,其中:
所述区块链为许可链。
17.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求10-16中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241357.7A CN108647009A (zh) | 2018-03-22 | 2018-03-22 | 区块链信息交互的装置、方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241357.7A CN108647009A (zh) | 2018-03-22 | 2018-03-22 | 区块链信息交互的装置、方法和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108647009A true CN108647009A (zh) | 2018-10-12 |
Family
ID=63744727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810241357.7A Pending CN108647009A (zh) | 2018-03-22 | 2018-03-22 | 区块链信息交互的装置、方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647009A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347643A (zh) * | 2018-11-21 | 2019-02-15 | 海南新软软件有限公司 | 一种基于以太坊的用户中心系统安全的监管方法及装置 |
CN109558115A (zh) * | 2018-10-25 | 2019-04-02 | 深圳市圆世科技有限责任公司 | 一种基于区块链技术的操作系统架构 |
CN109933328A (zh) * | 2019-02-19 | 2019-06-25 | 深圳前海达闼云端智能科技有限公司 | 智能合约的扩展编译方法,区块链节点及系统,存储介质 |
CN110349437A (zh) * | 2019-08-12 | 2019-10-18 | 浙江师范大学 | 一种基于联盟链的停车资源共享管理系统及方法 |
CN110545316A (zh) * | 2019-08-19 | 2019-12-06 | 广州华旻信息科技有限公司 | 基于区块链技术的物联网信息交互装置 |
WO2020119382A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及系统 |
WO2020119387A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易哈希获取方法及系统 |
CN111538521A (zh) * | 2020-04-24 | 2020-08-14 | 中国工商银行股份有限公司 | 智能合约部署、交易方法及装置 |
WO2020199177A1 (zh) * | 2019-04-04 | 2020-10-08 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN111881217A (zh) * | 2020-08-06 | 2020-11-03 | 艾普工华科技(武汉)有限公司 | 一种基于区块链智能合约的工业数据处理方法及系统 |
CN112306496A (zh) * | 2020-10-30 | 2021-02-02 | 深圳前海微众银行股份有限公司 | 区块链运行信息分析方法、装置、设备及计算机存储介质 |
CN112905238A (zh) * | 2021-02-08 | 2021-06-04 | 北京微芯区块链与边缘计算研究院 | 一种区块链智能合约执行器及方法、区块链运行系统 |
CN113240519A (zh) * | 2019-05-30 | 2021-08-10 | 创新先进技术有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN113689293A (zh) * | 2021-08-09 | 2021-11-23 | 深圳前海微众银行股份有限公司 | 一种联盟链中智能合约文件确定方法及装置 |
CN115718922A (zh) * | 2022-11-28 | 2023-02-28 | 暨南大学 | 一种高可用的智能合约字节码重写方法、介质及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794168A (zh) * | 2004-12-21 | 2006-06-28 | 索尼计算机娱乐公司 | 信息处理设备、信息处理方法、半导体器件及计算机程序 |
CN101097559A (zh) * | 2006-06-28 | 2008-01-02 | 中国科学院微电子研究所 | 一种实现主处理器与协处理器接口与互连的系统及方法 |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
CN105991731A (zh) * | 2015-02-13 | 2016-10-05 | 中兴通讯股份有限公司 | 一种获取信息的方法、智能终端和服务端 |
CN106325819A (zh) * | 2015-06-17 | 2017-01-11 | 华为技术有限公司 | 计算机指令处理方法、协处理器和系统 |
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约系统及实现方法 |
US20170279774A1 (en) * | 2016-03-28 | 2017-09-28 | International Business Machines Corporation | Decentralized Autonomous Edge Compute Coordinated by Smart Contract On A Blockchain |
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
-
2018
- 2018-03-22 CN CN201810241357.7A patent/CN108647009A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794168A (zh) * | 2004-12-21 | 2006-06-28 | 索尼计算机娱乐公司 | 信息处理设备、信息处理方法、半导体器件及计算机程序 |
CN101097559A (zh) * | 2006-06-28 | 2008-01-02 | 中国科学院微电子研究所 | 一种实现主处理器与协处理器接口与互连的系统及方法 |
CN103309725A (zh) * | 2013-05-20 | 2013-09-18 | 深圳市京华科讯科技有限公司 | 网络虚拟化处理方法 |
CN105991731A (zh) * | 2015-02-13 | 2016-10-05 | 中兴通讯股份有限公司 | 一种获取信息的方法、智能终端和服务端 |
CN106325819A (zh) * | 2015-06-17 | 2017-01-11 | 华为技术有限公司 | 计算机指令处理方法、协处理器和系统 |
US20170279774A1 (en) * | 2016-03-28 | 2017-09-28 | International Business Machines Corporation | Decentralized Autonomous Edge Compute Coordinated by Smart Contract On A Blockchain |
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约系统及实现方法 |
CN107526624A (zh) * | 2017-07-18 | 2017-12-29 | 杭州趣链科技有限公司 | 一种基于Java虚拟机的智能合约执行引擎 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558115A (zh) * | 2018-10-25 | 2019-04-02 | 深圳市圆世科技有限责任公司 | 一种基于区块链技术的操作系统架构 |
CN109347643A (zh) * | 2018-11-21 | 2019-02-15 | 海南新软软件有限公司 | 一种基于以太坊的用户中心系统安全的监管方法及装置 |
US11321710B2 (en) | 2018-12-12 | 2022-05-03 | Advanced New Technologies Co., Ltd. | Blockchain smart contract-based data processing |
TWI716116B (zh) * | 2018-12-12 | 2021-01-11 | 開曼群島商創新先進技術有限公司 | 基於區塊鏈智慧合約的交易雜湊獲取方法及系統 |
WO2020119382A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及系统 |
WO2020119387A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易哈希获取方法及系统 |
US11258586B2 (en) | 2018-12-12 | 2022-02-22 | Advanced New Technologies Co., Ltd. | Blockchain smart contract-based transaction hash acquisition methods and systems |
CN109933328A (zh) * | 2019-02-19 | 2019-06-25 | 深圳前海达闼云端智能科技有限公司 | 智能合约的扩展编译方法,区块链节点及系统,存储介质 |
WO2020199177A1 (zh) * | 2019-04-04 | 2020-10-08 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN112567414A (zh) * | 2019-04-04 | 2021-03-26 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN113240519A (zh) * | 2019-05-30 | 2021-08-10 | 创新先进技术有限公司 | 基于区块链的智能合约管理方法及装置、电子设备 |
CN110349437B (zh) * | 2019-08-12 | 2021-05-21 | 浙江师范大学 | 一种基于联盟链的停车资源共享管理系统及方法 |
CN110349437A (zh) * | 2019-08-12 | 2019-10-18 | 浙江师范大学 | 一种基于联盟链的停车资源共享管理系统及方法 |
CN110545316A (zh) * | 2019-08-19 | 2019-12-06 | 广州华旻信息科技有限公司 | 基于区块链技术的物联网信息交互装置 |
CN111538521A (zh) * | 2020-04-24 | 2020-08-14 | 中国工商银行股份有限公司 | 智能合约部署、交易方法及装置 |
CN111538521B (zh) * | 2020-04-24 | 2024-02-09 | 中国工商银行股份有限公司 | 智能合约部署、交易方法及装置 |
CN111881217B (zh) * | 2020-08-06 | 2024-04-26 | 艾普工华科技(武汉)有限公司 | 一种基于区块链智能合约的工业数据处理方法及系统 |
CN111881217A (zh) * | 2020-08-06 | 2020-11-03 | 艾普工华科技(武汉)有限公司 | 一种基于区块链智能合约的工业数据处理方法及系统 |
CN112306496A (zh) * | 2020-10-30 | 2021-02-02 | 深圳前海微众银行股份有限公司 | 区块链运行信息分析方法、装置、设备及计算机存储介质 |
CN112905238A (zh) * | 2021-02-08 | 2021-06-04 | 北京微芯区块链与边缘计算研究院 | 一种区块链智能合约执行器及方法、区块链运行系统 |
CN113689293A (zh) * | 2021-08-09 | 2021-11-23 | 深圳前海微众银行股份有限公司 | 一种联盟链中智能合约文件确定方法及装置 |
CN113689293B (zh) * | 2021-08-09 | 2024-02-06 | 深圳前海微众银行股份有限公司 | 一种联盟链中智能合约文件确定方法及装置 |
CN115718922A (zh) * | 2022-11-28 | 2023-02-28 | 暨南大学 | 一种高可用的智能合约字节码重写方法、介质及装置 |
CN115718922B (zh) * | 2022-11-28 | 2023-05-26 | 暨南大学 | 一种高可用的智能合约字节码重写方法、介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647009A (zh) | 区块链信息交互的装置、方法和存储介质 | |
CN103109274B (zh) | 多处理器计算平台中的处理器间通信技术 | |
CN104067265B (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
WO2020125218A1 (zh) | 一种基于区块链的理赔方法和装置 | |
CN109582611A (zh) | 加速器结构 | |
CN107111576A (zh) | 发布的中断架构 | |
EP2856313B1 (en) | Dynamically erectable computer system | |
CN109478161A (zh) | 使用调试容器提供关于生产容器的调试信息 | |
CN108388528A (zh) | 基于硬件的虚拟机通信 | |
US20070239965A1 (en) | Inter-partition communication | |
CN105431827A (zh) | 针对异构多处理器系统中的共享存储区域的动态地址协商 | |
CN104471553B (zh) | 用于共享地址装置的聚合的方法、装置和系统 | |
US20140089538A1 (en) | Managed access to peripherals of a service terminal | |
CN103780655A (zh) | 一种消息传递接口任务和资源调度系统及方法 | |
CN105051682B (zh) | 用于硬件设备的软件接口 | |
WO2020052614A1 (zh) | 资产撮合方法、资产撮合系统、设备和存储介质 | |
CN118505870A (zh) | 使用一个或更多个神经网络生成环境 | |
CN111857669A (zh) | 软硬件解耦合软件化雷达系统、实时性设计方法和服务器 | |
CN105229600B (zh) | 基于能力的设备驱动程序框架 | |
WO2022001808A1 (zh) | 一种系统以及中断处理方法 | |
CN103513984B (zh) | 通过应用程序访问图形处理单元存储器的技术 | |
CN110058946A (zh) | 设备虚拟化方法、装置、设备及存储介质 | |
CN112486807A (zh) | 一种压力测试方法、装置、电子设备和可读存储介质 | |
CN110392053A (zh) | 容器访问控制方法、装置、客户端及服务器 | |
CN109284074A (zh) | 一种基于多核系统的打印驱动方法、多核系统及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181012 |