什么是Ethereum:Ethereum是一个Decentralization计算平台。我们可以将其想象成一台并不在单一设备中运行的计算机。也就是说,它可以同时在全球各地的数千台设备中运行,即不存在特定所有者。
与Bitcoin和其他数字貨幣一样,Ethereum也支持转移数字资产。但它的功能更多,允许用户配置专属代码并与其他用户开发的应用程序交互。Ethereum的灵活性极强,各种复杂程序均可在Ethereum平台构建。
简而言之,Ethereum背后的核心思想是:开发人员可以在分布式网络中创建并运行代码,无需使用中央服务器。因此,这些应用程序在理论上不会被关停或受到审查。
Ethereum和以太币(ETH)有何区别?
以下说法可能听上去有点绕:Ethereum(Ethereum)使用的单位并不叫做Ethereum,也不叫做Ethereums。Ethereum指的是协议本身,而为其赋能的Tokens则称为以太币(缩写为“ETH”)。
Ether coins bouncing
Ethereum的价值源于何处?
之前我们提到,Ethereum的代码在分布式系统中运行。因此,程序不会遭外部人员篡改。当它们进入Ethereum数据库(即區塊鏈)后,可对其进行编程处理,让其他人无法修改代码。此外,数据库对所有人可见,用户可以在交互前审查代码。
这些特性决定了,所有人均可随时随地推出无法被下线的应用程序。更有趣的是,Ethereum的原生单位以太币能够存储价值,为这些应用程序实施价值转移创造了条件。我们将构成应用程序的程序称为智能合约。在多数情况下,它们可以在无需人工介入的情况下运行。
毫无疑问,“可编程貨幣”概念吸引了众多用户、开发者以及企业。
立即查看以太币的最新价格。
什么是區塊鏈?
區塊鏈不仅是Ethereum的核心,也是存储协议所用信息的数据库。如果您阅读过我们的文章《什么是Bitcoin?》,便会了解有关區塊鏈运行机制的基础知识。Ethereum區塊鏈与Bitcoin區塊鏈类似,只是数据存储方式以及所存数据的内容存在差异。
Ethereum區塊鏈好比一本可以持续添加新页面的书。书中的每一页称为区块)”,其中存储着交易信息。如果需要添加新页面时,则应在页面顶部计入一个特殊值。该值表明,新的一页是在前一页之后有序添加的,而不是随机插入该书本的。
从本质上讲,这有点像是页码,它引用了前一页的信息,有助于辨别新页面(区块)是否是按顺序添加的。我们使用哈希运算来完成该过程。
哈希运算获取一份数据(此时为区块中的所有数据)并返回唯一的标识符(我们的哈希值)。两份数据输出同一哈希值的概率非常低,并且该过程也是单向的。因此,您可以轻松计算出哈希值,但无法逆向推算出创建哈希值的信息。在后续章节中,我们将分析为什么这是影响work的关键因素。
现在,我们找到了按正确顺序连接所有页面的机制。任何企图改变顺序或移除页面的操作都会令“我们的书已遭篡改”这一事实无所遁形。
想要深入了解區塊鏈?敬请阅读我们的區塊鏈技术初学者指南。
Ethereum与Bitcoin有何不同?
Bitcoin通过區塊鏈技术和金融激励措施来构建全球数字现金体系。它引入了多项关键创新,帮助全球用户在脱离中央机构的情况下协调工作。Bitcoin支持所有参与者在个人计算机中运行程序,让用户能够在去信任化、Decentralization的环境中就金融数据库的状态达成一致意见。
Bitcoin通常被视为第一代區塊鏈。开发者不愿将Bitcoin打造成过于复杂的系统,这令其在安全性方面独具优势。其设计之所以显得缺乏灵活性,就是为了在基础层就将安全视为第一要义。Bitcoin智能合约的语言确实极为受限,无法很好地适应交易之外的应用程序。
相比之下,第二代區塊鏈的功能更加丰富。除金融交易之外,此类平台还实现了更高程度的可编程性。Ethereum赋予开发人员更高的自由度,允许其试验个人代码,创造出各种Decentralization应用程序(DApp)。
Ethereum是第二代區塊鏈浪潮的先驱,至今仍占据主导地位。它与Bitcoin有着许多相似之处,可以执行诸多相同的功能。然而,二者的核心原理差异极大,各具优势。
Ethereum如何运作?
我们可以将Ethereum定义为状态机。也就是说,在任何给定时间点均可获得显示帐户余额和智能合约当前状态的快照。某些操作会导致状态更新,即所有的Node都会更新快照,以此反映变更。
Transaction sheet displaying erin sending 5 eth to alice.
Ethereum中的状态转换。
Ethereum中运行的智能合约由交易(来自用户或其他合约)触发。当用户向合约发送交易时,网络中的所有Node都会运行合约代码并记录输出。该过程通过Ethereum虚拟机实现,其将智能合约转换为可供计算机读取的指令。
为了更新状态,系统采用一种称为work的特殊机制。与Bitcoin类似,work也是通过工作量证明完成的。稍后我们将进行深入探讨。
什么是智能合约?
智能合约的本质是代码。但它既不智能,也不属于传统意义上的合约。取名“智能合约”的原因在于,它能够在特定条件下自动执行(“智能”)双方达成的协议(“合约”)。
20世纪90年代末,计算机科学家Nick Szabo首次提出了智能合约。他以自动售货机为例解释了这项理念,认为可以将其视为现代智能合约的先驱。自动售货机执行一种简单的合约。用户投入硬币后,机器会按其选择提供产品。
智能合约则将此类逻辑应用于数字环境。您可以在代码中规定一些简单内容,例如当合约收到两枚以太币时,返回“Hello, World!”。
hello world contract
在Ethereum中,开发者会对其进行编码,以便EVM能够读取。随后,开发者将其发送至登记合约的特殊地址。届时,所有人均可使用合约。除非开发者在编写合约时设定了条件,否则合约无法删除。
现在,合约拥有了地址。如需与之交互,用户只需向该地址发送2枚以太币。此举将触发合约代码——网络中所有的计算机都会运行这一操作,见证用户已向合约付款,并将其输出(“Hello, World!”)记录下来。
以上可能是最基础的Ethereum功能示例之一。随着技术不断进步,人们能够创建更多连接大量合约且更为精密复杂的应用程序,并且这样的程序已经问世。
谁创造了Ethereum?
2008年,化名中本聪的开发者(或开发者团体)发布了BitcoinWhitepaper,彻底改变了数字貨幣的格局。数年后,一位名为Vitalik Buterin的年轻程序员希望将这种理念进一步推广并应用于各类应用程序。最终,这项概念转化为Ethereum。
在2013年发表的一篇名为《Ethereum:终极智能合约与Decentralization应用程序平台》的博客中,Buterin首次提出了“Ethereum”。在文章中,他介绍了一种“图灵完备區塊鏈”的理念——时间和资源充足的Decentralization计算机可以运行任何应用程序。
随着技术日益进步,市场中将涌现出更多可在區塊鏈中部署的应用程序类型,只要开发者想得到,就能做得到。Ethereum希望打破Bitcoin有意施加的设计限制,为區塊鏈技术找到更多用武之地。
以太币如何发放?
Ethereum问世于2015年,最初供应量为7200万枚以太币。其中超5000万枚Tokens通过Tokens销售活动“首次Tokens发行(ICO)”公开发售。参与者可在交易平台使用法定貨幣或Bitcoin购买以太币。
什么是“The DAO”与“Ethereum经典”?
借助Ethereum,互联网中的开放式协作也找到了全新的呈现方式。DAO(Decentralization自治组织)正是典型示例。此类实体与计算机程序类似,完全由计算机代码控制。
该组织最早实施并且最具雄心的项目是“The DAO”。它由一些在Ethereum中运行的复杂智能合约组成,以独立风险基金的形式运作。DAOTokens以ICO的形式分发,Tokens持有者同时享有股权和表决权。
然而,该项目在上线后不久便遭到漏洞攻击,近三分之一的DAO资金惨遭不法分子盗取。雪上加霜的是,当时以太币供应总量的14%均锁定在DAO之中。毫无疑问,羽翼未丰的Ethereum网络因此遭受了灾难性打击。
经过磋商后,整条區塊鏈通过硬分叉方式分为两条链。其中一条分叉的恶意交易得到逆转,资金回收成功——这就是如今的“Ethereum區塊鏈”。相反,原始链中的交易没有逆转并且保持了不变性,现在被称为Ethereum经典。
惨痛的教训警示我们必须认真应对这项技术的风险,也让我们认识到将大额财富托付于自治代码可能适得其反。这项特殊的示例也说明了在开放环境中制定集体决策面临巨大的挑战。抛开安全漏洞不谈,The DAO的确完美诠释了智能合约通过互联网实现大规模去信任化协作方面的潜力。
第2章 - 以太币来自何处?
目录
新以太币是如何产生?
以太币的总量是多少?
Ethereumwork如何运作?
什么是Ethereum燃料费?
燃料费与燃料费限额
开采一个Ethereum区块耗时多久?
什么是EthereumTokens?
新以太币是如何产生?
之前我们简单提到过“work”。如果您熟悉Bitcoin,就一定知道work过程是保护和更新區塊鏈的关键。Ethereum的work原理与之相同,即根据协议为work参与者(费时费力且成本高昂)提供以太币奖励。
以太币的总量是多少?
截止2020年2月,以太币的总供应量约为1亿1千万枚。
与Bitcoin不同,Ethereum在推出时并未制定专属Tokens发行计划。Bitcoin通过限制供应量并逐步降低新币产量来维护自身价值。Ethereum则通过Tokens为Decentralization应用程序(DApp)奠定基础。由于尚未找到最合适的Tokens发行计划类型,这个问题仍然没有定论。
Ethereumwork如何运作?
work对于网络安全至关重要。它确保區塊鏈可以公平合理地更新,并支持网络在无单一决策者的情况下正常运行。在work操作中,Node的子集(名副其实的“矿工”)为解决密码学难题贡献算力。
其实际操作是对一组未决交易及其数据进行哈希运算。为了使区块有效,哈希值必须低于协议的设定值。如果操作失败,矿工可以修改某些数据,然后再度尝试。
由于存在竞争,矿工必须以最快速度完成哈希运算——哈希率因此成为矿工算力的衡量标准。网络中的哈希率越高,密码学难题的破解难度越大。只有矿工需要找到有效的答案,该答案在网络中广播后,其他参与者可以轻松验证其有效性。
如您所料,不间断的高速哈希运算成本高昂。作为保护网络安全的激励措施,矿工可以获得奖励。奖励来源于区块中的所有交易费用。他们还会收到新鲜出炉的以太币,撰写本文时为2枚以太币。
什么是Ethereum燃料费?
还记得前文提到的“Hello, World!”合约么?这款程序很容易运行,计算费用也不高。然而,您并不只是作为个人在计算机中运行该程序,而是在请求Ethereum生态系统中的所有人一起运行。
这就引出了以下问题:当数万人同时运行复杂合约时,会发生何种情形?如果有人将合约设定为循环运行同一套代码,每个Node就都需要无限期运行。这些过程会占用大量资源,可能导致整个系统崩溃。
幸运的是,Ethereum引入燃料费的概念来规避这种风险。如同汽车无法在燃料耗尽的情况下行驶,合约也不能在没有燃料费的情况下运行。为了保障合约正常运行,用户必须支付一定数量的燃料费。如果燃料费不足,合约将会终止。
从本质上讲,这就是一种收费机制。我们将概念延伸到交易,即矿工的主要动机是盈利,可能忽略掉费用较低的交易。
请注意,以太币与燃料费不同。燃料费平均价格的波动很大程度上取决于矿工。开展交易时,需要使用以太币支付燃料费。收费机制与Bitcoin类似:如果网络拥挤并且许多用户都在参与交易,燃料费的均价将会上涨。相反,如果网络中的活动很少,价格就会下降。
虽然燃料费的价格不断变化,但每次操作所需的燃料费是固定的。也就是说,执行复杂合约消耗的燃料费高于简单交易。因此,燃料费成为算力的度量标准。它可以确保系统根据用户的Ethereum资源占用率收取相应的费用。
燃料费通常只消耗一小部分以太币,我们为其设定了更小的单位“gwei”。1 gwei相当于以太币的十亿分之一。
简而言之,您可以运行一种长时间循环的程序,但这项操作很快会变得非常昂贵。因此,Ethereum网络中的Node有利于减少垃圾信息。
The average gas price in gwei over time
燃料费平均价格随时间的变化情况(单位:gwei)。来源:etherscan.io
燃料费与燃料费限额
假设Alice正在进行合约交易。她计算出需要支付的燃料费(例如,通过ETH Gas Station)。也许她会设置一个较高的价格,激励矿工尽快处理交易。
她还会设置燃料费限额,用于自我保护。合约出现问题后,消耗的燃料费将高于计划值。燃料费限额的作用是当设置的燃料费x耗尽后,确保操作停止。相应合约随即失效,Alice最终支付的金额不会超过初始设定值。
乍一看,这个概念似乎令人困惑。其实,这表明燃料费(及其限额)可以手动设定,而大多数钱包将会代替用户完成设置。简而言之,燃料费决定了矿工处理交易的速度,而燃料费限额则决定您愿意为此次交易支付的燃料费上限。
开采一个Ethereum区块耗时多久?
将新区块加入Ethereum區塊鏈的平均时间为12至19秒。如果网络转换为主要旨在缩短出块时间的权益证明,则这种情况极有可能发生改变。如需了解详情,敬请阅读《EthereumCasper解析》。
什么是EthereumTokens?
Ethereum最大的魅力在于支持用户在链上创建个人资产,并且可以像以太币一样存储和转移。智能合约中规定了上述资产的治理规则,允许开发者自行设定Tokens参数。其中包括Tokens发行量、发行机制、可分割性以及互换性等诸多特性。在Ethereum中创建Tokens时可以遵循多种技术标准,最突出的称为ERC-20 – 因此,这些Tokens通常称为“ERC 20Tokens”。
这款Tokens功能优异,为创新者提供了广阔的试验平台,支持其在金融和技术等前沿领域展开更多尝试。从发行统一Tokens作为应用内貨幣,到生产以实体资产为基础的独特Tokens,其设计均极为灵活。很可能还有各种精简易行的绝佳Tokens创建用例尚不为人知。
第3章 - Ethereum入门
目录
如何购买以太币?
如何使用信用卡/借记卡购买以太币
如何在P2P市场购买以太币
使用以太币(ETH)可以购买什么?
Ethereum有哪些用途?
如果不慎丢失以太币,应该怎么办?
Ethereum交易能否恢复?
Ethereum交易是私密的吗?
Ethereum能否创造收益?
如何存储以太币?
如何将以太币存入币安
如何在币安存储以太币
如何从币安提取以太币
如何在Ethereum钱包中存储以太币
热钱包
冷钱包
Ethereum的徽标和符号是什么?
如何购买以太币?
如何使用信用卡/借记卡购买以太币
币安允许用户通过浏览器顺畅无阻地购买以太币。操作步骤:
登录数字貨幣买卖门户。
选择需要购买的数字貨幣(ETH)以及用于付款的貨幣。
登录币安账户。新用户请先行注册。
选择支付方式。
按照提示输入卡片详细信息并完成身份验证。
搞定!购买的以太币将存入您的币安账户。
如何在P2P市场购买以太币
P2P市场也是买卖以太币的平台。通过币安移动App,您可以从其他用户手中直接购买Tokens。操作步骤:
打开APP,然后登陆或注册账户。
选择一键买卖,然后点击界面左上角的购买选项卡。
在弹出的交易类型中选择一种,然后点击购买。
您可以使用其他数字貨幣(数字貨幣支付选项卡)或法币支付(法币支付选项卡)。
接着,系统会要求选择支付方式。您可以根据需要灵活挑选。
选择购买以太币。
此时,需要完成付款。操作完毕后,点击标记为已付,然后确认。
卖方如期交付Tokens后,交易即告完成。
使用以太币(ETH)可以购买什么?
与Bitcoin不同的是,Ethereum的应用环境并不局限于数字貨幣网络。它能够为Decentralization应用程序搭建开发平台,而以太币作为可交易Tokens,成为这种生态系统的“燃料”。因此,以太币的主要作用是为Ethereum提供效用性。
然而,以太币也可用于购买商品和服务,扮演与其他传统貨幣相似的角色。
Heatmap of retailers that accept ether as payment.
接受以太币付款的零售商热图。来源:cryptwerk.com/coinmap
Ethereum有哪些用途?
Ethereum的原生貨幣“以太币”可用作数字貨幣或抵押品。也有许多人将其视为与Bitcoin类似的价值存储手段。然而,以太币与Bitcoin不同,因为Ethereum區塊鏈的高度可编程性赋予其更多效用。因此,以太币成为Decentralization金融应用程序、Decentralization市场、交易平台和游戏等众多应用的命脉。
如果不慎丢失以太币,应该怎么办?
以太币交易不涉及任何银行,用户必须对自己的资金负责。Tokens可以存入交易平台,抑或存放于个人钱包。请注意,使用个人钱包存储资金时,务必妥善保管助记词,以便在无法访问钱包时恢复资金。
Ethereum交易能否恢复?
数据加入Ethereum區塊鏈后,几乎无法更改或删除。这意味着,在开展交易时,可以将其视为一成不变。因此,必须仔细检查接收资金的目标地址是否正确。在转移大额资金时,最好先向接收地址发送少量资金,核实其真实性。
由于智能合约遭受过一次黑客攻击,Ethereum被迫在2016年进行了硬分叉,从而有效逆转了恶意交易。然而,这只是应对异常事件的极端措施,而非常态。
Ethereum交易是私密的吗?
所有加入Ethereum區塊鏈的交易都是公开可见的。即使Ethereum地址并未显示真实姓名,观察者也可通过其他方法确定参与者身份。
Ethereum能否创造收益?
以太币是一种波动性较大的资产,收益机遇与亏损风险并存。一些人选择长期持有以太币,并笃定该网络未来将成为全球性的可编程结算层。另一些人则选择使用以太币与其他山寨币进行交易。当然,这两种策略也都存在相应的金融风险。
作为Decentralization金融(DeFi)的中流砥柱,以太币还可用于借贷、贷款抵押金、铸造合成资产或在未来进行质押。
部分投资者可能选择长期投资Bitcoin并将其作为投资组合中唯一的数字资产。相反,另一些投资者更加灵活,通过以太币和其他山寨币构建多元化投资组合,或者分配一定比例的资金开展短期交易(例如日间交易或波段交易)。市场中根本没有万能的盈利方式,每位投资者均应量力而行,根据实际情况选择最合适的策略。
如何存储以太币?
存储Tokens的方式很多,每种方式各有利弊。正如其他面临风险的事物一样,最佳解决方案正是对众多选项构建多元化组合。
一般来说,存储解决方案分为托管和非托管两种。托管解决方案表示资金可以委托给第三方保管(例如交易平台)。此时,必须登录托管方平台才能交易数字貨幣资产。
非托管解决方案则恰好相反,用户使用数字貨幣钱包自行管控资金。此类钱包不会像物理钱包那样装入硬币,而是存储區塊鏈内资产的访问凭证——加密密钥。请谨记:在使用非托管钱包时,务必妥善备份助记词!
如何将以太币存入币安
如需将所持以太币存入币安,请按以下步骤操作:
登录币安账户。新用户请先行注册。
进入现货钱包并点击充值。
勾选Tokens列表中的“ETH”。
选择网络并向相应地址中发送以太币。
搞定!交易确认后,购买的以太币将存入您的币安账户。
如何在币安存储以太币
若要积极地参与以太币交易,则需将其存入币安账户。在币安存储以太币既简单又安全。借助以太币,用户还可以通过贷款、质押、Airdrop促销以及幸运抽奖等方式享受币安生态系统的各种福利。
如何从币安提取以太币
如需提取币安帐户中存入的以太币,请按以下步骤操作:
登录币安帐户。
进入现货钱包并点击提现。
勾选Tokens列表中的“ETH”。
选择网络
输入接收方地址和金额。
通过电子邮件认证。
搞定!交易确认后,以太币将存入您提供的地址。
如何在Ethereum钱包中存储以太币
如需将以太币存入个人钱包,可选择热钱包或冷钱包。
热钱包
以某种方式连入互联网的数字貨幣钱包称为“热钱包”。它通常是一种移动或桌面应用程序,用户可通过其查看余额或发送/接收Tokens。热钱包连入网络,极易遭受攻击,但日常支付更加青睐这种便捷方式。Trust Wallet正是一种方便快捷的移动钱包,支持多种貨幣。
冷钱包
冷钱包则是一种离线工作的数字貨幣钱包。此类钱包远离在线攻击向量,显著降低遭受攻击的概率。然而,冷钱包的便捷性一般不如热钱包。硬件钱包和纸钱包均属于冷钱包。后者技术过时并且极具风险,逐渐淡出用户的视野。
敬请阅读《数字貨幣钱包类型解析》,详细了解钱包分类。
Ethereum的徽标和符号是什么?
Vitalik Buterin设计了最初的Ethereum徽标。它由两个旋转的求和符号“Σ”(希腊字母中的Sigma)组成。最终设计以此图案为基础,由称为“八面体”的菱形组成,周围环绕四个三角形。与其他数字貨幣类似,以太币也有专属的标准Unicode符号,App和网站可以轻松显示其价值。正如美元使用“$”符号表示一样,以太币使用的符号为“Ξ”。
第4章 - 可扩展性、Ethereum2.0与Ethereum的未来
目录
什么是可扩展性?
为什么Ethereum需要扩容?
區塊鏈可扩展性的三元悖论
Ethereum可以处理多少笔交易?
什么是Ethereum2.0?
什么是Ethereum分片?
什么是Ethereum等离子体(Plasma)?
什么是Ethereum汇总?
什么是Ethereum权益证明(PoS)?
什么是Ethereum质押?
在Ethereum中需要质押多少以太币?
在Ethereum中质押能赚取多少以太币?
抵押以太币的锁仓时间是多久?
质押Ethereum是否有风险?
什么是可扩展性?
简而言之,可扩展性是衡量系统增长能力的指标。例如,计算中应用的网络或服务器可通过不同方法扩容,从而处理更多的需求。
加密貨幣中的可扩展性是指區塊鏈不断发展,以吸纳更多用户。用户增加意味着區塊鏈将参与更多操作和交易竞争。
为什么Ethereum需要扩容?
Ethereum的拥护者认为,互联网的下一次迭代将立足于Ethereum平台。所谓的Web 3.0将带来一种Decentralization拓扑,能够直接跳过中间机构、更加注重隐私并转变为真正拥有自己的数据。这些基础属性将通过形式为智能合约的分布式计算与分布式存储/通信协议进行构建。
为了实现目标,Ethereum必须大规模提升交易处理能力,同时避免网络的Decentralization程度下降。目前,Ethereum并未像Bitcoin一样通过限制区块大小来限定交易量,而只是为区块设置了燃料费限额,即单一区块可容纳的燃料费上限。
例如,一个区块的燃料费限额为10万Gwei。您可以向该区块提交10笔燃料费限额为1万Gwei,或者2笔燃料费限额为5万Gwei的交易。与之同时提交的其他任何交易均须等待下一个区块。
对于所有人广泛使用的系统来说,这种情况并不理想。如果未决交易超过区块空间,很快就会出现积压。此外,燃料费上涨意味着用户必须支付更高的金额,方可使个人交易得到优先处理。也就是说,繁忙的网络将导致特定用例的处理费用非常昂贵。
当初风靡一时的《谜恋猫》(CryptoKitties)游戏正是Ethereum网络局限性的典型例证。2017年,基于Ethereum的游戏《谜恋猫》(CryptoKitties)吸引了大量用户。他们在网络中进行交易,饲养自己的数字猫咪(代表非同质化Tokens)。这款游戏迅速普及后,待处理交易数量呈火箭式上升,最终导致网络极度拥堵。
區塊鏈可扩展性的三元悖论
从表面上看,只要提高区块的燃料费限额即可缓解所有可扩展性问题。换言之,上限越高,网络在固定时间内处理的交易就越多,没错吧?
遗憾的是,除非牺牲Ethereum的部分关键特性,否则这是不可行的。Vitalik Buterin提出了區塊鏈三元悖论(如下图所示),解释了區塊鏈必须达到的微妙平衡。
Blockchain Trilemma
區塊鏈三元悖论:(1)可扩展性、(2)安全性和(3)Decentralization。
三大特性只能优化其二,无法面面俱到。Ethereum和Bitcoin等區塊鏈都将安全性和Decentralization放在首位。它们的共识算法保障网络安全性。然而,其网络由数千个Node组成,导致可扩展性欠佳。交易的接收和验证均由众多Node完成,速度远逊于中心化方案。
另一种情况是取消区块的燃料费限额,网络可以同时获得安全性与可扩展性,但Decentralization程度严重下降。
原因在于,单一区块中将包括更多交易,最后形成更大的区块。而网络中的Node仍需定期下载和广播区块,对硬件提出了非常严苛的要求。区块的燃料费限额提升后,Node对区块进行验证、存储和广播的难度都会增加。
最终,掉队的Node将从网络中退出。如果继续按这种方式运行,则只有少数性能强大的Node幸存下来,进一步加深系统的中心化程度。最终,區塊鏈将兼具安全性与可扩展性,但不再具备Decentralization的特性。
最后一种情况是,區塊鏈聚焦Decentralization与可扩展性。网络通过弃用共识算法提升速度和Decentralization程度,代价是安全性显著降低。
Ethereum可以处理多少笔交易?
近年来,Ethereum的每秒交易量(TPS)很少超过10笔。对于这个有志成为“世界计算机”的平台而言,这个数字令人失望。
扩容解决方案一直是Ethereum路线图的重要组成部分。等离子体(Plasma)正是扩容解决方案的典型示例。该方案旨在提升Ethereum的效率,其技术同样适用于其他區塊鏈网络。
什么是Ethereum2.0?
Ethereum虽然极具潜力,但目前的确存在局限性。在上文中,我们已经讨论过可扩展性的问题。简而言之,如果Ethereum希望成为新金融体系的中流砥柱,就必须显著提升每秒处理的交易总数。鉴于该网络的分布式特性,这一问题很难解决。多年来,Ethereum的开发者也一直在寻找解决方案。
一方面,为了保证网络的Decentralization程度,必须实施一些限制。运行Node的要求越苛刻,参与者就越少,网络也将趋于中心化。因此,提升Ethereum的交易处理能力会导致Node负担增加,最终威胁到系统的完整性。
Ethereum(和其他工作量证明加密貨幣)的另一弊端是,资源消耗量极大。为了在區塊鏈中成功添加区块,必须work。然而,这种区块创建方式必须快速执行运算,耗电量极大。
为了打破上述限制,开发者提出了一系列升级计划,统称为“Ethereum2.0”(或ETH 2.0)。全面实施后,ETH 2.0将有效提升该网络的性能。
什么是Ethereum分片?
如上文所述,每个Node都会存储整条區塊鏈的副本。这些Node也将随區塊鏈的变化而更新,占用巨大的宽带和内存。
如果使用名为分片的方法,则可避免上述过程。顾名思义,该过程将网络划分为不同Node子集,也就是所谓的分片。每个分片都会处理自己的交易与合约,同时仍可按要求与其他分片网络进行通信。每个分片独立验证,因此无需存储其他分片的数据。
network without sharding vs the network with sharding
2020年3月的网络与实施分片的网络对比
“分片”是一种复杂的扩容方式,需要开展大量的设计与实施工作。然而,如果应用成功,它将成为最有效的方法之一,让网络的吞吐量提升若干数量级。
什么是Ethereum等离子体(Plasma)?
Ethereum等离子体(Plasma)是一种链下可扩展性解决方案,其目的是让交易脱离區塊鏈,从而提升交易吞吐量。在这方面,它与侧链和支付渠道存在一定相似之处。
通过等离子体(Plasma),二级链即可与Ethereum區塊鏈的主链锚定,同时保持最低限度的通信。虽然用户依靠主链解决争端,而在二级链“完成”个人活动,但二者大体上是独立运作的。
Ethereum成功扩容的关键在于降低Node必须存储的数据量。等离子体(Plasma)方案允许开发者在主链的智能合约中规定“子链”的一些规则。之后,信息或进程在主链中存储/运行成本过高的应用程序可以自由转移到“子链”进行创建。
欲了解等离子体(Plasma)的详细介绍,敬请阅读《什么是Ethereum等离子体(Plasma)?》。
什么是Ethereum汇总?
与等离子体(Plasma)类似,汇总(Rollup)也是为了将交易从主链中脱离,实现Ethereum扩容。那么,后者如何运作呢?
答案是,主链中的单一合约持有二级链上的所有资金,并存储该链当前状态的密码学证明。二级链运营商在主网合约中存入保证金,并且只向其提交有效的状态转换。其背后的理念是该状态在链下维护,因此无需将数据存储于區塊鏈。然而,汇总(Rollup)与等离子体(Plasma)的主要区别在于其将交易提交给主链的方式。通过特殊的交易类型,这种方式可以“汇总”海量交易,将其捆绑在一起成为特殊区块,称为汇总(Rollup)区块。
汇总(Rollup)分为两种不同类型:乐观汇总(Optimistic Rollup)与零知识汇总(ZK Rollup)。两者均通过不同方式保证状态转换正确无误。
零知识汇总(ZK Rollup)使用一种名为零知识证明的密码学验证方法提交交易。具体而言,是采用一种称为zk-SNARK的方法。对于具体运作细节,本文不作介绍,但我们可以这样描述其在汇总(Rollup)的应用:通过这种方式,不同参与方可以互相证明自己拥有特定信息,但无需透露具体内容。
就零知识汇总(ZK Rollup)而言,该信息是提交至主链的状态转换。这个过程的一大优势是几乎可以在瞬间发生,同时最大限度降低提交损坏状态的概率。
乐观汇总(Optimistic Rollup)通过牺牲一定的可扩展性来提升灵活性。通过“乐观虚拟机(OVM)”,智能合约可以在二级链中运行。另一方面,没有任何密码学证明可以证实提交给主链的状态转换是正确的。为了缓解这个问题,过程中设置了短暂的延迟,允许用户质疑和否定提交到主链的无效区块。
什么是Ethereum权益证明(PoS)?
权益证明(PoS)是除了工作量证明之外的另一种区块验证方案。在权益证明系统中,获得新区块的方式并不是work,而是铸造(有时也称为锻造)。与矿工通过算力竞争不同,候选区块现在由定期随机选择的Node(或验证者)进行验证。如果操作正确,其将获得区块的所有交易费用,也可能根据协议获得区块奖励。
权益证明不涉及work,因而被认为更加环保。验证者消耗的能量不及矿工,因此可以在消费级硬件中铸造区块。
作为Ethereum2.0的一部分,Ethereum计划通过名为Casper的升级操作从PoW过渡为PoS。虽然具体日期尚未正式确定,但第一次迭代可能在2020年启动。
什么是Ethereum质押?
在工作量证明协议中,矿工负责保障网络安全性。他们不会作弊,因为这种行为空耗电力并会导致其丧失所有潜在奖励。权益证明中不存在这种博弈理论,而是通过其他加密貨幣经济学措施保障网络安全。
不诚实行为之所以能够得到遏制,并非是因为用户担心浪费能源,而是因为担心损失资金。验证者必须质押一定数量的Tokens(成为Tokens持有者)方可获得验证权。如果Node试图作弊,其质押的Tokens(一定数量的以太币)将会丢失;如果Node无响应或脱机,这些Tokens也将逐渐耗尽。然而,如果验证者运行更多Node,就将获得更多奖励。
在Ethereum中需要质押多少以太币?
每位验证者在Ethereum中的最低预估质押量为32枚以太币。数值设置得如此之高,导致实施51%攻击的代价极大。
在Ethereum中质押能赚取多少以太币?
这个问题比较复杂。这项指标不仅取决于Tokens抵押数量,还会受到网络中以太币质押总量以及通货膨胀率的影响。粗略估算,该项目当前的年收益率大约为6%。请记住,这个数字只是估计值,未来可能发生变化。
抵押以太币的锁仓时间是多久?
如需从验证者手中取回以太币,则须加入取款队列。如果不排队,最短取款时间为18小时。具体时间会根据特定时段内取款的验证者人数动态调整。
质押Ethereum是否有风险?
作为负责维护网络安全性的验证者,您必须将各种风险纳入考量范围。如果验证者Node长时间离线,则会损失相当一部分存款。此外,如果存款余额低于16枚以太币,您将被移出验证者集合。
另一项系统性风险因素也不容忽视。权益证明从未如此大规模地应用,运行中可能出现故障。软件难免存在缺陷与漏洞,甚至可能造成毁灭性打击——当质押价值高达数十亿美元时,更是面临重大风险。
第5章 - Ethereum和Decentralization金融(DeFi)
目录
什么是Decentralization金融(DeFi)?
Decentralization金融(DeFi)的用途
Decentralization的金融(DeFi)能否迈入主流?
有哪些Decentralization金融(DeFi)应用程序?
Ethereum中的Decentralization交易平台(DEX)
什么是Decentralization金融(DeFi)?
Decentralization金融(简称“DeFi”)是一种对金融应用程序实施Decentralization的活动。DeFi构建于公共的开源區塊鏈,互联网中的所有用户均可免费访问(即无许可性)。这项关键特性有望吸引数十亿人融入这个全新的全球金融体系。
在日趋成熟的DeFi生态系统中,用户可通过点对点(P2P)网络和Decentralization应用程序(DApp)与其他用户和智能合约进行交互。DeFi最大的优势在于,它让这一切成为现实,但用户仍能掌握资金所有权。
简而言之,Decentralization金融(DeFi)活动旨在构建一种全新的金融体系,逐步打破当前体系的限制。DeFi具有相对较高的Decentralization程度和庞大的开发者基础,因此大部分DeFi目前都建立在Ethereum之上。
Decentralization金融(DeFi)的用途
您可能已经了解到,Bitcoin最大的优势在于其无需任何中央机构协调网络运作。如果我们以此为核心理念,开发可编程应用程序将会如何呢?这就是DeFi应用的潜力:摆脱中央“协调员”或中间机构,不会出现单点故障。
如前文所述,“开放访问”是DeFi的最大优势。全球有数十亿人无法使用任何类型的金融服务。倘若脱离所有金融保障,我们又该如何管理自己的日常生活?这并非凭空想象,而是数十亿人真实的生活写照——DeFi的服务对象正是此类人群。
Decentralization的金融(DeFi)能否迈入主流?
这些优势似乎极具吸引力,但DeFi为何仍未占据主流市场?目前,大多数DeFi应用程序仍处于试验阶段,便捷性与灵活性亟待提高并且经常崩溃。事实证明,这种生态系统的架构设计非常困难,分布式开发环境更是让难度进一步增加。
对于软件工程师、博弈理论家、机制设计师等开发者而言,构建DeFi生态系统挑战重重,任重而道远。因此,DeFi应用程序能否迈入主流仍是未知数。
有哪些Decentralization金融(DeFi)应用程序?
时下最热门的Decentralization金融(DeFi)用例当属稳定币。从本质上讲,稳定币是一种區塊鏈Tokens,其价值与现实资产(例如法定貨幣)挂钩。例如,BUSD的价值与美元(USD)挂钩。此类Tokens均在區塊鏈中应用,存储和转账都非常方便。
另一种流行的应用程序是借贷。点对点(P2P)服务有很多,用户将资金借贷给他人,从中赚取利息。其实,币安借贷就是最便捷的平台之一。操作方式非常简单,只需将资金存入借贷钱包,第二天即可赚取利息!
然而,最令人兴奋的是,DeFi几乎可以应用于任何领域。它可以融入各类点对点(P2P)和Decentralization市场,打造交易独一无二的数字貨幣收藏品以及其他数字化物品的平台。此类应用程序还可以创造合成资产,所有人均可为任何蕴含价值的物品创造市场。其他用武之地包括预测市场和衍生品等领域。
Ethereum中的Decentralization交易平台(DEX)
Decentralization交易所(DEX)允许不同用户钱包直接进行交易。在币安等中心化交易平台交易时,用户首先需要将资金转入平台,然后通过内部系统进行交易。
Decentralization交易平台则有所不同。通过神奇的智能合约,您可以使用数字貨幣钱包直接完成交易,规避交易平台遭受黑客攻击等风险。
币安DEX正是Decentralization交易平台的典型代表。Uniswap、Kyber Network、IDEX则是构建于Ethereum的佼佼者。为了最大限度保障资金安全,部分交易平台甚至允许通过硬件钱包完成交易。
Centralized vs. decentralized exchanges
中心化与Decentralization交易平台对比。
我们通过上图对比了中心化与Decentralization交易平台的区别。在左图中,我们可以看到币安处于交易双方之间。因此,当Alice希望以TokensA交换Bob的TokensB时,二人均须将资产存入交易平台。达成交易后,币安将按资金比例重新分配二者的帐户余额。
右边是Decentralization交易平台。我们注意到,整个交易没有第三方参与其中。Alice的Tokens通过智能合约直接转换为Bob的Tokens。通过这种方式,双方达成的合约将会自动执行,不必依赖任何中间机构。
截止2020年2月,DEX一直是Ethereum區塊鏈中最常用的应用程序。然而,其成交量与中心化交易平台相比相差甚远。尽管如此,如果开发者和设计者持续优化用户体验,DEX将逐渐赢得更多用户的青睐。有朝一日,它一定能与中心化交易平台抗衡。
第6章 - 走进Ethereum网络
目录
什么是EthereumNode?
EthereumNode如何运作?
Ethereum全Node
Ethereum轻Node
EthereumworkNode
如何运行EthereumNode
如何在Ethereumwork
什么是EthereumProgPoW?
Ethereum软件的开发者是谁?
什么是Solidity?
什么是EthereumNode?
术语“EthereumNode”是指以某种方式与Ethereum网络交互的程序。从简单的手机钱包应用程序到存储整个區塊鏈副本的计算机,任何设备均可扮演EthereumNode。
所有Node都以某种方式充当通信点,但Ethereum网络中的Node分为多种类型。
EthereumNode如何运作?
与Bitcoin不同,Ethereum找不到任何程序作为参考实施方案。在Bitcoin生态系统中,Bitcoin核心是主要Node软件,Ethereum黄皮书则提出了一系列独立(但兼容)的程序。目前最流行的是Geth和Parity。
Ethereum全Node
若要以允许独立验证區塊鏈数据的方式连接Ethereum网络,则应使用之前提到的软件运行全Node。
该软件将从其他Node下载区块,并验证其所含交易的正确性。软件还将运行调用的所有智能合约,确保接收的信息与其他Node相同。如果一切按计划运行,我们可以认为所有Node设备均存储相同的區塊鏈副本。
全Node对于Ethereum的运行至关重要。如果没有遍布全球的众多Node,网络将丧失其抗审查性与Decentralization特性。
Ethereum轻Node
通过运行全Node,您可以直接为网络的健康和安全发展贡献一份力量。然而,全Node通常需要使用独立的机器完成运行和维护。对于无法(或单纯不愿)运行全Node的用户,轻Node是更好的选择。
顾名思义,轻Node均为轻量级设备,可显著降低资源和空间占用率。手机或笔记本电脑等便携式设备均可作为轻Node。然而,降低开销也要付出代价:轻Node无法完全实现自给自足。它们无法与整条區塊鏈同步,需要全Node提供相关信息。
轻Node备受商户、服务供应商和用户的青睐。在不必使用全Node并且运行成本过高的情况下,它们广泛应用于支收付款。
EthereumworkNode
workNode既可以是全Node客户端,也可以是轻Node客户端。“workNode”这个术语的使用方式与Bitcoin生态系统不同,但依然应用于识别参与者。
如需参与Ethereumwork,必须使用一些附加硬件。最常见的做法是构建矿机。用户通过矿机将多个GPU(图形处理器)连接起来,高速计算哈希数据。
矿工可以选择两种work方案:单独work或加入矿池。单独work表示矿工独自创建区块。如果成功,则独享work奖励。如果加入矿池,众多矿工的哈希算力会结合起来。出块速度得以提升,但work奖励将由众多矿工共享。
如何运行EthereumNode
區塊鏈最重要的特性之一就是“开放访问”。这表明任何人均可运行EthereumNode,并通过验证交易和区块强化网络。
与Bitcoin相似,许多企业都提供即插即用的EthereumNode。如果只想启动并运行单一Node,这种设备无疑是最佳选择,缺点是必须为便捷性额外付费。
如前文所述,Ethereum中存在众多不同类型的Node软件实施方案,例如Geth和Parity。若要运行个人Node,必须掌握所选实施方案的安装流程。
除非运行名为归档Node的特殊Node,否则消费级笔记本电脑足以支持Ethereum全Node正常运行。不过,最好不要使用日常工作设备,因为Node会严重拖慢运行速度。
运行个人Node时,建议设备始终在线。倘若Node离线,再次联网时可能耗费大量的时间进行同步。因此,最好选择造价低廉并且易于维护的设备。您甚至可以通过Raspberry Pi运行轻Node。
如何在Ethereumwork
随着网络即将过渡到权益证明机制,Ethereumwork不再是最安全的长期投资方式。过渡成功后,Ethereum矿工只能将work设备转入其他网络或直接变卖。
鉴于过渡尚未完成,参与Ethereumwork仍需使用特殊硬件(例如GPU或ASIC)。若要获得可观收益,则必须定制矿机并寻找电价低廉的矿场。此外,还需创建Ethereum钱包并配置相应的work软件。这一切都会耗费大量的时间和资金。在参与work前,请认真考量自己能否应对各种挑战。
什么是EthereumProgPoW?
ProgPow代表程序化工作量证明。这是Ethereumwork算法Ethash的扩展方案,旨在提升GPU的竞争力,使其超过ASIC。
在Bitcoin和Ethereum社区,抗ASIC多年来一直是饱受争议的话题。在Bitcoin网络中,ASIC已经成为主要的work力量。
在Ethereum中,ASIC并不是主流,相当一部分矿工仍然使用GPU。然而,随着越来越多的公司将EthereumASIC矿机引入市场,这种情况很快就会改变。然而,ASIC到底存在什么问题呢?
一方面,ASIC明显削弱网络的Decentralization。如果GPU矿工无法盈利,不得不停止work,哈希率最终就会集中在少数矿工手中。此外,ASIC芯片的开发成本相当昂贵,坐拥开发能力与资源的公司屈指可数。这种现状有可能导致Ethereumwork产业集中在少数公司手中,形成一定程度的行业垄断。
自2018年以来,ProgPow的集成一直饱受争议。有些人认为,它有益于Ethereum生态系统的健康发展。另一些人则持反对态度,认为它可能导致硬分叉。随着权益证明机制的到来,ProgPoW能否应用于网络仍然有待观察。
Ethereum软件的开发者是谁?
Ethereum与Bitcoin是一样,均为开源平台。所有人都可以参与协议开发,或基于协议构建应用程序。事实上,Ethereum也是區塊鏈领域目前最大的开发者社区。
Andreas Antonopoulos和Gavin Wood出品的Mastering Ethereum,以及Ethereum.org推出的开发者资源等都是新晋开发者理想的入门之选。