目录
以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。
以太坊的概念首次在2013年到2014年间由程序员Vitalik Buterin(V神)受比特币启发后提出《下一代智能合约和去中心化应用平台》,在2014年通过ICO(首次代币发售)众筹开始得以发展。
区块链发展简史
1、区块链1.0 (可编程货币)
以比特币为代表的数字货币,记录简单的账本,不支持应用
2、区块链2.0(可编程金融)
基于区块链可编程,自动执行智能合约。以太坊把图灵完备的虚拟机引入区块链,把整个网络变成一台全世界共用的通用虚拟计算机。
传统计算机能实现的,以太坊都能实现,但是效率比较低。
2018年双11淘宝24.7万tps
以太坊是10~20tps
3、区块链3.0(可编程社会)
超越加密货币和兼容应用,整个社会和各个行业的广泛使用,区块链成为社会底层设施、治理体系、社会体制、生产组织方式、财富分配方式由此变革。
以太坊的出现
2014年1月,Vitalik Buterin(V神)在自己任职编辑的比特币杂志(Bitcoin Magazine)上发表了《以在坊:一个下一代智能合约和去中心化应用平台》(Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform)。
2014年的迈阿密比特币会议中,Buterin宣布了以太坊项目,并且提出了多项创新性区块链技术,该年7月,启动以太坊众筹募资,募得3.1万枚比特币(当时约合1840万美元)。
2015年7月30日,当时作为以太坊项目CCO的成员Stephan Tual在官方博客上正式宣布以太坊系统的诞生,以太坊主网上线。
以太坊发展阶段
第一阶段 - Frontier(边境)
发行初期,技术未成熟,处于试验阶段,仅供开发者开发程序使用,并允许开发者参与挖矿。
第二阶段 - Homestead(家园)
Homestead是2016年3月第一个以太坊成熟的正式版本,100%PoW共识机制,引入难度炸弹,随区块数目的增加,区块难度Difficulty将以指数成长。
第三阶段 - Metropolis(大都会)
分为两个阶段:拜占庭 与 君士坦丁
1、拜占庭(Byzantium)阶段
2017年10月允许Revert、兼容ZK-Snarks(零知识证明)演算法,延后难度炸弹一年,出块奖励由5ETH降为3ETH。
2、君士坦丁(Constantinople)阶段
2019年1月14日提供更有效的讯息处理方案,优化大规模代码的执行,V神亲自操刀的扩容解决方案,延后难度炸弹一年,出块奖励从3ETH降为2ETH,手续费降低,引入PoW+PoS共识机制。
第四阶段 - Serenity(宁静)
完全的PoS共识机制名为Casper,采用Sharding与Side chain作为扩容解决方案,采用Starks机制增加隐匿性、商业应用的最终版本以太坊ETH2.0(预计4~5年)。
以太坊重大分叉
1、Block #200,000
“Ice Age” - 引入指数难度增加的硬分叉,促使向PoS共识过渡。
2、Block #1,192,000
“The DAO” - 扭转了被攻击的DAO合约并导致以坊和以太坊经典分裂成两个竞争系统的硬分叉。
3、Block #2,463,000
"Tangerine Whistle" - 改变了某些IO运算的gas计算,并从拒绝服务攻击中清除累积状态,该攻击利用了这些操作的低gas成本。
4、Block #2,675,000
“Spurious Dragon” - 一个解决更多拒绝服务攻击媒介的硬分叉,以及另一种状态清除。此处,还有重放攻击保护机制。
以太坊特点
1、以太坊是“世界计算机”,这代表它是一个开源的、全球分布的计算基础设施
2、执行称为智能合约(Smart Contract)的程序
3、使用区块链来同步和存储系统状态以及名为以太币(ether)的加密货币,以计量和约束执行资源成本
4、本质是一个基于交易的状态机(Transaction-based State Machine),即只有发生交易时状态才会改变
5、以太坊平台使开发人员构建具有内置经济功能的强大去中心化应用程序(DApp),在持续自我正常运行的同时,它还减少或消除了审查、第三方人为干预和交易的风险。
1、单独为智能合约指定编程语言Solidity
2、使用了内存需求较高的哈希函数:避免出现算力矿机
3、叔块激励机制:降低矿池的优势,减少区块产生的间隔时间为15秒左右
4、难度调整算法:一定的自动反馈机制
5、gas限制调整算法:限制代码执行指令数,避免循环攻击
6、记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端
7、为执行智能合约而设计的简化虚拟机EVM
涉及工具
MetaMask - 浏览器插件钱包(Chrome插件)
Remix - 基于浏览器的Solidity的在线编辑器
Chrome浏览器
科学上网
总结
1、区块链发展史
2、以太坊的出现
3、以太坊发展阶段
4、以太坊重大分叉
5、以太坊特点