首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 406 毫秒
1.
通过概述区块链智能合约的运作原理及应用研究现状,对现存项目和存在的问题进行分析总结.首先,基于区块链智能合约整体架构介绍合约模型及运行原理,以Ethereum、Hyperledger Fabric和EOSIO三大区块链平台为例分析智能合约部署原理并对三大平台进行对比分析.针对国内外区块链智能合约的应用研究进行归纳总结,并讨论区块链智能合约未来创新应用和发展趋势.从金融交易、物联网和医疗应用三大应用研究领域介绍了基于Ethereum和Hyperledger Fabric平台的区块链智能合约应用现状,进一步探讨了基于EOS(enter-prise operation system)的应用研究和其他应用领域研究现状.最后,从隐私、机制设计与安全、性能和形式化验证等智能合约自身存在问题及三大平台应用存在的不足对区块链智能合约的未来研究方向进行分析和展望.  相似文献   

2.
李杉杉  荣国平  高邱雅  邵栋 《软件学报》2021,32(5):1284-1301
近年来,微服务架构已经成为软件工程领域比较流行的架构风格,其天然支持DevOps和持续交付、以及可伸缩性、可扩展性好等特性驱动着业界实践者纷纷向微服务架构迁移.然而,采用微服务架构也面临诸多挑战,其中最关键的是缺乏自动化、一体化的解决方案来高效支持面向微服务的拆分设计以及候选微服务架构的评估.为了应对该挑战,本文对已有的数据流驱动的服务拆分方法的局限问题(例如,效率和灵活性)进行改进,在此基础上提出了一种优化的服务拆分方法(DFD-A).该方法通过动静态分析相结合的方式实现了更加高效的数据流信息自动化收集,同时采用了两阶段的聚类算法来取代完全基于自定义规则的服务拆分算法.本文同时实现了原型工具来支持从数据收集分析、服务拆分到候选微服务架构评估的完整且自动化的过程.案例研究结果表明本文所提出优化方法DFD-A及其原型工具在保证拆分结果有效性的基础上,可以更加高效且灵活地支持面向微服务的自动化拆分与评估.  相似文献   

3.
黄璜  张贺  邵栋 《软件学报》2019,30(10):3056-3070
DevOps作为一次软件工程领域的变革,近10年迅速发展的原因是多方面的.关注了中国DevOps的发展历程中自动化工具带来的实际影响以及自动化工具产生的一系列问题.使用系统化文献评价获取了目前DevOps实践中被研究者分析最多的自动化支持工具,从50篇文献中识别出包括Docker、Chef、Jenkins和Puppet等69个自动化工具;然后通过灰色文献评价从一些中文博客文章中分析出自动化工具在中国DevOps实践中出现的3个层次的问题;最后通过民族志访谈方法分析了在中国环境下各方对待3个层次问题的看法和建议,得出自动化工具对中国DevOps实践的两个影响:(1)自动化工具在DevOps实践的前期作用明显,可以认为DevOps实践就是使用自动化工具;(2)软件组织实现DevOps转型以后需要减少对自动化工具的依赖,形成自己的DevOps文化.对于自动化工具在中国DevOps实践中产生的问题,整合访谈内容后形成了解决问题的3个建议,并给出了一个转型范例.  相似文献   

4.
Fabric区块链作为广受欢迎的联盟链框架,其智能合约多采用Golang通用高级语言开发,而智能合约在开发过程中容易引入安全漏洞,部署后会产生潜在的安全隐患.虽然Golang语言通用的代码存在静态审计工具,但是该工具不能有效识别与智能合约中与区块链系统架构相关的安全风险.为了应对上述情况,本文研究总结了 Fabric区...  相似文献   

5.
作为当前最大的支持智能合约的区块链平台,数以百万计的智能合约被部署在以太坊上.由于即使发现包含bug也无法修改已部署的智能合约,因此对于开发人员而言,在部署合约前修复合约中的bug至关重要.当前研究人员已经提出了许多智能合约分析工具,用于检测合约中的bug.这些工具要么使用基于以太坊虚拟机字节码的符号执行来检测bug,要么将源代码转换为中间表示形式后再检测bug.然而,基于符号执行的工具通常无法覆盖合约中的大部分bug;将源代码转换为中间表示形式会对检测速度产生负面影响.此外,现有的工具都只能检测bug,而无法根据检测结果自动修复bug.为了解除以上限制,提出了一种名为SolidityCheck的方法,该方法通过使用正则表达式、程序插桩和语句替换等技术,实现快速检测合约中的bug并自动修复其中某些种类bug的目的.文中进行了 一系列实验来评估SolidityCheck,实验结果表明,与现有方法相比,SolidityCheck在多个指标上显示出了优异的性能.  相似文献   

