其他分享
首页 > 其他分享> > 以太坊账户 相关知识

以太坊账户 相关知识

作者:互联网

比特币转账机制(UTXO)

以太坊的转账机制(Accounts)

 

比特币的UTXO的优缺点

  1. 高度的隐私性,因为每一笔交易使用的不会是相同的地址,因此很难将其与现实的用户连接起来,保护了用户的隐私性,这样也就限制了比特币只能适用于货币,提升空间很小,比如面对现在的Dapps(分布式app),Dapps通常设计到跟踪和用户绑定的复杂状态,很难像货币一样对于用户状态简单的划分。
  2. 潜在的可扩展性,UTXO在理论上更符合可扩展性的要求,因为只需要依赖UTXO的人去维护基于Merkle树的所有权证明,即使一笔交易的数据丢失,仅仅所有者会受到对应的UTXO的损失,但是不会影响接下来的交易。如果是账户模式,如果每个人都丢失了与账户相对应的Merkle树的部分,那么就会使得与该账户相关的信息完全无法处理。

以太坊的优缺点

对比

 

BitCoin

Ethereum

设计定位

现金系统

去中心化应用平台

数据组成

交易列表(账本)

交易和账户状态

交易对象

UTXO

Accounts

代码控制

脚本

智能合约

以太坊的账户类型

外部用户/普通账户

  1. 有对应的以太坊余额
  2. 可以发起交易(转账/触发合约代码)
  3. 由用户私钥控制
  4. 没有关联代码(智能合约有)

合约账户/内部用户

  1. 有对应的以太坊余额
  2. 有关联代码
  3. 由代码控制
  4. 可以通过交易或者来自其他合约的调用消息来触发代码执行
  5. 执行代码时候可以操作自己的存储空间,也可以调用其他的合约

消息

合约

 

合约的应用

交易数据结构

(交易是包含以下数据的序列化的二进制消息)

交易中的nonce

并发和nonce

特殊的交易:创建(部署)合约

向EOA或合约传递数据

交易的Value和data

交易的“有效负载”包含在两个字段中:value和data。交易可以同时有value和data,仅有value、仅有data、data和value都没有

  1. 仅有value的交易是一笔以太的付款
  2. 仅有value的交易一般是合约的调用
  3. 进行合约的调用的时候,除了传输data,还可以发送以太币,从而使得交易中同时包含data和value
  4. 没有value也没有data的交易,只是在浪费gas,但是交易是有效的

交易的接收者(to)

  1. 交易接受者在to字段中指定,是一个20字节的以太坊地址,地址可以是EOA或者合约的地址
  2. 以太坊无法判定任何20字节的地址是否是有效的,是否是公钥正确派生的,但是这笔交易是有效的,只是钱回不来了
  3. 如果交易的地址是无效的,将会销毁发送的以太币,使其永远无法访问
  4. 验证接收人的地址是否是有效的,应该在用户界面一层完成

gas计算

  1. 发起交易时的gas limit并不是要支付的gas数量,而是给定一个消耗gas的上限,相当于押金,如果存在剩余,会返回到交易发起方的账户
  2. 实际支付的gas数量是执行过程中消耗的gas(gasUsed),gas limit中剩余的部分会返回给发送人,单价是由设定的gasPrise而确定
  3. 最终支付的费用 totalCost = gasPrise * gasUsed
  4. TotalCost会作为交易的手续费支付给矿工

标签:UTXO,账户,以太,知识,gas,合约,交易
来源: https://blog.csdn.net/CHYabc123456hh/article/details/106950255