以太坊基礎
圖靈完備的基礎:以太坊虛擬機EVM,類似于JVM
基本概念:
節點:進行區塊鏈讀寫
礦工:通過hash運算產生作業量的網路節點
挖礦:發行以太幣的途徑
賬戶:可以發送交易
外部賬戶:公私鑰對控制,地址由公鑰決定
合約賬戶:部署合約時確定,存盤了代碼,在收到合法交易后會執行合約代碼
Gas:限制執行交易所需的作業量,為執行交易支付費用
EVM:智能合約的運行環境,是一個沙盒,不能進行網路、檔案或者執行其他行程
智能合約:代碼和資料的集合,存于以太坊區塊鏈的指定地址
交易:交易是通過狀態轉移來標記的,狀態由被稱為賬戶的物件和兩個賬戶之間的轉移價值和資訊狀態轉換構成
外部賬戶和合約賬戶在以太坊下用同一資料結構表示,如下圖所示,其包含Balance、Nonce、CodeHash 和StorageRoot 四個屬性,Balance是賬戶中的以太幣余額;Nonce 是對賬戶發送過的交易的計數,用于防范重放攻擊;當賬戶被應用于智能合約時,CodeHash 為合約代碼的哈希值,StorageRoot 是合約狀態資料的Merkle Patricia 樹根,
以太坊的交易包含To、Value、Nonce、gasPrice、gasLimit、Data 及Signature交易簽名七個屬性,To 是接收者的賬戶地址,Value 是轉賬的以太幣金額,Nonce是發送者對本次交易的計數,gasPrice 是交易時Gas的以太幣單價,gasLimit 是執行該交易所允許消耗的最大Gas 數額,Data 是呼叫智能合約時的訊息資料,交易簽名是發送者對交易的ECDSA 簽名,
以太坊核心原理:
共識機制
EVM
編譯合約模塊:對底層Solc編譯器進行封裝,提供RPC介面給外部服務,編譯智能合約
ledger模塊:對賬戶系統更新和修改
EVM執行模塊:決議和執行合約代碼
資料存盤:Merkle Patricia tree
加密演算法:hash演算法SHA256,ECC進行數字簽名
以太坊現存問題:
共識效率低下
隱私保護缺乏
大規模存盤困難
資訊難以監管
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/251830.html
標籤:區塊鏈
