基于以太坊ICO的安全合约架构
概述
随着比特币、以太坊的崛起,通过ICO来筹集早期资金的项目越来越多。其中,大多数项目都采用基于以太坊的ERC20 token来发放代币。以ERC20 token为标准的代币占据了数字货币市场的半壁江山,从而支撑了以太坊的价格上涨。
以太坊合约的图灵完备性给ICO带来极大自由度和便利的同时,也让ICO安全备受关注。综合来看,通过合约来控制ICO流程时需要解决的几个问题如下:
* 代币如何创建,由谁来创建?
* 如何在众筹过程中创建代币?
* 用户转入的ETH如何控制?
带着以上几个问题,想要了解基于以太坊ICO的技术细节,我们接着往下看。
ERC20 Token
ERC20 token是以太坊平台上的数字货币标准,本质上是一种智能合约。使用ERC20 token的优势是:
* 众筹过程公开透明
* 众筹规则可控
* 交易时间可控
以上几个特性,都是基于以太坊的图灵完备性,通过合约来控制的。
众筹合约框架
考虑到整个ICO过程的可控性、安全性、以及监管等要求,ICO过程会涉及到三个合约:众筹合约、ERC20 Token标准合约、钱包合约 ,以及用于创建这三个合约的主账号。
* 主账号
主账号是普通的以太币账号,负责创建三个合约
* 众筹合约
控制众筹时间,总量,发起创建代币
ERC20 Token标准合约
除了具备代币最基本的转账、余额功能之外,为了能够在众筹时初始化代币,该合约还有创建代币的功能(只有众筹合约才能创建代币)。