什么是以太坊?
什么是以太坊?
首页文章

什么是以太坊?

初阶
Published Mar 18, 2020Updated Jul 22, 2021
40m

章节

  1. 以太坊基础知识
  2. 以太币来自何处?
  3. 以太坊入门
  4. 可扩展性、以太坊2.0与以太坊的未来
  5. 以太坊和去中心化金融(DeFi)
  6. 走进以太坊网络


第1章 - 以太坊基础知识

目录


什么是以太坊?

以太坊是一个去中心化计算平台。我们可以将其想象成一台并不在单一设备中运行的计算机。也就是说,它可以同时在全球各地的数千台设备中运行,即不存在特定所有者。

比特币和其他数字货币一样,以太坊也支持转移数字资产。但它的功能更多,允许用户配置专属代码并与其他用户开发的应用程序交互。以太坊的灵活性极强,各种复杂程序均可在以太坊平台构建。

简而言之,以太坊背后的核心思想是:开发人员可以在分布式网络中创建并运行代码,无需使用中央服务器。因此,这些应用程序在理论上不会被关停或受到审查。


以太坊和以太币(ETH)有何区别?

以下说法可能听上去有点绕:以太坊(Ethereum)使用的单位并不叫做Ethereum,也不叫做Ethereums。以太坊指的是协议本身,而为其赋能的代币则称为以太币(缩写为“ETH”)。


以太坊的价值源于何处?

之前我们提到,以太坊的代码在分布式系统中运行。因此,程序不会遭外部人员篡改。当它们进入以太坊数据库(即区块链)后,可对其进行编程处理,让其他人无法修改代码。此外,数据库对所有人可见,用户可以在交互前审查代码。
这些特性决定了,所有人均可随时随地推出无法被下线的应用程序。更有趣的是,以太坊的原生单位以太币能够存储价值,为这些应用程序实施价值转移创造了条件。我们将构成应用程序的程序称为智能合约。在多数情况下,它们可以在无需人工介入的情况下运行。

毫无疑问,“可编程货币”概念吸引了众多用户、开发者以及企业。


立即查看以太币的最新价格。


什么是区块链?

区块链不仅是以太坊的核心,也是存储协议所用信息的数据库。如果您阅读过我们的文章《什么是比特币?》,便会了解有关区块链运行机制的基础知识。以太坊区块链与比特币区块链类似,只是数据存储方式以及所存数据的内容存在差异。
以太坊区块链好比一本可以持续添加新页面的书。书中的每一页称为区块)”,其中存储着交易信息。如果需要添加新页面时,则应在页面顶部计入一个特殊值。该值表明,新的一页是在前一页之后有序添加的,而不是随机插入该书本的。
从本质上讲,这有点像是页码,它引用了前一页的信息,有助于辨别新页面(区块)是否是按顺序添加的。我们使用哈希运算来完成该过程。 
哈希运算获取一份数据(此时为区块中的所有数据)并返回唯一的标识符(我们的哈希值)。两份数据输出同一哈希值的概率非常低,并且该过程也是单向的。因此,您可以轻松计算出哈希值,但无法逆向推算出创建哈希值的信息。在后续章节中,我们将分析为什么这是影响挖矿的关键因素。

现在,我们找到了按正确顺序连接所有页面的机制。任何企图改变顺序或移除页面的操作都会令“我们的书已遭篡改”这一事实无所遁形。

想要深入了解区块链?敬请阅读我们的区块链技术初学者指南


以太坊与比特币有何不同?

比特币通过区块链技术和金融激励措施来构建全球数字现金体系。它引入了多项关键创新,帮助全球用户在脱离中央机构的情况下协调工作。比特币支持所有参与者在个人计算机中运行程序,让用户能够在去信任化、去中心化的环境中就金融数据库的状态达成一致意见。
比特币通常被视为第一代区块链。开发者不愿将比特币打造成过于复杂的系统,这令其在安全性方面独具优势。其设计之所以显得缺乏灵活性,就是为了在基础层就将安全视为第一要义。比特币智能合约的语言确实极为受限,无法很好地适应交易之外的应用程序。
相比之下,第二代区块链的功能更加丰富。除金融交易之外,此类平台还实现了更高程度的可编程性。以太坊赋予开发人员更高的自由度,允许其试验个人代码,创造出各种去中心化应用程序(DApp)

以太坊是第二代区块链浪潮的先驱,至今仍占据主导地位。它与比特币有着许多相似之处,可以执行诸多相同的功能。然而,二者的核心原理差异极大,各具优势。


以太坊如何运作?

我们可以将以太坊定义为状态机。也就是说,在任何给定时间点均可获得显示帐户余额和智能合约当前状态的快照。某些操作会导致状态更新,即所有的节点都会更新快照,以此反映变更。

以太坊中的状态转换。


以太坊中运行的智能合约由交易(来自用户或其他合约)触发。当用户向合约发送交易时,网络中的所有节点都会运行合约代码并记录输出。该过程通过以太坊虚拟机实现,其将智能合约转换为可供计算机读取的指令。
为了更新状态,系统采用一种称为挖矿的特殊机制。与比特币类似,挖矿也是通过工作量证明完成的。稍后我们将进行深入探讨。


什么是智能合约?

