
在講比特幣的交易模型之前,先介紹正文要用到的名詞。
1.非對稱加密技術:
非對稱加密技術和普通加密技術有很多不同,最大的不同在于擁有兩個密鑰。這兩個密鑰其中一個是公鑰,另一個是一個私鑰,兩者通過特定算法聯系起來,就是用非對稱加密技術聯系起來的。
對于持有者來說,公鑰是可公開的,任何人都可以用持有者公鑰驗證信息,但私鑰僅可供持有者本人擁有,信息不可外漏。
像摩爾斯電碼作為普通加密技術,字母可以轉換成嗒嗒的聲音,嗒嗒的聲音也可以被解讀成字母,這些只需一張國際摩爾斯電碼的表,我們自己就可以實現信息的加密和解密。
但是在非對稱加密這里,兩種不同的數據不能互相轉換。兩組數據A和B,A通過非對稱加密技術無法計算出B,但B可以反過來計算出A。在這個例子里面,A是公鑰,而B就是私鑰。
非對稱加密技術包括RSA,橢圓曲線算法,Elgamal等,比特幣采用橢圓加密算法ECDSA。
2.哈希算法:
也叫散列函數,能將任意長度的輸入,轉變成固定長度的輸出。
比特幣的網絡應用中多處技術都運用了哈希算法,例如,將公鑰轉換為地址需要做二次散列;在新區塊產生時,區塊頭中包含了前一區塊的哈希值;新區塊產生條件之一還包括必須用散列函數去計算符合條件的哈希值,計算者不斷的窮舉數值,直到找到一個參數滿足條件:放入哈希計算公式后得到的數值結果大小在某一個規定的區間范圍內。
哈希算法包含多種不同的函數,比特幣采用的哈希函數是SHA-256。
3.工作量證明PoW:
PoW是Proof of Work的簡稱,共識算法的一種。共識算法就是大家參與就必須認可的算法。
PoW是為了篩選出符合記賬要求的節點的一種證明方式,為了爭取記賬后可以獲得的區塊獎勵和交易費用,節點們通過比拼算力,暴力破解哈希函數,不斷窮舉可能符合要求的數值,直到找到某一個數值,并在系統設定的難度范圍內。最快找到哈希值的節點獲得記賬權力和對應的區塊獎勵及交易手續費。
除了PoW證明機制外,還有權益證明機制PoS、股權授權機制DPoS等其他共識算法,以后情報員還會為大家解讀。
下文通過3個部分詳細闡述比特幣的交易模型。
1.創建比特幣賬戶地址
2.比特幣交易流程
3.比特幣網絡記賬(挖礦)過程
1.創建比特幣賬戶地址
與中心化機構統一創建賬戶再分發給用戶不同,比特幣的賬戶地址完全由用戶自主創建,無創建數量的上限限制。因此,從創建賬戶的原理的角度出發,比特幣網絡保障了使用者的身份隱私權。除此之外,比特幣的賬戶地址采用了非對稱加密技術,因此會產生兩個秘鑰——公鑰和私鑰。
比特幣賬戶地址是由公鑰通過哈希加密和編碼規則后獲得,而公鑰又是由私鑰通過非對稱加密算法中的橢圓加密算法獲得,具體流程如下圖所示:

由于采用了非對稱加密技術,加密和解密算法都是全網公開開源,人們只需擁有交易者的公鑰便可驗證交易的真實性并記錄下來。這也解決了對稱加密技術在大規模廣泛群體中難以得到大規模應用的難題。
2.比特幣交易流程
假設有交易雙方A和B,A要轉帳比特幣給到B。在傳統交易過程中,必需要有一個中介機構在賬本上記錄A扣減了多少比特幣,B增加了多少的比特幣,并從交易中抽取一定的傭金。
基于比特幣網絡的交易去除了中介機構,我們來模擬一下基于比特幣網絡的交易的整個過程。
① A查詢到B的地址,發布一條交易信息廣播,將若干比特幣交易從自己的地址中轉出,轉入B的地址。并且,A用私鑰對這一交易信息進行加密簽名。
② 網絡中的節點收到A的交易請求廣播后,追溯A地址所有歷史交易記錄(UTXO),驗證剩余額度,并用A的公鑰通過特定算法解密簽名數據,并與A用私鑰簽名后獲得的簽名摘要對比,驗證通過后,交易信息待寫入區塊鏈中。

需要注意的是,在比特幣交易網絡中,并沒有寄存、存款的概念,比特幣網絡賬本僅僅記錄比特幣的轉移狀況,賬戶余額完全是通過區塊鏈上流水賬的匯總計算得出。
換句話說,比特幣既不是一串密碼,也不是一個困難數學題的答案。比特幣只是比特幣的區塊鏈上賬本上,記錄某地址中擁有若干塊比特幣(UTXO),該地址就擁有若干塊比特幣。
3.比特幣網絡記賬(挖礦)過程
網絡中的節點們收到交易信息后,需要解決一個問題,就是由哪個節點來進行記賬,比特幣網絡采用工作量證明機制PoW來競爭記賬權力。
首先發生交易信息的節點將交易信息廣播到全網,其他節點校驗數據記錄是否合法,若通過校驗后,數據記錄將被打包為一個區塊,所有節點執行共識算法,最先計算出小于系統設定目標值的哈希值的節點獲得記賬權,其他節點將這個節點的區塊作為父區塊繼續競爭計算產生新的區塊。

截止2017年11月20日,比特幣在2017年消耗的電力占據了全球消耗電量的0.13%,超過了159個國家。由于消耗的電力資源過于巨大,工作證明法也引起了廣泛的爭議。(下圖中淺色部分國家耗電量小于比特幣)
