區塊鏈教程(一):比特幣中的術語
如果你已經看過了上篇文章提到過的比特幣白皮書和《精通比特幣》,本篇文章基本可以忽略!本篇文章稍微介紹一下比特幣中出現頻率比較高的術語;
地址、私鑰、公鑰
比特幣地址由一串字符和數字組成,以阿拉伯數字“1”開頭。如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV。比特幣地址類似於email地址,用戶轉賬的時候,直接使用地址進行轉賬;類似於給某個用戶發送Email。
私鑰和公鑰就是我們常說的非對稱加密的公鑰、私鑰;在比特幣系統中,使用私鑰生成公鑰,公鑰生成比特幣地址,並且都是不可逆的。使用的是橢圓曲線加密算法(ECDSA)
區塊
一個區塊也就是區塊鏈上的一個節點,是若幹交易數據的集合,它會被標記上時間戳、高度號、和前一個區塊的標識碼。所以可以說:一個區塊通過hash碼唯一標記,有唯一的高度;但是反過來只能說一個hash碼確定唯一區塊,但是不能說一個高度確定唯一區塊。
區塊鏈
通俗的說 區塊鏈就是一個大賬本。
技術上說,就是所有區塊鏈在一起的一個鏈表結構;類似於C/C++中的單項鏈表數據結構。只是每個區塊保存前一個區塊的hash碼值;所以從某個區塊逆向上溯,最終都會找到創世區塊。創世區塊是中本聰創建的,可以查看地址:https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
如下圖為一個區塊鏈和區塊的結構圖:
比特幣網絡
比特幣網絡是一個P2P網絡,這也是區塊鏈必須依賴的一個環境。因為只有P2P網絡才可以實現去中心化。比特幣網絡真正實現了我們一直討論的雲計算。整個P2P網絡中有很多節點,這些節點可以廣播和同步區塊鏈信息。
礦工、挖礦、獎勵
礦工就是有一定算力的網絡節點(機器)。
挖礦就是對交易 確認的計算,也叫工作量證明(POW)。
獎勵就是比特幣系統贈送的比特幣或者交易費用。獎勵最終會顯示在錢包(軟件)中,其實獎勵就是一個UTXO。
難度、工作量證明
網絡會通過調整“難度”這個變量來控制生成工作量證明所需要的計算力。滿足全網目標難度的情況下求解SHA256算法。
UTXO
比特幣交易的基本單位是未經使用的一個交易輸出,簡稱UTXO。某個用戶錢包中的比特幣數量(金額)就是交易最後到他賬號中的所有UTXO的總和。所以比特幣系統並不像某寶這樣的中心化的存儲,一旦數據庫宕掉,你的余額(存儲在數據庫中)就看不到了
。比特幣余額是整個區塊鏈中UTXO的計算,所以永遠不會宕機!
交易
一次BTC的轉移就可以看做一個交易。當然交易的形式有很多種,但是歸根結底還是區塊鏈中的一次BTC流轉。
腳本
比特幣的交易驗證引擎依賴於兩類腳本來驗證比特幣交易:一個鎖定腳本和一個解鎖腳本。
如果你還是不懂,我給你講個故事吧:
比如有個餐廳,每天的交易流水都要記錄在一個本子上,每一頁上面記錄當天的所有交易。那麽我們就可以說 這一頁就是一個區塊,它包括了無數次交易記錄。由於每天都有交易,所以每一頁都可以找到上一頁,這就相當於把所有區塊鏈接起來了,那麽這個記賬的本子就是區塊鏈了。
那麽挖礦、獎勵又是什麽呢?比如老板每天晚上會來查賬,會問:誰能給我準確匯報今天的交易明細、總額?(不同問題難度不一樣),這個時候每個員工的運算速度(算力)是不一樣的,聰明的員工會先算出來給老板匯報,老板覺得是正確的,就會給予獎勵,這個過程你可以理解為挖礦和獎勵。
所以隨著交易的增多,難度和計算力要求也越來越高,普通人就勝任不了,只有專業的(機器)才可以在一定的時間內給予確認。
現在挖礦已經很難了,但是區塊鏈技術才剛剛開始,就像上篇文章我說的那樣,這是一次革命,顛覆生產關系的革命!
附比特幣網絡圖:(本文參考 《精通比特幣》)
轉自:https://www.imooc.com/article/23637
區塊鏈教程(一):比特幣中的術語