CN110809042B - 一种基于de bruijn序列生成技术的智能合约分片存储方法 - Google Patents

一种基于de bruijn序列生成技术的智能合约分片存储方法 Download PDF

Info

Publication number
CN110809042B
CN110809042B CN201911054083.1A CN201911054083A CN110809042B CN 110809042 B CN110809042 B CN 110809042B CN 201911054083 A CN201911054083 A CN 201911054083A CN 110809042 B CN110809042 B CN 110809042B
Authority
CN
China
Prior art keywords
intelligent contract
node
state
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.)
Active
Application number
CN201911054083.1A
Other languages
English (en)
Other versions
CN110809042A (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.)
Hangzhou Yunxiang Network Technology Co Ltd
Original Assignee
Hangzhou Yunxiang Network 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 Hangzhou Yunxiang Network Technology Co Ltd filed Critical Hangzhou Yunxiang Network Technology Co Ltd
Priority to CN201911054083.1A priority Critical patent/CN110809042B/zh
Publication of CN110809042A publication Critical patent/CN110809042A/zh
Application granted granted Critical
Publication of CN110809042B publication Critical patent/CN110809042B/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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Abstract

本发明公开了一种基于de bruijn序列索引技术的智能合约分片存储方法,包括:(1)用户节点参与制定智能合约;(2)用户节点将商定的智能合约编码成电子化的智能合约;(3)用户节点通过共识节点采用de bruijn序列生成技术生成n片智能合约的操作码;(4)用户节点获取私钥sk,并生成与之对应的公钥kk,使用各自的私钥对分片后的智能合约进行签名,签名后的智能合约上传到区块链网络中;(5)智能合约通过网络扩散并存入到区块链上的每个节点;(6)用户节点发送执行请求给任意一个验证节点触发启动智能合约链码后,区块链上存储的智能合约自动执行。本发明的智能合约分片存储方法能够提高智能合约的执行效率,节省区块链智能合约的存储空间。

Description

