以太坊1.0概述

以太坊(Ethereum)

  1. 以太坊对比特币进行改进,将出块时间降低到15s,提高了吞吐量。
  2. 挖矿谜题(mining puzzle)具有memory-hard特性,无法使用ASIC矿机来挖矿。另外以太坊将逐步切换到PoS(Proof of Stake)共识协议,通过权益比例来投票,而不是耗费电力和硬件的算力投票。
  3. 比特币是去中心化货币(decentralized currency),在跨国转账方面非常具有优势,相当于取代政府的该部分职能;而以太坊则是去中心化合约(decentralized contract),可以取代部分司法手段,但不是所有的合同都可以用编程语言实现,都可以量化,所以去中心化合约的使用也存在一定的限制。
  4. 去中心化合约可以保证按代码制定的规则执行(code is law),不可能违约,去除了较高的司法成本。

基于账户的账本(account-based ledger)

以太坊使用基于账户的账本(account-based ledger),而非基于交易的账本(transaction-based ledger),不用像比特币一样每笔交易需要说明交易来源,每笔交易单独处理即可。

双花攻击(double-spending attack)与重放攻击(replay attack)

  1. 比特币是基于交易的账本,需要考虑双花攻击的问题,例如花钱的人不诚实,将一个合法的交易来源花费两次,比特币通过设计特有的共识协议来规避该问题。
  2. 以太坊是基于账户的账本,则要考虑重放攻击的问题。例如收钱的人将付款人的一笔转账交易(包含签名、账户等信息)在网络上多次发布,收款人就可以收到多笔资金,付款人的账户也会被多次扣款。以太坊在本地维护nonce计数器,与交易中的nonce值对比,重放交易的nonce值无法吻合,就会被认为是非法交易。

外部账户(externally owned account)与合约账户(smart contract account)

  1. 外部账户(externally owned account)包含账户余额(balance)和计数器(nonce)两个数据。
  2. 合约账户(smart contract account)中除了账户余额(balance)和计数器(nonce),还包含合约代码(code)和存储数据(storage)。
  3. 为支持智能合约必须要有稳定的账户。
发布了14 篇原创文章 · 获赞 2 · 访问量 2429

猜你喜欢

转载自blog.csdn.net/ice_fire_x/article/details/104207322
今日推荐