6.
金泽锋  张佑文  叶文华  张贺  邵栋 《软件学报》2019,30(10):3127-3147
随着DevOps在各大软件企业中的广泛实施,加速了系统软件类产品的版本交付和部署.中兴通讯在实施过程中,发现产品重要的组成部分——产品文档,还采用传统研发方式,缺乏配套流程和工具,导致产品文档交付的节奏无法与软件版本匹配,严重影响了产品完整交付的及时性.文档DevOps是一种针对产品文档持续交付的模式.通过分析开源和DITA的文档交付解决方案,同时结合系统软件的研发特点,总结出一套适合系统软件的文档交付综合解决方案,它借助DevOps理念,基于业界的DevOps工具链,构建了"文档DevOps平台"(以下简称iDoc平台),实现面向用户各类文档交付的解决方案,其典型特征有:与软件迭代流程融合,信息单元同源引用,多格式内容源的管理,持续集成的质量守护.在实际企业中通过文档DevOps实现了产品文档与软件版本的同步交付,极大地促进了文档的准确性、完整性和交付效率的提升.iDoc平台已在50多个软件产品中得到成功应用.文档DevOps解决的问题具有普遍性,有助于在更大范围内帮助其他系统软件实现敏捷价值交付,并且,文档DevOps还是对DevOps的一个补充,扩展了业界的DevOps的适用范围:交付对象涵盖了产品文档,流程延伸到市场规划,协同人员覆盖面更广.  相似文献   

7.
随着区块链近年来热度的不断提高,智能合约也逐渐受到人们重视.智能合约是一段能够自动运行代码,允许开发人员根据具体协议、业务或逻辑个性化地开发,而区块链的去中心化、分布式等特点为智能合约的应用提供了良好的平台.首先阐述了区块链及智能合约的架构与发展,并针对部队航空导弹业务登记场景,使用超级账本作为开发平台,提出基于区块链的智能合约设计方案,并对某型航空导弹气密性检查进行了智能合约的开发、部署与调试;最后对智能合约的有效性、安全性以及隐私保护手段等方面进行了安分析,为部队应用区块链技术及智能合约提供参考.  相似文献   

8.
近年来,以智能合约为代表的第二代区块链平台及应用出现了爆发性的增长,但频发的智能合约漏洞事件严重威胁着区块链生态安全。针对当前主要依靠基于专家经验的代码审计效率低下的问题,提出开发通用的自动化工具来挖掘智能合约漏洞的重要性。首先,调研并分析了智能合约面临的安全威胁问题,总结了代码重入、访问控制、整数溢出等10种出现频率最高的智能合约漏洞类型和攻击方式;其次,讨论了主流的智能合约漏洞的检测手段,并梳理了智能合约漏洞检测的研究现状;然后,通过实验验证了3种现有符号执行工具的检测效果。对于单一漏洞类型,漏报率最高达0.48,误报率最高达0.38。实验结果表明,现有研究涵盖的漏洞类型不完整,误报及漏报多,并且依赖人工复核;最后,针对这些不足展望了未来研究方向,并提出一种符号执行辅助的模糊测试框架,能够缓解模糊测试代码覆盖率不足和符号执行路径爆炸问题,从而提高大中型规模智能合约的漏洞挖掘效率。  相似文献   

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

10.
贺祥  刘磊  涂志莹  徐晓飞 《软件学报》2021,32(5):1341-1359
微服务设计模式通过将应用程序拆分成多个相互独立的微服务实现了各个微服务之间的相互解耦,允许各个微服务能够独立的进行迭代开发、部署,从而对用户需求变化以及DevOps流程中部署需求做出快速响应.每个微服务的独立迭代升级导致了系统中可能出现多版本共存现象,不同服务的不同版本之间的依赖关系变得更加复杂,如何在这种场景下适应用户不断变化的需求以及开发者敏捷DevOps流程中部署需求是当前面临的一个挑战.为解决这一问题,本文提出了微服务依赖模型来刻画不同服务的不同版本之间复杂的依赖关系,设计了基于贪婪的优化算法来找到最优的微服务系统演化方案以满足用户需求变化和敏捷DevOps流程中部署需求,并实现了面向演化的微服务编程框架(MF4MS)和微服务系统自适应架构(MI4MS),可支持演化方案的自动执行,实现微服务系统运行时的自适应演化.实验表明,在有着复杂依赖的微服务系统中,该方法在服务失效时长、服务可用性、开发者DevOps代价等指标上有很好的表现,可有效支持微服务系统自适应演化以应对用户需求变化和敏捷DevOps.关键词:微服务系统;多版本共存;版本依赖;自适应;用户需求变化;DevOps.  相似文献   