一种基于de bruijn序列生成技术的智能合约分片存储方法
技术领域
本发明属于区块链技术领域,具体涉及一种基于de bruijn序列生成技术的智能合约分片存储方法。
背景技术
随着区块链技术的不断应用,现有的技术相对已经比较成熟。一般而言,区块链分为三个阶段,即区块链1.0,区块链2.0,以及区块链3.0,这三个阶段分别对应着区块链应用范围不断扩展的三个阶段,即数字货币、数字资产和智能合约、分布式智能和社会网络。其中,目前所处的区块链2.0时代的核心内容是数字资产与智能合约。
智能合约的概念几乎与互联网同时出现。1995年密码学家尼克萨博定义智能合约是执行合约条款的可计算交易协议。从狭义来讲,智能合约是程序化的法律协议、法律协议制定者和网络之间的复杂关系,涉及相关商业逻辑和算法的程序代码。从广义来讲,智能合约是一种部署后能实现自我执行和自我验证的计算机协议。从本质上讲,智能合约是一种计算机程序,特点是由事件驱动、具备状态并且部署在分布式共享数据库上。智能合约的工作原理和计算机程序的If-Then语句相似,当预设条件触发时,智能合约执行合同条款,以计算机程序与真实世界进行资产交互。智能合约的生命周期大致可以描述为:首先,智能合约参与方进行协商,明确各方的权利与义务,确定标准合同文本并将文本程序化,制定电子化的智能合约,验证后获得合约代码。其次,经过签名后的智能合约以P2P的方式分发至所有节点,所有节点将接收的智能合约暂存在内存中,等待进行共识;区块链的智能合约包含事务处理机制、存储机制和一个完备的状态机,用于接收和处理各种智能合约需要执行的指令。最后,智能合约定期遍历所有状态机和触发条件,将满足触发条件的智能合约推送至待验证队列,待验证的智能合约会扩散至所有节点,类似一般区块链交易,节点会先进行签名验证,确保智能合约的有效性,验证通过的智能合约经过共识后便会执行。因此,智能合约的监督和仲裁都根据预先制定的规则由计算机程序来完成,不需要第三方中心机构的参与,能自动地实时响应客户需求,提升了服务效率。
但是,随着区块链日益增长的海量数据,存储和同步变得极为困难。而存储了智能合约的区块链记录了整个区块链网络从诞生起所有时间点的状态改变记录,并且所有节点都要保存一份数据备份,导致新节点同步数据需要很大的存储空间,消耗较长的数据同步时间。同时,由于确认过程存在时间差,同一个状态重复写入,可能导致智能合约中某个状态被误改或覆盖,优先获得确认的状态会面临闭锁问题,导致拒绝其他节点访问合约。因此提高区块链事务处理能力,是区块链智能合约技术亟待解决的重要问题。目前研究者开始尝试采用数据分片技术和索引技术解决此类问题。Zilliqa提出了一种基于分享协议的区块链技术平台,采用分片技术,在测试网上处理每秒近1400笔交易。以太坊已经计划采用分片技术来提高智能合约的执行效率,以解决区块链中的智能合约的每一个变量的改变,都需要所有节点的认可和记录,导致智能合约的执行效率偏低的问题。
在实际生活中,de bruijn序列(德布鲁因序列)有广泛的应用,可以用于生成索引的技术。目前有多种de bruijn序列的构造方法,总的来说分为三种:第一种通过组合、图论等方法直接构造;第二种利用低阶de bruijn序列递归构造高阶de bruijn序列;第三种基于反馈移位寄存器串联构造de bruijn序列。
但是目前的分片技术和索引技术,存在更新开销大、冗余太多或在运行过程中要求占用较大的系统资源、速度低下、运算时间长等性能上的问题,不能满足区块链上运行和调用占用较大内存的智能合约,因此解决智能合约存储问题是提升智能合约执行效率的关键,也是解决区块链存储问题的重要关键。
发明内容
本发明基于上述背景和现有技术所存在的问题,设计一种基于de bruijn序列生成技术的智能合约分片存储方法,其能够提高智能合约的执行效率,节省区块链上智能合约的存储空间。本发明还有一个目的是通过de bruijn序列生成方法,提高每片智能合约的操作码的搜索效率,以便提高智能合约的调用效率。
为了实现本发明的这些目的和其它优点,提供了一种基于de bruijn序列生成技术的智能合约分片存储方法,具体实现步骤包括:
(1)用户节点参与制定智能合约;
(2)用户节点将共同商定的智能合约编码成电子化的智能合约(即智能合约的电子化代码形式);
(3)用户节点通过共识节点将制定完成的智能合约分成n片,利用de bruijn序列生成技术生成每片智能合约的操作码,使得每片智能合约可以相互调用执行、合并执行或分别执行指令;
(4)用户节点获取私钥sk,并生成与之对应的公钥kk,使用各自的私钥对分片后的智能合约进行签名,签名后的智能合约上传到区块链网络中,其中k∈N*;
(5)合约通过网络扩散并存入区块链上的每个节点,触发共识机制、激励机制、交易或事务后被启用;
(6)用户节点发送执行请求给任意一个验证节点,触发启动智能合约链码后,区块链上存储的智能合约自动执行。此处的智能合约可能为用户节点加密的智能合约,或执行过程涉及到的其他智能合约,或兼具两者及两者以上的智能合约。
进一步地,其中所述步骤(1)中,用户节点是指所有和执行智能合约相关的用户参与的节点,其也可以为区块链中任何可以参与区块链共识、激励、交易或事务的任何节点。
进一步地,所述步骤(2)中智能合约电子化过程智能合约代码符合逻辑并尽可能地减少编程漏洞,减少的漏洞类型包括:重入、整数溢出安全问题、拒绝服务、分布式拒绝服务、未检查呼叫返回值、短地址/参数攻击。
本发明的目的还可以进一步由de bruijn序列生成的方法来实现,所述用户节点也是操作码生成过程中涉及到的网络中的根节点,是指合约参与方,左右子节点相当于前驱节点和后继节点,后继节点是指保存了根节点的身份信息,逻辑上在后的节点,其中,随着计算机不断提高的处理速度和不断扩大的存储容量,采用计算机搜索算法快速并准确地构造de bruijn序列,再生成操作码,该方法具有极快的搜索速度。该方法包括:
1.1初始化区块链网络中的根节点和根节点的状态数组(Status);
1.2判断当前节点拥有子节点的情况,在无任何子节点的情况下,申请内存存储空间,然后根据Status计算后继节点,将后继节点插入二叉树网络中;在存在子节点的情况下,根据Status修改已经存在的根节点和子节点,并将修改后的节点插入到二叉树网络中;
1.3在后继状态重复的情况下,回溯并修改Status,并返回到步骤1.2;
1.4在后继状态没有重复的情况下,判断状态的进行情况,等到最终n个状态时,生成并输出或回溯de bruijn序列到共识节点,完成智能合约操作码的生成;
1.5在步骤1.4中,不是最后n个状态的情况,则再次修改Status,并返回到步骤1.2;
1.6生成de bruijn序列的搜索,即生成每片智能合约的操作码的搜索,结束并释放空间;
1.7在步骤1.6中,没有生成所述操作码的搜索的情况下,返回到步骤1.2。
优选的是,其中,生成每片智能合约的操作码的搜索的过程中,Status表示状态数组,(x1,x2,……,xn)表示一个反馈移位寄存器的状态记为s,包括以下内容:
1)编程过程中设置数组Status[index],其中index=2n,元素Status[si]的最低位表示状态si处于搜素状态的操作码的部分序列出现的情况,次位表示状态si到后续状态si+1移入的二进制值。de bruijn序列长度为2n,生成一个de bruijn序列须遍历n阶移位寄存器的所有可能状态,这些状态构成一条Hamilton(哈密尔顿)回路;列出真值表,可以看到表中的互补对称性,在二叉树的搜索过程中,确定一个状态si的后继状态时,其互补状态的后继状态也被确定,省去互补状态的后继状态继续搜索的步骤,因此应用此表使二叉树的搜索速度大幅度提高;
2)设置n阶移位寄存器的初始状态,搜索始于此状态的全部Hamilton回路,并判断最终n个状态的重复情况。设置n阶移位寄存器的初始状态是长度为n的全零状态,生成最终的n个状态时,直接从根节点取出初始状态,依次输入移位寄存器中,从而实现首尾相连的循环结构,保证此回路一定是Hamilton回路,节约时间与存储空间,提高了效率。并且最终n个状态还要做状态是否重复的判断;
3)从开始的状态到最终的状态,每次状态转移时溢出的二进制码经顺序组合,形成一条操作码;在进行二叉树搜索时,避免使用申请内存存储空间和释放内存的函数,因为经常使用这些函数会导致内存碎片过多,从而浪费内存存储资源,而且当n值较大时,会严重影响搜索速度。因为二叉树网络中所有节点的数据结构都相同,编程时,可以重复利用无效节点,只修改成员变量值,从而同级的操作码搜索,不会随着搜索数量的增大而增大运行时的内存空间,同时还能提高搜索速度;
4)采用状态数组中的值进行输出。因为当操作码输出时,特别是当n值较大时,采用状态数组中的值进行输出比采用二叉树后继状态的输出效率高;
优选的是,所述步骤(4)中,共识节点将总私钥分成s1,s2,……,sk,……,sn,与之对应的公钥为k1,k2,……,kk,……,kn,其中0<k≤n,k,n∈N*。
进一步地,所述步骤(5)中,触发启用智能合约的过程步骤包括:
2.1用户节点发送执行请求给任意验证节点;
2.2验证节点收到请求后,向本地账本发送启动智能合约的指令;
2.3验证节点创建隔离的运行环境,启动智能合约代码。
进一步地,所述步骤(6)中,智能合约的执行步骤包括:
3.1验证节点启动智能合约;
3.2智能合约调用启动后,验证节点向本地账本确认交易;
3.3智能合约执行过程中,更新本地账本的状态;
3.4参与智能合约触发启动的任意验证节点向其他验证节点广播交易。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
本发明至少包括以下有益效果:
1.通过分片存储智能合约减少了智能合约的存储空间,提高了调用、触发、启用和执行智能合约的效率;
2.本发明的智能合约分片存储方法以一个个小的逻辑程序为一个执行的子智能合约,可以实现各子智能合约间相互调用或单独执行,提高了智能合约的执行灵活度,这种方法亦可以节省智能合约的总存储空间;
3.采用de bruijn序列生成技术生成每片智能合约的操作码,这种方法利用了现在越来越高效的计算机搜索算法,使得生成的操作码体积小,并消耗较少的内存资源,实验数据表明此算法拥有极快的搜索速度。
附图说明
图1为本发明所述智能合约分片存储方法的实现流程图;
图2为n级de bruijn序列具有互补对称性的真值表;
图3为按照de bruijn序列生成的方法制定每片智能合约的操作码的流程图;
图4为本发明智能合约分片存储的实现原理图。
具体实施方式
为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。
1.本发明所述的方案中的智能合约分片存储的一种实现方式为:采用图1的方式实现本发明总流程,其具体实现步骤如下:
(1)所有和执行智能合约A相关的用户参与的用户节点U参与制定智能合约A;
(2)U将共同商定的A编码成电子化的智能合约A’(即A的电子化代码形式,将A编程为区块链链码形式的智能合约A’);
(3)通过共识节点BP将制定完成的A’分成n片,de bruijn序列生成每片智能合约A’k的操作码,使得A’k可以相互调用执行、合并执行或每片A’k分别执行指令;
(4)用户节点Uk获取私钥sk,并生成与之对应的公钥kk,并使用自己的私钥sk对A’k进行签名,签名后的智能合约Sig(A’k)上传到区块链网络中,其中k∈N*;
(5)A’k和对应密钥信息(sk和kk)通过网络扩散并存入区块链上的每个节点,触发共识机制、激励机制、交易或事务后被启用;
(6)Uk发送执行请求给任意一个验证节点VP,触发启动智能合约链码A’后,区块链上存储的A’自动执行,A’可能为Uk负责加密的智能合约A’k或任意其他涉及到的其他智能合约或两者兼具。
所述步骤(4)中,BP将总私钥分成s1,s2,……,sk,……,sn,与之对应的公钥为k1,k2,……,kk,……,kn,其中0<k≤n,k,n∈N*。
2.图2示出了本发明中涉及的n级de bruijn序列具有互补对称性的真值表,表中,f(x1,x2,……,xn)为n级移位寄存器的反馈函数,(x1,x2,……,xn)为该反馈移位寄存器的状态并记为s,x1,xn分别为该移位寄存器的输入位和输出位。编程过程中设置数组Status[index],其中index=2n,元素Status[si]的最低位表示状态si处于搜素状态的操作码的部分序列出现的情况,次位表示状态si到后续状态si+1移入的二进制值。从真值表中,可以看出互补对称性,在二叉树的搜索过程中,确定一个状态si的后继状态时,其互补状态的后继状态也被确定,省去互补状态的后继状态继续搜索的步骤,因此应用此表使二叉树的搜索速度大幅度提高;
3.在另一种实例中,图3的方式为按照de bruijn序列生成的方法制定A’k的操作码的流程图。采用这种方案具有便于搜索A’的有利之处。并且,这种方式只是一种较佳实例的说明,但并不局限于此。在实施本发明时,可以根据使用者需求应用于对操作码(即debruijn序列)产生时间有较高要求的实施态样。所述用户节点也是操作码生成过程中涉及到的网络中的根节点,是指合约参与方,左右子节点相当于前驱节点和后继节点,后继节点是指保存了根节点的身份信息,逻辑上在后的节点,具体流程为:
1.1初始化区块链网络中的根节点和根节点的状态数组(Status);
1.2判断当前节点拥有的子节点的情况,在无任何子节点的情况下,申请内存存储空间,然后根据Status计算后继节点,将后继节点插入到二叉树网络中;在存在子节点的情况下,根据Status修改已经存在的根节点和子节点,并将修改后的节点插入到二叉树网络中;
1.3在后继状态状态重复的情况下,回溯并修改Status,并返回到步骤1.2;
1.4在后继状态没有重复的情况下,判断状态的进行情况,等到最终n个状态时,生成并输出或回溯de bruijn序列到BP,完成A’k的操作码生成;
1.5在步骤1.4中,不是最后n个状态,则再次修改Status,并返回到步骤1.2;
1.6生成de bruijn序列的搜索,即生成每片智能合约的操作码的搜索,结束并释放空间;
1.7在步骤1.6中,没有生成所述操作码的搜索的情况下,返回到步骤1.2。
4.本发明所述的方案中,智能合约分片存储的实现原理如图4所示。采用这种方案具有节省智能合约存储空间的有利之处。A’k可以相互调用执行、合并执行或分别执行指令。其工作方式为:
2.1 Uk发送执行请求给任意VP;
2.2 VP收到请求后,向本地账本发送启动A’的指令;
2.3 VP创建隔离的运行环境,启动A’代码。
2.4 VP启动A’;
2.5 A’调用启动后,VP向本地账本确认交易;
2.6 A’执行过程中,更新本地账本的状态;
2.7参与A’触发启动的任意VP向其他VP广播交易。
这里说明的模块数量和处理规模是用来简化本发明的说明的。对本发明的基于debruijn序列生成技术的智能合约分片存存储方法的应用、修改和变化对本领域的技术人员来说是显而易见的。
如上所述,根据本发明,由于对智能合约实行分片存储,并且采用具有高效搜索能力的de bruijn序列生成技术,因此具有提高智能合约调用、触发、启用和执行的效率的效果,并且节省了智能合约在区块链上的存储空间。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (8)

