首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 312 毫秒
1.
智能合约是区块链平台实现交易的重要组件,为多方交易间信任问题提供了一种有效的解决方案.智能合约不仅管理高价值代币还具有不可更改等特性,导致近年来智能合约多次遭受安全威胁.目前出现了大量关于智能合约安全性的研究,其中智能合约漏洞检测成为主要关注点.文中系统分析了智能合约安全问题,从是否执行合约的角度将漏洞检测工具分为静态检测工具和动态检测工具,并对检测工具进行对比分析,重点分析现有检测工具的漏洞检测能力,介绍了 16种检测技术的原理及优缺点;最后,对如何提高智能合约安全性进行展望,提出了 3个可能提高智能合约安全性的研究方向.  相似文献   

2.
随着区块链技术的应用推广,智能合约的数量呈现爆发式增长,而智能合约的漏洞将给用户带来巨大损失。但目前研究侧重于以太坊智能合约的语义分析、符号执行的建模与优化等,没有详细描述利用符号执行技术检测智能合约漏洞流程,以及如何检测智能合约常见漏洞。为此,在分析以太坊智能合约的运行机制和常见漏洞原理的基础上,利用符号执行技术检测智能合约漏洞。首先基于以太坊字节码构建智能合约执行控制流图,再根据智能合约漏洞特点设计相应的约束条件,利用约束求解器生成软件测试用例,检测常见的整型溢出、权限控制、Call注入、重入攻击等智能合约漏洞。实验结果表明,所提检测方案具有良好的检测效果,对Awesome-Buggy-ERC20-Tokens漏洞库中70份含漏洞的智能合约的漏洞检测正确率达85%。  相似文献   

3.
为了解决现有数据交易模式中交易流程耗时较大且效率较低,信息泄露和公平支付问题,提出一种改进的数据交易模式,通过智能合约预置额外的约束条件,集成了数据交易和仲裁纠纷解决的功能,用于实现交易的公平自治性和交易时间控制,以规避数据交易过程中恶意交易行为。在此基础上,为实现所提出的数据交易模式中价格的动态平衡,基于经济建模方法和动态定价的公平合理性,设计一个自动平衡总供给和总需求的动态定价机制,依据购买需求和数据资源的市场供给进行价格动态调整。从模型的动态性对模型进行了论证,证明了交易价格和需求可以收敛。基于以太坊实验环境部署并执行该合约,并对该智能合约的各功能成本和安全性进行测试和分析。仿真实验结果表明,该改进交易模式在动态定价下能够以较低的执行成本进行数据交易,并且该智能合约存在较少代码漏洞,满足可行性和安全性要求。  相似文献   

4.
双链式区块链交易监管研究   总被引:1,自引:0,他引:1       下载免费PDF全文
最近,作为去中心化的分布式帐本,区块链使人们能够在不可信赖的环境中进行安全可靠的交易,慢慢地被应用于各个领域。但是,逐渐出现了一些问题,用户隐私信息泄露,存在非法的交易且缺乏有效的监管,智能合约市场存在漏洞等。针对区块链非法交易,提出了监管链的概念,并建立了可以有效监管区块链交易的交易区块链(TBC)和监管区块链(RBC)双链结构。为了提高智能合约的安全性,进一步在监管链中建立智能合约市场,并设计了用于智能合约功能校验的零知识证明算法。理论和数据分析表明,双链结构具有高效率和可扩展性强。实验结果表明机器学习算法对于区块链交易数据的分类准确性达到95.0%,并证明了零知识证明校验智能合约功能的可行性。  相似文献   

5.
主流区块链平台以太坊上频繁发现由不安全编程引起的智能合约安全漏洞。为了提高模糊测试对合约代码的覆盖率,以更全面地检测安全漏洞,提出了一种智能合约模糊测试方法。首先构造智能合约交易序列数据集,再基于深度学习构建智能合约交易生成模型以生成模糊测试初始种子;然后根据覆盖率和分支距离信息,对智能合约进行信息反馈引导的模糊测试,提出了特定的测试用例染色体编码方式,并设计实现了相应的交叉和变异算子。所提方法能有效覆盖智能合约的深层次状态以及严格条件守卫的分支代码。在500个智能合约上进行实验,结果表明,所提方法的代码覆盖率为93.73%,漏洞检测率为93.93%,与ILF,sFuzz, Echidna方法相比,所提方法的代码覆盖率提高了3.80%~25.49%,漏洞检测率提高了4.64%~24.02%。所提方法有助于提升以太坊智能合约安全测试的有效性,具有参考价值。  相似文献   

