CN112104606A - 一种基于随机多节点的可信执行方法和系统 - Google Patents

一种基于随机多节点的可信执行方法和系统 Download PDF

Info

Publication number
CN112104606A
CN112104606A CN202010808936.2A CN202010808936A CN112104606A CN 112104606 A CN112104606 A CN 112104606A CN 202010808936 A CN202010808936 A CN 202010808936A CN 112104606 A CN112104606 A CN 112104606A
Authority
CN
China
Prior art keywords
node
execution
request
contract
intelligent 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.)
Granted
Application number
CN202010808936.2A
Other languages
English (en)
Other versions
CN112104606B (zh
Inventor
蔡华谦
朱晓旻
张舒汇
郭京申
舒俊宜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhirong Yunhe Technology Co ltd
Original Assignee
Beijing Zhirong Yunhe Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhirong Yunhe Technology Co ltd filed Critical Beijing Zhirong Yunhe Technology Co ltd
Priority to CN202010808936.2A priority Critical patent/CN112104606B/zh
Publication of CN112104606A publication Critical patent/CN112104606A/zh
Application granted granted Critical
Publication of CN112104606B publication Critical patent/CN112104606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Abstract

本发明实施例提供了一种基于随机多节点的可信执行方法和系统,涉及区块链技术领域,可信执行方法包括智能合约的启动、智能合约的执行以及智能合约执行结果的校验过程,在上述过程中本发明实施例采用基于冗余计算的随机执行模式,通过在一个网络里随机选取多个节点共同执行数据分析逻辑,实现了相对不互信环境下的执行结果的可验证,在保障智能合约的正确性、可用性、可靠性的同时,提升了智能合约的执行效率、降低了智能合约结果的确认时间。

Description

一种基于随机多节点的可信执行方法和系统
技术领域
本发明涉及区块链技术领域,特别是涉及一种基于随机多节点的可信执行方法和一种基于随机多节点的可信执行系统。
背景技术
区块链起源于中本聪的比特币,本质上是通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。它依靠密码学和数学巧妙的分布式算法,在无法建立信任关系的互联网上、无需任何信任中心的情况下,使得参与者达成共识,完成信任与价值的可靠传递。而运行于区块链上的程序,即智能合约,正是通过一种冗余计算的方式提供了可信计算的服务。典型的提供可信计算的区块链平台都是面向金融场景,包括以太坊、超级账本等。可信计算一般包括四个维度:可用性、可靠性、效率和安全性。这些典型的面向金融场景的区块链着重解决了可用性、可靠性和对数字货币交易的安全性,然而,大数据场景对安全性和效率提出了新的要求。
本文所指的大数据场景是指在多种参与者面向各自的需求,在一个去中心的网络中提供数据、分析数据、发挥数据的价值、获得数据的收益。在这个场景下去实现可信计算,会面临着以下两个基本问题:1)数据的安全性。与金融场景的数字货币不同,大数据场景下的数据价值在于数据本身。一旦数据脱离所有者控制,数据使用方就可以任意地复制、处理、传播这些数据,发挥数据的价值,然而数据所有者也就失去了对数据的管控,无法保障自己获得数据的收益。例如:当前大量的个人的数据产生于移动应用的使用过程中。这些数据的生产者,是个人和应用提供商,而存储则分布于个人手机和云端服务器。对于一个普通用户而言,他的数据分散在各个不同的应用提供商之间。当有一个特定的大数据应用需要用到同一个用户的多维的、分散的数据时,就会遇到各个参与者之间的可信问题,即大数据应用如何向用户和数据提供方证明自己的行为是符合预期,不会泄漏数据或将数据二次转手。2)执行效率低。当前的区块链平台智能合约的调用和执行的效率依赖于底层账本的同步效率。由于当前的区块链大多采用全网共识的同步机制,这也使得传统区块链的智能合约执行效率低下,例如比特币每秒约6笔交易、以太坊每秒数十笔交易,难以支撑大规模的数据交换与交易。
要解决大数据场景下的可信计算问题必须应对以下挑战,即分布式环境下的高效可信计算,即如何在分布式、弱信任环境下提升执行效率,同时保证计算逻辑的正确性是面临的首要挑战。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于随机多节点的可信执行方法和一种基于随机多节点的可信执行系统。
依据本发明的一个方面,本发明实施例公开了一种基于随机多节点的可信执行方法,所述方法包括:
智能合约的启动:
预先构建的P2P网络中的任一节点在接收到用户端发送的合约启动请求时,该节点作为主节点启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
所述主节点和所述从节点在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
所述主节点将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端;
智能合约的执行:
所述P2P网络中的任一节点在接收到用户端发送的针对所述智能合约的执行请求时,该节点作为请求节点发起对所述主节点和所有从节点的调用;
所述主节点和所有从节点针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名;
智能合约执行结果的校验:
所述请求节点依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
所述用户端从所述合约校验地址获取所述公钥,并根据公钥对所述执行结果中的签名进行验证。
依据本发明的另一个方面,本发明实施例公开了一种基于随机多节点的可信执行系统,所述系统包括:
智能合约的启动:
随机多点启动模块,配置于主节点中,所述主节点为预先构建的P2P网络中的任一节点,用于在接收到用户端发送的合约启动请求,启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
公私钥生成模块,配置于所述主节点和所述从节点中,用于在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
公钥存证模块,配置于所述主节点中,用于将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端;
智能合约的执行:
节点调用模块,配置于请求节点中,所述请求节点为所述P2P网络中的任一节点,用于在接收到用户端发送的针对所述智能合约的执行请求时,发起对所述主节点和所有从节点的调用;
执行请求执行模块,配置于所述主节点和所有从节点中,用于针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名;
智能合约执行结果的校验:
执行结果返回模块,配置于所述请求节点中,用于依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
公钥获取模块,配置于所述用户端中,用于从所述合约校验地址获取所有的公钥,并根据公钥对所述执行结果中的签名进行验证。
本发明实施例包括以下优点:
本发明实施例将数据生命周期中的各项活动抽象为智能合约的开发、部署(启动)、执行,并对智能合约执行结果进行校验,实现了大数据场景下的可信计算;在此过程中,本发明实施例采用了独特的随机多点执行的模式提升了可信计算过程的吞吐量和执行效率,从而能够更好地支持大数据场景的高并发,高吞吐的数据需求。
附图说明
图1是本发明实施例一种基于随机多节点的可信执行方法的步骤流程图;
图2是本发明实施例对智能合约分类的示意图;
图3是本发明实施例随机多点的智能合约执行示意图;
图4是PBFT算法的示意图;
图5是随机多点的智能合约启动测试示意图;
图6是随机多点的智能合约执行测试示意图;
图7是定序测试结果示意图;
图8是PBFT定序测试统计图;
图9是本发明实施例一种基于随机多节点的可信执行系统的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
针对大数据场景下的可信计算问题,传统的分布式系统一般着重研究如何容忍任意的拜占庭错误。以太坊和其他基于共识的加密货币通过激励机制让作恶者攻击代价远高于收益,从而无利可图,来避免拜占庭错误。本发明实施例面向大数据场景,建立了一套理论和可信计算框架,假设框架系统由多个参与者共同组成一个可信计算网络,包括:数据提供者、节点提供者和数据使用者三种角色,数据使用者通过共同组成的网络来使用数据提供者的数据。同时,假设:(1)存在一个可扩展的、不支持双花的、不可篡改的分布式账本。(2)参与者以“自身利益最大化”的动机参与网络,即数据提供者提供有价值的数据来变现;节点资源提供者通过提供计算和不可篡改的账本来获取分成;大数据应用提供者通过给数据使用者提供数据分析服务获得利益。(3)攻击者是理性的。即攻击者拥有有限的计算资源,是以“利益驱动”去参与到网络中。当无利可图时,攻击者会停止攻击。
本发明实施例的可信计算框架可以帮助数据提供者和数据使用者在无需互相信任的情况下完成数据接入、数据使用的可信管控。主要通过如下创新来应对背景技术中所提出的提到的挑战:1)将数据生命周期中的各项活动抽象为智能合约的开发、部署(启动)、执行,通过在大数据场景下实现智能合约的可信计算;2)智能合约的多种执行模式,在保障了可靠性、可用性的前提下,实现了正确性与效率的权衡,支撑了大数据场景下不同的可信计算需求。
本发明实施例的可信执行框架包括合约引擎和访问控制模块组成。具体地,合约引擎包括:
1、一个支持合约代码执行的智能合约执行器,该执行器一方面能支持数据库、接口等类型的数据源的接入,另一方面支持一门图灵完备的智能合约语言,便于数据提供者编写数据接入合约和大数据应用提供者编写数据处理合约。2、一套基于冗余计算的随机执行模式,通过在一个网络里随机选取多个节点共同执行数据分析逻辑,实现相对不互信环境下的执行结果的可验证。3、一个支持在线编辑的合约编辑器,通过在线编辑器,支持大数据应用提供者、数据提供者按需灵活开发数据接入智能合约和数据处理智能合约。
访问控制模块从两个层面进行访问控制,包括:
一是从用户对智能合约的访问控制,具体由基于图灵完备的语言实现智能合约的灵活自主访问控制和基于角色的智能合约开发的访问控制。二是从智能合约对数据资源、节点资源的访问控制,具体由基于任务的节点资源访问控制和基于属性的数据资源访问控制。
基于上述的合约引擎与访问控制模块,通过将大数据场景下的活动映射为对智能合约的操作,可以实现可信的数据接入与处理。具体映射过程如下表所示。
表1:大数据场景下的活动与智能合约生命周期的映射
Figure BDA0002630202650000051
Figure BDA0002630202650000061
参照图1,示出了本发明实施例一种基于随机多节点的可信执行方法的步骤流程图,该方法可以包括以下步骤:
智能合约的启动:
步骤S101,预先构建的P2P网络中的任一节点在接收到用户端发送的合约启动请求时,该节点作为主节点启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
在本发明实施例中,首先,各个参与者(包括数据提供者、节点提供者、数据使用者)通过P2P网络连接,形成一个网络,网络中的每个节点都对应于一台普通的个人电脑或是虚拟机。数据接入智能合约和数据分析智能合约就运行于这个网络中的节点之上。
合约启动请求的获得方式如下:所述用户端在开发完所述智能合约时,将所述智能合约保存至所述可信分布式账本上,并将所述可信分布式账本返回的哈希值作为所述合约代码地址;所述用户端针对所述合约代码地址,生成所述合约启动请求,并采用自身私钥对所述合约启动请求进行签名。在此过程中,本发明实施例所提及的用户端可理解为数据提供者。
主节点为用户端在P2P网络中随机选择的任意节点,主节点在接收到合约启动请求后,可采用Oracle JavaTMPlatform,Standard Edition 8的java.security.SecureRandom类进行网络节点的随机选取。该算法采用密码学安全伪随机数生成器(Cryptographically secure pseudo-random number generator,通称CSPRNG)。该随机数生成器相较于java.lang.Math.random()采用的线性同余公式,具有额外的伪随机属性,能够保证所选取节点的随机性,具有较高的安全性。选取了多个网络节点,得到了节点列表后,主节点会将合约启动消息分发给节点列表中的所有节点,即本发明实施例所指的从节点。从节点再依据合约启动请求,启动所述智能合约,以此完成了智能合约的部署过程。
由于用户所构造的合约启动请求包括所述智能合约在所述可信分布式账本中的合约代码地址和执行模式,所述执行模式包括单点执行模式或多点执行模式,步骤S101具体实现时,包括以下子步骤:
所述主节点和所述从节点根据所述合约代码地址,按所述执行模式启动所述智能合约。
单节点执行或多节点同步执行根据智能合约运行时的参与节点数量相区别,单点执行模式与多点执行模式适用于不同的场景。下面,根据智能合约的计算状态和是否有外部数据输入与输出的维度可分为如图2所示的四类场景。这里的外部数据是指通过数据库、API、文件等方式接入的数据,这些数据与直接从分布式账本上读取、或是通过调用其他智能合约获取的数据不同:从账本上读取的和智能合约调用来获取的数据可以实现多次获取的相同数据,而通过API调用或是数据库来获取的数据,两次相同的查询可能会返回完全不同的数据。因此,这种外部数据的输入输出会使的智能合约在冗余执行的过程中不一致,对于这一部分的逻辑无法通过多个节点执行并校验来实现返回结果的可验证性,只能通过签名的方式保证数据来源的确定性。对于这四类场景,本发明实施例通过以下机制实现返回结果的正确性保障:
无状态、无外部数据输入输出的智能合约可能是部分数据使用者发布的用于提供函数即服务的数据分析合约,便于其他数据使用者复用其算法。这些智能合约由于无状态、无输入输出的状态,只需要保证各个节点所执行的代码一致,即可实现多节点执行校验,保证输出结果的正确性。
无状态、有外部数据输入输出的智能合约则可能是数据提供者发布的数据接入合约。对这一类有输入、输出的合约,输入数据的正确性无法通过多点校验的方式实现,因此,本发明实施例通过对返回结果签名的形式来保证结果来源的可验证性。
对于有状态、无外部数据输入输出的智能合约可能是部分数据使用者发布的数据分析合约,分析的数据来源可以是通过合约调用获取的数据提供者的数据。对于这种类型的智能合约,它可以通过多节点执行模式来保障合约逻辑执行的正确性,但是需要实现“多节点”间的状态同步。本发明实施例使用典型的拜占庭容错定序算法来确定多节点合约执行顺序。
对于有状态、有外部数据输入输出的智能合约则可通过较简单的代码重构的方式拆分为两个智能合约:将涉及外部输入输出的逻辑写为一个“数据接入合约”,而剩下的有状态的代码逻辑通过这个“数据接入合约”以合约调用的方式完成数据的输入输出。经过重构这后,“数据接入合约”可以实现冗余执行。
步骤S102,所述主节点和所述从节点在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
步骤S103,所述主节点将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端。
在本发明实施例中,为了便于智能合约的调用,通过数字对象体系等标识与解析技术可以对合约地址进行分布式的标识和解析。其中合约的调用地址就是一个标识,而该标识保存了合约校验地址等信息。这个标识解析系统可视为账本数据的一个高速缓存,可提升合约寻址的效率。
智能合约的执行:
步骤S104,所述P2P网络中的任一节点在接收到用户端发送的针对所述智能合约的执行请求时,该节点作为请求节点发起对所述主节点和所有从节点的调用;
步骤S105,所述主节点和所有从节点针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名。
在本发明实施例中,随机多点的智能合约启动后,P2P网络中的任意节点均可作为请求节点接收用户的执行请求,发起多点的智能合约调用,并校验结果,将结果返回给用户。参照图3,示出了随机多点的智能合约执行示意图,通过这种方式,可在实现智能合约高并发和高可用性的基础上提升智能合约的执行效率,从而能够更好地支持大数据场景的高并发,高吞吐的数据需求。
如前文所述,对于随机多点的智能合约,其执行流程根据智能合约有无计算状态而有所不同。实际执行时,步骤S105可以包括以下执行方式:
当所述智能合约无计算状态时,所述主节点和所有从节点在执行所述执行请求时,直接执行所述智能合约的逻辑,向所述请求节点返回相应的执行结果;
当所述智能合约有计算状态时,所述主节点和所有从节点在执行所述执行请求时,保持相互之间的合约状态的同步、合约执行顺序的同步、合约输入数据的同步以及合约输出数据的同步,向所述请求节点返回相应的执行结果。
其中,所谓有计算状态是指该智能合约的执行结果不仅与该次执行的输入参数有关,还可能与执行时间、此前执行、外部数据等有关,也就是说该合约可能含有全局变量、动态的外部数据等状态数据。反之,所谓无状态是指该智能合约的执行结果仅与该次执行的输入参数有关,与执行时间、此前执行、外部数据等无关,也就是说,该合约不含有全局变量、动态的外部数据等状态数据。因此,在不同状态下执行会获得不同的结果。
其中,保持合约状态的同步是指主节点和所有从节点同步执行该执行请求。
针对所述合约执行顺序的同步,本发明实施例的请求节点针对所接收到的执行请求,采用实用拜占庭容错PBFT算法对所述执行请求进行定序,以保证所述主节点和所有从节点采用同样的顺序依次执行所有的执行请求。
PBFT是一种状态机副本复制算法,所有的副本在一个视图(view)轮换的过程中操作,主节点通过视图编号以及节点数集合来确定:
p=v mod|R|式(1);
其中v为视图编号,|R|为节点个数,p为主节点编号。在一个视图内,PBFT算法的流程如图4所示,在该PBFT算法中,每个执行请求会经历如下的阶段:
请求REQUEST:所述用户端向所述请求节点发送执行请求;
预先准备PRE-PREPARE:所述请求节点为所述执行请求分配序列号,并向所述主节点和所有从节点广播PRE-PREPARE请求;
已准备PREPARE:所述主节点和所有从节点接收PRE-PREPARE请求后,验证PRE-PREPARE请求的正确性,若验证无误则广播PREPARE消息,并将PRE-PREPARE请求和PREPARE消息记录到本地日志中;
存储COMMIT:若所述主节点和所有从节点接收到多于2f+1个与自己一致且有效的PREPARE消息,则确定定序成功,在本地依次执行已定序的智能合约的执行请求,并将执行结果通过自身私钥签名后发送给所述请求节点;
答复REPLY:所述主节点和所有从节点在接收到2f+1个一致且有效的COMMIT消息后,在本地执行所述执行请求,并将REPLY消息通过所述请求节点发送给所述用户端;所述用户端用于在接收到f+1个不同节点一致且有效的REPLY消息时,对所述请求节点返回的执行结果进行确认。
所述智能合约为多个,针对合约输入数据的同步和所述合约输出数据的同步,本发明实施例提供了以下方法:
所述请求节点针对所述执行请求,在相应的智能合约中将冗余的调用去重,以保证只产生一次外部输入、输出。从而可以保证所有随机节点(主节点和所有从节点)使用相同的数据,也避免了数据冗余读写的问题。
智能合约执行结果的校验:
步骤S106,所述请求节点依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
步骤S107,所述用户端从所述合约校验地址获取所述公钥,并根据公钥对所述执行结果中的签名进行验证。
为了满足大数据时代高并发,高吞吐的数据需求,本发明实施例的可信合约引擎在保持较高的安全性和可靠性的前提下,采用了随机多点的智能合约执行模式来提高执行效率,所选取的节点数可由用户根据需求进行配置。为进一步满足对于正确性和执行效率这两个互斥因素的权衡,本随机多点的智能合约执行模式还采用了可配置的执行结果统计策略,来满足不同类型合约及不同需求用户的特定要求。
该结果统计策略分为为ALL、MOST或FIRST,所述请求节点依据预先设置的结果统计策略,将所述执行结果返回给所述用户端,包括:
ALL,等待所述主节点和所有从节点的执行结果均返回后,所述请求节点将所述执行结果返回给所述用户端,并附上所述主节点和所有从节点的公钥缩写;
MOST,当所述请求节点接收到所述主节点和所有从节点中大于半数的节点的执行结果后,将所述执行结果返回给所述用户端,并附上已返回执行结果的节点的公钥缩写;
FIRST,当所述请求节点接收到所述主节点和所有从节点中的第一个节点返回的执行结果后,将所述执行结果返回给所述用户端,并附上该节点的公钥缩写。
用户端接收到执行结果后,可通过公钥缩写从所述合约校验地址获取相应的公钥,由于公私钥中的私钥仅该节点拥有,用于数据签名;而公钥所有节点都拥有,用于校验数据的可信性。因此,节点不能伪装其它节点发送消息从而干扰结果的统计,以此在保障执行效率的同时,能实现相对不互信环境下的执行结果的可验证。
效果评估:
为了评估随机多点的智能合约的效率,本发明实施例对单点智能合约、随机1节点智能合约、随机4节点智能合约的运行速度进行测试。采用的合约包括简单的数据分析合约、Http访问合约、数据库访问合约、事件发布合约、事件订阅合约、合约调用合约、复杂数据处理合约等各种类型的合约共12种。测试使用Apache Jmeter工具,发送HTTP请求,接受到有效结果后记录其用时。
(一)、随机多点的智能合约启动测试
分别测试以下情况的智能合约启动速度(单位:毫秒):
向同一节点发送12个不同的单点智能合约启动请求;
向同一节点发送12个不同的随机1节点智能合约启动请求;
向同一节点发送12个不同的随机4节点智能合约启动请求;
随机向4个节点共发送12个不同的随机4节点智能合约启动请求。
测试结果参照图5,从上图中可以看出,相较单点执行模式的智能合约,随机多点的智能合约启动速度有少量下降,但下降幅不明显。且随机多点的智能合约随节点数目上升,启动速度的变化不大。
(二)、随机多点的智能合约执行测试
分别测试以下情况的智能合约启动速度(单位:ms):
·并发向同一节点发送48个不同的单点智能合约执行请求;
·并发向同一节点发送48个不同的随机1节点智能合约启动请求;
·并发向随机节点发送12个不同的随机4节点智能合约启动请求,共48个进程,结果校验模式为“ALL”;
·并发向随机节点发送12个不同的随机4节点智能合约启动请求,共48个进程,结果校验模式为“MOST”;
·并发向随机节点发送12个不同的随机4节点智能合约启动请求,共48个进程,结果校验模式为“FIRST”;
所有结果的统计柱状图如图6所示,观察测试数据,可以看出,单点智能合约执行最快,平均只需78ms即可完成;随机多点的智能合约执行速度明显下降,平均需要800ms完成,但仍在用户可以接受的范围内。结果校验模式的切换在各节点均能正常工作的情况下影响不大,更多受到随机性的影响。
(三)、定序算法测试
同样使用4节点组成的集群,基于UDP通信协议对PBFT在节点间定序的速度进行了测试(单位:ms)。测试使用并发地向4个节点分别发送50笔定序请求,即共200笔请求。定序测试结果和PBFT定序测试统计图分别参照图7、图8。经测试,总响应时间为2.166s,平均响应时间为0.232s,事务定序并返回定序结果总时间为2.559s。
综上结果表明,本发明实施例的可信执行效率可达到秒级别的确认时间和秒级别的响应时间。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图9,示出了本发明实施例一种基于随机多节点的可信执行系统的结构示意图,所述系统可以包括以下模块:
智能合约的启动:
随机多点启动模块901,配置于主节点中,所述主节点为预先构建的P2P网络中的任一节点,用于在接收到用户端发送的合约启动请求,启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
公私钥生成模块902,配置于所述主节点和所述从节点中,用于在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
公钥存证模块903,配置于所述主节点中,用于将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端;
智能合约的执行:
节点调用模块904,配置于请求节点中,所述请求节点为所述P2P网络中的任一节点,用于在接收到用户端发送的针对所述智能合约的执行请求时,发起对所述主节点和所有从节点的调用;
执行请求执行模块905,配置于所述主节点和所有从节点中,用于针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名;
智能合约执行结果的校验:
执行结果返回模块906,配置于所述请求节点中,用于依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
公钥获取模块907,配置于所述用户端中,用于从所述合约校验地址获取所有的公钥,并根据公钥对所述执行结果中的签名进行验证。
在本发明一可选实施例中,所述合约启动请求包括所述智能合约在所述可信分布式账本中的合约代码地址和执行模式,所述执行模式包括指定单节点执行或多节点同步执行,所述系统还包括:
智能合约保存模块,配置于所述用户端中,用于在开发完所述智能合约时,将所述智能合约保存至所述可信分布式账本上,并将所述可信分布式账本返回的哈希值作为所述合约代码地址;
合约启动请求生成模块,配置于所述用户端中,用于针对所述合约代码地址,生成所述合约启动请求,并采用自身私钥对所述合约启动请求进行签名;
所述随机多点启动模块901,包括:
合约启动执行子模块,配置于所述主节点和所述从节点中,用于根据所述合约代码地址,按所述执行模式启动所述智能合约。
在本发明一可选实施例中,所述智能合约为多个,
所述执行请求执行模块905,包括:
合约逻辑执行子模块,用于在所述智能合约无计算状态时,在执行所述执行请求时,直接执行所述智能合约的逻辑,向所述请求节点返回相应的执行结果;
合约同步子模块,用于当所述智能合约有计算状态时,在执行所述执行请求时,保持相互之间的合约状态的同步、合约执行顺序的同步、合约输入数据的同步以及合约输出数据的同步,向所述请求节点返回相应的执行结果。
在本发明一可选实施例中,针对所述合约执行顺序的同步,所述系统还包括:
执行请求定序模块,配置于所述请求节点中,用于针对所接收到的执行请求,采用实用拜占庭容错PBFT算法对所述执行请求进行定序,以保证所述主节点和所有从节点采用同样的顺序依次执行所有的执行请求;
其中,在所述PBFT算法中,每个执行请求会经历如下的阶段:
请求REQUEST:所述用户端向所述请求节点发送执行请求;
预先准备PRE-PREPARE:所述请求节点为所述执行请求分配序列号,并向所述主节点和所有从节点广播PRE-PREPARE请求;
已准备PREPARE:所述主节点和所有从节点接收PRE-PREPARE请求后,验证PRE-PREPARE请求的正确性,若验证无误则广播PREPARE消息,并将PRE-PREPARE请求和PREPARE消息记录到本地日志中;
存储COMMIT:若所述主节点和所有从节点接收到多于2f+1个与自己一致且有效的PREPARE消息,则确定定序成功,在本地依次执行已定序的智能合约的执行请求,并将执行结果通过自身私钥签名后发送给所述请求节点;
答复REPLY:所述主节点和所有从节点在接收到2f+1个一致且有效的COMMIT消息后,在本地执行所述执行请求,并将REPLY消息通过所述请求节点发送给所述用户端;所述用户端用于在接收到f+1个不同节点一致且有效的REPLY消息时,对所述请求节点返回的执行结果进行确认。
在本发明一可选实施例中,所述智能合约为多个,针对合约输入数据的同步和所述合约输出数据的同步,所述系统还包括以下模块:
合约调用去重模块,配置于所述请求节点中,用于针对所述执行请求,在相应的智能合约中将冗余的调用去重,以保证只产生一次外部输入、输出。
在本发明一可选实施例中,所述结果统计策略为ALL、MOST或FIRST,所述执行结果返回模块906,包括:
第一返回方式子模块,配置于所述请求节点中,用于在结果统计策略为ALL时,等待所述主节点和所有从节点的执行结果均返回后,将所述执行结果返回给所述用户端,并附上所述主节点和所有从节点的公钥缩写;
第二返回方式子模块,配置于所述请求节点中,用于在结果统计策略为MOST时,在接收到所述主节点和所有从节点中大于半数的节点的执行结果后,将所述执行结果返回给所述用户端,并附上已返回执行结果的节点的公钥缩写;
第三返回方式子模块,配置于所述请求节点中,用于在结果统计策略为FIRST,在接收到所述主节点和所有从节点中的第一个节点返回的执行结果后,将所述执行结果返回给所述用户端,并附上该节点的公钥缩写。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于随机多节点的可信执行方法和一种基于随机多节点的可信执行系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于随机多节点的可信执行方法,其特征在于,所述方法包括:
智能合约的启动:
预先构建的P2P网络中的任一节点在接收到用户端发送的合约启动请求时,该节点作为主节点启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
所述主节点和所述从节点在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
所述主节点将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端;
智能合约的执行:
所述P2P网络中的任一节点在接收到用户端发送的针对所述智能合约的执行请求时,该节点作为请求节点发起对所述主节点和所有从节点的调用;
所述主节点和所有从节点针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名;
智能合约执行结果的校验:
所述请求节点依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
所述用户端从所述合约校验地址获取所述公钥,并根据公钥对所述执行结果中的签名进行验证。
2.根据权利要求1所述的方法,其特征在于,所述合约启动请求包括所述智能合约在所述可信分布式账本中的合约代码地址和执行模式,所述执行模式包括单点执行模式或多点执行模式,所述方法还包括:
所述用户端在开发完所述智能合约时,将所述智能合约保存至所述可信分布式账本上,并将所述可信分布式账本返回的哈希值作为所述合约代码地址;
所述用户端针对所述合约代码地址,生成所述合约启动请求,并采用自身私钥对所述合约启动请求进行签名;
预先构建的P2P网络中的任一节点在接收到用户端发送的合约启动请求时,该节点作为主节点启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中,包括:
所述主节点和所述从节点根据所述合约代码地址,按所述执行模式启动所述智能合约。
3.根据权利要求1所述的方法,其特征在于,所述主节点和所有从节点针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名,包括:
当所述智能合约无计算状态时,所述主节点和所有从节点在执行所述执行请求时,直接执行所述智能合约的逻辑,向所述请求节点返回相应的执行结果;
当所述智能合约有计算状态时,所述主节点和所有从节点在执行所述执行请求时,保持相互之间的合约状态的同步、合约执行顺序的同步、合约输入数据的同步以及合约输出数据的同步,向所述请求节点返回相应的执行结果。
4.根据权利要求3所述的方法,其特征在于,针对所述合约执行顺序的同步,所述方法还包括:
所述请求节点针对所接收到的执行请求,采用实用拜占庭容错PBFT算法对所述执行请求进行定序,以保证所述主节点和所有从节点采用同样的顺序依次执行所有的执行请求;
其中,在所述PBFT算法中,每个执行请求会经历如下的阶段:
请求REQUEST:所述用户端向所述请求节点发送执行请求;
预先准备PRE-PREPARE:所述请求节点为所述执行请求分配序列号,并向所述主节点和所有从节点广播PRE-PREPARE请求;
已准备PREPARE:所述主节点和所有从节点接收PRE-PREPARE请求后,验证PRE-PREPARE请求的正确性,若验证无误则广播PREPARE消息,并将PRE-PREPARE请求和PREPARE消息记录到本地日志中;
存储COMMIT:若所述主节点和所有从节点接收到多于2f+1个与自己一致且有效的PREPARE消息,则确定定序成功,在本地依次执行已定序的智能合约的执行请求,并将执行结果通过自身私钥签名后发送给所述请求节点;
答复REPLY:所述主节点和所有从节点在接收到2f+1个一致且有效的COMMIT消息后,在本地执行所述执行请求,并将REPLY消息通过所述请求节点发送给所述用户端;所述用户端用于在接收到f+1个不同节点一致且有效的REPLY消息时,对所述请求节点返回的执行结果进行确认。
5.根据权利要求3所述的方法,其特征在于,所述智能合约为多个,针对合约输入数据的同步和所述合约输出数据的同步,所述方法还包括:
所述请求节点针对所述执行请求,在相应的智能合约中将冗余的调用去重,以保证只产生一次外部输入、输出。
6.根据权利要求1所述的方法,其特征在于,所述结果统计策略为ALL、MOST或FIRST,所述请求节点依据预先设置的结果统计策略,将所述执行结果返回给所述用户端,包括:
ALL,等待所述主节点和所有从节点的执行结果均返回后,所述请求节点将所述执行结果返回给所述用户端,并附上所述主节点和所有从节点的公钥缩写;
MOST,当所述请求节点接收到所述主节点和所有从节点中大于半数的节点的执行结果后,将所述执行结果返回给所述用户端,并附上已返回执行结果的节点的公钥缩写;
FIRST,当所述请求节点接收到所述主节点和所有从节点中的第一个节点返回的执行结果后,将所述执行结果返回给所述用户端,并附上该节点的公钥缩写。
7.一种基于随机多节点的可信执行系统,其特征在于,所述系统包括:
智能合约的启动:
随机多点启动模块,配置于主节点中,所述主节点为预先构建的P2P网络中的任一节点,用于在接收到用户端发送的合约启动请求,启动所述智能合约,并在所述P2P网络中随机选择多个从节点,以使所述从节点启动所述智能合约,其中,所述智能合约存储于预先设置的可信分布式账本中;
公私钥生成模块,配置于所述主节点和所述从节点中,用于在启动所述智能合约后,生成一组公私钥;其中,所述从节点将所述公私钥中的公钥返回给所述主节点,将所述公私钥中的私钥存储在本地;
公钥存证模块,配置于所述主节点中,用于将所有从节点返回的公钥与所述智能合约的元信息存证到所述可信分布式账本中,并将所述可信分布式账本返回的哈希值作为合约校验地址返回给所述用户端;
智能合约的执行:
节点调用模块,配置于请求节点中,所述请求节点为所述P2P网络中的任一节点,用于在接收到用户端发送的针对所述智能合约的执行请求时,发起对所述主节点和所有从节点的调用;
执行请求执行模块,配置于所述主节点和所有从节点中,用于针对该调用执行所述执行请求,并根据所述智能合约的状态向所述请求节点返回相应的执行结果,所述执行结果包括所述主节点和所述从节点的基于自身私钥的签名;
智能合约执行结果的校验:
执行结果返回模块,配置于所述请求节点中,用于依据预先设置的结果统计策略,将所述执行结果返回给所述用户端;
公钥获取模块,配置于所述用户端中,用于从所述合约校验地址获取所有的公钥,并根据公钥对所述执行结果中的签名进行验证。
8.根据权利要求7所述的系统,其特征在于,所述合约启动请求包括所述智能合约在所述可信分布式账本中的合约代码地址和执行模式,所述执行模式包括单点执行模式或多点执行模式,所述系统还包括:
智能合约保存模块,配置于所述用户端中,用于在开发完所述智能合约时,将所述智能合约保存至所述可信分布式账本上,并将所述可信分布式账本返回的哈希值作为所述合约代码地址;
合约启动请求生成模块,配置于所述用户端中,用于针对所述合约代码地址,生成所述合约启动请求,并采用自身私钥对所述合约启动请求进行签名;
所述随机多点启动模块,包括:
合约启动执行子模块,配置于所述主节点和所述从节点中,用于根据所述合约代码地址,按所述执行模式启动所述智能合约。
9.根据权利要求7所述的系统,其特征在于,所述执行请求执行模块,包括:
合约逻辑执行子模块,用于在所述智能合约无计算状态时,在执行所述执行请求时,直接执行所述智能合约的逻辑,向所述请求节点返回相应的执行结果;
合约同步子模块,用于当所述智能合约有计算状态时,在执行所述执行请求时,保持相互之间的合约状态的同步、合约执行顺序的同步、合约输入数据的同步以及合约输出数据的同步,向所述请求节点返回相应的执行结果。
10.根据权利要求9所述的系统,其特征在于,针对所述合约执行顺序的同步,所述系统还包括:
执行请求定序模块,配置于所述请求节点中,用于针对所接收到的执行请求,采用实用拜占庭容错PBFT算法对所述执行请求进行定序,以保证所述主节点和所有从节点采用同样的顺序依次执行所有的执行请求;
其中,在所述PBFT算法中,每个执行请求会经历如下的阶段:
请求REQUEST:所述用户端向所述请求节点发送执行请求;
预先准备PRE-PREPARE:所述请求节点为所述执行请求分配序列号,并向所述主节点和所有从节点广播PRE-PREPARE请求;
已准备PREPARE:所述主节点和所有从节点接收PRE-PREPARE请求后,验证PRE-PREPARE请求的正确性,若验证无误则广播PREPARE消息,并将PRE-PREPARE请求和PREPARE消息记录到本地日志中;
存储COMMIT:若所述主节点和所有从节点接收到多于2f+1个与自己一致且有效的PREPARE消息,则确定定序成功,在本地依次执行已定序的智能合约的执行请求,并将执行结果通过自身私钥签名后发送给所述请求节点;
答复REPLY:所述主节点和所有从节点在接收到2f+1个一致且有效的COMMIT消息后,在本地执行所述执行请求,并将REPLY消息通过所述请求节点发送给所述用户端;所述用户端用于在接收到f+1个不同节点一致且有效的REPLY消息时,对所述请求节点返回的执行结果进行确认。
CN202010808936.2A 2020-08-12 2020-08-12 一种基于随机多节点的可信执行方法和系统 Active CN112104606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010808936.2A CN112104606B (zh) 2020-08-12 2020-08-12 一种基于随机多节点的可信执行方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010808936.2A CN112104606B (zh) 2020-08-12 2020-08-12 一种基于随机多节点的可信执行方法和系统

