2肖臻區塊鏈_聽課筆記
btc的全節點維護一個UTXO,未花出去的交易btc,檢測是否合法,要在UTXO中的幣才行
結點還要打包其他人的交易資訊,有第二個激勵機制,transaction fee,0.000*
每隔10min產生一個新區塊,每隔2016個區塊系統調整難度保持出塊時間為10min
21w*10min為4年時間,往後交易費變為了主要的
BTC無賬戶概念,需要說明每個幣的來源,以太坊:基於賬戶的模式,顯示記錄賬戶餘額
target有一長串0,故header的hash有一長串0
現在不僅需要該nonce,32位nonce窮舉完也找不到,還需要改header中其他內容,才能滿足target
通過改coinbase來改root hash
coinbase的內容隨便寫,挖礦有兩層迴圈,先改coinbase再改nonce
輸入和上一個輸出拼起來跑指令碼通過則合法
出塊時間服從指數分佈,按照系統總算力定的,不是個人算力
無記憶,挖10min後平均還要10min,每次嘗試nonce都是一樣的概率成功,不會不公平,只靠算力區分概率,10min是平均的,出塊時間在不斷變化以維持公平
從任意位置截斷,還是指數分佈,故無記憶?還是10min
挖礦維護btc的安全性,以後是交易fee激勵
惡意結點M獲得記賬權,無A私鑰無法簽名,寫入轉賬交易不合法,誠實使用者不接受
M損失鑄幣,最長合法鏈,才會拓展
挖礦前就要確定前一個區塊,即插入位置,寫入header的hash
回滾M->A,在M->A的影響產生之後,不可逆的外部效果後,發出M->M'回滾
如果不是最後區塊,在中間,難度很大
預設等待6個確認區塊才認為是不可篡改的,概率很低了已經,交易剛剛釋出但還沒寫入下一個區塊,0confirmation,全節點查不到交易,但支付到發貨天然的有時間間隔
每個區塊最多1MB,正常情況下會有0confirmation的,一段時間交易數過多
selfish mining可以減少競爭