6.
智能合约是区块链技术应用的一个重要场景,智能合约技术实现了区块链的可编程化,提高了其扩展性,有广阔的应用前景。然而,一系列关于智能合约的安全事件造成了大量经济损失,削弱了人们的信心,安全性问题已经成为制约智能合约进一步发展的关键问题。如果合约设计和代码实现的过程中存在缺陷,可能会造成严重后果。而智能合约发布后无法修改,因此,在智能合约发布前对其正确性做出验证尤为重要。近年来,国内外学者在智能合约的验证领域取得了大量成果,但对这些研究成果的系统分析和总结相对较少。对以太坊的交易过程、gas 机制、存储结构、编写语言做了简要介绍,在此基础上调查归纳了智能合约中常见的8种漏洞类型,解释了漏洞产生的原因,回顾了一些真实发生的安全事件并给出了漏洞示例代码;根据不同的技术手段,如符号执行、模型检测、定理证明等,对智能合约的形式化验证工作做分类介绍,分析了各种方法的优劣,并选取了3个开源的自动化验证工具Mythril、Slither和Oyente,从运行效率、检测漏洞类型以及准确率等方面作出实验评估和对比;研究了目前已有的相关综述文章,总结了这些研究的区别与优势;概述了智能合约的漏洞检测技术中仍存在的关键问题,对智能合约验证工作的现状进行了分析和展望,提出了未来能够进一步研究的方向。  相似文献   

7.
施建锋  吴恒  高赫然  张文博 《软件学报》2022,33(11):4084-4106
以太坊等区块链采用串行方式执行区块中的智能合约交易,虽能严格保障执行后节点间区块链状态的一致性,但这已成为目前制约区块链吞吐率的一个重要瓶颈.因此,采用并行方法优化智能合约交易的执行逐渐成为工业界和学术界关注的重点.总结了区块链智能合约并行执行方法的研究进展,提出了一个研究框架,该框架以智能合约并行执行的阶段为视角,凝练出4种智能合约并行执行模型,即基于静态分析的并行执行模型、基于动态分析的并行执行模型、节点间并行执行模型和分治并行执行模型,然后描述了每种模型下典型的并行执行方法.最后,对交易依赖图和并发控制策略等影响并行执行的因素进行了讨论,并提出了未来可研究的方向.  相似文献   

8.
近年来预付费消费模式倍受商家和消费者的青睐,在娱乐健身、教育培训、商超零售等服务业中得到广泛应用。现有预付卡管理中存在商家欺诈高发、商家违约频发、监管不善等诸多问题,难以保障消费者的权益。当前,基于区块链的智能合约技术具有去中心化、安全性高、可验证等特性,可用来有效管理预付卡,为解决预付卡管理存在的问题提供了新思路。因此提出了一种基于区块链的公平预付卡管理方案,消费者和商家通过与智能合约的交互完成交易,利用智能合约的暂存价值完成预付款的管理。消费者和商家共同确认消费成功后,由智能合约自动结算本次消费费用给商家。当商家存在违约时,消费者可以通过申诉追回已支付的预付款,维护自己的权益,从而保证交易的公平性。基于以太坊实验环境实现了预付卡管理方案,对预付卡发售、消费与退款等功能进行了详细测试。通过实验测试和安全性分析,验证了该方案的有效性和可行性。  相似文献   

9.
DoS,即拒绝服务攻击,是一种常见而有效的网络攻击技术,它通过利用协议或系统的缺陷,采取欺骗或伪装的策略来进行网络攻击,最终使受害者因为资源耗尽或无法作出正确响应而导致瘫痪,从而无法向合法用户提供正常服务。DoS的最新发展趋势是DDoS。本文介绍了DoS攻击的原理,所利用的相关协议及其漏洞特点,常见的DoS攻击手段或程序,以及如何防范DoS攻击。  相似文献   

10.
智能合约是区块链技术最成功的应用之一,已经被广泛集成到应用程序中,成为应用去中心化的常见实现方案.然而,智能合约由于其独有的金融特性,一直以来饱受安全攻击,各种新的恶意攻击类型层出不穷.现有的研究工作提出了多种有效检测合约漏洞的方法,但在实际应用中都存在着各种局限:仅针对已知的漏洞类型,需要修改合约代码来消除漏洞,链上开销过大.由于智能合约部署到链上后的不可修改性,这些针对特定漏洞类型的检测防御手段无法对原有的合约进行修复,因此很难及时地应对新型的漏洞和攻击.为此,提出了一种基于运行时信息的智能合约可升级防御技术,通过引入运行时的各种信息,为链下对攻击和漏洞的检测提供实时的数据.同时,设计了一套部署在合约上的访问控制机制,基于动态检测的结果,对合约的访问进行限制,从而在不需要修改合约代码的情况下实现动态的防御.由于以太坊本身的机制无法对实时攻击进行识别和拦截,为了减小这一影响,利用竞争(race condition)的机制来增强防御的效果.实验结果分析表明:该防御技术可以有效地检测并防御攻击,对于后续的攻击交易,可以实现100%的拦截成功率,对于首次检测到的实时攻击,利用竞争可以达到97.5%的成功率.  相似文献   

