【智能合约】编写复杂业务场景下的智能合约——可升级的智能合约设计模式(附Demo)

本文探讨了智能合约的现状、局限以及发展方向,强调了在复杂业务场景下智能合约设计模式的重要性。文章介绍了可升级智能合约的设计模式,包括合约的拆分、可维护性和升级性,并提供了一个DEMO来展示如何实现可升级智能合约。
摘要由CSDN通过智能技术生成

可升级的以太坊智能合约设计模式

目录

智能合约的现状

以太坊在区块链上实现了智能合约的概念,用于:同质化通证发行(ERC-20)、众筹、投票、存证取证等等,共同点是:合约逻辑简单,只是业务流程中的关键节点,而非整个业务流程。而智能合约想解决的信任传递,是环环相扣的,如果在传统系统环节被恶意侵入和篡改数据,那么传入智能合约的数据就是不受到信任的。因此,整体业务流程上链是智能合约发展的趋势。

智能合约的局限

智能合约在早期被设计的时候,并不打算支撑复杂的业务体系,这和它设计的初衷相违背:漏洞往往出现在程序员编写的代码和他想实现的逻辑之间存在着差距,越是简单的代码越是安全。简单和受限访问成了智能合约安全可靠的保障。

因此,智能合约引入了隔离网络和文件系统的沙箱环境、基于栈的编译器(有限高度的栈深以及仅可访问栈顶16个元素的限制)、静态语言、gasLimit(限定了合约的大小,每个合约能处理的逻辑有限;限定每个函数逻辑的复杂度,每一步操作都会消耗gas,以至于连使用循环都成了奢侈)、严格的内存访问限制(每个合约仅可以访问自己的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值