作者:devopsguy
来源:hackernoon
编译:陈一晚风
众所周知,比特币和以太坊在很多方面都有很多不同之处。例如在追踪用户拥有多少代币方面,比特币和以太坊就是通过两种完全不同的方式来进行。比特币使用基于未花费交易输出UTXO的模型,而以太坊则采用基于账户的方法。
比特币:未花费交易输出UTXO
比特币交易主要由几个部分组成,之前运用到UTXO的只有两点:
1、交易输入,即我们将要花费的代币;
2、交易输出,即谁将收到我们的代币。
一笔交易必须至少有一个输入和至少一个输出,也就是一笔交易的输出成为另一笔交易的输入。通过这种方式,代币的历史才可以追溯到它被开采的区块。
要理解这个系统是如何工作的一个很好的类比是,想象我们正在用现金购买产品。50美元的钞票。付款时,你可能会遇到以下情况之一:
动态 | 以太坊客户端Geth发布1.9.2 版本 已加入部分伊斯坦布尔改进:据官方消息,以太坊客户端 Geth 发布了 1.9.2 版本,聚焦优化和修复次要缺陷。同时也为计划在10月16日进行的伊斯坦布尔(Istanbul)主网硬分叉升级提前准备,加入部分提案的改进。注:伊斯坦布尔硬分叉升级计划在8月14日(本周三)上线 Ropsten和 G?rli 等以太坊测试网。[2019/8/13]
1、产品售价10美元
你可以选择用一张10美元的钞票来支付,这样一来,这个交易就只有一个输入和一个输出。
2、产品售价30美元
你仍然可以选择付款,但这次需要两张不同的钞票。在这种情况下,交易有多个输入和一个输出。
3、产品售价45美元
你可以选择用50美元的钞票付款,这样收银员就会退给你5美元。这种情况相当于一个输入和多个输出。
4、产品售价55美元
分析 | 以太坊基本面维稳 ERC20代币对以太坊市值占比呈下滑趋势:据TokenGazer数据分析显示,截止至7月31日11时,以太坊价格为$211.58,总市值为$22,669.92M,主流交易所交易量约为$130.51M,环比昨日有一定回升;以太坊对比特币汇率近阶段保持稳定;基本面方面,以太坊链上交易量近期波动较大,目前有一定上行趋势,活跃地址数、算力、链上DApp交易量保持稳定;以太坊30天开发者指数约为2.36;以太坊与BTC的关联度缓慢下滑,仍处主流币种与比特币关联度中的首位;以太坊30天ROI 年内低位小幅波动;ERC20代币总市值约为以太坊总市值的67.10%,呈下滑趋势。[2019/7/31]
你支付10美元和50美元,即60美元。收银员退给你5美元。这种情况相当于多个输入和多个输出。
正如你所看到的,你给收银员的账单将在未来用于其他付款。同样,比特币交易的输出成为未来交易的输入。在它们被使用之前,它们是未花费的,因此被称为未花费交易输出。
动态 | 以太坊未确认交易17127笔:Etherscan.io数据显示,当前以太坊未确认交易数为17127笔,网络拥堵情况变化不大。行情显示,ETH于3:30左右出现上行走势,现价135.11美元,跌幅0.1%。[2019/3/11]
如果你想知道你拥有多少现金,那么就需要将你钱包中所有纸币和硬币的价值相加。而在比特币的情况下,钱包会跟踪与用户密钥相关联的UTXO。这样他们就知道用户拥有多少代币。
以太坊:账户模型
理解以太坊基于账户模型的一个很好的类比是假设一个银行账户。客户的账户中有一定数量的资金。如果客户A向客户B转账5美元,假设客户A至少有5美元,则客户A的账户将借记5美元,客户B的账户将贷记5美元。简而言之,这就是以太坊账户的工作方式。
此外,还有两种类型的帐户:
外部拥有账户:它们由用户通过私钥控制。
合约账户:这些账户由智能合约代码控制。由于它们不受私钥控制,?因此无法发起交易。发送到智能合约的交易可能会导致该合约调用其他合约的函数。
动态 | 以太坊关键漏洞可能导致加密交易所承受巨大损失:据cryptovest消息,一组研究人员发现了以太坊(ETH)网络中的一个关键漏洞,这可能导致加密交易所承受巨大损失。该漏洞将使黑客能够在没有使用限制的情况下,迫使交易所支付极高的交易费用。此外,该漏洞也让攻击者获得了巨额利润。[2018/11/28]
所有帐户都有以下字段:
1、余额:账户所拥有的ETH余额;
2、Nonce?:账户产生的确认交易数量。
3、存储:永久数据存储,仅供智能合约使用;
4、代码:仅用于智能合约。
以太坊中的所有交易都是由EOA发起的,EOA和合约账户都可以接收和发送ETH:
1、如果收款账户是EOA,其余额会增加;
2、如果接收账户是合约账户,其代码将被执行。反过来,这个智能合约可以调用另一个智能合约。例如,将ETH发送到另一个智能合约,或者将ETH发送到EOA等等。
动态 | 以太坊又现蜜罐钓鱼合约:昨日,降维安全(johnwick.io)智能合约监控系统监测到以太坊再次上线一个蜜罐钓鱼合约(合约地址:0x6e6f819299e7809ce744f37fae9f84fe38d95f1c)。该合约看上去只要猜中对应keyHash的字符串,并发送0.2ETH,即可提走合约拥有的全部ETH, 但经过研究员分析发现,只有此恶意合约拥有者才能\"猜中\",其他玩家只是送币的炮灰。降维安全提醒大家,提防以太坊上的此类陷阱,时刻牢记天上是不会掉馅饼的。[2018/8/15]
合约仅在帐户调用时运行。它们可以从EOA或其他智能合约中调用,但最终,一切都源于由EOA创建的交易。
双花攻击
当同一代币被多次使用时,就会发生双花攻击。如果你有一张10美元的钞票,你不能花两次,因为一旦你付了钱并把它交给别人,那么它就不会在你的控制之下。但是,对于数字货币该如何确保相同的代币不会在不同的交易中使用呢?
比特币如何解决双花攻击
当在交易中使用代币时,该代币就会从UTXO集中删除。类似地,当新交易出现时,它们的输出就被添加到UTXO集合中。因此,避免双花攻击就像检查您尝试花费的代币是否是UTXO集和的一部分一样简单。如果是,你可以放心地使用它。否则,它就已经被花掉了。并且每个完整节点维护所有UTXO的列表,这使得验证变得非常快速。
重放攻击
由于您无法在以太坊中跟踪单个代币,因此双花攻击的概念在以太坊中并不适用。而在以太坊中最需要防止的则是重放攻击。
以太坊如何防止重放攻击
想象一下,假设你想买一辆车,你向经销商发送了10个ETH后收到了汽车,经销商收到了10个ETH,你们都很高兴。而在这笔有效的交易中,如果经销商一遍又一遍地向以太坊网络发送相同的交易,以此来有效地耗尽您的账户,那么这就是所谓的重放攻击。
以太坊使用Nonce的概念来解决这个问题。在密码学中,Nonce是一个在密码通信中只能使用一次的数字?。在以太坊中,Nonce是一个与账户相关联的数字,代表从该账户发送的交易数量。如果是合约账户,则代表合约已创建的合约数量。
Nonce是如何工作的
在交易进行时,你的交易将包含一个Nonce值,使其独一无二。如果攻击者尝试重放相同的交易,节点将看到从你的地址到具有该Nonce的经销商地址的该数量的ETH的交易已经被处理,然后该交易就被视为重复交易。
需要注意的是,攻击者只能尝试创建完全相同数量的交易?。如果攻击者要更改数量,这将使签名无效,使其成为节点将拒绝的无效交易。另外,无论你将ETH发送到哪个地址,你的下一笔交易都会增加Nonce。
这种机制不仅可以防止重放攻击,而且还允许事务按特定顺序执行。如果你发送一系列Nonce为3、4和5的交易,即使先收到Nonce为4和5的交易,它们也会留在内存池中,直到带有Nonce3的交易被确认。除非你正在编写代码来发送交易,否则不需要担心这个问题。一切都将由你的钱包处理。
UTXO模型&账户模型优缺点
UTXO模型
优点:
1、可以很容易地检查输出是否已经被花费,从而避免双花攻击;
2、交易可以轻松地并行处理,从而带来更好的可扩展性;
3、隐私性好,用户每次交易都可以使用一个新地址。
缺点:
1、新用户很难掌握;
2、更难实施智能合约,因为UTXO不跟踪任何状态。
帐户模型
优点:
1、易于实施智能合约;
2、交易更加紧密,节省空间。?
缺点:
1、实现并发交易很棘手,因为存在受不同交易影响的全局状态;
2、隐私度低,交易都绑定在一个帐户中;
3、依靠Nonces来防止重放攻击。
结论
从上述内容中我们可以看出,UTXO模式使用起来会很复杂,而以太坊的账户模型相较简单。但实际上,UTXO的模型会让整个账本非常“轻”,因为UTXO的数据不会因为账户的增加而膨胀,也不会因为每笔交易的更新而更新所有人的余额信息。这在很大程度上减少了比特币网络需要更新和保存的数据。而以太坊网络就因为保存了大量无用数据使得空间内存不够,从而造成交易速度缓慢。
但是在对交易进行验证时,以太坊账户模型效率却显得更高。因为UTXO模型中,如果交易中存在多个输入,则每个输入都需要分别签名,每次查询需要也要遍历相关的UTXO,效率相对会低一些。而以太坊账户模型因为不用对过去的UTXO进行签名,所以可以从任何一个时间点开始更新区块链状态,让轻节点的验证更简单可行。
那么在对比完比特币UTXO模式与以太坊账户模型后,你更看好哪一个呢?
来源:微博@jolestar今天以太坊的EIP1559在主网激活了。关于EIP1559的一个误解是EIP1559相当于消费税,最终成本会转嫁到最终消费者身上.
1900/1/1 0:00:00全球知名网上零售商亚马逊在7月30日公开的监管备案文件显示,2021年7月16日,卢森堡国家数据保护委员会裁定亚马逊对其用户数据保护不力,违反了欧盟《一般数据保护条例》(GeneralDataProtectionRegulation.
1900/1/1 0:00:00据Livemint8月4日消息,印度比特币奖励公司GoSats宣布完成70万美元的种子轮融资,AlphabitFund、FulgurVentures、StacksAccelerator和SBXCapital参投.
1900/1/1 0:00:00原标题:《科普|NFT必知必会》作者:VeronicaCoutts 在本文中,我们将讨论NFT是什么,数字艺术品分为哪些种类,数字艺术品存储在哪里以及选购NFT需要注意哪些事项.
1900/1/1 0:00:008月25日,知名的数字货币投资基金Dragonfly创始人、著名的互联网投资人冯波,被报道以1600个ETH的价格购买了第7252号加密朋克.
1900/1/1 0:00:00据U.today8月3日报道,资管公司VictoryCapitalDigitalAssets,LLC已向美国证券交易委员会提交S-1表格申请,以推出基于纳斯达克加密指数的新加密ETF.
1900/1/1 0:00:00