區(qū)塊鏈與比特幣(2)
比特幣協(xié)議的五大核心特征包括:數(shù)字簽名(Digital?Signature),公共賬本(the?ledger?is?the currency.) ,去中心化存儲(Decentralize),?工作量的證明(Proof?of?work),區(qū)塊鏈(block?chain)。
? ? 區(qū)塊鏈則是比特幣的存儲形式,賬本分成區(qū)塊的形式進行放置,位置具有前后關系,后一個區(qū)塊會存儲前一個區(qū)塊的哈希值,形成鏈表的形式。前面區(qū)塊發(fā)生修改后,包括交易記錄和前一區(qū)塊的哈希值,后面所有的區(qū)塊都得隨之發(fā)生變化。每個區(qū)塊內(nèi)部依然記錄交易信息,當有新的交易被記錄在區(qū)塊內(nèi)時,區(qū)塊的工作量證明的數(shù)字需要重新計算以滿足N個0的要求,所以每次交易耗費很大,需要一定的手續(xù)費。

? ? 如果找到特殊值能夠讓新的區(qū)塊滿足256bit前N個位為0的條件時,提交給網(wǎng)站,將新區(qū)塊加入鏈表中,每次產(chǎn)生新區(qū)塊的時間大約是10min。礦工每次探索出新的區(qū)塊后,會獲得一定量的bitcoin獎勵,每個新區(qū)塊所包含的獎勵bitcoin逐漸減少,這些bitcoin也就是當前區(qū)塊的交易內(nèi)容總和。一個區(qū)塊相當于記錄這些bitcoin的流向,包含簽名在內(nèi)就組成了一次交易,每次交易需要繳納一部分手續(xù)費給礦工,單個區(qū)塊的交易記錄數(shù)有上限,2400筆。
? ? 所有人都能參與建設區(qū)塊鏈,發(fā)現(xiàn)前N位為0即探索出新的區(qū)塊,區(qū)塊的發(fā)現(xiàn)者會憑空得到一筆bitcoin的獎勵,此時沒有支付人和獎勵要求。
? ? 當用戶接受到不同來源的多個區(qū)塊鏈條發(fā)生沖突時,本地賬本經(jīng)過一段時間等待后只保留一條最長的區(qū)塊鏈,這就是工作量更大的原則。
? ? 在某個區(qū)塊內(nèi)偽造交易記錄,更新一個假區(qū)塊,計算工作量數(shù),滿足N位0要求后,在局域內(nèi)進行廣播,使得周邊用戶暫時相信虛假區(qū)塊鏈條賬本,但當用戶接受到其他用戶廣播的更長的真實鏈條賬本時,此虛假鏈條即會作廢。不用相信偶然性發(fā)現(xiàn)的情況,除非能擁有網(wǎng)絡內(nèi)超過50%算力資源,否則其他真實的賬本記錄一定會取代虛假記錄。
? ? 虛假記錄是不能廣播的,首先需要通過hash值前N位0的檢測,其次一旦大家都接受并認可了此區(qū)塊鏈賬本,根據(jù)去中心化的要求,此交易記錄就會被認為是真實發(fā)生的。