关键词:
智能合约
部署模型
区块链
不可篡改
摘要:
区块链技术是以一种巧妙综合了多个领域技术的一种新型系统架构,具有去中心化,不可篡改,透明可追踪等特点。智能合约是一种可以自动化执行交易的计算机协议,其被提出的初衷是为了自动化交易过程,但由于缺乏可信的执行环境,智能合约发展一直止步不前。借助区块链技术所提供的可信环境,智能合约被引入区块链技术体系。用户通过把智能合约部署在区块链中,使得智能合约能够在区块链环境中执行。智能合约扩展了区块链系统的功能,为区块链技术的发展开创了崭新的局面,同时自身也获得了发展。区块链并非原生支持智能合约的技术架构,目前也仅是主流及新兴的公共区块链开发平台实现了对智能合约的支持,自研区块链系统能够提供智能合约支持的十分少见。因而,目前业界提供智能合约支持的应用,大都受限于几个主流区块链公共平台进行开发。对一个不基于公共开发平台的自研区块链系统来说,目前能够对智能合约提供的支持为将智能合约代码直接部署到区块链上,即链上部署。然而链上部署的适用范围较窄,且直接将智能合约代码存储在区块链上存在较多问题,比如为原始区块链平台上的所有节点带来更多的存储压力和更多的计算资源耗费,将少数节点所达成的智能合约暴露给区块链所有参与用户,更重要的是,对于智能合约的攻击还会为原始区块链系统带来更多的攻击风险。为了更好的解决上述存在的问题,研究一个面向自研区块链系统的通用智能合约部署模型势在必行。本文借助子链技术,提出一种基于子链的新型智能合约部署模型,该模型将智能合约的部署与原始区块链平台分离,将一份智能合约部署在一条依附于原始区块链的子链上,该子链只针对参与子链上智能合约的用户开放。更进一步,本文为部署智能合约的子链设计了专属的记录和区块通用结构。同时,本文设计并初步实现了一个区块链自研系统,该系统面向全国高校提供学生成绩与学历的可信存证。本文采用新型智能合约部署模型,为该自研系统设计了一个扩展功能,以证实所提出模型的实用性。该自研系统利用区块链不可篡改的特性,通过将学生的成绩和学历信息上传到区块链,保证了学生成绩和学历信息的真实可信,同时对外提供区块信息和学生成绩与学历信息的简单查询。综上所述,本文给出了所提出的新型智能合约部署模型的设计分析和具体模型设计方案,其次介绍了自研区块链系统的需求分析,概要设计,详细设计以及相关模块的实现,最后给出了详细的系统测试。测试表明,该系统原型能够较好的完成系统的核心功能,并在一定程度上解决同类型系统所存在的部分问题。