11.
Ethereum blockchain is a new internetware with tens of millions of smart contracts running on it.Different from general programs,smart contracts are decentralized,tamper-resistant and permanently running.Moreover,to avoid resource abuse,Ethereum charges users for deploying and invoking smart contracts according to the size of contract and the operations executed by contracts.It is necessary to optimize smart contracts to save money.However,since developers are not familiar with the operating environment of smart contracts(i.e.,Ethereum virtual machine)or do not pay attention to resource consumption during development,there are many optimization opportunities for smart contracts.To fill this gap,this paper defines six gas-inefficient patterns from more than 25,000 posts and proposes an optimization approach at the source code level to let users know clearly where the contract is optimized.To evaluate the prevalence and economic benefits of gas-inefficient patterns,this paper conducts an empirical study on more than 160,000 real smart contracts.The promising experimental results demonstrate that 52.75%of contracts contain at least one gas-inefficient pattern proposed in this paper.If these patterns are removed from the contract,at least 0.30 can be saved per contract.  相似文献   

12.
吴恺东  马郓  蔡华谦  景翔  黄罡 《软件学报》2023,34(11):5042-5057
基于区块链的去中心化应用已在加密数字货币、云存储、物联网等多个领域提供健壮、可信且持久的服务, 然而区块链的吞吐能力难以满足去中心化应用日益增长的性能需求. 分片是当前主流的区块链性能优化技术, 但现有的区块链分片主要面向用户和用户之间的转账交易, 并不完全适用于以智能合约调用交易为主的去中心化应用. 针对此问题, 设计并实现面向智能合约分片的联盟区块链系统BETASCO. BETASCO为每个智能合约提供一个分片作为独立执行环境, 通过基于分布式散列表的合约定位服务将交易路由至目标智能合约所在的分片, 并通过智能合约间的异步调用机制满足跨智能合约的通信和协作需求. BETASCO通过节点虚拟化允许一个节点加入多个分片, 支持同一组节点上多个智能合约的并行执行. 实验结果表明, BETASCO整体吞吐能力可随智能合约数量的增加而线性增长, 且执行单个智能合约的吞吐能力与HyperLedger Fabric相当.  相似文献   

13.
以太坊智能合约本质上是一种在网络上由相互间没有信任关系的节点共同执行的已被双方认证程序。目前,大量的智能合约被用于管理数字资产,使智能合约成为黑客的重要攻击对象。常见的攻击方法是通过利用智能合约的漏洞来实现特定操作的入侵攻击。ContractGuard 是首次提出面向以太坊区块链智能合约的入侵检测系统,它能检测智能合约的潜在攻击行为。ContractGuard 的入侵检测主要依赖检测潜在攻击可能引发的异常控制流来实现。由于智能合约运行在去中心化的环境以及在高度受限的环境中运行,现有的IDS技术或者工具等以外部拦截形式的部署架构不适合于以太坊智能合约。为了解决这些问题,通过设计一个嵌入式的架构,实现了把 ContractGuard 直接嵌入智能合约的执行代码中,作为智能合约的一部分。在运行时刻,ContractGuard通过相应的context-tagged无环路径来实现入侵检测,从而保护智能合约。由于嵌入了额外的代码,ContractGuard一定程度上会增加智能合约的部署开销与运行开销,为了降低这两方面的开销,基于以太坊智能合约的特性对 ContractGuard 进行优化。实验结果显示,可有效地检测 83%的异常行为,其部署开销仅增加了36.14%,运行开销仅增加了28.17%。  相似文献   

14.
智能合约是一种基于区块链平台运行,为缔约的多方提供安全可信赖能力的去中心化应用程序。智能合约在去中心化应用场景中扮演着重要的角色,被广泛地应用于股权众筹、游戏、保险、物联网等多个领域,但同时也面临着严重的安全风险。相比于普通程序而言,智能合约的安全性不仅影响合约参与多方的公平性,还影响合约所管理的庞大数字资产的安全性。因此,对智能合约的安全性及相关安全漏洞开展研究显得尤为重要。本文系统分析了智能合约的特性及其带来的全新安全风险;提出了智能合约安全的三层威胁模型,即来自于高级语言、虚拟机、区块链三个层面的安全威胁;并以世界上最大的智能合约平台——以太坊为例,详细介绍了15类主要漏洞;并总结了智能合约安全研究在漏洞方面的进展和挑战,包括自动漏洞挖掘、自动漏洞利用和安全防御三个方面的研究内容;最后,本文对智能合约未来安全研究进行了展望,提出了两个潜在的发展方向。  相似文献   