智能合约的本质是代码。但它既不智能,也不属于传统意义上的合约。取名“智能合约”的原因在于,它能够在特定条件下自动执行(“智能”)双方达成的协议(“合约”)。

20世纪90年代末,计算机科学家Nick Szabo首次提出了智能合约。他以自动售货机为例解释了这项理念,认为可以将其视为现代智能合约的先驱。自动售货机执行一种简单的合约。用户投入硬币后,机器会按其选择提供产品。

智能合约则将此类逻辑应用于数字环境。您可以在代码中规定一些简单内容,例如当合约收到两枚以太币时,返回“Hello, World!”


在以太坊中,开发者会对其进行编码,以便EVM能够读取。随后,开发者将其发送至登记合约的特殊地址。届时,所有人均可使用合约。除非开发者在编写合约时设定了条件,否则合约无法删除。

现在,合约拥有了地址。如需与之交互,用户只需向该地址发送2枚以太币。此举将触发合约代码——网络中所有的计算机都会运行这一操作,见证用户已向合约付款,并将其输出(“Hello, World!”)记录下来。

以上可能是最基础的以太坊功能示例之一。随着技术不断进步,人们能够创建更多连接大量合约且更为精密复杂的应用程序,并且这样的程序已经问世。


谁创造了以太坊?

2008年,化名中本聪的开发者(或开发者团体)发布了比特币白皮书,彻底改变了数字货币的格局。数年后,一位名为Vitalik Buterin的年轻程序员希望将这种理念进一步推广并应用于各类应用程序。最终,这项概念转化为以太坊。
在2013年发表的一篇名为《以太坊:终极智能合约与去中心化应用程序平台》博客中,Buterin首次提出了“以太坊”。在文章中,他介绍了一种“图灵完备区块链”的理念——时间和资源充足的去中心化计算机可以运行任何应用程序。
随着技术日益进步,市场中将涌现出更多可在区块链中部署的应用程序类型,只要开发者想得到,就能做得到。以太坊希望打破比特币有意施加的设计限制,为区块链技术找到更多用武之地。


以太币如何发放?

以太坊问世于2015年,最初供应量为7200万枚以太币。其中超5000万枚代币通过代币销售活动“首次代币发行(ICO)”公开发售。参与者可在交易平台使用法定货币或比特币购买以太币。


什么是“The DAO”与“以太坊经典”?

借助以太坊,互联网中的开放式协作也找到了全新的呈现方式。DAO(去中心化自治组织)正是典型示例。此类实体与计算机程序类似,完全由计算机代码控制。
该组织最早实施并且最具雄心的项目是“The DAO”。它由一些在以太坊中运行的复杂智能合约组成,以独立风险基金的形式运作。DAO代币以ICO的形式分发,代币持有者同时享有股权和表决权。

然而,该项目在上线后不久便遭到漏洞攻击,近三分之一的DAO资金惨遭不法分子盗取。雪上加霜的是,当时以太币供应总量的14%均锁定在DAO之中。毫无疑问,羽翼未丰的以太坊网络因此遭受了灾难性打击。

经过磋商后,整条区块链通过硬分叉方式分为两条链。其中一条分叉的恶意交易得到逆转,资金回收成功——这就是如今的“以太坊区块链”。相反,原始链中的交易没有逆转并且保持了不变性,现在被称为以太坊经典
惨痛的教训警示我们必须认真应对这项技术的风险,也让我们认识到将大额财富托付于自治代码可能适得其反。这项特殊的示例也说明了在开放环境中制定集体决策面临巨大的挑战。抛开安全漏洞不谈,The DAO的确完美诠释了智能合约通过互联网实现大规模去信任化协作方面的潜力。



第2章 - 以太币来自何处?

目录


新以太币是如何产生?

之前我们简单提到过“挖矿”。如果您熟悉比特币,就一定知道挖矿过程是保护和更新区块链的关键。以太坊的挖矿原理与之相同,即根据协议为挖矿参与者(费时费力且成本高昂)提供以太币奖励。


以太币的总量是多少?

截止2020年2月,以太币的总供应量约为1亿1千万枚。
比特币不同,以太坊在推出时并未制定专属代币发行计划。比特币通过限制供应量并逐步降低新币产量来维护自身价值。以太坊则通过代币为去中心化应用程序(DApp)奠定基础。由于尚未找到最合适的代币发行计划类型,这个问题仍然没有定论。


以太坊挖矿如何运作?

挖矿对于网络安全至关重要。它确保区块链可以公平合理地更新,并支持网络在无单一决策者的情况下正常运行。在挖矿操作中,节点的子集(名副其实的“矿工”)为解决密码学难题贡献算力。

其实际操作是对一组未决交易及其数据进行哈希运算。为了使区块有效,哈希值必须低于协议的设定值。如果操作失败,矿工可以修改某些数据,然后再度尝试。

由于存在竞争,矿工必须以最快速度完成哈希运算——哈希率因此成为矿工算力的衡量标准。网络中的哈希率越高,密码学难题的破解难度越大。只有矿工需要找到有效的答案,该答案在网络中广播后,其他参与者可以轻松验证其有效性。
如您所料,不间断的高速哈希运算成本高昂。作为保护网络安全的激励措施,矿工可以获得奖励。奖励来源于区块中的所有交易费用。他们还会收到新鲜出炉的以太币,撰写本文时为2枚以太币。


什么是以太坊燃料费?

