Appearance
交易 transactions
区块链是一个全球共享的事务数据库。这意味着每个人只要参与网络就可以读取数据库中的条目。如果你想更改数据库中的某些内容,你必须创建一个所谓的交易,该交易必须得到所有其他人的接受。交易一词意味着你想要进行的更改(假设你想同时更改两个值)要么根本没有完成,要么完全应用。此外,当你的事务被应用到数据库时,其他任何事务都无法更改它。
区块 blocks
需要克服的一个主要障碍是所谓的“双重支付攻击”(用比特币术语来说):如果网络中存在两笔交易,它们都想清空一个账户,会发生什么?只有一笔交易是有效的,通常是先被接受的交易。问题是,“先”在对等网络中不是一个客观术语。
对此的抽象回答是,您不必关心。系统会为您选择一个全球接受的交易顺序,从而解决冲突。交易将被捆绑到所谓的“区块”中,然后在所有参与节点之间执行和分发。如果两笔交易相互矛盾,那么最终排名第二的交易将被拒绝,并且不会成为区块的一部分。
这些区块在时间上形成线性序列,这就是“区块链”一词的由来。区块会定期添加到链中,尽管这些间隔将来可能会发生变化。
作为“顺序选择机制”的一部分,即所谓的证明,可能会发生区块不时被撤销的情况,但仅限于链的“顶端”。在特定区块顶部添加的区块越多,该区块被撤销的可能性就越小。因此,您的交易可能会被撤销,甚至从区块链中删除,但您等待的时间越长,这种可能性就越小。
交易不能保证一定会被包含在下一个区块或任何特定的未来区块中,因为交易被包含在哪个区块中并不由交易的提交者决定,而是由矿工决定。
常见单位换算
以太坊的最小单位是 Wei,1 ETH 被拆分成 10¹⁸ 个 Wei,就像 1 元 = 100 分 一样。
💡 Gwei(10⁹ Wei)是 Gas 费计算的常用单位,比如
solidity
gasPrice = 50 gwei; // 50 Gwei| 单位 | 换算关系 | 示例 |
|---|---|---|
| Wei | 1 Wei = 1 | 1 wei |
| Kwei | 1 Kwei = 10³ Wei | 1000 wei |
| Mwei | 1 Mwei = 10⁶ Wei | 1_000_000 wei |
| Gwei | 1 Gwei = 10⁹ Wei | 1_000_000_000 wei |
| Szabo | 1 Szabo = 10¹² Wei | 1_000_000_000_000 wei |
| Finney | 1 Finney = 10¹⁵ Wei | 1_000_000_000_000_000 wei |
| Ether | 1 Ether = 10¹⁸ Wei | 1_000_000_000_000_000_000 wei |
