在比特幣中使用工作證明
我試圖了解比特幣工作量證明解決了什麼問題,並得出了這個有點幫助的報價:
因此,例如,如果礦工控制用於驗證比特幣交易的計算能力的 1%,那麼他們贏得競爭的機會大約為 1%。因此,如果大量計算能力被用於競爭,不誠實的礦工可能只有相對較小的機會破壞驗證過程,除非他們消耗大量的計算資源。
這是否意味著由於以下原因,工作量證明可以防止雙重支出。想像一下,攻擊者在網路中引入了 100000 個流氓節點,他們的目標是發送有關交易有效性的虛假資訊——但由於這些節點需要做工作證明,所以總的來說,當所有100000 個節點都在做工作證明時,這對攻擊者來說代價太大. 那正確嗎?因此,由於這種工作證明可以讓攻擊者遠離攻擊者。
想像一下,攻擊者在網路中引入了 100000 個流氓節點,他們的目標是發送有關交易有效性的虛假資訊……
那是不可能的。每個節點都為自己驗證區塊和交易。另一個節點試圖表示什麼並不重要——如果塊無效,接收節點會忽略它。
工作證明對於確定區塊有效性是不必要的。
工作量證明的作用是使塊生成變得昂貴。沒有它,節點可以廉價地生成塊,通過發布對先前塊的替換來回滾交易歷史。
要重寫前一個塊,節點不僅必須重寫該塊自身,還必須重寫它的所有後代。它必須重新完成之前完成的所有工作。
重新迭代:節點為自己驗證交易和區塊。工作量證明不能讓節點相信區塊的有效性。它使他們確信必須執行一定量的工作才能生成塊。
節點在面臨兩個或多個有效區塊鏈的選擇時使用累積工作量證明。工作量證明最多的一個用於建構全域事務日誌。
攻擊者要麼控制大約 50% 的計算能力,要麼不控制。如果他沒有,那也沒關係。網路的其餘部分將永遠能夠超過他。如果他這樣做了,那麼他就在挖礦硬體上投資了數百萬美元,如果他攻擊網路,所有這些都將變得毫無價值。為什麼他要攻擊網路,而不是誠實地挖礦並賺取巨額費用和塊獎勵?