比特幣和以太坊是加密世界用戶量最大的兩個加密貨幣,今天給大家介紹下比特幣和以太坊賬戶體系的不同點。
BTC不使用賬戶
BTC使用UTXO,ETH使用賬戶余額值。
UTXO(Unspent Transaction Output):指未花費的交易輸出。它是比特幣交易生成和交易驗證的一個核心概念。
每筆比特幣交易都有輸入和輸出,別人付給你的錢是“交易輸入”,你收到的錢是“交易輸出”。未花費的輸出——即UTXO。
所以,比特幣網(wǎng)絡(luò)中,并沒有賬戶的概念,沒有比特幣余額的說法,只有遍布全網(wǎng)區(qū)塊鏈的UTXO。
UTXO的主要目的就是,記錄和跟蹤交易的輸入和輸出。
ETH選擇了賬戶
ETH使用圖靈完備語言,提供智能合約,能運行DAPP,為了運行DAPP,ETH放棄了UTXO,選擇了賬戶。
賬戶能節(jié)省大量的空間,每筆交易只有一個輸入、一個輸出、和一個簽名。
賬戶有更大的可替代性、編碼簡單,以及輕客戶端。
賬戶有什么用?
V神說:區(qū)塊鏈就是一臺任何人都可以上傳程序,并且程序能夠自動執(zhí)行的神奇電腦。每個程序的當前狀態(tài)和過去狀態(tài)都是公共可見的。
在以太坊系統(tǒng)中,狀態(tài)是由被稱為“賬戶”的對象和在兩個賬戶之間轉(zhuǎn)移價值和信息的狀態(tài)轉(zhuǎn)換構(gòu)成的。
簡單說,所有賬戶的狀態(tài),就是以太坊網(wǎng)絡(luò)的狀態(tài)。以太坊網(wǎng)絡(luò)和每個區(qū)塊一起更新,達成共識。賬戶在以太坊中發(fā)揮著中心作用。
什么是賬戶?
每個以太坊的賬戶,都由一對 公鑰和私鑰構(gòu)成。
賬戶使用公鑰對交易進行加密,所以EVM(以太坊虛擬機)能確保交易發(fā)起者安全有效。賬戶的地址,是通過公鑰末尾的20字節(jié)生成的。
賬戶以地址作為索引,每一個私鑰/地址對都被編碼為加密文件。
這一點和BTC一樣:轉(zhuǎn)賬時,公鑰就像收款人賬號。地址就像收款人姓名。而私鑰就像簽名。
和BTC不同的是,以ETH賬戶里存儲的,不再是UTXO(找零)。
ETH賬戶存儲如下四個部分:
隨機數(shù),用于確定每筆交易只能被處理一次的計數(shù)器
賬戶目前的ETH余額
賬戶的合約代碼,如果有的話
賬戶的存儲(默認為空)
ETH賬戶分類
ETH賬戶分為兩種:
外部賬戶(由私鑰控制)
合約賬戶(由合約代碼控制)
外部賬戶,包含余額狀態(tài),不包含代碼,只能用于轉(zhuǎn)移ETH等ERC20代幣。
合約賬戶,不僅包含余額狀態(tài),還包含代碼。當收到消息后,智能合約的內(nèi)部的代碼就會被激活,可以對賬戶內(nèi)部的存儲進行讀寫,可以進行發(fā)送其它消息等操作。
賬戶和錢包的關(guān)系
錢包的功能是管理:接收,存儲和轉(zhuǎn)出ETH。
一個錢包,可以存放多個賬戶。
打個比方:錢包好像支付寶賬號。(只是打個比方,支付寶是中心化的,想象成去中心化的支付寶吧),ETH賬戶就像銀行卡。
一個支付寶賬號可以綁定多張銀行卡。(一個錢包可以存放多個ETH賬戶)
同時,ETH賬戶這張銀行卡,是多幣銀行卡,可以存 美元、人民幣、歐元等等。
ETH賬戶,可以存放多個符合ERC20協(xié)議的代幣,可以存ETH、KIN、等等等等。
哈哈哈,ETH,錢包,賬戶,不再傻傻分不清楚啦!
責任編輯:ct
評論
查看更多