还记得前文提到的“Hello, World!”合约么?这款程序很容易运行,计算费用也不高。然而,您并不只是作为个人在计算机中运行该程序,而是在请求以太坊生态系统中的所有人一起运行。
这就引出了以下问题:当数万人同时运行复杂合约时,会发生何种情形?如果有人将合约设定为循环运行同一套代码,每个节点就都需要无限期运行。这些过程会占用大量资源,可能导致整个系统崩溃。
幸运的是,以太坊引入燃料费的概念来规避这种风险。如同汽车无法在燃料耗尽的情况下行驶,合约也不能在没有燃料费的情况下运行。为了保障合约正常运行,用户必须支付一定数量的燃料费。如果燃料费不足,合约将会终止。

从本质上讲,这就是一种收费机制。我们将概念延伸到交易,即矿工的主要动机是盈利,可能忽略掉费用较低的交易。

请注意,以太币与燃料费不同。燃料费平均价格的波动很大程度上取决于矿工。开展交易时,需要使用以太币支付燃料费。收费机制与比特币类似:如果网络拥挤并且许多用户都在参与交易,燃料费的均价将会上涨。相反,如果网络中的活动很少,价格就会下降。
虽然燃料费的价格不断变化,但每次操作所需的燃料费是固定的。也就是说,执行复杂合约消耗的燃料费高于简单交易。因此,燃料费成为算力的度量标准。它可以确保系统根据用户的以太坊资源占用率收取相应的费用。
燃料费通常只消耗一小部分以太币,我们为其设定了更小的单位“gwei”。1 gwei相当于以太币的十亿分之一。
简而言之,您可以运行一种长时间循环的程序,但这项操作很快会变得非常昂贵。因此,以太坊网络中的节点有利于减少垃圾信息。
燃料费平均价格随时间的变化情况(单位:gwei)。来源:etherscan.io


燃料费与燃料费限额

假设Alice正在进行合约交易。她计算出需要支付的燃料费(例如,通过ETH Gas Station)。也许她会设置一个较高的价格,激励矿工尽快处理交易。
她还会设置燃料费限额,用于自我保护。合约出现问题后,消耗的燃料费将高于计划值。燃料费限额的作用是当设置的燃料费x耗尽后,确保操作停止。相应合约随即失效,Alice最终支付的金额不会超过初始设定值。

乍一看,这个概念似乎令人困惑。其实,这表明燃料费(及其限额)可以手动设定,而大多数钱包将会代替用户完成设置。简而言之,燃料费决定了矿工处理交易的速度,而燃料费限额则决定您愿意为此次交易支付的燃料费上限。


开采一个以太坊区块耗时多久?

将新区块加入以太坊区块链的平均时间为12至19秒。如果网络转换为主要旨在缩短出块时间的权益证明,则这种情况极有可能发生改变。如需了解详情,敬请阅读《以太坊Casper解析》


什么是以太坊代币?

以太坊最大的魅力在于支持用户在链上创建个人资产,并且可以像以太币一样存储和转移。智能合约中规定了上述资产的治理规则,允许开发者自行设定代币参数。其中包括代币发行量、发行机制、可分割性以及互换性等诸多特性。在以太坊中创建代币时可以遵循多种技术标准,最突出的称为ERC-20 – 因此,这些代币通常称为“ERC 20代币”。

这款代币功能优异,为创新者提供了广阔的试验平台,支持其在金融和技术等前沿领域展开更多尝试。从发行统一代币作为应用内货币,到生产以实体资产为基础的独特代币,其设计均极为灵活。很可能还有各种精简易行的绝佳代币创建用例尚不为人知。



第3章 - 以太坊入门

目录


如何购买以太币?

如何使用信用卡/借记卡购买以太币

币安允许用户通过浏览器顺畅无阻地购买以太币。操作步骤:


  1. 登录数字货币买卖门户。
  2. 选择需要购买的数字货币(ETH)以及用于付款的货币。
  3. 登录币安账户。新用户请先行注册
  4. 选择支付方式。
  5. 按照提示输入卡片详细信息并完成身份验证。
  6. 搞定!购买的以太币将存入您的币安账户。


如何在P2P市场购买以太币

P2P市场也是买卖以太币的平台。通过币安移动App,您可以从其他用户手中直接购买代币。操作步骤:


  1. 打开APP,然后登陆或注册账户。
  2. 选择一键买卖,然后点击界面左上角的购买选项卡。
  3. 在弹出的交易类型中选择一种,然后点击购买
  4. 您可以使用其他数字货币(数字货币支付选项卡)或法币支付(法币支付选项卡)。 
  5. 接着,系统会要求选择支付方式。您可以根据需要灵活挑选。
  6. 选择购买以太币
  7. 此时,需要完成付款。操作完毕后,点击标记为已付,然后确认
  8. 卖方如期交付代币后,交易即告完成。


使用以太币(ETH)可以购买什么?

比特币不同的是,以太坊的应用环境并不局限于数字货币网络。它能够为去中心化应用程序搭建开发平台,而以太币作为可交易代币,成为这种生态系统的“燃料”。因此,以太币的主要作用是为以太坊提供效用性。

然而,以太币也可用于购买商品和服务,扮演与其他传统货币相似的角色。

接受以太币付款的零售商热图。来源:cryptwerk.com/coinmap


