第七章 以太坊--挣脱数字货币的枷锁

1、以太坊项目简介
1. 以太坊项目简史
2. 主要特色
支持图灵完备的智能合约,设计了编程语言Solidity和虚拟机EVM
选用了内存需求较高的哈希函数,避免出现强算力矿机、矿池攻击
叔块激励机制,下降矿池的优点,并减小了区块产生间隔(约15秒)
采用帐户系统和世界状态,而不是UTXO,容易支持更复杂的逻辑
经过Gas限制代码执行指令数,避免循环执行攻击
支持PoW共识算法,并计划支持效率更高的PoS算法
 
2、核心概念
1. 智能合约:以计算机程序的方式来缔结和运行各类合约
2. 帐户:合约帐户 / 外部帐户
3. 交易:指从一个帐户到另一个帐户的消息数据
4. 以太币
5. 燃料(Gas):控制某次交易执行指令的上限
 
3、主要设计
1. 智能合约相关设计
运行在以太坊虚拟机上,使用Solidity语言编写
2. 交易模型
出于智能合约的便利考虑,以太坊采用了帐户的模型,状态能够实时地保存到帐户里,而无需像比特币的UXTO模型那样去回溯整个历史。
3. 共识
以太坊目前采用了基于成熟的PoW共识的变种算法Ethash协议做为共识机制。
4. 下降攻击
全部交易都要提供交易费用,避免DDoS攻击
程序运行指令数经过Gas来限制,超过设定的上限就会被取消
 
4、相关工具
1. 客户端和开发库(go-ethereum)
2. 以太坊钱包(Mist)
3. IDE(Truffle, Embark, Remix)
4. 网站资源
 
5、安装客户端
 
6、使用智能合约
 
7、智能合约案例:投票
相关文章
相关标签/搜索