不过目前,社区关于是否采用 Prog-PoW 以及何时采用尚未达成一致意见,在今年 2 月 1 日的公开电话会议上,以太坊开发人员决定推迟提交 ProgPow 升级代码,转而继续进行审计。
如果你想关注最新消息,可以加入以太坊群组 ProgPoW参与讨论。
挖矿的另一个维度则是矿池垄断算力。根据etherchain.org数据,以太坊矿池算力占比目前排名是:Ethermine(30.37%)、SparkPool(16.24%)、NanoPool(15.51%)、F2Pool(12.37%),并且在过去 30 天乃至往前追溯半年,这个排名一直如此。
此对于散户而言,由于算力并不占优,出块的幸运值不高,很难挖到区块,因此不得不加入矿池,手续费大概在 1% 到 5%。
查询工具
查询挖矿收益可以参考网上的鱼池热门矿机页面或挖币网数据;
查询关于以太坊的算力、挖矿难度、出块数等各种数据,可使用各家以太坊区块链浏览器,除了基础数据,关于历史数据会用图表展现,适合各类统计,比如etherscan和etherchain;
此外,BTC.com 旗下的浏览器也可以查询以太坊相关情况。
五、智能合约与 DApp 开发
智能合约
以太坊上的程序称之为智能合约,它是代码和数据的集合。智能合约可以理解为在区块链上可以自动执行的、以代码形式编写的合同。很多博彩类区块链游戏就宣称自己使用了智能合约,可以自动赔付,不会有庄家操盘。推荐阅读 Odaily星球日报专栏《智能合约是如何工作的?》以及《什么情况下智能合约应用案例难以实现?》。
(1)编程
智能合约官方推荐的编程语言是 Solidity,文件扩展名以 .sol 结尾。Solidity 语言和 JavaScript 很相似,可以用它来开发合约并编译成以太坊虚拟机字节代码。
关于Solidity 语言开发,以太坊官方准备了下面的工具:
Solidity Documentation
Solidity在线实时编译器
标准合约 API
Useful Ðapp Patterns
(2)运行
EVM(Ethereum Virtual Machine)——以太坊虚拟机是以太坊上智能合约的运行环境。EVM 运行在以太坊节点上,把合约部署到以太坊网络上,合约就可以在以太坊网络中运行了。
虚拟机、智能合约和智能合约语言之间的关系,感兴趣的读者可以阅读《一文看懂区块链虚拟机》。
以太坊虚拟机上运行的是合约的字节码形式,需要我们在部署之前先对合约进行编译,可以选择Browser-Solidity Web IDE或solc 编译器。
在以太坊上开发应用时,常常要使用到以太坊客户端(钱包)——使用钱包是用来管理代币的,这里有一个完整的以太坊客户端列表。
Geth是开发以太坊时最长使用的客户端,基于 Go 语言开发;另一个最常使用的是Parity,基于 Rust 开发。
(3)部署
智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户。
合约部署之后,当需要调用这个智能合约时,只需要向这个合约账户发送消息(即交易)即可;通过消息触发后,智能合约的代码就会在 EVM 中执行。
具体操作细节,推荐阅读《以太坊是什么 - 以太坊开发入门指南》,另外推荐以太坊开发者网站ethdev以及remix,他们提供基本的编译、测试网络、执行合约。
如果你想参考以太坊上已经开发的项目,可以登陆Ethereum·Github。
DApp
去中心化应用程序(DApp)与传统 APP 一样,都是提供一种服务,实现用户和提供商之间的直接交互。但区块链 DApp 拥有一些智能合约组合,这些合约组合可以实现 DApp 特定的功能。
去年下半年,区块链 DApp 被抬上风口,不少人认为它可以改变传统的中心化 App 所固有的问题(不透明、缺乏隐私等),然而目前 DApp 应用最广泛还是博彩类,游戏类次之。根据Dapprader数据,以太坊 DApp 应用最高日活不超过 1500 人。推荐阅读《什么是DApp?》
(1)查询
您可以使用下列这些 DApp查询工具:
dappradar 与 dapp.review:除了查看以太坊,还可以查看 EOS 及 Tron 链上 DApp;
Mist:以太坊官方的 DApp 浏览器。
Status:手机上可以使用的 DApp 浏览器。
MetaMask:Google浏览器扩展,把 Chrome 变成了一个 DApp 浏览器。可以管理你的钱包,以及连接到不同的以太坊网络,包括本地的开发网络。
Parity:以太坊客户端,也是一个 DApp 浏览器。
(2)开发
如果想要开发一个DApp,怎么操作?首先,DApp 开发需要了解 Web3 Javascript API、 Solidity 等编程语言,如下所示:
Web3 JavaScript API- 当您想要与以太坊节点交互时,这是主要的 JavaScript SDK;
Solidity Docs- Solidity 是以太坊开发使用的智能合约语言,它为 EVM(以太坊虚拟机)提供编译操作码;
Solium- 严格遵守官方Solidity Style Guide制定规则的开发器;
测试网络- 测试网络可帮助开发人员开发和测试以太坊代码以及进行网络交互;
DApp开发资源-有助于开发、调试和部署以太坊应用程序,具体包括:智能合约ELI5、101 noob 编写智能合约的介绍、标准化合约 API 列表。
关于 DApp 开发,也有一些教程,可供参考:
关于 ethereum.org DApp 教程
DApps 初学者教程系列
Solidity 教程系列
高级 Solidity 教程
A contract packager for Ethereum and Javascript (formerly ether-pudding)
六、以太坊的发展历史
以太坊路线图
根据以太坊创始者 Vitalik 及 Gavin Wood 的规划,以太坊的发展被分为4 个阶段:Frontier (前沿)、Homestead (家园)、Metropolis (大都会)和 Serenity (宁静)。
以太坊路线图如下:
Frontier (2015.7-2016.3):以太坊发布测试版(非正式版),供开发者学习、试验并开始建立以太坊去中心化的应用和工具;
Homestead (2016.3-2017.10):以太坊发布正式版本,普通用户也可挖矿,中间经历了 4 次硬分叉,分叉出ETC;
Metropolis (2017.10-现在):由 PoW 向 PoS 过渡,中间经历两次硬分叉——拜占庭与君士坦丁堡硬分叉;
Serenity (待定):成为真正主流区块链,升级为 ETH 2.0。
目前,以太坊尚处于 Metropolis (大都会)阶段,并且君士坦丁堡硬分叉还被推迟到 2019 年 2 月 27 日。关于 Serenity阶段更多细节,推荐阅读 Vitalik 的《以太坊 Serenity 设计依据综述》。
关于以太坊发展历史的更多细节,推荐阅读《以太坊发展历史回顾》、《一篇文章带你了解以太坊的前世今生》以及《以太坊五年》。
扩容问题
以太坊至今仍处于成长初期,面临诸多问题——包括共识机制、吞吐量等问题,推荐阅读《以太坊的发展去向深度分析》。
对此,包括 Vitalik 在内的众多开发人员清楚认识到这一点,他们提出了一些基于“链下(off-chain)” 和 “第二层(layer 2)” 的扩容解决方案——致力于构建基础架构和扩展以太坊性能——通常被称为扩展方案(scaling solutions),包括状态通道(state channels)、分片(sharding) 、子链/侧链方案 Plasma和Truebit。Vitalik 更是宣称 Plasma 和 sharding 可能会产生一种协同效应,使得以太坊处理速度达到 100 万 TPS。
状态通道(state channels):设计者希望通过“把很多处理流程转移到链下”,来提高区块链的使用效率,降低手续费,增加隐私的同时又能保留区块链可信赖的特性。状态通道是支付通道泛化出来的形式,但不仅限于支付,还可用于区块链上任意的“状态更新”,比如智能合约中的更改。
分片(sharding):将以太坊网络的整个状态分割成一系列被称为分片的分区,其中包含自己独立的状态片及交易历史记录。在这种系统中,特定的节点只为特定的分片处理交易,从而允许在所有分片中处理的交易吞吐量比在单个分片中处理所有交易(像现在的主链一样)要高得多。
Plasma:和状态通道一样,Plasma 也是一种用于管理链下交易的技术,同时依靠底层的以太坊区块链来实现其安全性。但是 Plasma 采用了一种新思路,它是通过创建依附于“主”以太坊区块链的“子”区块链。这些子链又可以循序产生它们自己的子链,并能依次循环往复。
Truebit:Truebit是一种帮助以太坊在链下进行繁重或者复杂运算的技术。它可以让基于以太坊的应用程序处理更复杂的事务并仍能被主链验证,对于提高以太坊区块链的总交易通量更有效,这使得它与状态通道和 Plasma 不一样。
更多详细内容,推荐阅读《以太坊第 2 层扩容方案》、《什么是状态通道》、《 V 神:以太坊上的分片》、《如何扩展以太坊:分片原理解释》、《以太坊分片:overview and finality》、《以太坊 Plasma 解说》以及《Truebit × 管理未来》。
ETH2.0
以上方案计划在 ETH 2.0 实现,目前以太坊研究团队提出了关于以太坊 2.0 的一些计划和设想。如果您希望详细了解,可以阅读Odaliy星球日报编译的《以太坊 2.0 是什么?分成几个阶段?》以及Vitalik 的《 ETH 2.0 》。根据文章,各阶段大致为:
阶段 0 引入信标链( The Beacon Chain):这条链承担的其中一个职能是让验证者可以参与质押系统、替代矿工的角色而成为链的构建者。另一个职能是存储分片状态的索引。对信标链的详细介绍可阅读《以太坊 2.0 协议核心 Beacon 链详解》;
阶段 0+入股:信标链以及每一条分片链将使用 Casper FFG 来完成出块。FFG 是一种权益证明算法(Proof of Stake),用于对链上不良行为实施罚没(即削减权益);
阶段 1分片:旨在就分片链的内容达成共识,并非对其意义达成共识。换言之,这是一次对分片结构的“试运行”,而不是尝试使用分片进行扩容(Scale)。信标链将分片链视为没有结构或意义简单的位(Bit)集合。分片链尚未拥有账户、资产或智能合约。
阶段 2智能合约:熟悉的以太坊系统开始回归。此时,新的以太币 BETH 可实现转让,并且将重新引入智能合约。每个分片将基于 eWASM(我们称之为“EVM2”)管理一个虚拟机。
阶段 3链下状态存储:尽可能减少链上状态,链上存储时并不用存储整个状态,用户将负责在链下存储完整的状态。EVM2 将支持我们熟悉的账户、合约、状态以及其他抽象内容。
阶段 4 分片智能合约:希望实现跨片通讯,但是存在很多尚待解决的困难,具体可看文章。
值得注意的是,2019 年 1 月 31 日,以太坊发布了向以太坊 2.0 网络演进的第 0 阶段第一个预发布版。
另外,核心开发者Ben Edgington每周会发布关于 Eth 2.0 信标链(Beacon)第 0 阶段规范的更新,值得关注一下。
以上关于以太坊研究研究进展的最新情况,均可以在下文的社群中获得最新消息,可以密切关注。
七、以太坊社区治理:
基金会、社区、贡献者介绍
以太坊基金会
2014 年 6 月,以太坊基金会瑞士注册成立,是一家非营利性机构, 旨在管理以太币销售中筹措的基金,以更好地为以太坊和去中心化技术生态系统服务。它主要但并非唯一的重心是促进以太坊协议和相关技术的开发, 以及扶持使用以太坊技术及协议的应用。
以太坊基金会的官方沟通通常在以太坊博客上以发帖形式呈现——有些帖子是技术性的、有些是组织性的、有些是个人的,所有博客帖子都在Twitter和 Reddit上公开。
另外,基金会还会在Youtube 频道上主持一些开发者会议,比如 1 月 18 日晚上关于延迟君士坦丁堡分叉的核心开发者电话会议。
相关入口总结:官网网站(主要入口);社区;博客;推特;Youtube;Facebook(不怎么更新);电子邮件(很慢,但很有用,紧急情况可以发邮件)。
社区
以太坊reddit论坛是最全面的以太坊论坛,很多讨论都是在这里完成的,其中的核心开发者也很活跃。但这里很难获得实际帮助和答案,建议大家选择Gitter Rooms和Stack Exchange。
Stack Exchange上采用问答形式,一人发帖,其他人踊跃留言,用户活跃度较高。
Gitter是 Github 旗下的聊天软件,使用 Github 帐户登陆。它以太坊日常聊天的首选论坛,里面有很多的核心开发者,能够立刻获得想要的答案。开发者们通常在Gitter上聊天协作,然后在 Github上提交代码。
另外Gitter不同的房间有不同的主题,最核心的是AllCoreDevs房间,这里聚集了几乎全部的以太坊开发者。
相关的Gitter房间总结:
go-ethereum—— 关于 geth(与 go 实现相关的工具)
cpp-ethereum—— 关于 eth(与 C++ 实现相关的工具)
web3.js—— 关于 web3.js(以太坊 Java 描述语言用户操作界面库)
Solidity—— Solidity 合约相关编程语言
serpent—— 用于合约开发的 Serpent 语言
mist—— GUI 资料获取和处理方式浏览器,官方钱包应用
light-client—— 关于 light 客户端和 LES 协议
research—— 以太坊研究
governance—— 关于开发者管理
whisper—— 匿名数据电报发表
swarm—— 去中心化的内容存储和分配网络
EIPs—— 以太坊改进协议 ( EIPs ) 讨论
ethereumjs-lib—— 以太坊核心功能的Java描述语言库
devp2p——ÐΞV’s 点对点网络协议及框架
以太坊改进提案(EIPs)
以太坊改进协议( EIPS )计划旨在成为协调协议改进的框架和非正式商业流程。人们会首先向以太坊 EIP 资源库提出想法作为一个问题或 pull 请求。经过基本的过滤,提议会收到一个数字并以草稿的形式发布。必须经过社区一致同意,以太坊改进协议才能变成活跃状态。从提出改变到最终的同意,取决于以太坊用户的共识。对于以太坊改进协议的讨论,可进入 gitter 关于以太坊改进协议的频道。
EIP 指南和 EIP 示例
EIP 模板
EIP 存储库和 README
用于 EIP 讨论的 gitter 频道
Meetups
以太坊的 Meetups 分布在世界各地,他们通常会举办线下见面会,讨论技术以及行业发展,抱团取暖。
Meetup 线下见面会资源表
以太坊论坛上的Meetup频道
贡献者
以太坊作为开源项目,得到了众多开发者的支持,以太坊社群也给出一份贡献者名单,如果你对这些人感兴趣,可以去私聊。篇幅有限,以下简单列出几个人:
Ricardo de Azevedo Brandao
Santanu Barai
Brooks Boyd
RJ Catalano
Joseph Chow
Keri Clowes
François Deppierraz
Bertie Dinneen
Gregg Dourgarian
Raghav Dua
八、其他
以太坊有一些信息网站,感兴趣的可以关注一下:
以太坊创始人 & 灵魂 vitalik个人网站:http://about.me/vitalik_buterin
以太坊前 CTO Gavin Wood个人网站:http://gavwood.com/
以太坊智能合约之父 Nick Szabo 个人网站:http://szabo.best.vwh.net/index.html
以太坊大事年表:http://ethereumtimeline.org/
以太坊爱好者:https://ethfans.org/
以太坊世界新闻网:https://ethereumworldnews.com/category/news/ethereum-news/
以太坊每周周报:http://www.weekinethereum.com/
本文由admin于2025-09-08发表在,如有疑问,请联系我们。
本文链接:http://oe.58dk.cn/post/3928.html
发表评论