以太坊有哪些用途?

以太坊的原生货币“以太币”可用作数字货币或抵押品。也有许多人将其视为与比特币类似的价值存储手段。然而,以太币与比特币不同,因为以太坊区块链的高度可编程性赋予其更多效用。因此,以太币成为去中心化金融应用程序、去中心化市场、交易平台和游戏等众多应用的命脉。


如果不慎丢失以太币,应该怎么办?

以太币交易不涉及任何银行,用户必须对自己的资金负责。代币可以存入交易平台,抑或存放于个人钱包。请注意,使用个人钱包存储资金时,务必妥善保管助记词,以便在无法访问钱包时恢复资金。


以太坊交易能否恢复?

数据加入以太坊区块链后,几乎无法更改或删除。这意味着,在开展交易时,可以将其视为一成不变。因此,必须仔细检查接收资金的目标地址是否正确。在转移大额资金时,最好先向接收地址发送少量资金,核实其真实性。
由于智能合约遭受过一次黑客攻击,以太坊被迫在2016年进行了硬分叉,从而有效逆转了恶意交易。然而,这只是应对异常事件的极端措施,而非常态。


以太坊交易是私密的吗?

所有加入以太坊区块链的交易都是公开可见的。即使以太坊地址并未显示真实姓名,观察者也可通过其他方法确定参与者身份。


以太坊能否创造收益?

以太币是一种波动性较大的资产,收益机遇与亏损风险并存。一些人选择长期持有以太币,并笃定该网络未来将成为全球性的可编程结算层。另一些人则选择使用以太币与其他山寨币进行交易。当然,这两种策略也都存在相应的金融风险
作为去中心化金融(DeFi)的中流砥柱,以太币还可用于借贷、贷款抵押金、铸造合成资产或在未来进行质押
部分投资者可能选择长期投资比特币并将其作为投资组合中唯一的数字资产。相反,另一些投资者更加灵活,通过以太币和其他山寨币构建多元化投资组合,或者分配一定比例的资金开展短期交易(例如日间交易或波段交易)。市场中根本没有万能的盈利方式,每位投资者均应量力而行,根据实际情况选择最合适的策略。


如何存储以太币?

存储代币的方式很多,每种方式各有利弊。正如其他面临风险的事物一样,最佳解决方案正是对众多选项构建多元化组合。
一般来说,存储解决方案分为托管非托管两种。托管解决方案表示资金可以委托给第三方保管(例如交易平台)。此时,必须登录托管方平台才能交易数字货币资产。
非托管解决方案则恰好相反,用户使用数字货币钱包自行管控资金。此类钱包不会像物理钱包那样装入硬币,而是存储区块链内资产的访问凭证——加密密钥。请谨记:在使用非托管钱包时,务必妥善备份助记词


如何将以太币存入币安

如需将所持以太币存入币安,请按以下步骤操作:

  1. 登录币安账户。新用户请先行注册
  2. 进入现货钱包并点击充值
  3. 勾选代币列表中的“ETH”。
  4. 选择网络并向相应地址中发送以太币。
  5. 搞定!交易确认后,购买的以太币将存入您的币安账户。


如何在币安存储以太币

若要积极地参与以太币交易,则需将其存入币安账户。在币安存储以太币既简单又安全。借助以太币,用户还可以通过贷款、质押空投促销以及幸运抽奖等方式享受币安生态系统的各种福利。


如何从币安提取以太币

如需提取币安帐户中存入的以太币,请按以下步骤操作:

  1. 登录币安帐户。
  2. 进入现货钱包并点击提现
  3. 勾选代币列表中的“ETH”。
  4. 选择网络
  5. 输入接收方地址和金额。
  6. 通过电子邮件认证。
  7. 搞定!交易确认后,以太币将存入您提供的地址。


如何在以太坊钱包中存储以太币

如需将以太币存入个人钱包,可选择热钱包或冷钱包。


热钱包

以某种方式连入互联网的数字货币钱包称为“热钱包”。它通常是一种移动或桌面应用程序,用户可通过其查看余额或发送/接收代币。热钱包连入网络,极易遭受攻击,但日常支付更加青睐这种便捷方式。Trust Wallet正是一种方便快捷的移动钱包,支持多种货币。

冷钱包

冷钱包则是一种离线工作的数字货币钱包。此类钱包远离在线攻击向量,显著降低遭受攻击的概率。然而,冷钱包的便捷性一般不如热钱包。硬件钱包纸钱包均属于冷钱包。后者技术过时并且极具风险,逐渐淡出用户的视野。
敬请阅读《数字货币钱包类型解析》,详细了解钱包分类。


以太坊的徽标和符号是什么?

Vitalik Buterin设计了最初的以太坊徽标。它由两个旋转的求和符号“Σ”(希腊字母中的Sigma)组成。最终设计以此图案为基础,由称为“八面体”的菱形组成,周围环绕四个三角形。与其他数字货币类似,以太币也有专属的标准Unicode符号,App和网站可以轻松显示其价值。正如美元使用“$”符号表示一样,以太币使用的符号为“Ξ”。



第4章 - 可扩展性、以太坊2.0与以太坊的未来

目录


什么是可扩展性?

简而言之,可扩展性是衡量系统增长能力的指标。例如,计算中应用的网络或服务器可通过不同方法扩容,从而处理更多的需求。

