跳转到主要内容
Change page

以太坊技术简介

什么是区块链?

区块链是一个公共数据库,在网络中的许多计算机之间更新和共享。

“区块”是指数据和状态被存储在被称为“区块”的连续组中。如果你向其他人发送 ETH,交易数据需要被添加到一个区块中才能成功。

“链”是指每个区块都通过密码学方式引用其父区块。换句话说,区块被链接在一起。如果不改变所有后续区块,就无法改变某个区块中的数据,而这需要整个网络的共识。

网络中的每台计算机都必须对每个新区块和整条链达成一致。这些计算机被称为“节点”。节点确保与区块链交互的每个人都拥有相同的数据。为了实现这种分布式一致性,区块链需要一种共识机制。

以太坊使用基于权益证明 (PoS) 的共识机制。任何想要向链中添加新区块的人都必须质押 ETH(以太坊的原生货币)作为抵押品,并运行验证者软件。然后,这些“验证者”可以被随机选中来提议区块,其他验证者会检查这些区块并将其添加到区块链中。这里有一套奖励和惩罚系统,强烈激励参与者保持诚实并尽可能多地保持在线。

如果你想了解区块链数据是如何被哈希处理并随后附加到区块引用历史中的,请务必查看 Anders Brownworth 制作的这个演示 (opens in a new tab),并观看下面的配套视频。

观看 Anders 解释区块链中的哈希:

Blockchain 101: a visual demo

A demonstration of how blockchain technology works, covering hashing, blocks, chains, distributed ledgers, and tokens to make blockchain concepts tangible and intuitive.

带文字记录观看 

什么是以太坊?

以太坊是一个内置了计算机的区块链。它是以去中心化、无需许可、抗审查的方式构建应用和组织的基础。

在以太坊宇宙中,有一台单一的、规范的计算机(称为以太坊虚拟机,或 EVM),以太坊网络上的每个人都同意其状态。每个参与以太坊网络的人(每个以太坊节点)都保存着这台计算机状态的副本。此外,任何参与者都可以广播请求,让这台计算机执行任意计算。每当广播这样的请求时,网络上的其他参与者就会验证、确认并执行该计算。这种执行会导致 EVM 中的状态发生改变,该状态改变会被承诺并传播到整个网络。

计算请求被称为交易请求;所有交易的记录和 EVM 的当前状态都存储在区块链上,而区块链又由所有节点存储并达成共识。

密码学机制确保一旦交易被验证为有效并添加到区块链中,以后就无法被篡改。同样的机制还确保所有交易都以适当的“权限”进行签名和执行(除了 Alice 本人,任何人都不能从 Alice 的账户发送数字资产)。

什么是以太币?

以太币 (ETH) 是以太坊的原生加密货币。ETH 的目的是为了建立一个计算市场。这样的市场为参与者验证和执行交易请求以及向网络提供计算资源提供了经济激励。

任何广播交易请求的参与者还必须向网络提供一定数量的 ETH 作为赏金。网络将销毁部分赏金,并将剩余部分奖励给最终完成验证交易、执行交易、将其承诺到区块链并广播到网络等工作的人。

支付的 ETH 数量与执行计算所需的资源相对应。这些赏金还可以防止恶意参与者通过请求执行无限计算或其他资源密集型脚本来故意堵塞网络,因为这些参与者必须为计算资源付费。

ETH 还主要通过三种方式为网络提供加密经济安全性:1) 它被用作奖励提议区块或指出其他验证者不诚实行为的验证者的手段;2) 它由验证者质押,作为防止不诚实行为的抵押品——如果验证者试图作恶,他们的 ETH 可能会被销毁;3) 它被用来衡量对新提议区块的“投票”权重,并输入到共识机制的分叉选择部分。

什么是智能合约?

在实践中,参与者不需要每次想在 EVM 上请求计算时都编写新代码。相反,应用开发者将程序(可重用的代码片段)上传到 EVM 状态中,用户通过不同的参数发出执行这些代码片段的请求。我们将上传到网络并由网络执行的程序称为“智能合约”。

在非常基础的层面上,你可以把智能合约想象成一种自动售货机:一个脚本,当使用特定参数调用时,如果满足特定条件,就会执行某些操作或计算。例如,一个简单的售货智能合约可以在调用者向特定接收者发送 ETH 时,创建并分配数字资产的所有权。

任何开发者都可以创建一个智能合约并将其公开到网络上,使用区块链作为其数据层,并向网络支付费用。然后,任何用户都可以调用该智能合约来执行其代码,同样需要向网络支付费用。

因此,借助智能合约,开发者可以构建和部署任意复杂的面向用户的应用和服务,例如:市场、金融工具、游戏等。

术语

区块链

在网络历史中已承诺到以太坊网络的所有区块的序列。之所以这样命名,是因为每个区块都包含对前一个区块的引用,这有助于我们维护所有区块的顺序(从而维护精确的历史记录)。

ETH

以太币 (ETH) 是以太坊的原生加密货币。用户向其他用户支付 ETH 以完成其代码执行请求。

更多关于 ETH 的信息

EVM

以太坊虚拟机是一台全球性的虚拟计算机,以太坊网络上的每个参与者都存储并同意其状态。任何参与者都可以请求在 EVM 上执行任意代码;代码执行会改变 EVM 的状态。

更多关于 EVM 的信息

节点

存储 EVM 状态的真实机器。节点相互通信以传播有关 EVM 状态和新状态改变的信息。任何用户也可以通过从节点广播代码执行请求来请求执行代码。以太坊网络本身就是所有以太坊节点及其通信的集合。

更多关于节点的信息

账户

存储 ETH 的地方。用户可以初始化账户,将 ETH 存入账户,并将 ETH 从他们的账户转账给其他用户。账户和账户余额存储在 EVM 的一张大表中;它们是整个 EVM 状态的一部分。

更多关于账户的信息

交易

“交易请求”是在 EVM 上请求执行代码的正式术语,而“交易”是已完成的交易请求以及相关的 EVM 状态改变。任何用户都可以从节点向网络广播交易请求。为了使交易请求影响达成共识的 EVM 状态,它必须由另一个节点验证、执行并“承诺到网络”。任何代码的执行都会导致 EVM 中的状态改变;在承诺时,这种状态改变会广播到网络中的所有节点。一些交易的例子:

  • 从我的账户向 Alice 的账户发送 X 个 ETH。
  • 将一些智能合约代码发布到 EVM 状态中。
  • 使用参数 Y 执行 EVM 中地址 X 处的智能合约代码。

更多关于交易的信息

区块

交易量非常大,因此交易是分批(即区块)“承诺”的。区块通常包含几十到几百笔交易。

更多关于区块的信息

智能合约

开发者发布到 EVM 状态中的可重用代码片段(程序)。任何人都可以通过发出交易请求来请求执行智能合约代码。因为开发者可以通过发布智能合约将任意可执行应用(游戏、市场、金融工具等)写入 EVM,所以这些应用通常也被称为去中心化应用 (dapp)

更多关于智能合约的信息

下一步去哪

大多数读者会按顺序阅读文档,但最短的路径取决于你想要构建什么:

延伸阅读

更喜欢视觉学习?

这个视频系列对基础主题进行了深入探讨:

Ethereum basics: intro

An introductory lecture on Ethereum fundamentals, covering what Ethereum is, how it differs from Bitcoin, and the core concepts that underpin the Ethereum network.

带文字记录观看 

以太坊基础知识播放列表 (opens in a new tab)

知道对你有帮助的社区资源吗?编辑此页面并添加它!