区块链-智能合约-设计模式

一、智能合约设计模式概述

合约的公开性、回调机制,每一个特点都可被利用,作为攻击手法,稍有不慎,轻则合约形同虚设,重则要面临企业机密泄露的风险。所以,在业务合约上链前,需要预先对合约的安全性、可维护性等方面作充分考虑。

IEEE收录了维也纳大学一篇题为《Design Patterns For Smart Contracts In the Ethereum Ecosystem》的论文包含18种设计模式,涵盖了安全性、可维护性、生命周期管理、鉴权等多个方面。

图片

二、通用常见的几种

  1. 安全性(Security)

    1. Checks-Effects-Interaction - 保证状态完整,再做外部调用

    2. Mutex - 禁止递归

  2. 可维护性(Maintaince)

    1. Data segregation - 数据与逻辑相分离

    2. Satellite - 分解合约功能

    3. Contract Registry - 跟踪最新合约

    4. Contract Relay - 代理调用最新合约

  3. 生命周期(Lifecycle)

    1. Mortal - 允许合约自毁

    2. Automatic Deprecation - 允许合约自动停止服务

  4. 权限(Authorization)

    1. Ownership

  5. 行为控制(Action And Control)

    1. Commit - Reveal - 延迟秘密泄露

    2. Oracle - 读取链外数据

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值