加密货币中的可扩展性是指区块链不断发展,以吸纳更多用户。用户增加意味着区块链将参与更多操作和交易竞争。


为什么以太坊需要扩容?

以太坊的拥护者认为,互联网的下一次迭代将立足于以太坊平台。所谓的Web 3.0将带来一种去中心化拓扑,能够直接跳过中间机构、更加注重隐私并转变为真正拥有自己的数据。这些基础属性将通过形式为智能合约的分布式计算与分布式存储/通信协议进行构建。
为了实现目标,以太坊必须大规模提升交易处理能力,同时避免网络的去中心化程度下降。目前,以太坊并未像比特币一样通过限制区块大小来限定交易量,而只是为区块设置了燃料费限额,即单一区块可容纳的燃料费上限。

例如,一个区块的燃料费限额为10万Gwei。您可以向该区块提交10笔燃料费限额为1万Gwei,或者2笔燃料费限额为5万Gwei的交易。与之同时提交的其他任何交易均须等待下一个区块。

对于所有人广泛使用的系统来说,这种情况并不理想。如果未决交易超过区块空间,很快就会出现积压。此外,燃料费上涨意味着用户必须支付更高的金额,方可使个人交易得到优先处理。也就是说,繁忙的网络将导致特定用例的处理费用非常昂贵。

当初风靡一时的《谜恋猫》(CryptoKitties)游戏正是以太坊网络局限性的典型例证。2017年,基于以太坊的游戏《谜恋猫》(CryptoKitties)吸引了大量用户。他们在网络中进行交易,饲养自己的数字猫咪(代表非同质化代币)。这款游戏迅速普及后,待处理交易数量呈火箭式上升,最终导致网络极度拥堵。


区块链可扩展性的三元悖论

从表面上看,只要提高区块的燃料费限额即可缓解所有可扩展性问题。换言之,上限越高,网络在固定时间内处理的交易就越多,没错吧?

遗憾的是,除非牺牲以太坊的部分关键特性,否则这是不可行的。Vitalik Buterin提出了区块链三元悖论(如下图所示),解释了区块链必须达到的微妙平衡。

区块链三元悖论:(1)可扩展性、(2)安全性和(3)去中心化。


三大特性只能优化其二,无法面面俱到。以太坊和比特币等区块链都将安全性和去中心化放在首位。它们的共识算法保障网络安全性。然而,其网络由数千个节点组成,导致可扩展性欠佳。交易的接收和验证均由众多节点完成,速度远逊于中心化方案。
另一种情况是取消区块的燃料费限额,网络可以同时获得安全性与可扩展性,但去中心化程度严重下降。

原因在于,单一区块中将包括更多交易,最后形成更大的区块。而网络中的节点仍需定期下载和广播区块,对硬件提出了非常严苛的要求。区块的燃料费限额提升后,节点对区块进行验证、存储和广播的难度都会增加。

最终,掉队的节点将从网络中退出。如果继续按这种方式运行,则只有少数性能强大的节点幸存下来,进一步加深系统的中心化程度。最终,区块链将兼具安全性与可扩展性,但不再具备去中心化的特性。

最后一种情况是,区块链聚焦去中心化与可扩展性。网络通过弃用共识算法提升速度和去中心化程度,代价是安全性显著降低。


以太坊可以处理多少笔交易?

近年来,以太坊的每秒交易量(TPS)很少超过10笔。对于这个有志成为“世界计算机”的平台而言,这个数字令人失望。
扩容解决方案一直是以太坊路线图的重要组成部分。等离子体(Plasma)正是扩容解决方案的典型示例。该方案旨在提升以太坊的效率,其技术同样适用于其他区块链网络。


什么是以太坊2.0?

以太坊虽然极具潜力,但目前的确存在局限性。在上文中,我们已经讨论过可扩展性的问题。简而言之,如果以太坊希望成为新金融体系的中流砥柱,就必须显著提升每秒处理的交易总数。鉴于该网络的分布式特性,这一问题很难解决。多年来,以太坊的开发者也一直在寻找解决方案。

一方面,为了保证网络的去中心化程度,必须实施一些限制。运行节点的要求越苛刻,参与者就越少,网络也将趋于中心化。因此,提升以太坊的交易处理能力会导致节点负担增加,最终威胁到系统的完整性。

以太坊(和其他工作量证明加密货币)的另一弊端是,资源消耗量极大。为了在区块链中成功添加区块,必须挖矿。然而,这种区块创建方式必须快速执行运算,耗电量极大。

为了打破上述限制,开发者提出了一系列升级计划,统称为“以太坊2.0”(或ETH 2.0)。全面实施后,ETH 2.0将有效提升该网络的性能。


什么是以太坊分片?

如上文所述,每个节点都会存储整条区块链的副本。这些节点也将随区块链的变化而更新,占用巨大的宽带和内存。

如果使用名为分片的方法,则可避免上述过程。顾名思义,该过程将网络划分为不同节点子集,也就是所谓的分片。每个分片都会处理自己的交易与合约,同时仍可按要求与其他分片网络进行通信。每个分片独立验证,因此无需存储其他分片的数据。

2020年3月的网络与实施分片的网络对比


“分片”是一种复杂的扩容方式,需要开展大量的设计与实施工作。然而,如果应用成功,它将成为最有效的方法之一,让网络的吞吐量提升若干数量级。


