以太坊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. 爲支持智能合約必須要有穩定的賬戶。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章