主页 > imtoken安卓app下载 > 以太坊智能合约开放平台的设计与思考
以太坊智能合约开放平台的设计与思考
智能合约作为区块链2.0的关键技术而存在。 2017年至2018年初,风靡全球的ICO和CryptoKittes吹响了智能合约应用的号角。 在此期间以太坊智能合约图片,以太坊中的智能合约数量也呈指数级增长。 增加。 然而,大量的合约安全漏洞、不友好的用户体验、不规范的市场行情严重制约了智能合约的快速发展。 构建智能合约开放平台,可以解决智能合约存在的问题,友好的支持上层应用,可以作为我们后期开发思路的参考。
一、目前智能合约应用存在的问题 1.1 智能合约安全漏洞频发
目前,以太坊主链上已经发布了10000+个智能合约,但存在漏洞的合约占比很大,也给一些机构造成了巨大的经济损失。 个人根据历史上发生的一些合约攻击事件,对合约存在的漏洞进行了简单的统计分析。 如下所示:
图1-1 以太坊智能合约漏洞分析
根据统计结果,智能合约存在安全漏洞的主要原因可以归结为合约代码中的错误(而不是以太坊系统中的错误)。 合约设计、强制安全编码约束、合约执行后监控避免智能合约安全漏洞。
1.2 智能合约难以被上层应用直接使用
在区块链业务应用场景中,企业如果要构建基于以太坊智能合约的应用,会涉及到智能合约的开发、测试、部署、运行检测、停止、丢弃、删除等。 每个生命周期的管理。 但是,现有的以太坊智能合约在编写和使用方面并没有很好的支持上层应用,导致公司内部非区块链技术部门在使用服务时门槛较高。 健康)状况。 因此,有必要提供一个对上层应用友好的智能合约开发平台。
1.3 上层应用无法直接监控合约运行情况
我们知道智能合约的运行是通过交易来调用的。 但是,没有办法监控以太坊系统中智能合约的运行情况。 上层应用提供一些辅助决策信息。
2. 智能合约开放平台解决方案 2.1 平台设计目标
主要目的是为智能合约提供一个安全性高、标准化、开放性和易用性的开放平台。
2.2 智能合约开放平台设计架构
根据智能合约的开放设计目标,平台核心功能主要分为三大管理模块:“合约开发、测试、部署一体化平台”、“合约运行监控管理平台”、“合约服务接入平台” ”。 详见后续章节。 三大管理模块底层由通证经济管理支撑。 上层以账户权限和实名认证管理作为平台的准入管理。
图 2-1 智能合约平台架构设计图
3. 合约开发测试部署一体化平台 3.1 一体化Remix开发测试平台
智能合约开放平台集成了Remix平台,方便平台用户进行智能合约的开发和测试。 可以针对Remix进行本地化,并提供一些内置的合约调用库,比如安全数字操作的库等。
图 3-1 Remix 智能合约开发平台
3.2 一键部署测试,在线签约
为用户提供一键部署测试环境合约。 在线环境中的合同需要进行审计。 合约通过我们团队的审核后,就可以发布智能合约了。
图3-2 智能合约官方环境提交审核模板
3.3 合约标准设计约束
1)规范Token合约协议
合约的标准和限制主要是考虑增加合约的安全性和规范性,对平台开发者进行约束。 目前以太坊的主要协议有ERC20、ERC721、ERC223、ERC621和ERC8275协议。 协议主要分为同质Token协议和非同质Token协议。 智能合约开放平台将对ERC20和ERC721协议进行定制化改造,提供智能合约开放平台的同构和非同构协议。
2)统一暂停销毁
所有提交到官方线上的合约都必须实现约定的方法暂停和销毁功能。 一方面可以规避合约漏洞带来的风险,另一方面也便于统一运营管理。
3)统一的数值计算方法
合约中涉及数值计算的方法需要根据开放平台提供的数值计算代码库进行计算,避免数值溢出问题。
4)必要的合同分层设计审查
对于逻辑复杂的合约平台,建议开发者采用分层设计,方便在需要时进行合约升级。
5)必要的权限设计审查
对于合约的一些重要方法,需要强行增加合约的访问控制逻辑,防止合约的方法被他人调用。
3.4 合约公开市场
合约公开市场主要定位于发展成为区块链行业的“微信小程序”。 在开放平台上发布的合约将被纳入合约公开市场。 合同发布时附上合同的一些基本信息、合同类别和图片。 展示信息,方便丰富合约在行情中的展示。
图 3-3 智能合约市场
合约公开市场让用户可以快速找到符合用户需求的智能合约; 同时,它还提供了智能合约开发者可以快速参考的合约代码模板。
4. 智能合约运行监控管理平台 4.1 合约运行状态监控
1)合约余额监控
提供合约账户资金监控,主要适用于一些需要接收代币的合约。
2) 合约调用的监听
统计某个合约的调用次数,对调用的地址进行分类统计,分析调用合约的参数。 对调用合约失败的交易进行区分和分类。
3)合约现状监控
对于关键合约,需要知道合约当前的详细状态,需要实现一个监听调用获取合约状态信息的方法。 请注意以太坊智能合约图片,监控方法最好通过直接调用而不是事务来实现。
4.2 合约中止与销毁
根据合约的运行,提供暂停和销毁合约的功能,方便在运行阶段发现合约的异常或漏洞,可以很好的止损合约。 一般建议在合约使用出现漏洞时优先使用暂停功能。
5. 智能合约服务接入平台 5.1 通用合约服务
合约的服务主要是基于一些常用的上层业务需求,在现有区块链无法满足或单靠区块链无法实现的场景下,开放平台可以提供这些常用的服务化接口方便上层应用的合约可以快速使用。
图 5-1 智能合约服务接入主界面
对于后期应用的开发,可以提供加密资产游戏、彩票游戏、数字身份等。 并根据存证系统的发展,提供资产数字化、合约存证、资产拍卖等服务。 合约是否需要服务,主要取决于上层的应用需求,建议按需服务。
免费领取验证码、内容安全、短信发送、直播点播体验包、云服务器等套餐
更多网易技术、产品、运营经验分享,请点击这里。