什么是以太坊等离子体(Plasma)?

以太坊等离子体(Plasma)是一种链下可扩展性解决方案,其目的是让交易脱离区块链,从而提升交易吞吐量。在这方面,它与侧链和支付渠道存在一定相似之处。

通过等离子体(Plasma),二级链即可与以太坊区块链的主链锚定,同时保持最低限度的通信。虽然用户依靠主链解决争端,而在二级链“完成”个人活动,但二者大体上是独立运作的。

以太坊成功扩容的关键在于降低节点必须存储的数据量。等离子体(Plasma)方案允许开发者在主链的智能合约中规定“子链”的一些规则。之后,信息或进程在主链中存储/运行成本过高的应用程序可以自由转移到“子链”进行创建。

欲了解等离子体(Plasma)的详细介绍,敬请阅读《什么是以太坊等离子体(Plasma)?》


什么是以太坊汇总?

等离子体(Plasma)类似,汇总(Rollup)也是为了将交易从主链中脱离,实现以太坊扩容。那么,后者如何运作呢?
答案是,主链中的单一合约持有二级链上的所有资金,并存储该链当前状态的密码学证明。二级链运营商在主网合约中存入保证金,并且只向其提交有效的状态转换。其背后的理念是该状态在链下维护,因此无需将数据存储于区块链。然而,汇总(Rollup)与等离子体(Plasma)的主要区别在于其将交易提交给主链的方式。通过特殊的交易类型,这种方式可以“汇总”海量交易,将其捆绑在一起成为特殊区块,称为汇总(Rollup)区块
汇总(Rollup)分为两种不同类型:乐观汇总(Optimistic Rollup)零知识汇总(ZK Rollup)。两者均通过不同方式保证状态转换正确无误。
零知识汇总(ZK Rollup)使用一种名为零知识证明的密码学验证方法提交交易。具体而言,是采用一种称为zk-SNARK的方法。对于具体运作细节,本文不作介绍,但我们可以这样描述其在汇总(Rollup)的应用:通过这种方式,不同参与方可以互相证明自己拥有特定信息,但无需透露具体内容。

就零知识汇总(ZK Rollup)而言,该信息是提交至主链的状态转换。这个过程的一大优势是几乎可以在瞬间发生,同时最大限度降低提交损坏状态的概率。

乐观汇总(Optimistic Rollup)通过牺牲一定的可扩展性来提升灵活性。通过“乐观虚拟机(OVM)”,智能合约可以在二级链中运行。另一方面,没有任何密码学证明可以证实提交给主链的状态转换是正确的。为了缓解这个问题,过程中设置了短暂的延迟,允许用户质疑和否定提交到主链的无效区块。


什么是以太坊权益证明(PoS)?

权益证明(PoS)是除了工作量证明之外的另一种区块验证方案。在权益证明系统中,获得新区块的方式并不是挖矿,而是铸造(有时也称为锻造)。与矿工通过算力竞争不同,候选区块现在由定期随机选择的节点(或验证者)进行验证。如果操作正确,其将获得区块的所有交易费用,也可能根据协议获得区块奖励

权益证明不涉及挖矿,因而被认为更加环保。验证者消耗的能量不及矿工,因此可以在消费级硬件中铸造区块。

作为以太坊2.0的一部分,以太坊计划通过名为Casper的升级操作从PoW过渡为PoS。虽然具体日期尚未正式确定,但第一次迭代可能在2020年启动。


什么是以太坊质押?

在工作量证明协议中,矿工负责保障网络安全性。他们不会作弊,因为这种行为空耗电力并会导致其丧失所有潜在奖励。权益证明中不存在这种博弈理论,而是通过其他加密货币经济学措施保障网络安全。
不诚实行为之所以能够得到遏制,并非是因为用户担心浪费能源,而是因为担心损失资金。验证者必须质押一定数量的代币(成为代币持有者)方可获得验证权。如果节点试图作弊,其质押的代币(一定数量的以太币)将会丢失;如果节点无响应或脱机,这些代币也将逐渐耗尽。然而,如果验证者运行更多节点,就将获得更多奖励。


在以太坊中需要质押多少以太币?

每位验证者在以太坊中的最低预估质押量为32枚以太币。数值设置得如此之高,导致实施51%攻击的代价极大。


在以太坊中质押能赚取多少以太币?

这个问题比较复杂。这项指标不仅取决于代币抵押数量,还会受到网络中以太币质押总量以及通货膨胀率的影响。粗略估算,该项目当前的年收益率大约为6%。请记住,这个数字只是估计值,未来可能发生变化。


抵押以太币的锁仓时间是多久?

如需从验证者手中取回以太币,则须加入取款队列。如果不排队,最短取款时间为18小时。具体时间会根据特定时段内取款的验证者人数动态调整。


质押以太坊是否有风险?

作为负责维护网络安全性的验证者,您必须将各种风险纳入考量范围。如果验证者节点长时间离线,则会损失相当一部分存款。此外,如果存款余额低于16枚以太币,您将被移出验证者集合。

另一项系统性风险因素也不容忽视。权益证明从未如此大规模地应用,运行中可能出现故障。软件难免存在缺陷与漏洞,甚至可能造成毁灭性打击——当质押价值高达数十亿美元时,更是面临重大风险。



