以太坊的账户

这篇具有很好参考价值的文章主要介绍了以太坊的账户。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以太坊的账户模式

BTC系统是基于交易的账本,这种模式下,系统中没有显式的记录某个人有多少BTC,只能通过UTXO进行推算。这种模式的好处是你有多少钱,你自己都不一定清楚,但实际中,使用起来较为别扭,跟日常体验不太一样呢:A转给B钱的时候,需要说明币的来源。实际中只需要存钱说明来源,花钱则不用。此外,账户中的钱在花的时候,必须一次性全部花出去,多的钱要自己转到一个存钱的找零地址。

以太坊的账户

以太坊系统则采用了基于账户的模型,与现实中银行账户相似。系统中显式的记录每个账户以太币的数量,转账是否合法只需要查看转账者账户中以太币是否足够即可,同时也不需要每次全部转账。同时,这也也天然地防范了双花攻击。

以太坊的账户

重放攻击 

A向B转账,过一段时间,B将A的交易重新广播一次,从而导致A账户被扣钱两次。假设A给B转钱,双花攻击(double spending attack)是A不诚实,重放攻击(replay attack)是B不诚实。

为了防范重放攻击,给账户交易添加计数器记录该账户有史以来发布过多少次交易,转账时候将转账次数计入交易的内容中。 

以太坊的账户

如果此时如果B重放了这个交易,那么当前A的nonce至少是大于等于21,那么显然与下一笔合法交易要比当前nonce+1不再满足了!!
系统中全节点维护账户余额和该计数器的交易数,从而防止本地篡改余额或进行重放攻击。

外部账户和合约账户

以太坊系统中存在两类账户:外部账户和合约账户。

外部账户:类似于BTC系统中公私钥对。存在账户余额balance和计数器nonce。

合约账户:不是通过公私钥对控制。(不能主动发起交易,以太坊规定所有的交易只能有外部账户才能发起,一个合约账户在接收到外部账户调用后才能发起交易或调用其他合约账户)其除了balance和nonce之外还有code(代码)、storage(相关状态-存储)。

如何调用一个合约账户?

创建合约账户的时候会返回一个地址,知道这个合约的地址就可以对其调用。调用过程中,代码不变但状态会发生改变。

为什么要做以太坊,更换为基于账户的模型而不是沿袭BTC系统?
比特币中支持每次更换账户,但以太坊是为了支持智能合约,而合约签订双方是需要明确且较少变化的。尤其是对于合约账户来说,需要保持账户的稳定状态。

参考资料

1.北京大学肖臻老师《区块链技术与应用》公开课

2.参考笔记文章来源地址https://www.toymoban.com/news/detail-459324.html

到了这里,关于以太坊的账户的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于以太坊的智能合约开发Solidity(基础篇)

    参考教程:基于以太坊的智能合约开发教程【Solidity】_哔哩哔哩_bilibili (1)程序编译完成后,需要在虚拟机上运行,将合约部署好后便可执行刚刚编写的函数。(注意, 合约一旦部署,就会永久存在于区块链上,且不可篡改 ,不过可以销毁) (2)执行完成后,可以得到以

    2024年02月04日
    浏览(58)
  • 基于以太坊的智能合约开发Solidity(事件&日志篇)

    (1)事件用于记录在区块链上的特定活动,“emit ValueChanged(newValue);”语句的作用是触发ValueChanged事件(首先需要声明事件)。 ①触发事件后会生成相应日志,上图黄框就是“emit ValueChanged(newValue);”语句产生的日志,其中“form”指的是触发事件的合约账户。 ②事件主要是供

    2024年02月04日
    浏览(44)
  • 基于以太坊的智能合约开发Solidity(内存&结构体篇)

    参考教程:【内存、引用与持久化存储】1、内存与区块链——storage与memory原理_哔哩哔哩_bilibili (1)所有的复杂类型,即数组、结构和映射类型,都有一个额外属性——“数据位置”,用来说明数据是保存在内存memory中还是存储storage中,保存在memory中的数据,在函数执行完

    2024年02月04日
    浏览(58)
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记:以太坊原理(一):以太坊概述、账户、状态树、交易树和收据树

    1、ETH-以太坊概述 比特币和以太坊是两种最主要的加密货币,比特币被称为区块链1.0,以太坊被称为区块链2.0 以太坊在系统设计上针对比特币运行过程中出现的问题进行了改进,比如: 出块时间 ,比特币的区块时间是10分钟,以太坊的出块时间大幅度降低到了十几秒,而且

    2024年01月18日
    浏览(57)
  • 以太坊的ecrecover预编译合约

    前序博客: ECDSA VS Schnorr signature VS BLS signature ECDSA,全称为Elliptic curve Digital Signature Algorithm,采用Elliptic curve cryptography来实现的数字签名算法。 公私钥对 ( p k , P ) (pk,P) ( p k , P ) ,其中公钥 P = p k × G P=pktimes G P = p k × G , G G G 为所选椭圆曲线的base point。(elliptic curve base po

    2024年02月02日
    浏览(43)
  • 基于区块链的商品交易溯源系统开发模式搭建 - 使用 Python

    基于区块链的商品交易溯源系统开发模式搭建 - 使用 Python 引言: 区块链技术在商品交易溯源领域具有广泛的应用前景。Hyperledger Fabric是一个开源的企业级区块链平台,具备高度的可扩展性和灵活性,非常适合构建商品交易溯源系统。本文将介绍如何使用Python开发基于区块链

    2024年04月27日
    浏览(52)
  • 分析:以太坊的合并后经济学

    简介 在9月15日网络升级之后,以太坊从工作量证明(PoW)转换为权益证明(PoS)共识机制,使网络减少了99.95%的碳足迹。 这也意味着,自合并以来,以太坊的日代币供应量已经减少。 本文将研究新的PoS以太坊网络的供需动态,以及其通缩的现实。 合并前 有很多关于以太坊在合并

    2024年02月02日
    浏览(38)
  • 什么是Ethereum以太坊(ETH)?以及以太坊的一些基础知识

    Ethereum以太坊(ETH)是由Vitalik Buterin所创建,一种允许智能合约和去中心化应用程序(dapps)在其网络上运行的加密货币。 以太坊是仅次于比特币的第二大加密货币,它是一个基于区块链的平台,用于创建去中心化应用程序(dapps)。 比特币被设计成一种货币和价值储存手段,而

    2024年02月03日
    浏览(38)
  • 以太坊的演变:EIP、ERC 概念以及革命性的 ERC20、ERC721 和 ERC115 标准

    以太坊改进提案(EIP)代表了以太坊区块链内协作进步的顶峰。它们是技术文章或提案,描述对以太坊网络的建议更改或增强。 这些文档经过精心制作,呈现了新的功能、流程或环境,在任何形式的采用或实施之前都需要社区的审查。 至关重要的是要认识到改进提案的概念

    2024年04月11日
    浏览(44)
  • 对比传统交易模式与基于区块链的交易模式

    随着科技的不断进步,交易模式也在持续革新。传统交易模式与基于区块链的交易模式,作为两种截然不同的交易方式,各有其特点与影响。本文将对这两种交易模式进行详尽的对比,从多个维度揭示它们之间的差异。 传统交易模式通常依赖于中央机构或第三方来进行交易验

    2024年04月27日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包