跳转至主要内容
Change page

以太坊简介

上次修改时间: @cuijia(opens in a new tab), 2023年10月10日

什么是区块链?

对区块链最好的描述是将其描述为一个公共数据库,它由网络中的许多计算机更新和共享。

"区块"指的是数据和状态是按顺序批量或"区块"存储的。 如果你向别人发送 ETH,需要将交易数据添加到一个区块中才算成功。

"链"指的是每个区块加密引用其父块。 换句话说,区块被链接在一起。 在不改变所有后续区块的情况下,区块内数据是无法改变,但改变后续区块需要整个网络的共识。

网络中的每台计算机都必须就每个新区块和链达成一致。 这些计算机被称为“节点”。 节点保证所有与区块链交互的人都有相同的数据。 要完成此分布式协议,区块链需要一个共识机制。

以太坊采用权益证明共识机制。 任何想在链上添加新区块的人都必须质押以太币(以太坊原生货币)做为抵押品并运行验证者软件。 接着,可以随机选择这些“验证者”来提出区块,再由其他验证者检查并添加到区块链中。 存在一种奖励和惩罚体系,有力地激励参与者尽可能地诚实和保持在线。

如果你想了解如何对区块链数据进行哈希运算并随后附加到区块引用的历史记录中,请务必查看 Anders Brownworth 进行的这个演示(opens in a new tab)并观看下方的相关视频。

观看 Anders 介绍区块链中的哈希:

以太坊简介

以太坊是一条区块链,其中嵌入了计算机。 它是以去中心化、无需许可、抗审查的方式构建应用程序和组织的基础。

在以太坊宇宙中,有一台规范化计算机(称为以太坊虚拟机,或 EVM),其状态得到以太坊网络中所有人的一致同意。 每个参与以太坊网络的人(每个以太坊节点)都会保存一份该计算机的状态。 此外,任何参与者都可以广播请求这台计算机进行任意计算。 每当广播这样的请求时,网络上的其他参与者就会检查、验证并进行(“执行”)该计算。 该执行会导致以太坊虚拟机的状态变化,并且在整个网络中传播。

计算请求被称为交易请求;所有交易的记录以及以太坊虚拟机的当前状态存储在区块链中,而区块链又由所有节点存储并达成一致。

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

什么是以太币?

以太币 (ETH) 是以太坊上的原生加密货币。 以太币的目的是允许计算市场化。 这种市场为参与者提供了一种经济激励,以验证并执行交易请求,为网络提供计算资源。

任何广播交易请求的参与者还必须向网络提供一定数量的以太币作为奖金。 网络将把这种奖金奖励给最终验证交易、执行交易、将其提交到区块链并广播到网络的任何人。

支付的以太币数量对应于进行计算所需的资源。 这类奖励也可以阻止恶意参与者通过请求执行无穷计算或其他资源密集型脚本来故意堵塞网络,因为这些参与者必须为计算资源付费。

以太币还用于通过以下三种主要方式为网络提供加密经济安全性:1) 作为一种奖励方式,奖励提议区块或指出其他验证者不诚实行为的验证者;2) 由验证者抵押,作为遏制不诚实行为的抵押品 — 如果验证者试图行为不端,它们的以太币可能会被销毁;3) 用于对新提议的区块的“投票”进行加权,并影响共识机制的分叉选择部分。

什么是智能合约?

实际上,参与者不会每次在以太坊虚拟机上请求计算时都编写新代码。 相反,应用程序开发者将程序(可重用的代码片段)上传到以太坊虚拟机状态,用户发出请求以使用不同参数执行这些代码片段。 我们将这些上传至网络并由网络执行的程序称为智能合约。

简单来说,你可以把智能合约想象成一种自动售货机:通过特定参数调用脚本后,如果满足某些特定条件,就会执行一些操作或计算。 例如,如果调用者将以太币发送给特定的接收者,简单的卖方智能合约就可以创建和分配数字资产所有权。

任何开发者都可以创建智能合约,并使用区块链作为其数据层,将其公开给网络,但要向网络支付以太币。 然后,任何用户都可以调用智能合约来执行其代码,并再次向网络支付费用。

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

术语

区块链

所有在以太坊网络历史上提交给以太坊网络的区块的序列。 如此命名,是因为每个区块都包含对前一个区块的引用,这有助于保持所有区块的顺序,因而维持了精确历史记录的顺序。

ETH 以太币

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

有关以太币的更多信息

EVM 以太坊虚拟机

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

有关以太坊虚拟机的更多信息

Nodes 节点

存储以太坊虚拟机状态的实体计算机。 节点间相互通信,传播关于以太坊状态的信息及其新的状态变化。 任何用户还可以通过广播来自节点的代码执行请求来请求代码执行。 以太坊网络本身就是所有以太坊节点及其通信的集合。

有关节点的更多信息

帐户

帐户是存储以太币之处。 用户可以初始化帐户,将以太币存入帐户,并将自己帐户中的以太币转账给其他用户。 帐户和帐户余额存储在以太坊虚拟机中的一个大表格中,是以太坊虚拟机总体状态的一部分。

有关帐户的更多信息

交易

“交易请求”是表示以太坊虚拟机上的代码执行请求的正式术语。“交易”是指已完成的交易请求和相关的以太坊虚拟机状态变化。 任何用户都可以从节点向网络广播交易请求。 为了使交易请求影响一致同意的以太坊虚拟机状态,就必须由其他节点对其进行验证、执行并“提交到网络”。 执行任何代码都会导致以太坊虚拟机状态变化;一旦提交后,该状态变化将广播到网络中的所有节点。 以下为一些交易示例:

  • 从我的帐户发送 X 个以太币到 Alice 的帐户。
  • 将一些智能合约代码发布到以太坊虚拟机状态中。
  • 使用 Y 参数执行 EVM 中 X 地址的智能合约代码。

有关交易的更多信息

区块

交易量巨大,因此交易分批或分区块“提交”。 区块通常包含数十至数百笔交易。

有关区块的更多信息

智能合约

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

有关智能合约的更多信息

延伸阅读

还有哪些社区资源对你有所帮助? 请编辑本页面并添加!

本文对你有帮助吗?