第六章 比特幣--區塊鏈思想誕生的搖籃
阿新 • • 發佈:2018-05-07
成功 指令 tput cas 靈活 nbsp 重要 wrap 節點 一、比特幣項目簡介
特點:
去中心化:沒有任何獨立個體可以對交易進行破壞,任何交易請求都需要大多數參與者的共識
匿名性:賬戶地址是匿名的,無法從交易信息關聯到具體的個體,這也意味著很難進行審計
通脹預防:發行量上限2100萬個,無法超發,每四年減半。
1. 比特幣大事記
2008.10.31,中本聰發布比特幣白皮書
2009.1.3 18:15:05,中本聰挖出第一批50個幣
2010.5.21 佛羅裏達的程序員用1萬個幣買了價值25美元的披薩優惠券
2012.11.28 產量第一次減半
2016.7.9 產量第二次減半
2. 其他數字貨幣
超過700種,比較出名有以太幣和瑞波(Ripple)幣
二、原理和設計
1. 基本交易過程
用戶將新交易記錄寫到比特幣區塊鏈網絡中,等網絡確認後即可認為交易完成。
交易過程中,轉賬方需要通過簽名腳本來證明自己是UTXO(Unspent Transaction Outputs),並生成新的輸出的過程。
2. 重要概念
賬戶/地址:比特幣采用了非對稱加密算法,用戶自己保留私鑰,對自己發出的交易進行簽名確認,並公開公鑰。賬戶地址其實就是用戶公鑰經過一系列的Hash及編碼去處後生成的160位(20字節)的字符串。
交易:包括付款人地址、付款人對交易的簽字確認、付款人資金的來源交易ID、交易的金額、收款人地址、收款人的公鑰、時間戳
交易腳本:輸出腳本和認領腳本
區塊:4字節的區塊大小信息、80字節的區塊頭信息、交易個數計數器(1~9字節)、交易的具體內容(可變長)
3. 創新設計
避免作惡:在一個開放的網絡中,無法通過技術手段來保證每個人都是合作的。但是可以通過經濟博弈來讓合作者得到利益,讓非合作者遭受損失和風險
負反饋調節:
共識機制
三、挖礦
1. 基本原理
挖礦是參與維護比特幣網絡的節點,通過協助生成新區塊來獲取一定量新增比特幣的過程。
現在是每10分鐘生成一個不超過1M大小的區塊(記錄了這10分鐘內發生的驗證過的交易內容),每個區塊的成功提交者可以得到12.5個比特幣的獎勵。
2. 挖礦過程
參與者綜合上一個區塊的Hash值,上一個區塊生成之後的新的驗證過的交易內容,再加上自己猜測的一個隨機數X,一起打包到一個候選新區塊,讓新區塊的Hash值小於比特幣網絡中給定的一個數。這是一道面向全體礦工的“計算題”,這個數越小,計算出來就越難。
3. 如何看待挖礦
中國有超過全世界一半的算力。
4. 共識機制
四、共識機制
1. 工作量證明
工作量證明(PoW)通過計算來猜測一個數值(nonce),使得拼湊上交易數據後內容的Hash值滿足規定的上限(來源於hashcash)。
2. 權益證明
五、閃電網絡
全網每秒7筆左右的交易速度,遠低於傳統金融交易系統。
RSMC即“可撤銷的順序成熟度合同”。
HTLC即“哈希的帶時鐘的合約”
六、側鏈
簡單來講,以比特幣區塊鏈作為主鏈 (parent chain),其他區塊鏈作為側鏈,二者通過雙向掛鉤 (two-way peg),實現比特幣從主鏈轉移到側鏈進行流通。
七、熱點問題
1. 設計中的權衡
區塊容量:更大的區塊容量可以帶來更高的交易吞吐率,但會增加挖礦成本,帶來中心化的風險,同時增大存儲的代價。兼顧多方面的考慮,當前的區塊容量上限設定為1MB。
出塊間隔時間:更短的出塊間隔可以縮短交易確認的時間,但也可能導致分叉增多,降低網絡可用性。
腳本支持程度:更強大的腳本指令集可以帶來更多的靈活性,但也會引入更多的安全風險。
2. 分叉
如果舊節點仍然能夠驗證接受新節點產生的交易和區塊,則稱為軟分叉
如果舊節點不接受新節點產生的交易和區塊,則稱為硬分叉
3. 交易延展性
是指當交易發起者對交易簽名(sign)之後,交易ID仍然可能被改變。
4. 擴容之爭
隔離見證方案:是指將交易中的簽名部分從交易的輸入中隔離出來,放到交易末尾的被稱為見證(Witness)的字段當中。
Bitcoin Unlimited方案(簡稱BU):指擴展比特幣客戶端,使礦工可以自由配置他們想要生成和驗證的區塊容量。
5. 比特幣的監管和追蹤
八、相關工具
1. 客戶端
2. 錢包
3. 礦機
第六章 比特幣--區塊鏈思想誕生的搖籃