织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

以太坊账户vs比特币UTXO,谁能为你的交易保驾护航?(2)

时间:2021-08-25 11:13来源:未知 作者:admin 点击:
此外,还有两种类型的帐户: 外部拥有账户(EOA):它们由用户通过私钥控制。 合约账户:这些账户由智能合约代码控制。由于它们不受私钥控制, 因此

此外,还有两种类型的帐户:


外部拥有账户(EOA):它们由用户通过私钥控制。


合约账户:这些账户由智能合约代码控制。由于它们不受私钥控制, 因此无法发起交易。发送到智能合约的交易可能会导致该合约调用其他合约的函数。


所有帐户都有以下字段:


1、余额:账户所拥有的ETH余额;


2、Nonce : 账户产生的确认交易数量。


3、存储:永久数据存储,仅供智能合约使用(对EOA不适用);


4、代码:仅用于智能合约(EOA没有任何代码)。


以太坊中的所有交易都是由EOA发起的,EOA和合约账户都可以接收和发送ETH:


1、如果收款账户是EOA,其余额会增加;


2、如果接收账户是合约账户,其代码将被执行。反过来,这个智能合约可以调用另一个智能合约。例如,将ETH发送到另一个智能合约,或者将ETH发送到EOA等等。


合约仅在帐户调用时运行。它们可以从EOA或其他智能合约中调用,但最终,一切都源于由EOA创建的交易。


双花攻击


当同一代币被多次使用时,就会发生双花攻击。如果你有一张10美元的钞票,你不能花两次,因为一旦你付了钱并把它交给别人,那么它就不会在你的控制之下。但是,对于数字货币该如何确保相同的代币不会在不同的交易中使用呢?


比特币如何解决双花攻击


当在交易中使用代币时,该代币就会从UTXO集中删除。类似地,当新交易出现时,它们的输出就被添加到UTXO集合中。因此,避免双花攻击就像检查您尝试花费的代币是否是UTXO集和的一部分一样简单。如果是,你可以放心地使用它。否则,它就已经被花掉了。并且每个完整节点维护所有UTXO的列表,这使得验证变得非常快速。


重放攻击


由于您无法在以太坊中跟踪单个代币,因此双花攻击的概念在以太坊中并不适用。而在以太坊中最需要防止的则是重放攻击(Replay Attacks)。


以太坊如何防止重放攻击


想象一下,假设你想买一辆车,你向经销商发送了10个ETH后收到了汽车,经销商收到了10个ETH,你们都很高兴。而在这笔有效的交易中,如果经销商一遍又一遍地向以太坊网络发送相同的交易,以此来有效地耗尽您的账户,那么这就是所谓的重放攻击。


以太坊使用Nonce的概念来解决这个问题。在密码学中,Nonce是一个在密码通信中只能使用一次的数字 。在以太坊中,Nonce是一个与账户相关联的数字,代表从该账户发送的交易数量。如果是合约账户,则代表合约已创建(未调用)的合约数量。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容