以太坊与智能合约

以太坊是什么,智能合约如何在上面运行,以太币有什么用途,以及难以修改的代码带来哪些主要风险。

3 分钟 · 1363 字更新于: #基础知识#以太坊#智能合约

比特币证明了人们可以在没有银行居间的情况下通过互联网转移价值。以太坊把这个想法又往前推进了一步:如果区块链不仅能处理支付,还能运行任意程序呢?以太坊于2015年上线,成为最知名的智能合约平台。智能合约是部署在区块链上、严格按照编写内容执行的程序。

以太坊是什么

以太坊是一条由全球众多独立计算机共同维护的公有链。和比特币一样,它保存着一份记录余额和交易的共享账本;与比特币不同的是,它还保存着程序的代码和数据,每个网络节点都可以执行这些代码,并得出相同的结果。

以太坊的原生货币是以太币(ETH)。它主要有两大用途:

  • 支付交易和运行智能合约的费用,也就是所谓的 Gas
  • 通过质押(staking)保障网络安全,因为以太坊采用的是权益证明

什么是智能合约

智能合约是部署在区块链上、拥有自己独立地址的程序。部署之后,任何人都可以向它发送交易,调用它的某个函数。合约随后按照代码执行:它可以持有资金、转出资金、记录数据,或者调用其他合约。

可以把它想象成一台自动售货机:你投入正确的输入,机器就会给出事先设定好的输出,不需要店员来决定要不要卖给你。“合约”这个词其实有点误导:智能合约并不是法律协议,只是一段行为可预测的代码。

智能合约如何运行

以太坊上的智能合约运行在以太坊虚拟机(EVM)中,这是每个节点都会实现的标准运行环境。开发者通常用 Solidity 之类的语言编写合约,再编译成 EVM 字节码。由于每个节点对相同的输入运行相同的代码,它们都会得到相同的新状态。

EVM 中的每一步操作都要消耗一定的 Gas。这可以防止有程序无限运行或让网络过载:谁发起交易,谁就为它所用的计算付费。

它和普通程序有什么不同

  • 透明:合约代码及其所有活动在区块链上都公开可见。
  • 不可篡改:已部署的代码一般无法修改。有些合约被设计成可升级的,这意味着有人握有修改它的权力。
  • 没有中心化运营方:合约一旦部署,只要网络还在运行,它就会一直工作。
  • 可组合性:合约之间可以相互调用,开发者因此能在现有服务之上搭建新服务。

人们用智能合约来做什么

  • 代币:许多加密货币和稳定币本身就是遵循通用标准的智能合约,例如同质化代币标准 ERC-20。
  • 去中心化交易所和借贷协议,它们通常被统称为 DeFi。
  • NFT:代表对某件特定物品所有权的独一无二的代币,遵循 ERC-721 等标准。
  • DAO:成员通过合约投票决定共同资金如何使用的组织。

重要里程碑

以太坊通过节点运营者采纳的网络升级不断演进。其中几次重要的升级:

  • 2015年:以太坊主网上线,采用工作量证明。
  • 2021年8月:伦敦升级引入了 EIP-1559,改变了手续费机制,并开始销毁每笔手续费中的一部分。
  • 2022年9月:合并(The Merge)让以太坊从工作量证明转向权益证明。

此后的升级仍在不断改变网络的各种细节,即将到来的升级会出现在事件日历中。

需要了解的风险

代码严格按照编写内容执行,这既是优势,也是隐患。

  • 漏洞:如果合约中存在错误,攻击者就可能加以利用,被盗资金通常无法追回。
  • 升级密钥:如果团队能够修改合约,用户就得依赖这个团队诚实行事,并妥善保管好自己的密钥。
  • 恶意合约:骗子会部署看似正规的合约,一旦有人授权,就把对方加密钱包里的资产洗劫一空。
  • 不可撤销:转到错误地址或有害合约的交易无法撤回。

安全公司的审计可以降低风险,但无法彻底消除风险。经过审计的合约同样被攻击过。

扩容与 Layer 2

由于每个节点都要执行每一笔交易,以太坊主网的容量有限,需求旺盛时手续费就会上涨。为了承载更多活动,许多项目采用 Layer 2 网络:它们单独处理交易,再把结果提交回以太坊主网。

要点回顾

  • 以太坊是一条能够运行程序(即智能合约)的区块链。
  • 以太币用于支付 Gas 费,并通过质押保障网络安全。
  • 智能合约公开透明且难以修改,这有助于建立信任,但也让代码漏洞的代价变得高昂。
  • 代币、DeFi、NFT 和 DAO 都建立在智能合约之上。