[以太坊][区块链]以太坊官方文档学习

112 阅读10分钟

什么是区块链

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

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

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

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

以太坊采用权益证明共识机制。 任何想在链上添加新区块的人都需要往存款合约里至少质押 32 个以太币并运行验证者软件。 然后,他们会被随机选择去提议区块,其他验证者检查区块并将其添加入区块链。

在这种模型中,通常只有一条链,但由于网络延迟和不诚实的行为,可能导致多个区块存在于链头部附近的同一位置。

为解决此问题,一种分叉选择算法会选择一组规范区块。选择的区块是构成权重可能最大的链的区块,“权重”是指认可区块的验证者数量(并以验证者质押的以太币加权。

还有一种奖罚制度,大力鼓励参与者尽可能诚实并在线。

什么是以太坊

以太坊是一条区块链,其中嵌入了计算机。

它是以去中心化、无需许可、抗审查的方式构建应用程序和组织的基础。

在以太坊宇宙中,有一台规范化计算机(称为以太坊虚拟机,或 EVM),其状态得到以太坊网络中所有人的一致同意。 每个参与以太坊网络的人(每个以太坊节点)都会保存一份该计算机的状态。

此外,任何参与者都可以广播请求这台计算机进行任意计算。 每当广播这样的请求时,网络上的其他参与者就会检查、验证并进行(“执行”)该计算。 该执行会导致以太坊虚拟机的状态变化,并且在整个网络中传播。

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

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

什么是智能合约

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

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

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

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

什么是 Web3?

Web3 已成为一个包罗万象的术语,代表了一个新的、更好的互联网愿景。 Web3 的核心是通过区块链、加密货币和非同质化代币将权力以所有权的形式归还用户。

Twitter 上 2020 年的一篇帖子一语中的:Web1 是只读的,Web2 能读/能写,未来的 Web3 能读/能写/能拥有。

尽管很难对 Web3 做出严格的定义,但它是在几项核心原则的指引下创建的。

  • Web3 是去中心化的: 大部分互联网不是由中心化实体控制和拥有的,而是由构建者和用户分配所有权。
  • Web3 无需许可: 每个人都有参与 Web3 的平等权限,没有人被排除在外。
  • Web3 具有原生支付功能: 它使用加密货币进行线上消费和汇款,而不是依赖传统银行或第三方支付机构过时的基础设施。
  • Web3 无需信任: 它通过激励措施和经济机制运转,而不是依赖受信任的第三方。

什么是加密货币?

加密货币是一种基于分布式账本(区块链)的交换媒介。

交换媒介是指被广泛接受、可支付任何商品和服务的物品,而分类账是记录交易的数据存储系统。

区块链技术允许用户在分类账上进行交易,而不必依赖受信赖的第三方来维护分类账。

第一个加密货币是由 Satoshi Nakamoto 创建的比特币。自 2009 年比特币发行以来,人们已经在许多不同的区块链上制作了数以千计的加密货币。

什么是以太币 (ETH)

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

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

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

以太币还用于通过以下三种主要方式为网络提供加密经济安全性:

  1. 作为一种奖励方式,奖励提议区块或指出其他验证者不诚实行为的验证者;
  2. 由验证者抵押,作为遏制不诚实行为的抵押品 — 如果验证者试图行为不端,它们的以太币可能会被销毁;
  3. 用于对新提议的区块的“投票”进行加权,并影响共识机制的分叉选择部分。##

铸造 ETH

铸造是指在以太坊分类账上创造新以太币的过程。 底层以太坊协议创造出新以太币,单一用户不可能创造。

以太币铸造出来,用来奖励提议的每个区块,以及在每个时段的检查点奖励验证者执行的和达成共识有关的其他活动。 总发行量取决于验证者的数量和它们质押的以太币数量。

在所有验证者都诚实且在线的理想情况下,以太币总发行量会在所有验证者中等分,但现实中分配情况会因验证者的表现而异。

总发行量的大约 1/8 会奖励给区块提议者,剩余部分在其它验证者中分配。

区块提议者还会获得交易费小费和矿工可提取价值,但这些都来自流通中的以太币,而非新发行的以太币。

燃烧 ETH

除了通过区块奖励创造 ETH,也可以通过被称为“燃烧”的过程销毁 ETH。

当 ETH 被燃烧掉,它也就永久退出流通。

以太坊上的每一笔交易都会发生以太币销毁。 当用户为他们的交易支付费用时,网络根据交易需求设置的基础燃料费会被销毁。 以太币销毁再加上可变区块大小和最高燃料费,简化了以太坊上的交易费估算。 网络需求量高时,区块燃烧的以太币数量可以多于铸造的以太币数量,有效地抵消了以太币的发行。

燃烧基础费可以防止区块生产者以各种方式操纵它。 例如,如果区块生产者获得了基础费,他们可以免费添加自己的交易,并提高其他所有人的基础费。 或者,矿工可以将基础费退还给一些链下用户,造成交易费市场更加不透明和复杂。

ETH 面额

由于以太坊上许多交易规模较小,以太币有一些面额单位表示较小金额。 在这些面额中,Wei 与 Gwei 特别重要。

Wei 是最小的以太币面额,因此在以太坊黄皮书等众多技术实现中,都以 Wei 为单位进行计算。

Gwei(giga-wei 的缩写),常用于描述以太坊上的燃料费用。

传输 ETH

以太坊上的每笔交易都包含一个 value 字段,指定从发送者地址发送到接收者地址的以太币转账金额(以 Wei 为单位)。

当接收者地址是智能合约时,在智能合约执行其代码后,这些转账的以太币可用于支付燃料费用。

查询 ETH

用户可以通过检查帐户的 balance 字段来查询任何帐户的以太币余额,该字段显示以太币持有数量(以 Wei 为单位)。

Etherscan 是一种常用工具,用于通过基于 Web 的应用程序检查地址余额。 例如,此 Etherscan 页面显示以太坊基金会的余额。 也可以通过使用钱包或直接向节点提出请求来查询帐户余额。

DAPP 介绍

去中心化应用 (dapp) 是在去中心化网络上构建的应用程序,结合了智能合约和前端用户界面。 请注意,以太坊智能合约具有可访问性和透明性——就像开放 API 一样 ——所以你的 dapp 里甚至可以包含其他人写过的智能合约。

扩展内容

1.ethereum.org/zh/develope…

2.ethereum.org/zh/whitepap…

3.ethereum.org/zh/web3/

4.www.preethikasireddy.com/post/how-do…