Publications (2)

Publication Number Publication Date
CN112104606A true CN112104606A (zh) 2020-12-18
CN112104606B CN112104606B (zh) 2022-06-17

Family

ID=73752824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010808936.2A Active CN112104606B (zh) 2020-08-12 2020-08-12 一种基于随机多节点的可信执行方法和系统

Country Status (1)

Country Link
CN (1) CN112104606B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN109067759A (zh) * 2018-08-27 2018-12-21 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
WO2019072303A2 (en) * 2018-12-28 2019-04-18 Alibaba Group Holding Limited EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAINS NETWORK
WO2019101228A2 (en) * 2019-03-01 2019-05-31 Alibaba Group Holding Limited Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain
CN109981679A (zh) * 2019-04-08 2019-07-05 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
CN110675153A (zh) * 2019-10-10 2020-01-10 北京京东振世信息技术有限公司 基于区块链的数据校验方法及装置、存储介质及电子设备
CN110956463A (zh) * 2019-10-28 2020-04-03 北京大学 基于可扩展分布式查询系统的可信存证方法与系统
CN110992178A (zh) * 2019-10-30 2020-04-10 链农(深圳)信息科技有限公司 区块链节点的验证方法、装置、计算机设备及存储介质
CN111095256A (zh) * 2019-04-26 2020-05-01 阿里巴巴集团控股有限公司 在可信执行环境中安全地执行智能合约操作
US10693630B1 (en) * 2018-04-03 2020-06-23 Alibaba Group Holding Limited Cross-blockchain interaction method, apparatus, system, and electronic device
CN111506901A (zh) * 2020-04-16 2020-08-07 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、终端及存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10693630B1 (en) * 2018-04-03 2020-06-23 Alibaba Group Holding Limited Cross-blockchain interaction method, apparatus, system, and electronic device
CN108769173A (zh) * 2018-05-21 2018-11-06 阿里体育有限公司 运行智能合约的区块链实现方法及设备
CN109067759A (zh) * 2018-08-27 2018-12-21 深圳前海益链网络科技有限公司 一种智能合约调用单点执行系统
WO2019072303A2 (en) * 2018-12-28 2019-04-18 Alibaba Group Holding Limited EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAINS NETWORK
WO2019101228A2 (en) * 2019-03-01 2019-05-31 Alibaba Group Holding Limited Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain
CN109981679A (zh) * 2019-04-08 2019-07-05 上海点融信息科技有限责任公司 在区块链网络中执行事务的方法和装置
CN111095256A (zh) * 2019-04-26 2020-05-01 阿里巴巴集团控股有限公司 在可信执行环境中安全地执行智能合约操作
CN110675153A (zh) * 2019-10-10 2020-01-10 北京京东振世信息技术有限公司 基于区块链的数据校验方法及装置、存储介质及电子设备
CN110956463A (zh) * 2019-10-28 2020-04-03 北京大学 基于可扩展分布式查询系统的可信存证方法与系统
CN110992178A (zh) * 2019-10-30 2020-04-10 链农(深圳)信息科技有限公司 区块链节点的验证方法、装置、计算机设备及存储介质
CN111506901A (zh) * 2020-04-16 2020-08-07 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、终端及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DONGXING LI,WEI PENG,WENPING DENG,FANGYU GAI: "A blockchain-Based Authentication and Security Mechanism for IOT", 《IEEE》 *
周畅,陆慧梅,向勇,吴竞邦: "区块链在车载自组网中的应用研究及展望", 《计算机科学》 *
李剑锋: "基于拜占庭容错机制的区块链共识算法研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN112104606B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
US11429617B2 (en) System and method for blockchain-based data synchronization
CN109325855B (zh) 区块链网络、部署方法及存储介质
CN109191124B (zh) 区块链网络、部署方法及存储介质
CN109218079B (zh) 一种区块链网络、部署方法及存储介质
CN109325854B (zh) 区块链网络、部署方法及存储介质
Carrara et al. Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking
CN109495592B (zh) 数据协同方法及电子设备
Almeida et al. ChainReaction: a causal+ consistent datastore based on chain replication
CN112118107B (zh) 一种实现数据可信的自适应执行方法
CN111294379B (zh) 区块链网络服务平台及其权限托管方法、存储介质
CN111988203B (zh) 节点选举方法、装置及存储介质
Wang et al. Mtmr: Ensuring mapreduce computation integrity with merkle tree-based verifications
US9934229B2 (en) Telemetry file hash and conflict detection
Townend et al. Fault tolerance within a grid environment
JP5801482B2 (ja) キーバリューストレージに対するデータの保存および読み出しを行う方法およびシステム
CN111414426A (zh) 一种基于区块链的数据处理方法及系统
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN112116348B (zh) 一种对节点资源的访问控制方法
US20210311925A1 (en) Blockchain transaction processing systems and methods
JP2020204898A (ja) 分散台帳システムの運用管理方法、分散台帳システムの運用管理システム、および分散台帳システムの運用管理プログラム
CN112104606B (zh) 一种基于随机多节点的可信执行方法和系统
CN112118290B (zh) 一种基于程序分析的数据资源的管控方法
Quamara et al. An In-depth Security and Performance Investigation in Hyperledger Fabric-configured Distributed Computing Systems
CN116244062A (zh) 一种数据处理方法、装置、电子设备和存储介质
Repantis et al. Replica placement for high availability in distributed stream processing systems

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
GR01 Patent grant
GR01 Patent grant