当前位置:   article > 正文

区块链技术学习笔记(14) 以太坊账户

区块链技术学习笔记(14) 以太坊账户

比特币系统中采用的是基于交易的账本,在这个模式下并不会显式记录每个账户上会存在多少钱,而是根据UTXO推断余额,既计算拥UTXO中有私钥的币总和,隐私保护较好,使用并不太方便(在交易的时候要证明每一个币的来源,并且在一次交易收到的币UTXO,消费的时候必须全部都花出去,不能只花一部分)

以太坊中采用的账户模式:转账的时候不需要说明币的来源,能够很好的防御双花攻击,对于重放攻击(收款者不诚实,交易时。发出两次交易信息),解决方法:加一个交易计数器nonce,记录这个账户有史以来,一共发布过多少交易,在转账的时候要将nonce作为交易的一部分。也就是在系统中,节点维护账户的状态,不仅仅是balance,还有nonce的值。

同时以太坊支持智能合约,所以相对比特币地址会更加稳定

以太坊账户类型:

1.外部账户(普通账户)

        用公私钥控制,本地产生一队公钥和私钥,私钥掌握账户控制权

        账户状态:余额balance、nonce

2.合约账户

        合约账户状态:balance和nonce、代码code、相关存储状态storage(包括每个存储到链上变量的取值)

        合约账户无法主动发起交易,只能由外部账户发起。如果是外部账户调用合约账户A,夜月账户A能够发送一个message调用另外的合约,这种情况是允许的

        合约账户如何被调用:创建合约的时候会返回一个地址,能够通过合约地址调用这个合约,调用的过程中状态会发生变化(storage)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/964065
推荐阅读
相关标签
  

闽ICP备14008679号