1.一种基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,具体实现步骤包括:
(1)用户节点参与制定智能合约;
(2)用户节点将共同商定的智能合约编码成电子化的智能合约;
(3)用户节点通过共识节点将制定完成的智能合约分成n片,利用de bruijn序列生成技术生成每片智能合约的操作码,使得每片智能合约可以相互调用执行、合并执行或分别执行指令,所述步骤(3)中利用de bruijn序列生成技术生成每片智能合约的操作码的步骤包括:
1.1初始化区块链网络中的根节点和根节点的状态数组;
1.2判断当前根节点拥有的子节点的情况,在无任何子节点的情况下,申请内存存储空间,然后根据状态数组计算根节点的后继节点,将后继节点插入到二叉树网络中;在存在子节点的情况下,根据状态数组修改已经存在的根节点和子节点,并将修改后的节点插入到二叉树网络中;
1.3在后继状态重复的情况下,回溯并修改状态数组,并返回到步骤1.2;
1.4在后继状态没有重复的情况下,判断状态的进行情况,等到最终n个状态时,生成并输出或回溯de bruijn序列到共识节点,完成智能合约操作码的生成;
1.5在步骤1.4中,不是最后n个状态,则再次修改状态数组,并返回到步骤1.2;
1.6生成de bruijn序列的搜索,即生成每片智能合约的操作码的搜索,结束并释放空间;
1.7在步骤1.6中,没有生成所述操作码的搜索的情况下,返回到步骤1.2;
(4)用户节点获取私钥sk,并生成与之对应的公钥kk,使用各自的私钥对分片后的智能合约进行签名,签名后的智能合约上传到区块链网络中,其中k∈N*;
(5)合约通过网络扩散并存入到区块链上的每个节点,触发共识机制、激励机制、交易或事务后被启用;
(6)用户节点发送执行请求给任意一个验证节点,触发启动智能合约链码后,区块链上存储的智能合约自动执行。
2.根据权利要求1所述的基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述步骤(1)中,用户节点为所有与执行智能合约相关的用户参与的节点,或者为区块链中任何可以参与区块链共识、激励、交易或事务的节点。
3.根据权利要求1所述基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述步骤(2)中智能合约电子化过程智能合约代码符合逻辑并去除编程漏洞,去除的漏洞类型包括:重入、整数溢出安全问题、拒绝服务、分布式拒绝服务、未检查呼叫返回值、短地址/参数攻击。
4.根据权利要求1所述的基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述用户节点也是操作码生成过程中涉及到的网络中的根节点,是指合约参与方,左右子节点相当于根节点的前驱节点和后继节点,后继节点是指保存了根节点的身份信息,逻辑上在后的节点。
5.根据权利要求1所述的基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,生成每片智能合约的操作码的搜索中,Status表示状态数组,(x1,x2,……,xn)表示一个反馈移位寄存器的状态,并记为s,包括:
1)编程过程中设置数组Status[index],其中index=2n,元素Status[si]的最低位表示状态si处于搜素状态的操作码的部分序列出现的情况,次位表示状态si到后续状态si+1移入的二进制值;
2)设置n阶移位寄存器的初始状态,搜索始于此状态的全部Hamilton回路,并判断最终n个状态的重复情况;
3)从开始的状态到最终的状态,每次状态转移时溢出的二进制码经顺序组合,形成一条操作码;在进行二叉树搜索时,避免使用申请内存存储空间和释放内存的函数;
4)采用状态数组中的值进行输出。
6.根据权利要求1所述基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述步骤(4)中,共识节点将总私钥分成s1,s2,……,sk,……,sn,与之对应的公钥为k1,k2,……,kk,……,kn,其中0<k≤n,k,n∈N*。
7.根据权利要求1所述基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述步骤(5)中,触发启用智能合约的过程步骤包括:
2.1用户节点发送执行请求给任意验证节点;
2.2验证节点收到请求后,向本地账本发送启动智能合约的指令;
2.3验证节点创建隔离的运行环境,启动智能合约代码。
8.根据权利要求1所述基于de bruijn序列生成技术的智能合约分片存储方法,其特征在于,所述步骤(6)中的智能合约为用户节点加密的智能合约或其他执行过程涉及到的其他智能合约或兼具两者及两者以上的智能合约,智能合约的执行步骤包括:
3.1验证节点启动智能合约;
3.2智能合约调用启动后,验证节点向本地账本确认交易;
3.3智能合约执行过程中,更新本地账本的状态;
3.4参与智能合约触发启动的任意验证节点向其他验证节点广播交易。
CN201911054083.1A 2019-10-31 2019-10-31 一种基于de bruijn序列生成技术的智能合约分片存储方法 Active CN110809042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911054083.1A CN110809042B (zh) 2019-10-31 2019-10-31 一种基于de bruijn序列生成技术的智能合约分片存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911054083.1A CN110809042B (zh) 2019-10-31 2019-10-31 一种基于de bruijn序列生成技术的智能合约分片存储方法