第5章 - 以太坊和去中心化金融(DeFi)

目录


什么是去中心化金融(DeFi)?

去中心化金融(简称“DeFi”)是一种对金融应用程序实施去中心化的活动。DeFi构建于公共的开源区块链,互联网中的所有用户均可免费访问(即无许可性)。这项关键特性有望吸引数十亿人融入这个全新的全球金融体系。
在日趋成熟的DeFi生态系统中,用户可通过点对点(P2P)网络和去中心化应用程序(DApp)与其他用户和智能合约进行交互。DeFi最大的优势在于,它让这一切成为现实,但用户仍能掌握资金所有权。

简而言之,去中心化金融(DeFi)活动旨在构建一种全新的金融体系,逐步打破当前体系的限制。DeFi具有相对较高的去中心化程度和庞大的开发者基础,因此大部分DeFi目前都建立在以太坊之上。


去中心化金融(DeFi)的用途

您可能已经了解到,比特币最大的优势在于其无需任何中央机构协调网络运作。如果我们以此为核心理念,开发可编程应用程序将会如何呢?这就是DeFi应用的潜力:摆脱中央“协调员”或中间机构,不会出现单点故障。

如前文所述,“开放访问”是DeFi的最大优势。全球有数十亿人无法使用任何类型的金融服务。倘若脱离所有金融保障,我们又该如何管理自己的日常生活?这并非凭空想象,而是数十亿人真实的生活写照——DeFi的服务对象正是此类人群。


去中心化的金融(DeFi)能否迈入主流?

这些优势似乎极具吸引力,但DeFi为何仍未占据主流市场?目前,大多数DeFi应用程序仍处于试验阶段,便捷性与灵活性亟待提高并且经常崩溃。事实证明,这种生态系统的架构设计非常困难,分布式开发环境更是让难度进一步增加。

对于软件工程师、博弈理论家机制设计师等开发者而言,构建DeFi生态系统挑战重重,任重而道远。因此,DeFi应用程序能否迈入主流仍是未知数。


有哪些去中心化金融(DeFi)应用程序?

时下最热门的去中心化金融(DeFi)用例当属稳定币。从本质上讲,稳定币是一种区块链代币,其价值与现实资产(例如法定货币)挂钩。例如,BUSD的价值与美元(USD)挂钩。此类代币均在区块链中应用,存储和转账都非常方便。
另一种流行的应用程序是借贷。点对点(P2P)服务有很多,用户将资金借贷给他人,从中赚取利息。其实,币安借贷就是最便捷的平台之一。操作方式非常简单,只需将资金存入借贷钱包,第二天即可赚取利息!
然而,最令人兴奋的是,DeFi几乎可以应用于任何领域。它可以融入各类点对点(P2P)和去中心化市场,打造交易独一无二的数字货币收藏品以及其他数字化物品的平台。此类应用程序还可以创造合成资产,所有人均可为任何蕴含价值的物品创造市场。其他用武之地包括预测市场和衍生品等领域。


以太坊中的去中心化交易平台(DEX)

去中心化交易所(DEX)允许不同用户钱包直接进行交易。在币安等中心化交易平台交易时,用户首先需要将资金转入平台,然后通过内部系统进行交易。
去中心化交易平台则有所不同。通过神奇的智能合约,您可以使用数字货币钱包直接完成交易,规避交易平台遭受黑客攻击等风险。
币安DEX正是去中心化交易平台的典型代表。Uniswap、Kyber Network、IDEX则是构建于以太坊的佼佼者。为了最大限度保障资金安全,部分交易平台甚至允许通过硬件钱包完成交易。

中心化与去中心化交易平台对比。


我们通过上图对比了中心化与去中心化交易平台的区别。在左图中,我们可以看到币安处于交易双方之间。因此,当Alice希望以代币A交换Bob的代币B时,二人均须将资产存入交易平台。达成交易后,币安将按资金比例重新分配二者的帐户余额。

右边是去中心化交易平台。我们注意到,整个交易没有第三方参与其中。Alice的代币通过智能合约直接转换为Bob的代币。通过这种方式,双方达成的合约将会自动执行,不必依赖任何中间机构。

截止2020年2月,DEX一直是以太坊区块链中最常用的应用程序。然而,其成交量与中心化交易平台相比相差甚远。尽管如此,如果开发者和设计者持续优化用户体验,DEX将逐渐赢得更多用户的青睐。有朝一日,它一定能与中心化交易平台抗衡。



第6章 - 走进以太坊网络

目录


什么是以太坊节点?

术语“以太坊节点”是指以某种方式与以太坊网络交互的程序。从简单的手机钱包应用程序到存储整个区块链副本的计算机,任何设备均可扮演以太坊节点。

所有节点都以某种方式充当通信点,但以太坊网络中的节点分为多种类型。


以太坊节点如何运作?

比特币不同,以太坊找不到任何程序作为参考实施方案。在比特币生态系统中,比特币核心是主要节点软件,以太坊黄皮书则提出了一系列独立(但兼容)的程序。目前最流行的是GethParity


以太坊全节点

若要以允许独立验证区块链数据的方式连接以太坊网络,则应使用之前提到的软件运行全节点。

