1. 程式人生 > >第六章 比特幣--區塊鏈思想誕生的搖籃

第六章 比特幣--區塊鏈思想誕生的搖籃

成功 指令 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. 礦機

第六章 比特幣--區塊鏈思想誕生的搖籃