15.
Blockchain has recently emerged as a research trend, with potential applications in a broad range of industries and context. One particular successful Blockchain technology is smart contract, which is widely used in commercial settings (e.g., high value financial transactions). This, however, has security implications due to the potential to financially benefit froma security incident (e.g., identification and exploitation of a vulnerability in the smart contract or its implementation). Among, Ethereum is the most active and arresting. Hence, in this paper, we systematically review existing research efforts on Ethereum smart contract security, published between 2015 and 2019. Specifically, we focus on how smart contracts can be maliciously exploited and targeted, such as security issues of contract program model, vulnerabilities in the program and safety consideration introduced by program execution environment. We also identify potential research opportunities and future research agenda.  相似文献   

16.
以太坊Solidity智能合约基于区块链技术,作为一种旨在以信息化方式传播、验证或执行的计算机协议,为各类分布式应用服务提供了基础.虽然落地还不足6年,但因其安全漏洞事件频繁爆发,且造成了巨大的经济损失,使得其安全性检查方面的研究备受关注.首先基于以太坊相关技术对智能合约的一些特殊机制和运行原理进行介绍,并根据智能合约...  相似文献   

17.
由于区块链不可窜改的特性,部署到区块链上的智能合约不可更改.为了提高合约的安全性,防止智能合约出现整数溢出、短地址攻击、伪随机等问题,在合约部署之前需对合约进行漏洞检测.针对智能合约的整数溢出漏洞利用符号执行进行分析研究,对现有符号执行方法进行调查发现检测速度较慢,从而提出一种自底向上求解约束的改进符号执行方法,并结合深度优先与广度优先进行路径选择从而提高符号执行的代码覆盖率.实验结果表明,改进符号执行在选取的100份含溢出漏洞的智能合约中检测正确率达84%,平均检测效率提高了20%,在中等规模智能合约中检测效率提升显著,检测结果正确率较高.  相似文献   

18.
一种高级智能合约转化方法及竞买合约设计与实现   总被引:3,自引:0,他引:3  
智能合约是运行在区块链上的数字协议,智能合约的开发涉及计算机、金融、法律等多个领域,近年来高级智能合约语言已被提出用于解决不同领域人员阅读、交流与协同开发难的问题,然而上述语言与可执行智能合约语言之间仍缺少有效的转化方法.针对这一问题,本文设计了一种SPESC到目标程序语言(Solidity)的转化规则,并提出了一种包括高级智能合约层、智能合约层和机器代码执行层的三层智能合约系统框架.首先,转化规则给出了根据SPESC合约当事人定义生成目标语言当事人子合约、以及SPESC其余部分生成目标语言主体子合约之间的对应关系;其次,除程序框架与存储结构外,目标语言程序还包含当事人人员管理、程序时序控制、异常检测等机制,这些机制能辅助编程人员半自动化地编写智能合约程序;进而,通过两个实验验证了上述高级智能合约框架的易读性以及转换的正确性,第一个实验邀请了计算机与非计算机人员分组阅读Solidity和SPESC的智能合约并回答问卷,结果表明阅读SPESC的速度约为阅读Solidity两倍,准确率也更高.然后以竞买合约为实例,给出了根据上述转化规则从SPESC合约转化到可执行Solidity合约语言程序,并通过以太坊私链部署运行来验证转化过程的正确性.实例表明上述转化规则和系统框架可简化智能合约的编写、规范智能合约的程序结构、辅助编程人员验证代码的正确性.  相似文献   

19.
近年来,智能合约中的漏洞检测任务已受到越来越多的关注。然而,缺少源代码和完备的检测特征限制了检测的效果。在本文中,我们提出了DC-Hunter:一种基于字节码匹配的智能合约漏洞检测方案。它可以通过已知的漏洞合约找到类似的漏洞合约,并且可以直接应用于现实世界中的智能合约,无需源码和预先定义的漏洞特征。为了让提出的方法更加切实可行,我们应用程序切片来降低无关代码的影响,通过规范化减少编译器版本带来的差异,并使用图嵌入算法来捕捉函数的结构信息,从而显著减少误报和漏报。此外,借助DC-Hunter我们揭露了一种新型的危险合约。我们发现有一些合约是伪漏洞合约,专门用于诱骗他人尝试进行攻击,从而窃取攻击者的以太币,这种合约称为"蜜罐合约"。我们实现了DC-Hunter的原型,并将其应用于现实世界的智能合约,共有183份危险的合约被报出并确认,其中包括160份漏洞合约和23份蜜罐合约。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号