1、概述
位元幣(bitcoin):去中心化的貨幣(decentralized money)
以太坊(etherem):去中心化的合約(decentralized contract)
2、賬戶
可以很好的防禦double spending attack,因為每花費一筆錢,就扣除,更新餘額,不需要說明幣的**。
但是存在replay attack,比如:a轉給b:10個以太幣,發布到網路上,此次交易被寫入區塊鏈中,此時a認為本次轉賬交易已經完成了。假設b是有惡意的節點,它將此次交易又廣播了一遍,其他節點會認為a向b又轉賬了一次,所以a的錢會被扣兩次。
和double spending attack相比,replay attack是接收方是惡意的,會導致兩次轉賬。
解決方法:
使用乙個交易數nonce,初始值為0,比如a的此次交易是第1個交易,則nonce=1。每發布乙個交易,nonce值加一。
以太坊中有兩種賬戶:
1)外部賬戶(externally owned account):也叫普通賬戶,由公私鑰控制。有餘額balance和nonce
2)合約賬戶(smart contract account):有**code和storage。建立合約賬戶時,會返回乙個位址,根據這個位址,可以呼叫這個合約。合約賬戶不能發起交易,所有交易只能由外部賬戶發起。
3、為什麼要使用以太坊?
位元幣是基於交易的賬戶,其好處是隱私保護較好,因為每次交易都會換乙個賬戶。
以太坊是基於智慧型合約的賬戶,它要求參與者有比較穩定的身份。這和生活中一樣,如果簽訂合約的時候使用a身份,簽完之後身份變了,這會給合同的執行帶來麻煩。
以太坊 預設賬戶
以太坊私鏈的預設賬戶,是在生成創世區塊依賴的genesis.json檔案中的alloc中進行配置,下面就是如何定義自己預設賬戶的方法。步驟一 執行 geth console 進入js控制台。personal.newaccount passwd 建立賬戶 exit 步驟二 執行 rm ethereum...
2 2 以太坊賬戶
以太坊使用256位加密。以太坊私鑰 公鑰是乙個256位數。因為處理器不能表示這麼大的數,所以它被編譯成長度為64的十六進製制字串。每個賬戶用乙個位址表示。有了金鑰之後,就需要生成位址。從公鑰生成位址的過程如下 1 生成公鑰的keccak 256雜湊。它將給出乙個256位的數字。2 丟棄前面的96位,...
19 以太坊賬戶
一 以太坊賬戶 上 1 從utxo談起 2 以太坊的做法 3 優缺點比較 位元幣 utxo 模式優點 潛在的可擴充套件性 utxo在理論上更符合可擴充套件性要求。因為我們只需要依賴擁有 utxo 的那些人去維護基於merkle樹的所有權證明就夠了,即使包括所有者在內的每個人都決定忘記該資料,那麼也只...