Publications (2)

Publication Number Publication Date
CN110809042A CN110809042A (zh) 2020-02-18
CN110809042B true CN110809042B (zh) 2022-07-12

Family

ID=69489904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911054083.1A Active CN110809042B (zh) 2019-10-31 2019-10-31 一种基于de bruijn序列生成技术的智能合约分片存储方法

Country Status (1)

Country Link
CN (1) CN110809042B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459895B (zh) * 2020-03-31 2023-09-29 杭州云象网络技术有限公司 一种区块链数据分级压缩与存储方法及系统
CN111679902B (zh) * 2020-08-14 2020-11-10 支付宝(杭州)信息技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN111815455B (zh) * 2020-09-04 2021-02-26 支付宝(杭州)信息技术有限公司 一种交易执行方法、系统及装置
CN112468565A (zh) * 2020-11-19 2021-03-09 江苏省测绘资料档案馆 基于区块链的空间数据完整性管理和共享流程跟踪的系统
CN112711760B (zh) * 2020-12-29 2022-11-29 华南师范大学 检测智能合约恶意消除重入影响漏洞的检测方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190236559A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
CN109191287B (zh) * 2018-06-27 2020-08-04 浙江超脑时空科技有限公司 一种区块链智能合约的分片方法、装置及电子设备
CN109857580B (zh) * 2019-03-12 2022-06-07 深圳市迅雷网络技术有限公司 区块链跨链合约调用方法、装置及存储介质
CN110222051B (zh) * 2019-05-16 2022-09-13 南京理工大学 以太坊区块链的智能合约压缩方法