11.
钟陈星  李杉杉  张贺  章程 《软件学报》2019,30(10):3227-3241
近年来,DevOps日渐火热,作为支撑技术的微服务架构由于其敏捷性、灵活性和可扩展性已成为软件行业关注的热点.然而,微服务粒度的界定是微服务领域的一项难题,至今仍缺乏行之有效的评估微服务粒度的标准.针对这一问题,结合几种微服务划分原则提出了4项评估指标,用于量化地衡量微服务划分的合理性,并基于此提出了一种基于限界上下文的微服务粒度评估模型.同时,实现了工具原型可自动化地计算评估结果.案例研究部分将模型的评估结果与架构设计人员的心理预期进行比较,结果表明,所提出的评估模型可以较好地评估微服务粒度.  相似文献   

12.
崔海涛  章程  丁翔  曹伶俐  杨耘 《软件学报》2021,32(5):1256-1283
目前,一种称为微服务的架构风格正受到越来越多的关注.其给软件项目带来好处的同时,也影响着使用微服务架构的开发组织.本文的研究目的是明确微服务的使用对开发组织产生了哪些影响,这些影响对于组织来说是优势还是挑战.对此本文进行了一次系统文献综述,并通过元-民族志对定性数据进行合成,最终得出了使用微服务架构对组织产生影响的7个方面,分别是:组织结构、自治团队、技术/工具、组织文化、开发人员、DevOps以及通信.同时基于系统文献综述的结果本文发现,虽然大量微服务的研究都强调为了充分获取微服务带来的预期收益,就必须解决组织问题,但是目前针对组织问题发表的学术文献依然较少,因此本文将那些可能更接近于工业界观点的、高质量的灰色文献也纳入到工作中.根据系统文献综述的结果以及对定性数据的合成,得出了四条更高阶的解释并提出了一个适应性评估框架,此评估框架可以帮助公司评估并提高开发组织对于微服务架构的适应性,为开发组织在面向微服务开发的过程中提供了指导意见.最后,为了验证所提出的适应性评估框架,本文面向工业界设计并实施了有针对性的问卷调查和行业访谈,两者的结果验证了所提出的适应性评估框架的有效性.  相似文献   

13.
针对已部署到区块链上的智能合约无法实现升级的问题,结合以太坊技术提出了一种松耦合的新型智能合约模型。该模型将传统的智能合约拆分为接口合约集、逻辑合约集、数据合约集三个子集。以此松耦合智能合约模型为基础,设计了一个客户实名转账获取代币的业务场景,通过部署代币合约、接口合约、逻辑合约和数据合约,实现了基本的实名转账功能。最后通过以太坊平台进行系统测试,分析了实名转账场景的功能性、可升级性及成本花销。结果表明基于该模型设计的智能合约,在实现基本功能的同时,能够允许在上链之后对其合约子集进行升级,且能有效降低升级成本,相比传统的链下升级方案,松耦合模型合约的升级成本降低了32.43%,部署成本仅增加了24.16%。  相似文献   

14.
针对煤矿监控类软件开发面临版本混乱、重复开发、维护困难,软件的定制化修改导致不同煤矿监控软件之间的通信变得困难等问题,提出了一种采用微服务架构的煤矿监控类软件开发框架。基于微服务架构,通过规范化开发流程、简化技术栈优化煤矿监控类软件的开发流程;将基础业务固化在开发框架中,专有业务通过微服务的方式进行加载运行,减少了基础代码的重复编码工作,并使得专有业务可以重用;沙盒运行方式让微服务的部署不受运行环境影响,部署方便,跨平台移植性强,微服务托管平台可对微服务进行统一的版本管理。实际应用结果表明:采用微服务架构的煤矿监控类软件通过将常用功能拆分为微服务,可以最大程度减少软件功能的重复开发,微服务的数据存储效率比现有垂直架构更高,使用Docker镜像部署,软件安装过程更为便捷,为监控类软件开发提供了一种更为高效的开发方式。  相似文献   

15.
16.
基于已有的区块链和访问控制相结合相关的研究存在难管理访问权限、低效率、难支持轻量级物联网设备的缺点,提出一种基于属性的物联网访问控制模型.通过引入属性的概念,支持细粒度的访问控制;将访问控制策略以智能合约部署在区块链上,降低物联网设备的计算压力,使该策略可以应用于轻量级设备;引入token概念,通过访问主体提前申请访问...  相似文献   

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

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