什么是以太坊?
以太坊是一个去中心化的区块链平台,它建立了一个对等联网,可以安全地执行和验证应用程序代码,称为智能合约。智能合约允许参与者在没有受信任的中央机构的情况下相互进行交易。交易记录不可更改、可验证,并且安全地分布在网络上,为参与者提供对交易数据的完全所有权和可见性。交易由用户创建的以太坊账户发送和接收。发送者必须签署交易并使用以太币(以太坊的原生加密货币),作为在网络上处理交易的费用。
在以太坊上进行构建的好处
以太坊提供了一个非常灵活的平台,可以在该平台上使用原生 Solidity 脚本语言和以太坊虚拟机构建去中心化应用程序。在以太坊上部署智能合约的去中心化应用程序开发人员受益于丰富的开发人员工具生态系统以及随着协议的成熟而建立的最佳实践。这种成熟度还延伸到了以太坊应用程序普通用户的用户体验质量上,MetaMask、Argent、Rainbow 等钱包提供了简单的接口,通过这些接口可以与以太坊区块链和部署在其中的智能合约进行交互。以太坊庞大的用户群激励开发人员在网络上部署他们的应用程序,这进一步巩固了以太坊作为 DeFi 和 NFT 等去中心化应用程序主要发源地的地位。将来,目前正在开发的向后兼容的以太坊 2.0 协议将提供一个更具扩展性的网络,用于构建需要更高交易吞吐量的去中心化应用程序。
在以太坊上在 Hyperledger Fabric 上构建的比较情况
以太坊 | Hyperledger Fabric | |
公有与私有 | 公有 | 私有 |
权限 | 未经许可 | 基于许可 |
治理 | 分散 | 联合 |
共识机制 | 工作量证明 | 可插拔 BFT |
智能合约语言 | Solidity、Vyper | Go、Java、Javascript(Node.js) |
私人交易 | 否 | 是 |
理想使用场景 | 令牌化(稳定币、NFT)、DeFi、公共交易结算 | B2B 数据交换、交易结算和不可否认性 |
使用场景
去中心化金融(DeFi)
DeFi 是一个建立在区块链网络之上的金融应用程序网络。DeFi 不同于现有的金融网络,它具备开放、可编程的特点,可在没有中央授权的情况下运营,并且支持开发人员提供新的付款、投资、借贷和交易模式。通过使用智能合约和分布式系统,客户可以轻松构建安全的去中心化金融应用程序。例如,DeFi 公司已经在提供支持点对点借贷、从持有的加密货币中赚取利息、通过去中心化交易所进行交易等功能的产品。一些热门的 DeFi 平台包括 Compound、Aave、UniSwap 和 MakerDAO。
不可替代令牌(NFT)
NFT 是独特且不可分割的数字令牌,可用于证明数字和有形稀有资产的来源。例如,艺术家可以使用 NFT 来令牌化他们的作品,确保他们的作品是独一无二的,并且属于他们。所有权信息在区块链网络上记录和维护。NFT 在游戏行业也越来越受欢迎,因为它们支持游戏平台之间的互操作性。例如,以太坊上的第一个 NFT 项目是 CryptoKitties,它使客户能够收集使用 NFT 支持的数字猫收藏品。Gods Unchained 是一款纸牌游戏,通过 NFT 让玩家拥有游戏内物品的全部所有权。随着越来越多的公司希望将资产令牌化并为用户提供有关其资产的防篡改谱系信息,NFT 变得日益普及。
常见问题
什么是以太坊智能合约?
智能合约是位于区块链特定地址(被称为合约地址)的应用程序代码。应用程序可以调用智能合约函数,更改其状态并启动交易。 智能合约使用诸如 Solidity 和 Vyper 之类的编程语言编写,由以太坊虚拟机编译成字节码并在区块链上执行。
什么是以太坊账户?
以太坊中有两种类型的账户:外资账户(EOA)和合约账户。EOA 由私钥控制,没有关联代码,可以发送交易。合约账户具有关联代码,该代码在收到来自 EOA 的交易时执行。合约账户无法自行发起交易。交易必须始终源自 EOA。
什么是以太坊交易?
以太坊中的交易是从一个以太坊账户发送到另一个以太坊账户的签名数据消息。它包含交易发送者和接收者的信息、包含要传输的以太币数量的选项、智能合约字节码以及发送者愿意支付给网络验证器,以将交易包含在区块链中的交易费用(称为 gas 价格和限额)。
如何为以太坊上的交易付费?
您可以使用以太币支付交易费用。以太币有两个用途。首先,它可以防止不良行为者通过不必要的交易来堵塞网络。其次,它可以激励用户贡献资源并验证交易(挖矿)。以太坊中的每笔交易都构成了网络上发生的一系列操作(即,将以太币从一个账户转移到另一个账户,或者智能合约中复杂的状态更改操作)。每项操作都有成本,以 gas(以太坊中的费用衡量标准)来衡量。Gas 费用以以太币支付,通常以更小的面额(称为 gwei)计量。[1 以太币 = 10 亿 gwei (10^9)]
我在哪里可以买到以太币,我应该把它存储在哪里?
您可以从 Coinbase 或 Kraken 等加密货币交易所用法定货币购买以太币。以太币与您的以太坊账户相关联。要访问您的账户和以太币,您必须拥有账户地址和密码或私钥。
以太坊如何用于应用程序?
当交易触发智能合约时,网络的所有节点都会执行每条指令。为此,以太坊会在区块链上实施一个称为以太坊虚拟机(EVM)的执行环境。网络上的所有节点都将 EVM 作为区块验证协议的一部分运行。在区块验证中,每个节点都会检查它们正在验证的区块中列出的交易,并根据 EVM 中的交易触发运行代码。网络上的所有节点都会进行相同的计算,以保持其账本同步。每笔交易都必须包括 gas 限额和发送者愿意为交易支付的费用。矿工可以选择是否包括交易并收取费用。如果处理交易所需的 gas 总量小于或等于 gas 限额,则交易将被处理。如果消耗的 gas 在交易完成之前达到 gas 限额,则交易不会成功,而且费用仍然会扣除。交易执行中未使用的所有 gas 都会以以太币的形式返还给发送者。这意味着发送 gas 限额高于估计值的交易是安全的。
签署交易意味着什么?
签署交易会使用交易发送者账户的私钥生成交易签名。交易在提交到网络之前需要进行签名。
如何在以太坊上部署智能合约?
交易还可用于将智能合约代码发布到以太坊区块链。您可以使用 eth_getTransactionReceipt 方法来跟踪交易状态,一旦新创建的智能合约地址包含在区块链中,该方法也会返回该地址。无法选择生成的智能合约地址,因为它们是使用哈希函数计算的,不容易预测。
以太坊中的硬分叉是什么?
硬分叉是对底层以太坊协议的更改,即创建新规则来改进不向后兼容的协议。所有以太坊客户端都需要升级;否则,他们将被困在遵守旧规则的不兼容的链上。