第1章 一台全球计算机
以太坊 历史 以太坊 发展阶段 以太坊 特色第2章 账户是什么
以太坊 基础知识 Keystore 与私钥保存 以太坊 常用钱包 以太坊 EIP-55 账户地址第3章 交易是驱动力
以太坊 交易是驱动力 以太坊 交易发送 以太坊 交易方法 以太坊 交易生命周期 共识与工作量证明 矿工与挖矿奖励第4章 数据结构
以太坊 数据结构 以太坊 Radix树 以太坊 Merkle树 Merkle Patricia树 以太坊 RLP编码 以太坊 状态树 以太坊 交易树 以太坊 收据树 以太坊 区块第5章 构建私链
以太坊 安装geth 以太坊 启动私链 以太坊 接收挖矿奖励 以太坊 转账与收款第6章 部署智能合约
以太坊 部署智能合约 以太坊 什么是智能合约 以太坊 安装编译器 Solc 编译智能合约 智能合约发布准备 部署智能合约 调用智能合约第7章 以太坊虚拟机
以太坊虚拟机 虚拟机的执行结果 虚拟机的执行资源 合约调用合约 虚拟机的输入输出 Gas 花费与退回 虚拟机指令集第8章 Solidity 语法
Solidity 语法练习 Solidity 基础语法 Solidity 语法进阶 Solidity 高级语法 Solidity 安全第9章 Truffle 开发
Truffle 合约开发 编译、测试工具安装 Truffle 启动样例 Truffle ERC20合约 Truffle ERC20合约测试Truffle 冷知识
Truffle 冷知识 短地址攻击 比特币的区块 以太坊与比特币账户的区别 “不可能的三角”问题 ETHASH 挖矿算法第1章 一台全球计算机
以太坊 历史 以太坊 发展阶段 以太坊 特色第2章 账户是什么
以太坊 基础知识 Keystore 与私钥保存 以太坊 常用钱包 以太坊 EIP-55 账户地址第3章 交易是驱动力
以太坊 交易是驱动力 以太坊 交易发送 以太坊 交易方法 以太坊 交易生命周期 共识与工作量证明 矿工与挖矿奖励第4章 数据结构
以太坊 数据结构 以太坊 Radix树 以太坊 Merkle树 Merkle Patricia树 以太坊 RLP编码 以太坊 状态树 以太坊 交易树 以太坊 收据树 以太坊 区块第5章 构建私链
以太坊 安装geth 以太坊 启动私链 以太坊 接收挖矿奖励 以太坊 转账与收款第6章 部署智能合约
以太坊 部署智能合约 以太坊 什么是智能合约 以太坊 安装编译器 Solc 编译智能合约 智能合约发布准备 部署智能合约 调用智能合约第7章 以太坊虚拟机
以太坊虚拟机 虚拟机的执行结果 虚拟机的执行资源 合约调用合约 虚拟机的输入输出 Gas 花费与退回 虚拟机指令集第8章 Solidity 语法
Solidity 语法练习 Solidity 基础语法 Solidity 语法进阶 Solidity 高级语法 Solidity 安全第9章 Truffle 开发
Truffle 合约开发 编译、测试工具安装 Truffle 启动样例 Truffle ERC20合约 Truffle ERC20合约测试Truffle 冷知识
Truffle 冷知识 短地址攻击 比特币的区块 以太坊与比特币账户的区别 “不可能的三角”问题 ETHASH 挖矿算法以太坊 发展阶段
以太坊一共将经历4个发展阶段,我们正处在第3阶段的中期。
每个发展阶段的交接过程是以 “硬分叉” 的形式完成。 所谓硬分叉即一种特殊的软件升级——该升级不向前兼容。 新软件承认过往旧软件所产生的区块链记录, 但如果你还想用旧软件生成区块,新软件不会承认该区块。 旧软件将在新软件诞生运行后逐渐从网络中下架。
之所以叫“分叉”,不叫“替换”, 是因为这代表网络社群中总有一部分人不想更新软件。 硬分叉代表社区分裂,软分叉则保持向前兼容。 分叉的自由性让区块链网络有“自我进化”的能力。 拥有更多开发者、更多使用者的分叉链具有更高的存活概率。
以太坊采用硬分叉来进行阶段升级,下面分阶段描述。
区块高度 #0
“前沿”(Frontier)阶段,2015年7月至2016年3月 。
在此期间发布了以太坊的最初版本。 它并非是一个稳定、安全的版本,主要面向开发者推广,让他们使用该软件进行试验。 以太坊最初版本的生态环境中提供了命令行界面, 可供开发者上传调智能合约,也提供挖矿模块,让整个网络中能不断生产出新的区块。 挖矿算法是采用基于工作量证明(Proof of Work, PoW)的方式进行。 在这阶段中,各项软件指标不断提升,区块链网络状况开始趋于稳定。
区块高度 #1,150,000
“家园”(Homestead)阶段, 2016年3月至2017年10月 。
以太坊软件开发的生态圈,以太坊网络的底层协议在此期间保持稳定。 社区开发者贡献的开发工具、图形界面钱包等不断完善, 普通用户也可以参与到以太坊的使用。 通过对底层协议的优化改进,加快了交易出块速度,虚拟机的各项指标基本稳定。
区块高度 #1,192,000
“DAO”安全事故分叉,2016年6月18日 。
以太坊区块链上一个众筹性质的智能合约 DAO (募集了1.5亿美元,相当于当时流通的以太坊的15%) 发现安全隐患“循环引用漏洞”(recursive call bug)。 该漏洞被黑客利用且从原智能合约中大量盗走以太币。 最终以太坊创始人决定采用一次软分叉、一次硬分叉方式回滚了交易, 避免了投资人的资产损失。 而不参与硬分叉的旧链最终被命名为以太坊经典 (Ethereum classic, ETC),从此与以太坊分道扬镳。
DAO事故的分叉措施为一次安全事故的挽救措施。 按照区块链去中心化的思想以及自治的理想,任何人应该为自己的漏洞负责, 也应该认识到区块链不可逆的特性。 而本次硬分叉回滚交易的行为,确实打击了部分以太坊的信仰者, 促使他们留在旧链 ETC 上。 此次事件也成为以太坊采用激进方式处理的事件之一。
区块高度 #4,370,000
“大都会”(Metropolis)阶段。
总共分为两个步骤实施,分别是拜占庭 (Byzantium) 与君士坦丁堡 (Constantinpole) 。 拜占庭步骤将延缓区块链出块的速度。 君士坦丁堡步骤将显著增加区块链的计算难度,减少挖掘区块时候的以太币奖励。 两者将促成基于工作量证明的挖矿难度上升,最终迫使该区块链的共识方式转向权益证明 (Proof of Stake, PoS)的共识算法。 原计划于2018年实施的君士坦丁堡的时间路线图已经向后延期, 于2019年3月实施,挖矿奖励减低为每个区块2个以太币。
区块高度 #尚未确定
“宁静”(Serenity) 阶段。
在该阶段,共识算法完全转向以权益证明(PoS)的方式来进行区块挖掘, 摒弃工作量证明(PoW)的方式。 在进入该阶段后,社区的共识算法将完全改变,这对整个经济模型和社区形态会造成巨大冲击。 这部分计划尚处于讨论制订阶段,而创始人 Vitalik 也尚未就该阶段的详细安排作出说明。
下一章:以太坊 特色
以太坊社区的快速变革一直引领着公链社区在区块链2.0时代的探索步伐, 不少公链都从它派生而来,进一步发扬光大。 它的 经济模型 与 挖矿模型 与比特币相比有较大区别,下面分几方面逐一概括。以太币总量比特币的币,全部由挖矿过程产 ...
AI 中文社