第七章 以太坊--掙脫數字貨幣的枷鎖

1、以太坊項目簡介
1. 以太坊項目簡史
2. 主要特色
支持圖靈完備的智能合約,設計了編程語言Solidity和虛擬機EVM
選用了內存需求較高的哈希函數,避免出現強算力礦機、礦池攻擊
叔塊激勵機制,下降礦池的優點,並減小了區塊產生間隔(約15秒)
採用帳戶系統和世界狀態,而不是UTXO,容易支持更復雜的邏輯
經過Gas限制代碼執行指令數,避免循環執行攻擊
支持PoW共識算法,並計劃支持效率更高的PoS算法
 
2、核心概念
1. 智能合約:以計算機程序的方式來締結和運行各類合約
2. 帳戶:合約帳戶 / 外部帳戶
3. 交易:指從一個帳戶到另一個帳戶的消息數據
4. 以太幣
5. 燃料(Gas):控制某次交易執行指令的上限
 
3、主要設計
1. 智能合約相關設計
運行在以太坊虛擬機上,使用Solidity語言編寫
2. 交易模型
出於智能合約的便利考慮,以太坊採用了帳戶的模型,狀態能夠實時地保存到帳戶裏,而無需像比特幣的UXTO模型那樣去回溯整個歷史。
3. 共識
以太坊目前採用了基於成熟的PoW共識的變種算法Ethash協議做爲共識機制。
4. 下降攻擊
全部交易都要提供交易費用,避免DDoS攻擊
程序運行指令數經過Gas來限制,超過設定的上限就會被取消
 
4、相關工具
1. 客戶端和開發庫(go-ethereum)
2. 以太坊錢包(Mist)
3. IDE(Truffle, Embark, Remix)
4. 網站資源
 
5、安裝客戶端
 
6、使用智能合約
 
7、智能合約案例:投票
相關文章
相關標籤/搜索