该软件将从其他节点下载区块,并验证其所含交易的正确性。软件还将运行调用的所有智能合约,确保接收的信息与其他节点相同。如果一切按计划运行,我们可以认为所有节点设备均存储相同的区块链副本。

全节点对于以太坊的运行至关重要。如果没有遍布全球的众多节点,网络将丧失其抗审查性与去中心化特性。


以太坊轻节点

通过运行全节点,您可以直接为网络的健康和安全发展贡献一份力量。然而,全节点通常需要使用独立的机器完成运行和维护。对于无法(或单纯不愿)运行全节点的用户,轻节点是更好的选择。

顾名思义,轻节点均为轻量级设备,可显著降低资源和空间占用率。手机或笔记本电脑等便携式设备均可作为轻节点。然而,降低开销也要付出代价:轻节点无法完全实现自给自足。它们无法与整条区块链同步,需要全节点提供相关信息。

轻节点备受商户、服务供应商和用户的青睐。在不必使用全节点并且运行成本过高的情况下,它们广泛应用于支收付款。

以太坊挖矿节点

挖矿节点既可以是全节点客户端,也可以是轻节点客户端。“挖矿节点”这个术语的使用方式与比特币生态系统不同,但依然应用于识别参与者。

如需参与以太坊挖矿,必须使用一些附加硬件。最常见的做法是构建矿机。用户通过矿机将多个GPU(图形处理器)连接起来,高速计算哈希数据。
矿工可以选择两种挖矿方案:单独挖矿或加入矿池。单独挖矿表示矿工独自创建区块。如果成功,则独享挖矿奖励。如果加入矿池,众多矿工的哈希算力会结合起来。出块速度得以提升,但挖矿奖励将由众多矿工共享。


如何运行以太坊节点

区块链最重要的特性之一就是“开放访问”。这表明任何人均可运行以太坊节点,并通过验证交易和区块强化网络。

比特币相似,许多企业都提供即插即用的以太坊节点。如果只想启动并运行单一节点,这种设备无疑是最佳选择,缺点是必须为便捷性额外付费。
如前文所述,以太坊中存在众多不同类型的节点软件实施方案,例如GethParity。若要运行个人节点,必须掌握所选实施方案的安装流程。
除非运行名为归档节点的特殊节点,否则消费级笔记本电脑足以支持以太坊全节点正常运行。不过,最好不要使用日常工作设备,因为节点会严重拖慢运行速度。

运行个人节点时,建议设备始终在线。倘若节点离线,再次联网时可能耗费大量的时间进行同步。因此,最好选择造价低廉并且易于维护的设备。您甚至可以通过Raspberry Pi运行轻节点。


如何在以太坊挖矿

随着网络即将过渡到权益证明机制,以太坊挖矿不再是最安全的长期投资方式。过渡成功后,以太坊矿工只能将挖矿设备转入其他网络或直接变卖。
鉴于过渡尚未完成,参与以太坊挖矿仍需使用特殊硬件(例如GPU或ASIC)。若要获得可观收益,则必须定制矿机并寻找电价低廉的矿场。此外,还需创建以太坊钱包并配置相应的挖矿软件。这一切都会耗费大量的时间和资金。在参与挖矿前,请认真考量自己能否应对各种挑战。


什么是以太坊ProgPoW?

ProgPow代表程序化工作量证明。这是以太坊挖矿算法Ethash的扩展方案,旨在提升GPU的竞争力,使其超过ASIC
在比特币和以太坊社区,抗ASIC多年来一直是饱受争议的话题。在比特币网络中,ASIC已经成为主要的挖矿力量。

在以太坊中,ASIC并不是主流,相当一部分矿工仍然使用GPU。然而,随着越来越多的公司将以太坊ASIC矿机引入市场,这种情况很快就会改变。然而,ASIC到底存在什么问题呢?

一方面,ASIC明显削弱网络的去中心化。如果GPU矿工无法盈利,不得不停止挖矿,哈希率最终就会集中在少数矿工手中。此外,ASIC芯片的开发成本相当昂贵,坐拥开发能力与资源的公司屈指可数。这种现状有可能导致以太坊挖矿产业集中在少数公司手中,形成一定程度的行业垄断。
自2018年以来,ProgPow的集成一直饱受争议。有些人认为,它有益于以太坊生态系统的健康发展。另一些人则持反对态度,认为它可能导致硬分叉。随着权益证明机制的到来,ProgPoW能否应用于网络仍然有待观察。


以太坊软件的开发者是谁?

以太坊与比特币是一样,均为开源平台。所有人都可以参与协议开发,或基于协议构建应用程序。事实上,以太坊也是区块链领域目前最大的开发者社区。
Andreas Antonopoulos和Gavin Wood出品的Mastering Ethereum,以及Ethereum.org推出的开发者资源等都是新晋开发者理想的入门之选。


什么是Solidity?

智能合约的概念于20世纪90年代首次提出。其在区块链中的应用带来了一系列全新挑战。2014年由Gavin Wood提出的Solidity已经成为开发以太坊智能合约的主要编程语言,其语法与Java、JavaScript以及C++类似。
从本质上讲,使用Solidity语言,开发者可以编写在分解后可由以太坊虚拟机(EVM)解析的指令。您可以通过Solidity GitHub详细了解其工作原理。
其实,Solidity语言并非以太坊开发者的唯一选择。Vyper也是一种热门的开发语言,其语法更接近Python。