以太坊account nonce的作用

在以太坊中存在两种账户,一种是外部账户EOA,一种是合约账户。不管是外部账户还是合约账户,都包括nonce,balance,code hash,storage hash。
外部账户生成一个交易创建合约,以太坊会生成一个合约账户,并保存合约代码和状态。
两种账户稍有区别,外部账户只有nonce和balance,另两个为空。外部账户由私钥控制,合约账户由合约代码控制。

以太坊account nonce主要用于防止重放攻击。
重放攻击是指将一条用户交易信息在一条链上再次发送,比如Alice转钱给Bob这样一条交易发出后,Bob可以将这条交易信息重复发送到网络中,如果没有nonce,那么这些交易都会被当作合法交易。
详见:https://ethereum.stackexchange.com/questions/26/what-is-a-replay-attack

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 不管你们知不知道以太坊(Ethereum blockchain)是什么,但是你们大概都听说过以太坊。最近在新...
    Lilymoana阅读 9,274评论 1 22
  • 原文:Transactions 交易是由外部拥有的账户发起的签名消息,由以太坊网络传输,并记录(挖掘)在以太坊区块...
    Jisen阅读 9,105评论 0 8
  • 这篇文章主要讲解以太坊的基本原理,对技术感兴趣的朋友可以看看。 翻译作者:许莉 原文地址:How does Eth...
    蓝肥仔阅读 5,726评论 0 15
  • 1、 人的命运从来是不受掌控的。 但有一个地方,却可以改变人的命运,前提是你可以付得起代价。而掌控命运的力量,此刻...
    白晓天阅读 3,021评论 0 1
  • Redis列表基本操作命令 Redis list底层结构 Redis list由链表来实现。在Redis中链表的应...
    GrooveWind阅读 942评论 0 0