Also Published As

Publication number Publication date
CN110809042A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110809042B (zh) 一种基于de bruijn序列生成技术的智能合约分片存储方法
Abraham et al. Asymptotically optimal validated asynchronous byzantine agreement
JP7220702B2 (ja) ブロックチェーンにおける擬似乱数生成
Das et al. Yoda: Enabling computationally intensive contracts on blockchains with byzantine and selfish nodes
Boyle et al. Is there an oblivious RAM lower bound?
Malaguti et al. A metaheuristic approach for the vertex coloring problem
Brim et al. Faster algorithms for mean-payoff games
Chen et al. Efficient influence maximization in social networks
Beame et al. Hardness amplification in proof complexity
CN111951108A (zh) 一种具有图灵完备智能合约区块链的链结构设计方法
WO2021190179A1 (zh) 一种同步处理方法和相关装置
Forestier et al. Blockclique: scaling blockchains through transaction sharding in a multithreaded block graph
Wimmer et al. Symblicit calculation of long-run averages for concurrent probabilistic systems
Zivan et al. Applying max-sum to asymmetric distributed constraint optimization
Henzinger et al. An assume-guarantee rule for checking simulation
Augustine et al. Sublinear message bounds for randomized agreement
Balliu et al. Exponential speedup over locality in MPC with optimal memory
Cohen et al. Database perspectives on blockchains
Cao et al. TASS: Transaction assurance in service selection
WO2024066665A1 (zh) 基于Snowman共识的联盟链多链系统及其交互与部署方法
Duong et al. Multi-mode cryptocurrency systems
Barjon et al. Maintaining a distributed spanning forest in highly dynamic networks
Wang et al. Revisiting the fairness and randomness of delegated proof of stake consensus algorithm
Su et al. Fully decentralized application model by peer to peer smart contract of blockchain
Zhang et al. Phantasm: Adaptive Scalable Mining Toward Stable BlockDAG

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant