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

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